From 9d70c2cb592f3e3562771d109b0f0ff78794f739 Mon Sep 17 00:00:00 2001 From: Platinum Date: Mon, 20 Apr 2020 20:07:15 -0700 Subject: [PATCH] Experimental quivering on orgasm --- 1.1/Assemblies/Rimworld-Animations.dll | Bin 38912 -> 39936 bytes Defs/AnimationDefs/Animations_Beast.xml | 14 +++++++ Defs/AnimationDefs/Animations_Lesbian.xml | 1 - Defs/AnimationDefs/Animations_Multi.xml | 1 + Defs/AnimationDefs/Animations_vanilla.xml | 5 +++ Rimworld-Animations.csproj | 1 + Source/AnimationUtility.cs | 2 +- Source/Animations/Clips/PawnAnimationClip.cs | 6 +++ Source/Animations/Keyframes/PawnKeyframe.cs | 1 + Source/Comps/CompBodyAnimator.cs | 11 ++++- Source/Settings/Animation_Settings.cs | 40 +++++++++++++++++++ 11 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 Source/Settings/Animation_Settings.cs diff --git a/1.1/Assemblies/Rimworld-Animations.dll b/1.1/Assemblies/Rimworld-Animations.dll index 9aa60b5636149e18b93d4ad9bf6eef5d07c4fd6c..c87398baa48ee04ff843b4e8e017719e8f60d8aa 100644 GIT binary patch literal 39936 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 literal 38912 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
  • Wolf_Arctic
  • Whitefox
  • + + +
  • AEXP_WelshTerrier
  • +
  • AEXP_Rottweiler
  • +
  • AEXP_Poodle
  • +
  • AEXP_GreatDane
  • +
  • AEXP_GermanShepherd
  • +
  • AEXP_FrenchBulldog
  • +
  • AEXP_Corgi
  • +
  • AEXP_CatAbyssinian
  • +
  • AEXP_CatBengal
  • +
  • AEXP_CatMaineCoon
  • +
  • AEXP_CatSphynx
  • true true @@ -899,6 +912,7 @@ LayingPawn
  • + true 60 53.7 25.4 diff --git a/Defs/AnimationDefs/Animations_Lesbian.xml b/Defs/AnimationDefs/Animations_Lesbian.xml index 4ca9c9c..98c365c 100644 --- a/Defs/AnimationDefs/Animations_Lesbian.xml +++ b/Defs/AnimationDefs/Animations_Lesbian.xml @@ -130,7 +130,6 @@
  • -
  • TribadismFast true diff --git a/Defs/AnimationDefs/Animations_Multi.xml b/Defs/AnimationDefs/Animations_Multi.xml index 325e36c..a5c2ba5 100644 --- a/Defs/AnimationDefs/Animations_Multi.xml +++ b/Defs/AnimationDefs/Animations_Multi.xml @@ -379,6 +379,7 @@ 0
  • + true 120 60.7 5.6 diff --git a/Defs/AnimationDefs/Animations_vanilla.xml b/Defs/AnimationDefs/Animations_vanilla.xml index 6375282..b05b0d4 100644 --- a/Defs/AnimationDefs/Animations_vanilla.xml +++ b/Defs/AnimationDefs/Animations_vanilla.xml @@ -382,6 +382,7 @@ -1 1 1 + true
  • 12 @@ -758,6 +759,7 @@ -0.008
  • + true 60 0 0 @@ -1776,6 +1778,7 @@ 0
  • + true 75 6.04 15 @@ -2367,6 +2370,7 @@ -0.03
  • + true 45 Cum 0 @@ -2378,6 +2382,7 @@ 0
  • + true 40 0 0 diff --git a/Rimworld-Animations.csproj b/Rimworld-Animations.csproj index 563cd64..d2eea40 100644 --- a/Rimworld-Animations.csproj +++ b/Rimworld-Animations.csproj @@ -96,6 +96,7 @@ + diff --git a/Source/AnimationUtility.cs b/Source/AnimationUtility.cs index 488fd8b..a6ab904 100644 --- a/Source/AnimationUtility.cs +++ b/Source/AnimationUtility.cs @@ -68,7 +68,7 @@ namespace Rimworld_Animations { //TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH /* - if (x.defName != "Cowgirl") + if (x.defName != "Doggystyle") return false; */ diff --git a/Source/Animations/Clips/PawnAnimationClip.cs b/Source/Animations/Clips/PawnAnimationClip.cs index cf9db9d..6fc767d 100644 --- a/Source/Animations/Clips/PawnAnimationClip.cs +++ b/Source/Animations/Clips/PawnAnimationClip.cs @@ -13,6 +13,7 @@ namespace Rimworld_Animations { public AltitudeLayer layer = AltitudeLayer.Pawn; public Dictionary SoundEffects = new Dictionary(); + public Dictionary quiver = new Dictionary(); public SimpleCurve BodyAngle = new SimpleCurve(); public SimpleCurve HeadAngle = new SimpleCurve(); public SimpleCurve HeadBob = new SimpleCurve(); @@ -89,6 +90,11 @@ namespace Rimworld_Animations { SoundEffects.Add(keyframePosition, frame.soundEffect); } + if(frame.tickDuration != 1 && frame.quiver.HasValue) { + + quiver.Add(keyframePosition, true); + quiver.Add(keyframePosition + frame.tickDuration - 1, false); + } keyframePosition += frame.tickDuration; } diff --git a/Source/Animations/Keyframes/PawnKeyframe.cs b/Source/Animations/Keyframes/PawnKeyframe.cs index 5ee8f8d..69b0a78 100644 --- a/Source/Animations/Keyframes/PawnKeyframe.cs +++ b/Source/Animations/Keyframes/PawnKeyframe.cs @@ -21,6 +21,7 @@ namespace Rimworld_Animations { public int? headFacing; public string soundEffect; + public bool? quiver; public float? atTick; } diff --git a/Source/Comps/CompBodyAnimator.cs b/Source/Comps/CompBodyAnimator.cs index 2be7c49..96270d8 100644 --- a/Source/Comps/CompBodyAnimator.cs +++ b/Source/Comps/CompBodyAnimator.cs @@ -35,7 +35,7 @@ namespace Rimworld_Animations { } } private bool Animating; - private bool mirror = false; + private bool mirror = false, quiver = false; private int actor; private int animTicks = 0, stageTicks = 0, clipTicks = 0; @@ -114,6 +114,8 @@ namespace Rimworld_Animations { stageTicks = 0; clipTicks = 0; + quiver = false; + //tick once for initialization tickAnim(); @@ -184,6 +186,9 @@ namespace Rimworld_Animations { if(rjw.RJWSettings.sounds_enabled && clip.SoundEffects.ContainsKey(clipTicks)) { SoundDef.Named(clip.SoundEffects[clipTicks]).PlayOneShot(new TargetInfo(pawn.Position, pawn.Map)); } + if(AnimationSettings.orgasmQuiver && clip.quiver.ContainsKey(clipTicks)) { + quiver = clip.quiver[clipTicks]; + } //loop animation if possible if (clipPercent >= 1 && stage.isLooping) { @@ -197,7 +202,7 @@ namespace Rimworld_Animations { public void calculateDrawValues() { deltaPos = new Vector3(clip.BodyOffsetX.Evaluate(clipPercent) * (mirror ? -1 : 1), clip.layer.AltitudeFor(), clip.BodyOffsetZ.Evaluate(clipPercent)); - bodyAngle = clip.BodyAngle.Evaluate(clipPercent) * (mirror ? -1 : 1); + bodyAngle = (clip.BodyAngle.Evaluate(clipPercent) + (quiver ? (Rand.Value * 2f) - 1f : 0f)) * (mirror ? -1 : 1); headAngle = clip.HeadAngle.Evaluate(clipPercent) * (mirror ? -1 : 1); bodyFacing = mirror ? new Rot4((int)clip.BodyFacing.Evaluate(clipPercent)).Opposite : new Rot4((int)clip.BodyFacing.Evaluate(clipPercent)); @@ -243,6 +248,8 @@ namespace Rimworld_Animations { Scribe_Values.Look(ref headFacing, "headFacing"); Scribe_Values.Look(ref headFacing, "bodyFacing"); + + Scribe_Values.Look(ref quiver, "orgasmQuiver"); } } diff --git a/Source/Settings/Animation_Settings.cs b/Source/Settings/Animation_Settings.cs new file mode 100644 index 0000000..6a8defe --- /dev/null +++ b/Source/Settings/Animation_Settings.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using UnityEngine; + +namespace Rimworld_Animations { + public class AnimationSettings : ModSettings { + + public static bool orgasmQuiver; + + public override void ExposeData() { + Scribe_Values.Look(ref orgasmQuiver, "orgasmQuiver"); + base.ExposeData(); + } + + } + + public class RJW_Animations : Mod { + + public RJW_Animations(ModContentPack content) : base(content) { + } + + public override void DoSettingsWindowContents(Rect inRect) { + + Listing_Standard listingStandard = new Listing_Standard(); + listingStandard.Begin(inRect); + + listingStandard.CheckboxLabeled("Enable Orgasm Quiver", ref AnimationSettings.orgasmQuiver); + listingStandard.End(); + base.DoSettingsWindowContents(inRect); + } + + public override string SettingsCategory() { + return "RJW Animation Settings"; + } + } +}