From 82570419a2a3bd951e03775fd052bcbfec236f42 Mon Sep 17 00:00:00 2001 From: moreoreganostodump Date: Wed, 3 Feb 2021 14:20:03 +0900 Subject: [PATCH] changed initialize method --- About/Manifest.xml | 2 +- Assemblies/RJW_Menstruation.dll | Bin 45056 -> 45568 bytes Patches/Hediffs_PrivateParts.xml | 42 ++++++++++++++++++ .../RJW_Menstruation/GetGizmos.cs | 2 - .../HediffComp_Menstruation.cs | 37 ++++++++++----- .../RJW_Menstruation/Pawn_Patch.cs | 32 +++++++++++++ .../RJW_Menstruation/RJW_Menstruation.csproj | 1 + .../RJW_Menstruation/RJW_Patch.cs | 3 ++ .../RJW_Menstruation/Utility.cs | 10 ++--- 9 files changed, 109 insertions(+), 20 deletions(-) create mode 100644 source/RJW_Menstruation/RJW_Menstruation/Pawn_Patch.cs diff --git a/About/Manifest.xml b/About/Manifest.xml index 1f531db..4079dc0 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.0.0.1 + 1.0.0.3 diff --git a/Assemblies/RJW_Menstruation.dll b/Assemblies/RJW_Menstruation.dll index 95ec13e241543448fcd22b945e4e7008d4e0e8ee..1e632c702faa62c2a5f39e4b8e6433ad4d1ddff5 100644 GIT binary patch delta 14187 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 delta 13759 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 diff --git a/Patches/Hediffs_PrivateParts.xml b/Patches/Hediffs_PrivateParts.xml index d71c2aa..edc2fcb 100644 --- a/Patches/Hediffs_PrivateParts.xml +++ b/Patches/Hediffs_PrivateParts.xml @@ -27,6 +27,48 @@ + + Defs/rjw.HediffDef_PartBase[defName="DragonVagina"] + + +
  • + 500 + 0.5 + 0.2 + 0.05 + 30 + 30 + 0 + 10 + 30 + Womb/Womb + Genitals/Vagina +
  • +
    +
    +
    + + + Defs/rjw.HediffDef_PartBase[defName="GenericVagina"] + + +
  • + 500 + 1.0 + 1.0 + 0.05 + 14 + 14 + 6 + 10 + 3 + Womb/Womb + Genitals/Vagina +
  • +
    +
    +
    + Defs/rjw.HediffDef_PartBase[defName="HydraulicVagina"] diff --git a/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs b/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs index efd3ad3..387942d 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/GetGizmos.cs @@ -35,7 +35,6 @@ namespace RJW_Menstruation { AddWombGizmos(__instance, ref gizmoList); } - } @@ -47,7 +46,6 @@ namespace RJW_Menstruation private static void AddWombGizmos(Pawn __instance, ref List gizmoList) { - //HediffComp_Menstruation comp = __instance.health.hediffSet.GetFirstHediffOfDef(Genital_Helper.average_vagina).TryGetComp(); HediffComp_Menstruation comp = Utility.GetMenstruationComp(__instance); if (comp != null) gizmoList.Add(CreateGizmo_WombStatus(__instance, comp)); diff --git a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs index 33f1d7a..03ca96f 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs @@ -33,6 +33,7 @@ namespace RJW_Menstruation } } + public class CompProperties_Anus : HediffCompProperties { public string analTex = "Genitals/Anal"; @@ -45,10 +46,10 @@ namespace RJW_Menstruation + - - + public class HediffComp_Menstruation : HediffComp { const float minmakefilthvalue = 1.0f; @@ -57,7 +58,9 @@ namespace RJW_Menstruation public CompProperties_Menstruation Props; public Stage curStage = Stage.Follicular; public int curStageHrs = 0; - + public Action actionref; + public bool loaded = false; + public enum Stage { Follicular, @@ -71,13 +74,11 @@ namespace RJW_Menstruation } private List cums; - private bool loaded = false; private List eggs; private int follicularIntervalhours = -1; private int lutealIntervalhours = -1; private int bleedingIntervalhours = -1; private int recoveryIntervalhours = -1; - private Action actionref; public float TotalCum { @@ -267,22 +268,26 @@ namespace RJW_Menstruation } + public override void CompPostPostAdd(DamageInfo? dinfo) { - Initialize(); + //initializer moved to SpawnSetup + //Initialize(); } public override void CompPostTick(ref float severityAdjustment) { - if (!loaded) - { - Initialize(); - } + //initializer moved to SpawnSetup + //if (!loaded) + //{ + // Initialize(); + //} } public override void CompPostPostRemoved() { + HugsLibController.Instance.TickDelayScheduler.TryUnscheduleCallback(actionref); ModLog.Message(parent.pawn.Label + "tick scheduler removed"); base.CompPostPostRemoved(); @@ -481,7 +486,7 @@ namespace RJW_Menstruation else return false; } - private void Initialize() + public void Initialize() { Props = (CompProperties_Menstruation)props; @@ -511,6 +516,7 @@ namespace RJW_Menstruation curStage = Stage.None; HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false); } + Log.Message(parent.pawn.Label + " - Initialized menstruation comp"); loaded = true; } @@ -741,7 +747,7 @@ namespace RJW_Menstruation }; actionref = action; - return action; + return actionref; void GoNextStage(Stage nextstage, float factor = 1.0f) { @@ -843,4 +849,11 @@ namespace RJW_Menstruation } } + + + + + + + } diff --git a/source/RJW_Menstruation/RJW_Menstruation/Pawn_Patch.cs b/source/RJW_Menstruation/RJW_Menstruation/Pawn_Patch.cs new file mode 100644 index 0000000..2c57493 --- /dev/null +++ b/source/RJW_Menstruation/RJW_Menstruation/Pawn_Patch.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using RimWorld; +using Verse; +using HarmonyLib; +using HugsLib; + + +namespace RJW_Menstruation +{ + + [HarmonyPatch(typeof(Pawn), "SpawnSetup")] + public class Pawn_Patch + { + public static void Postfix(Map map, bool respawningAfterLoad, Pawn __instance) + { + Log.Message("Initialize on spawnsetup"); + HediffComp_Menstruation comp = Utility.GetMenstruationComp(__instance); + if (comp != null) + { + HugsLibController.Instance.TickDelayScheduler.TryUnscheduleCallback(comp.actionref); + comp.Initialize(); + } + } + + + + } +} diff --git a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj index 342257d..15845c7 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj +++ b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj @@ -64,6 +64,7 @@ + diff --git a/source/RJW_Menstruation/RJW_Menstruation/RJW_Patch.cs b/source/RJW_Menstruation/RJW_Menstruation/RJW_Patch.cs index 894f3ae..5863ac9 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/RJW_Patch.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/RJW_Patch.cs @@ -25,6 +25,7 @@ namespace RJW_Menstruation if (Genital_Helper.has_vagina(partner, partnerparts)) { + if (partner.IsAnimal() && !Configurations.EnableAnimalCycle) return true; HediffComp_Menstruation comp = Utility.GetMenstruationComp(partner); if (comp != null) { @@ -38,6 +39,7 @@ namespace RJW_Menstruation } else if (Genital_Helper.has_vagina(pawn, pawnparts)) { + if (pawn.IsAnimal() && !Configurations.EnableAnimalCycle) return true; HediffComp_Menstruation comp = Utility.GetMenstruationComp(pawn); if (comp != null) { @@ -61,6 +63,7 @@ namespace RJW_Menstruation { public static bool Prefix(Pawn pawn, Pawn partner) // partner has vagina { + if (partner.IsAnimal() && !Configurations.EnableAnimalCycle) return true; HediffComp_Menstruation comp = Utility.GetMenstruationComp(partner); if (comp != null) { diff --git a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs index d246825..d9009bb 100644 --- a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs +++ b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs @@ -21,17 +21,17 @@ namespace RJW_Menstruation public static float GetCumVolume(Pawn pawn) { - CompHediffBodyPart part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault().TryGetComp(); - if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault().TryGetComp(); - if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp(); - if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp(); + CompHediffBodyPart part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault().TryGetComp(); + if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault().TryGetComp(); + if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp(); + if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp(); return part?.FluidAmmount * part.FluidModifier * Rand.Range(0.8f, 1.2f) ?? 0.0f; } public static HediffComp_Menstruation GetMenstruationComp(Pawn pawn) { - var hedifflist = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).FindAll((Hediff h) => h.def.defName.ToLower().Contains("vagina")); + var hedifflist = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff h) => h.def.defName.ToLower().Contains("vagina")); HediffComp_Menstruation result; if (hedifflist.NullOrEmpty()) return null; else