diff --git a/1.5/Assemblies/Rimworld-Animations.dll b/1.5/Assemblies/Rimworld-Animations.dll index fa7d7d7..1f8be2a 100644 Binary files a/1.5/Assemblies/Rimworld-Animations.dll and b/1.5/Assemblies/Rimworld-Animations.dll differ diff --git a/1.5/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs b/1.5/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs index 395a16f..22420f6 100644 --- a/1.5/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs +++ b/1.5/Source/Animations/AnimationWorkers/AnimationWorker_KeyframesExtended.cs @@ -35,7 +35,17 @@ namespace Rimworld_Animations { if (tick == keyframe.tick) { - return (keyframe as ExtendedKeyframe).voice; + VoiceTagDef voiceTag = (keyframe as ExtendedKeyframe).voice; + + //probability checking null fix + if (voiceTag != null && Rand.Chance(voiceTag.probability)) + { + + return voiceTag; + + } + + return null; } } diff --git a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeWorker_GraphicVariants.cs b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeWorker_GraphicVariants.cs index 4a8b195..e45c0d3 100644 --- a/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeWorker_GraphicVariants.cs +++ b/1.5/Source/PawnRenderNode/GraphicVariants/PawnRenderNodeWorker_GraphicVariants.cs @@ -71,8 +71,10 @@ namespace Rimworld_Animations { foreach (BaseAnimationOffset offset in offsets) { + if (offset.appliesToPawn(node.tree.pawn)) { + //modify offset of prop for animationOffset position regularOffsets += offset.getOffset(node.tree.pawn) ?? Vector3.zero; return regularOffsets; diff --git a/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs b/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs index 2656a1e..57c174d 100644 --- a/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs +++ b/1.5/Source/RenderSubWorkers/PawnRenderSubWorker_HideWhenAnimating.cs @@ -1,4 +1,5 @@ -using System; +using RimWorld; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -17,9 +18,16 @@ namespace Rimworld_Animations || node.tree.rootNode.children.Any(x => x.AnimationWorker is AnimationWorker_KeyframesExtended)) { material.color = Color.clear; + material.shader = ShaderTypeDefOf.Transparent.Shader; } } + public override void TransformLayer(PawnRenderNode node, PawnDrawParms parms, ref float layer) + { + base.TransformLayer(node, parms, ref layer); + layer -= 1000; + } + } } diff --git a/1.5/Source/Voices/VoiceTagDef.cs b/1.5/Source/Voices/VoiceTagDef.cs index 3ebb678..2127b22 100644 --- a/1.5/Source/Voices/VoiceTagDef.cs +++ b/1.5/Source/Voices/VoiceTagDef.cs @@ -9,5 +9,8 @@ namespace Rimworld_Animations { public class VoiceTagDef : Def { + + public float probability = 1; + } } diff --git a/Patch_HumanoidAlienRaces/1.5/Assemblies/Patch_HumanoidAlienRaces.dll b/Patch_HumanoidAlienRaces/1.5/Assemblies/Patch_HumanoidAlienRaces.dll index 7656a26..028f0a9 100644 Binary files a/Patch_HumanoidAlienRaces/1.5/Assemblies/Patch_HumanoidAlienRaces.dll and b/Patch_HumanoidAlienRaces/1.5/Assemblies/Patch_HumanoidAlienRaces.dll differ diff --git a/Patch_SexToysMasturbation/1.5/Assemblies/Patch_SexToysMasturbation.dll b/Patch_SexToysMasturbation/1.5/Assemblies/Patch_SexToysMasturbation.dll index 18ddee3..22ff9f4 100644 Binary files a/Patch_SexToysMasturbation/1.5/Assemblies/Patch_SexToysMasturbation.dll and b/Patch_SexToysMasturbation/1.5/Assemblies/Patch_SexToysMasturbation.dll differ diff --git a/Rimworld-Animations.csproj b/Rimworld-Animations.csproj index 8120d61..e27cfbc 100644 --- a/Rimworld-Animations.csproj +++ b/Rimworld-Animations.csproj @@ -186,56 +186,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +