From 1d80bcb9ca71d741193bcab7c39b0445275fa3a3 Mon Sep 17 00:00:00 2001 From: c0ffeeeeeeee Date: Sat, 30 Jan 2021 10:25:46 -0800 Subject: [PATCH] Animation selection refactor, now accounts for interactiondef --- 1.2/Assemblies/Rimworld-Animations.dll | Bin 59904 -> 58880 bytes Defs/AnimationDefs/Animations_Lesbian.xml | 5 + Defs/AnimationDefs/Animations_vanilla.xml | 6 + Source/AnimationUtility.cs | 250 +++++++++------------- Source/Defs/AnimationDef.cs | 1 + 5 files changed, 115 insertions(+), 147 deletions(-) diff --git a/1.2/Assemblies/Rimworld-Animations.dll b/1.2/Assemblies/Rimworld-Animations.dll index e255a24a2714685d1ed36b6236fcc7ddd6d18500..b2bba4019701f46957e6b43064beb1fd83960da0 100644 GIT binary patch literal 58880 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 V_#3_eqwo0arv>o;exGL!{2NeT3NHWv literal 59904 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
  • Fingering
  • + +
  • Fingering
  • +
  • Fisting
  • +
  • Cunnilingus
  • +
  • diff --git a/Defs/AnimationDefs/Animations_vanilla.xml b/Defs/AnimationDefs/Animations_vanilla.xml index f8e5e1c..a1be4e4 100644 --- a/Defs/AnimationDefs/Animations_vanilla.xml +++ b/Defs/AnimationDefs/Animations_vanilla.xml @@ -462,6 +462,12 @@
  • Oral
  • + +
  • Handjob
  • +
  • Breastjob
  • +
  • Fellatio
  • +
  • Beakjob
  • +
  • diff --git a/Source/AnimationUtility.cs b/Source/AnimationUtility.cs index f0f3b8e..47c894e 100644 --- a/Source/AnimationUtility.cs +++ b/Source/AnimationUtility.cs @@ -75,106 +75,12 @@ namespace Rimworld_Animations { } } //genitals checking - if(x.actors[i].requiredGenitals != null) { - if (x.actors[i].requiredGenitals.Contains("Vagina")) { - if (!rjw.Genital_Helper.has_vagina(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " doesn't have vagina"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("Penis")) { - - if (!(rjw.Genital_Helper.has_multipenis(localParticipants[i]) || rjw.Genital_Helper.has_penis_infertile(localParticipants[i]) || rjw.Genital_Helper.has_penis_fertile(localParticipants[i]) || rjw.Genital_Helper.has_ovipositorM(localParticipants[i]) || rjw.Genital_Helper.has_ovipositorF(localParticipants[i]))) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " doesn't have penis or ovipositor"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("Mouth")) { - - if (!rjw.Genital_Helper.has_mouth(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " doesn't have mouth"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("Anus")) { - - if (!rjw.Genital_Helper.has_anus(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " doesn't have anus"); - return false; - } - - } - - if(x.actors[i].requiredGenitals.Contains("Breasts")) { - if (!rjw.Genital_Helper.can_do_breastjob(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " doesn't have breasts"); - return false; - } - } - - if (x.actors[i].requiredGenitals.Contains("NoVagina")) { - - if (rjw.Genital_Helper.has_vagina(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " has vagina"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("NoPenis")) { - - if ((rjw.Genital_Helper.has_multipenis(localParticipants[i]) || rjw.Genital_Helper.has_penis_infertile(localParticipants[i]) || rjw.Genital_Helper.has_penis_fertile(localParticipants[i]))) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " has penis"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("NoMouth")) { - - if (rjw.Genital_Helper.has_mouth(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " has mouth"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("NoAnus")) { - - if (rjw.Genital_Helper.has_anus(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " has anus"); - return false; - } - - } - - if (x.actors[i].requiredGenitals.Contains("NoBreasts")) { - if (rjw.Genital_Helper.can_do_breastjob(localParticipants[i])) { - if (AnimationSettings.debugMode) - Log.Message(x.defName.ToStringSafe() + " not selected -- " + localParticipants[i].def.defName.ToStringSafe() + " " + localParticipants[i].Name.ToStringSafe() + " has breasts"); - return false; - } - } + if(!GenitalCheckForPawn(x.actors[i].requiredGenitals, localParticipants[i], out string failReason)) { + Debug.Log("Didn't select " + x.defName + ", " + localParticipants[i].Name + " " + failReason); + return false; } - - //TESTING ANIMATIONS ONLY REMEMBER TO COMMENT OUT BEFORE PUSH /* if (x.defName != "Cunnilingus") @@ -196,58 +102,13 @@ namespace Rimworld_Animations { } return true; }); - List optionsWithSexType = options.ToList().FindAll(x => x.sexTypes.Contains(sexType)); - - /* - List optionsWithSexTypeAndInitiator = optionsWithSexType.FindAll(x => { - bool initiatorsAlignWithSexType = true; - for (int i = 0; i < x.actors.Count; i++) { - - //if the animation not for initiators, but an initiator is playing it - - if(sexProps != null) { - - if((x.actors[i].initiator && localParticipants[i] == sexProps.Reciever) || (!x.actors[i].initiator && localParticipants[i] == sexProps.Giver)) { - initiatorsAlignWithSexType = false; - } - - } - - else if (x.actors[i].initiator && !(localParticipants[i].jobs.curDriver is rjw.JobDriver_SexBaseInitiator)) { - initiatorsAlignWithSexType = false; - } - } - return initiatorsAlignWithSexType; - }); - - List optionsWithInitiator = options.ToList().FindAll(x => { - bool initiatorsAlignWithSexType = true; - for (int i = 0; i < x.actors.Count; i++) { - - //if the animation not for initiators, but an initiator is playing it - - if (sexProps != null) { - - if (x.actors[i].initiator && localParticipants[i] == sexProps.Giver) { - initiatorsAlignWithSexType = false; - } - - } - - else if (x.actors[i].initiator && !(localParticipants[i].jobs.curDriver is rjw.JobDriver_SexBaseInitiator)) { - initiatorsAlignWithSexType = false; - } - } - return initiatorsAlignWithSexType; - }); - */ - /* - if (optionsWithSexTypeAndInitiator.Any()) { + List optionsWithInteractionType = options.ToList().FindAll(x => x.interactionDefTypes != null && x.interactionDefTypes.Contains(sexProps.DictionaryKey)); + if (optionsWithInteractionType.Any()) { if (AnimationSettings.debugMode) - Log.Message("Selecting animation for rjwSexType " + sexType.ToStringSafe() + " and initiators..."); - return optionsWithSexTypeAndInitiator.RandomElement(); + Log.Message("Selecting animation for interaction type " + sexProps.DictionaryKey.defName + "..."); + return optionsWithInteractionType.RandomElement(); } - */ + List optionsWithSexType = options.ToList().FindAll(x => x.sexTypes.Contains(sexType)); if (optionsWithSexType.Any()) { if (AnimationSettings.debugMode) Log.Message("Selecting animation for rjwSexType " + sexType.ToStringSafe() + "..."); @@ -308,5 +169,100 @@ namespace Rimworld_Animations { GenDraw.DrawMeshNowOrLater(mesh, pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, portrait); } } + + public static bool GenitalCheckForPawn(List requiredGenitals, Pawn pawn, out string failReason) { + + failReason = null; + if (requiredGenitals != null) { + if (requiredGenitals.Contains("Vagina")) { + + if (!rjw.Genital_Helper.has_vagina(pawn)) { + failReason = "missing vagina"; + return false; + } + + } + + if (requiredGenitals.Contains("Penis")) { + + if (!(rjw.Genital_Helper.has_multipenis(pawn) || rjw.Genital_Helper.has_penis_infertile(pawn) || rjw.Genital_Helper.has_penis_fertile(pawn) || rjw.Genital_Helper.has_ovipositorM(pawn) || rjw.Genital_Helper.has_ovipositorF(pawn))) { + failReason = "missing penis"; + return false; + } + + } + + if (requiredGenitals.Contains("Mouth")) { + + if (!rjw.Genital_Helper.has_mouth(pawn)) { + failReason = "missing mouth"; + return false; + } + + } + + if (requiredGenitals.Contains("Anus")) { + + if (!rjw.Genital_Helper.has_anus(pawn)) { + failReason = "missing anus"; + return false; + } + + } + + if (requiredGenitals.Contains("Breasts")) { + if (!rjw.Genital_Helper.can_do_breastjob(pawn)) { + failReason = "missing breasts"; + return false; + } + } + + if (requiredGenitals.Contains("NoVagina")) { + + if (rjw.Genital_Helper.has_vagina(pawn)) { + failReason = "missing vagina"; + return false; + } + + } + + if (requiredGenitals.Contains("NoPenis")) { + + if ((rjw.Genital_Helper.has_multipenis(pawn) || rjw.Genital_Helper.has_penis_infertile(pawn) || rjw.Genital_Helper.has_penis_fertile(pawn))) { + failReason = "missing penis"; + return false; + } + + } + + if (requiredGenitals.Contains("NoMouth")) { + + if (rjw.Genital_Helper.has_mouth(pawn)) { + failReason = "has mouth"; + return false; + } + + } + + if (requiredGenitals.Contains("NoAnus")) { + + if (rjw.Genital_Helper.has_anus(pawn)) { + failReason = "has anus"; + return false; + } + + } + + if (requiredGenitals.Contains("NoBreasts")) { + if (rjw.Genital_Helper.can_do_breastjob(pawn)) { + failReason = "has breasts"; + return false; + } + } + } + + return true; + + } } } diff --git a/Source/Defs/AnimationDef.cs b/Source/Defs/AnimationDef.cs index 064f10b..fe44534 100644 --- a/Source/Defs/AnimationDef.cs +++ b/Source/Defs/AnimationDef.cs @@ -14,6 +14,7 @@ namespace Rimworld_Animations { public int animationTimeTicks = 0; //do not set manually public bool sounds = false; public List sexTypes; + public List interactionDefTypes = null; public override void PostLoad() { base.PostLoad();