From 5555083bc2efbead3fd5386418a35c35d234a332 Mon Sep 17 00:00:00 2001 From: Shabakur Date: Sat, 31 Dec 2022 16:40:37 +0100 Subject: [PATCH] Pawns will now seek for hemogen when below target - Made a jobgiver similar to Jobgiver GetHemogen - currently only job is to eat cum from sexperience - other thinks are done via thinktree - Made thinknodes and thinktrees so that a succubus will seek sex when below target value and try and rape when critically low. --- Common/Assemblies/Rjw-Genes.dll | Bin 67584 -> 73728 bytes .../ThinkTreeDefs/ThinkTrees_LifeForce.xml | 47 +++++++ Source/Genes/Life_Force/Gene_LifeForce.cs | 2 + .../Life_Force/JobDriver_Drink_Cumflation.cs | 131 ++++++++++++++++++ .../Genes/Life_Force/JobGiver_GetLifeForce.cs | 87 ++++++++++++ .../Patch_SexTicks_ChangePsyfocus.cs | 60 ++++++++ .../ThinkNode_ConditionalCritcalLifeForce.cs | 14 ++ .../ThinkNode_ConditionalLowLifeForce.cs | 14 ++ Source/HarmonyInit.cs | 2 + .../CustomSexInteraction_Helper.cs | 1 - Source/Rjw-Genes.csproj | 5 + 11 files changed, 362 insertions(+), 1 deletion(-) create mode 100644 Common/Defs/ThinkTreeDefs/ThinkTrees_LifeForce.xml create mode 100644 Source/Genes/Life_Force/JobDriver_Drink_Cumflation.cs create mode 100644 Source/Genes/Life_Force/JobGiver_GetLifeForce.cs create mode 100644 Source/Genes/Life_Force/Patch_SexTicks_ChangePsyfocus.cs create mode 100644 Source/Genes/Life_Force/ThinkNode_ConditionalCritcalLifeForce.cs create mode 100644 Source/Genes/Life_Force/ThinkNode_ConditionalLowLifeForce.cs diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index e4e66e6154725aadc5c7613a06a48a5e02513f1a..1294fcbbfd39c5fa7ee57f70329c094e7a90dfa1 100644 GIT binary patch literal 73728 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 z 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
    4*m%a$MMgHKAPzBkN8IkSKSSB$lK=d zF5NEQpC8pAP#Ybw1nTnKJMRlpNgznxzL6y1qmaPc51XSS*b@l)?|Z0f`OCz?FA@ zNEAZ8ABh=x@vnH~r09~+NgK_rVQ&t~+MLJcgodzEhZS-YyB~)R?SAY#wEM9Y>e};n zhKCO!PFx9sEO~!peNZ-6(TV#%RF3!bc%KIDy@#;A|3RU6G!*eM zEA=*$j0AmeO#StR-!0lm{iCD9hxtLJ{%Kf9TqJdB{Dd&F4FBW^`k>_b@+XNwyuz#@ zzCPgJqYhimLUc@;?L$S2rIMBY=Z{q2o*$I&|Ezrfqx9e5Vby3%{&VB+pGz6rqCg6N zjCF@p=fAe+zb*ZXxBkZU$Ik!fcZUAvf8*-rU;f9-uM9c2``w{)=gxh%fL!8F!5uMG zH6G09^BQ*P4g|C%z#+u?*BGt-H^&Xc40kTP3ja`rrI`ilZ;vQu zcC`|Js>dHw;jR=;|BmIAL8#cSt#~=}CO{f1+G|I2HXPn6WS#>?BqoP!Ji7 z*{_W_l%!LMtz#q#Esd7s-q85k4*RUa#w zBCrO08I0&ss8KYJEcgV8Kvt}|koVfKWf-HZ(8HYPZ52xpBTj@fHm3daa+q1AGAxNF zjG$P!7K+EDmZZ`J+WpfKq-88;Ifm?6lEhK>hqcsWO`9r|w}(+_$ObwnId7&zzeXWb zx+EPfUmLIZPJ_DG+IqbE3BPQDy}bJgop-5B)fo4O#D7Zg5fkDcmis^F-$cban9Liq zhUgk$-R`pGc=;~9DwR*EZ{azo9zx{y!lqR(pjU}Vh-WlJ2^!%24Df!k#%D5>%ahB) zp+FKp{4~|LLr-JT659P!ix1he1a#a&wIR}0h>j6ubQHZy^rWS}ZO`{dpH3So6&x!? z{ybiQZBlqtkc^<;D7bQZlThW~{isrT z{<-II4n0$Fr`Er-{`}e1^R+W)*K6N7bN=l5i)U6zJ+t=0i)*zPH)_B6e68l(Sb^Uv zoqSGz*`O@AU!S}(yPV#zbedgnT@CQct@D#Fg68-mX;L`ope^LG%2d*n3VDZw-ftG% z+3+z6p9md%{mQd1FQ?z5`a7`QWWhb7V%o&kw?!08uNyfa`+0sJbx-zmBibLgKcEmj zoyiIve84w7-J2;!4 zni01y)V5Dou5#yJeT_pi%Umtke5J`f9i!n?5}#=~S1oW-C~IUcxe(~9G%%t&?)*hL zuK!ZOZ6()qPNp;(PDh-s?77Au>(bdtIO^PsFHD|$>Fo30`FuS)&Ka43&*nJ)AVKnm z#wmiUZa2T?7XQ!H?D$a?_eO4NBn}2oPJLZ-v{rCe)R4vphW8hv#9yWMhxJ{N4!CoL zx^CNW?t8F}+Q<&te3kl3cKR*mn4A0S1-D?x4}RAERcb$M7pxd>e2q9iyu_FK@x~5E z>Np(6wMOodZ<#)mPIHqAS1h>iQOV^4EAGym(RJjy;zlQFe`tSc!iwgf=AcgtWCwuzekMXui0PvdOe}P(c8pUtParq~kJ~}I;Kd0Of z&ulAbV8h6A{Ql7IP-y|2vMsj#HGR+WJV(F%-}7ulF$VnFx5h)8UEKW?wya<|`}3D_ zY1&ZJIg%^9l`r}8GUpWvDdyV#A?~!~!Q*<~#&xjF-qGDVwl7+lDX`bBbOY+xW^}S0>10;+mP`8j a7vg=a;Ko4YuO + + + + + SuccubusGetLifeForce + Humanlike_PostMain + 14 + + +
  1. + +
  2. + +
  3. +
  4. +
  5. +
  6. +
  7. + +
  8. + +
  9. +
  10. + +
  11. + +
  12. + +
  13. +
    + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/Source/Genes/Life_Force/Gene_LifeForce.cs b/Source/Genes/Life_Force/Gene_LifeForce.cs index 172c43b..de19281 100644 --- a/Source/Genes/Life_Force/Gene_LifeForce.cs +++ b/Source/Genes/Life_Force/Gene_LifeForce.cs @@ -60,6 +60,8 @@ namespace RJW_Genes //GeneResourceDrainUtility.TickResourceDrain(this); } + public bool StoredCumAllowed = true; + public Gene_Resource Resource { get diff --git a/Source/Genes/Life_Force/JobDriver_Drink_Cumflation.cs b/Source/Genes/Life_Force/JobDriver_Drink_Cumflation.cs new file mode 100644 index 0000000..b1ab9a1 --- /dev/null +++ b/Source/Genes/Life_Force/JobDriver_Drink_Cumflation.cs @@ -0,0 +1,131 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using Verse.AI; +using rjw; +using rjw.Modules.Interactions.Enums; +using rjw.Modules.Interactions.Helpers; +using rjw.Modules.Interactions.Objects; +using rjw.Modules.Interactions.Contexts; +using rjw.Modules.Interactions.Implementation; + +namespace RJW_Genes +{ + public class JobDriver_DrinkCumflation : JobDriver_SexBaseInitiator + { + //Summary// + //WIP is for custom interaction + protected override IEnumerable MakeNewToils() + { + base.setup_ticks(); + this.rape = !LovePartnerRelationUtility.LovePartnerRelationExists(this.pawn, this.Partner); + JobDef PartnerJob = rape? xxx.gettin_raped: xxx.getting_quickie; + this.FailOnDestroyedNullOrForbidden(TargetIndex.A); + this.FailOnSomeonePhysicallyInteracting(TargetIndex.A); + this.FailOn(() => this.pawn.Drafted); + this.FailOn(() => this.pawn.IsFighting()); + this.FailOn(() => this.Partner.IsFighting()); + yield return Toils_Goto.GotoThing(TargetIndex.A, PathEndMode.ClosestTouch); + yield return new Toil + { + defaultCompleteMode = ToilCompleteMode.Instant, + socialMode = RandomSocialMode.Off, + initAction = delegate () + { + Job newJob = JobMaker.MakeJob(PartnerJob, this.pawn, this.Partner); + this.Partner.jobs.StartJob(newJob, JobCondition.InterruptForced, null, false, true, null, null, false, false, null, false, true); + } + }; + + Toil toil = new Toil(); + toil.defaultCompleteMode = ToilCompleteMode.Never; + toil.defaultDuration = this.duration; + toil.handlingFacing = true; + toil.FailOn(() => this.Partner.CurJob.def != PartnerJob); + toil.initAction = delegate () + { + this.Partner.pather.StopDead(); + this.Partner.jobs.curDriver.asleep = false; + this.SetInteraction(); + this.cumflation = this.Partner.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation")); + this.gene_LifeForce = (this.pawn.genes != null) ? this.pawn.genes.GetFirstGeneOfType() : null; + this.Start(); + }; + toil.tickAction = delegate () + { + if (this.pawn.IsHashIntervalTick(this.ticks_between_hearts)) + { + this.ThrowMetaIconF(this.pawn.Position, this.pawn.Map, FleckDefOf.Heart); + } + this.SexTick(this.pawn, this.Partner, true, true); + SexUtility.reduce_rest(this.Partner, 1f); + SexUtility.reduce_rest(this.pawn, 2f); + if (this.ticks_left <= 0) + { + this.ReadyForNextToil(); + } + }; + toil.AddFinishAction(delegate + { + this.End(); + }); + yield return toil; + yield return new Toil + { + initAction = delegate () + { + SexUtility.ProcessSex(this.Sexprops); + }, + defaultCompleteMode = ToilCompleteMode.Instant + }; + yield break; + } + + public void Reduce_Cumflation() + { + this.reductiontick--; + if (reductiontick <= 0) + { + if (this.cumflation != null && this.gene_LifeForce != null) + { + this.cumflation.Severity =+ 0.01f; + gene_LifeForce.Resource.Value += 0.01f; + } + this.reductiontick = 60; + } + + } + public override bool TryMakePreToilReservations(bool errorOnFailed) + { + return this.pawn.Reserve(this.job.GetTarget(TargetIndex.A), this.job, 1, -1, null, errorOnFailed); + } + + public void SetInteraction() + { + InteractionDef interaction = rape ? DefDatabase.GetNamed("Rape_Reverse_Cunnilingus") : DefDatabase.GetNamed("Sex_Reverse_Cunnilingus"); + + SpecificInteractionInputs inputs = new SpecificInteractionInputs + { + Initiator = this.pawn, + Partner = this.Partner, + Interaction = interaction + }; + InteractionOutputs interactionOutputs = SpecificLewdInteractionService.Instance.GenerateSpecificInteraction(inputs); + this.Sexprops.sexType = interactionOutputs.Generated.RjwSexType; + this.Sexprops.rulePack = interactionOutputs.Generated.RulePack.defName; + this.Sexprops.dictionaryKey = interaction; + this.Sexprops.isRapist = rape; + this.Sexprops.isWhoring = false; + this.Sexprops.isRevese = true; + } + + public Hediff cumflation; + public Gene_LifeForce gene_LifeForce; + int reductiontick = 60; + bool rape = false; + } +} diff --git a/Source/Genes/Life_Force/JobGiver_GetLifeForce.cs b/Source/Genes/Life_Force/JobGiver_GetLifeForce.cs new file mode 100644 index 0000000..b39d9cb --- /dev/null +++ b/Source/Genes/Life_Force/JobGiver_GetLifeForce.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using Verse.AI; +using RimWorld; +using rjw; + +namespace RJW_Genes +{ + public class JobGiver_GetLifeForce : ThinkNode_JobGiver + { + protected override Job TryGiveJob(Pawn pawn) + { + Pawn_GeneTracker genes = pawn.genes; + Gene_LifeForce gene_lifeforce = (genes != null) ? genes.GetFirstGeneOfType() : null; + if (gene_lifeforce == null) + { + return null; + } + if (!gene_lifeforce.ShouldConsumeLifeForceNow()) + { + return null; + } + + + if (ModsConfig.IsActive("LustLicentia.RJWLabs") && gene_lifeforce.StoredCumAllowed) + { + Thing gatheredCum = this.GetStoredCum(pawn); + if (gatheredCum == null) + { + return null; + } + IngestionOutcomeDoer_LifeForceOffset ingestionOutcomeDoer = (IngestionOutcomeDoer_LifeForceOffset)gatheredCum.def.ingestible.outcomeDoers.First((IngestionOutcomeDoer x) => x is IngestionOutcomeDoer_LifeForceOffset); + if (ingestionOutcomeDoer == null) + { + return null; + } + int num = Mathf.RoundToInt(((gene_lifeforce.targetValue - gene_lifeforce.Value) * 100 + 10) / ingestionOutcomeDoer.FertilinPerUnit); + if (gatheredCum != null && num > 0) + { + Job job = JobMaker.MakeJob(RimWorld.JobDefOf.Ingest, gatheredCum); + job.count = Mathf.Min(gatheredCum.stackCount, num); + job.ingestTotalCount = true; + return job; + } + } + return null; + } + + //From JobGiver_GetHemogen, dont know exactly what this influences + public override float GetPriority(Pawn pawn) + { + if (!ModsConfig.BiotechActive) + { + return 0f; + } + Pawn_GeneTracker genes = pawn.genes; + if (((genes != null) ? genes.GetFirstGeneOfType() : null) == null) + { + return 0f; + } + return 9.1f; + } + + private Thing GetStoredCum(Pawn pawn) + { + Thing carriedThing = pawn.carryTracker.CarriedThing; + ThingDef gatheredCum = ThingDef.Named("GatheredCum"); + if (carriedThing != null && carriedThing.def == gatheredCum) + { + return carriedThing; + } + for (int i = 0; i < pawn.inventory.innerContainer.Count; i++) + { + if (pawn.inventory.innerContainer[i].def == gatheredCum) + { + return pawn.inventory.innerContainer[i]; + } + } + return GenClosest.ClosestThing_Global_Reachable(pawn.Position, pawn.Map, pawn.Map.listerThings.ThingsOfDef(gatheredCum), PathEndMode.OnCell, TraverseParms.For(pawn, Danger.Deadly, TraverseMode.ByPawn, false, false, false), 9999f, (Thing t) => pawn.CanReserve(t, 1, -1, null, false) && !t.IsForbidden(pawn), null); + } + } +} diff --git a/Source/Genes/Life_Force/Patch_SexTicks_ChangePsyfocus.cs b/Source/Genes/Life_Force/Patch_SexTicks_ChangePsyfocus.cs new file mode 100644 index 0000000..1a608cc --- /dev/null +++ b/Source/Genes/Life_Force/Patch_SexTicks_ChangePsyfocus.cs @@ -0,0 +1,60 @@ +using HarmonyLib; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; + +namespace RJW_Genes +{ + + //[HarmonyPatch(typeof(JobDriver_Sex), nameof(JobDriver_Sex.ChangePsyfocus))] + public static class Patch_SexTicks_ChangePsyfocus + { + //Using ChangePsyfocus as it is something that fires every 60 ticks + public static void Postfix(ref JobDriver_Sex __instance, ref Pawn pawn, ref Thing target) + { + if (__instance.Sexprops.sexType == xxx.rjwSextype.Cunnilingus) + { + if (target != null) + { + Pawn pawn2 = target as Pawn; + if (pawn2 != null) + { + //We need who the pawn on top is and if reverse we need to make the sub the pawn on top + if (__instance.Sexprops.isRevese) + { + + DrinkCumflation(pawn2, pawn); + } + else + { + // + DrinkCumflation(pawn, pawn2); + return; + } + } + } + + } + } + + public static void DrinkCumflation(Pawn dom, Pawn sub) + { + Log.Message("Firese"); + Log.Message(dom.Name.ToString()); + Log.Message(sub.Name.ToString()); + if (GeneUtility.HasLifeForce(sub) && dom.health.hediffSet.HasHediff(HediffDef.Named("Cumflation"))) + { + Hediff cumflation = dom.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Cumflation")); + Gene_LifeForce gene_LifeForce = sub.genes.GetFirstGeneOfType(); + cumflation.Severity -= 0.1f; + gene_LifeForce.Resource.Value += 0.05f; + } + } + //Maybe i can store instance and hediff so I dont need to look them up every time + } +} diff --git a/Source/Genes/Life_Force/ThinkNode_ConditionalCritcalLifeForce.cs b/Source/Genes/Life_Force/ThinkNode_ConditionalCritcalLifeForce.cs new file mode 100644 index 0000000..dbb3f6b --- /dev/null +++ b/Source/Genes/Life_Force/ThinkNode_ConditionalCritcalLifeForce.cs @@ -0,0 +1,14 @@ +using System; +using Verse; +using Verse.AI; + +namespace RJW_Genes +{ + public class ThinkNode_ConditionalCritcalLifeForce : ThinkNode_Conditional + { + protected override bool Satisfied(Pawn p) + { + return GeneUtility.HasCriticalLifeForce(p); + } + } +} \ No newline at end of file diff --git a/Source/Genes/Life_Force/ThinkNode_ConditionalLowLifeForce.cs b/Source/Genes/Life_Force/ThinkNode_ConditionalLowLifeForce.cs new file mode 100644 index 0000000..0e71ce7 --- /dev/null +++ b/Source/Genes/Life_Force/ThinkNode_ConditionalLowLifeForce.cs @@ -0,0 +1,14 @@ +using System; +using Verse; +using Verse.AI; + +namespace RJW_Genes +{ + public class ThinkNode_ConditionalLowLifeForce : ThinkNode_Conditional + { + protected override bool Satisfied(Pawn p) + { + return GeneUtility.HasLowLifeForce(p); + } + } +} \ No newline at end of file diff --git a/Source/HarmonyInit.cs b/Source/HarmonyInit.cs index 35ffb2e..8c5f3d6 100644 --- a/Source/HarmonyInit.cs +++ b/Source/HarmonyInit.cs @@ -27,6 +27,8 @@ namespace RJW_Genes // Gene: Generous Donor [Postfix Patch] harmony.Patch(AccessTools.Method(typeof(LicentiaLabs.CumflationHelper), nameof(LicentiaLabs.CumflationHelper.TransferNutrition)), postfix: new HarmonyMethod(typeof(Patch_TransferNutrition), nameof(Patch_TransferNutrition.Postfix))); + harmony.Patch(AccessTools.Method(typeof(rjw.JobDriver_Sex), nameof(rjw.JobDriver_Sex.ChangePsyfocus)), + postfix: new HarmonyMethod(typeof(Patch_SexTicks_ChangePsyfocus), nameof(Patch_SexTicks_ChangePsyfocus.Postfix))); } }))(); } diff --git a/Source/Interactions/CustomSexInteraction_Helper.cs b/Source/Interactions/CustomSexInteraction_Helper.cs index 315ac64..4e69462 100644 --- a/Source/Interactions/CustomSexInteraction_Helper.cs +++ b/Source/Interactions/CustomSexInteraction_Helper.cs @@ -30,7 +30,6 @@ namespace RJW_Genes InteractionRequirement dominantRequirement = sexpropsreq.dominantRequirement; InteractionRequirement submissiveRequirement = sexpropsreq.submissiveRequirement; - List sexinteractions = SexUtility.SexInterractions; List list = new List(); //List a = from interaction in sexinteractions //where InteractionHelper.GetWithExtension(interaction).DominantHasFamily(dominantRequirement.families.) diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index a79deca..ba2b195 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -119,6 +119,11 @@ + + + + +