From e2d5daf97b0888860578a098b3fad8c039283413 Mon Sep 17 00:00:00 2001 From: c0ffee12 Date: Wed, 28 Jul 2021 18:45:25 -0700 Subject: [PATCH] Hucow role and balancing --- .../C0ffee's RJW Ideology Addons.dll | Bin 10752 -> 10752 bytes .../1.3/Assemblies/CRIALactation.dll | Bin 9728 -> 11776 bytes CRIALactation/CRIALactation.csproj | 2 + CRIALactation/Defs/MemeDefs/Memes_Hucow.xml | 10 ++- .../Defs/PreceptDefs/Precepts_Lactating.xml | 12 ++-- .../PreceptDefs/Precepts_Lactating_Role.xml | 15 ++++- ...Milk_HumanCompHasGatherableBodyResource.cs | 60 +++++++++++++++++- .../PreceptDefOf/PreceptDefOf_Lactation.cs | 1 + .../Source/RoleEffects/RoleEffect_Hucow.cs | 25 ++++++++ .../RoleRequirement_Lactating.cs | 30 +++++++++ CRIAOrgy/Assemblies/CRIAOrgy.dll | Bin 5120 -> 5120 bytes 11 files changed, 143 insertions(+), 12 deletions(-) create mode 100644 CRIALactation/Source/RoleEffects/RoleEffect_Hucow.cs create mode 100644 CRIALactation/Source/RoleRequirements/RoleRequirement_Lactating.cs diff --git a/1.3/Assemblies/C0ffee's RJW Ideology Addons.dll b/1.3/Assemblies/C0ffee's RJW Ideology Addons.dll index 375c4dfea996d2b693d23d6bae8282fb8b995f9e..c711fe93a29acfd9e1e168a76f5d12ad42b6b7cb 100644 GIT binary patch delta 47 zcmV+~0MP${RDe{Fhy>A?yMeKcKo11R9x+t2&<~gl5QG5tVBwO3Mv>cf4HV`nF|&9a Fhz;yK6W;&; delta 47 zcmV+~0MP${RDe{Fhy;i?o%FGcKo11P9&vWF&<~gl5L1Njt9$EcM6{_av=&fthO>Aa Fhz;{D6s`aO diff --git a/CRIALactation/1.3/Assemblies/CRIALactation.dll b/CRIALactation/1.3/Assemblies/CRIALactation.dll index 4a7c55e88905f5834e100412458562bf484423c7..862e04e2e2295ea8bd4eef055ee5c11ef00ba934 100644 GIT binary patch literal 11776 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 gyd}yH=W*-MlJHr>!#`Z=i(`JvP+{^T9&B>{2P + + diff --git a/CRIALactation/Defs/MemeDefs/Memes_Hucow.xml b/CRIALactation/Defs/MemeDefs/Memes_Hucow.xml index 9749d3a..946089a 100644 --- a/CRIALactation/Defs/MemeDefs/Memes_Hucow.xml +++ b/CRIALactation/Defs/MemeDefs/Memes_Hucow.xml @@ -1,30 +1,34 @@  + Hucow Breast milk should be produced for and consumed by all. UI/Memes/PrimacyHuman - Sexuality + Misc 3 50
  • Lactating_Essential
  • +
  • +
  • IdeoRole_Hucow
  • +
  • memeAdjective->ranch
  • memeAdjective->bovine
  • memeHyphenPrefix->lacto
  • -
  • memeConcept->human lactation
  • +
  • memeConcept->milk expression
  • memeLeaderNoun->rancher
  • memeLeaderNoun->hand
  • memeLeaderNoun->herder
  • diff --git a/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml b/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml index ccbd74c..42c35c8 100644 --- a/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml +++ b/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml @@ -37,26 +37,26 @@
  • - Expressing milk for fills me with maternal pride. - 6 + Expressing milk fills me with maternal pride. + 3
  • - We live in such difficult times. I wish I could be producing milk right now. - -6 + We live in such difficult times. It's wishful thinking, but I'd like to be producing milk right now. + -2
  • I'm as useless as a dry well. A healthy supply of my milk can benefit the colony, but I'm failing to deliver. - -10 + -5
  • Producing milk is a basic responsibility. I'm embarrassed and ashamed to be dry. - -16 + -8
  • diff --git a/CRIALactation/Defs/PreceptDefs/Precepts_Lactating_Role.xml b/CRIALactation/Defs/PreceptDefs/Precepts_Lactating_Role.xml index 6bf8b39..2844836 100644 --- a/CRIALactation/Defs/PreceptDefs/Precepts_Lactating_Role.xml +++ b/CRIALactation/Defs/PreceptDefs/Precepts_Lactating_Role.xml @@ -3,13 +3,24 @@ IdeoRole_Hucow - A special ideoligious status focusing on the production of breast milk. This specialized role gives greatly increased breast milk production speed and yield, at the cost of decreased global work speed. + A special ideoligious status focusing on the production of breast milk. This specialized role can only be given to lactating pawns and gives greatly increased breast milk production yield, at the cost of decreased work speed and movement speed. UI/Roles/SpecialistMelee NamerRoleMoralist + +
  • + + +
  • Hucow
  • + +
  • WorkSpeedGlobal - 1.5 + -0.5 +
  • +
  • + MoveSpeed + -0.35
  • 2 diff --git a/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs b/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs index 407c29b..3de411b 100644 --- a/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs +++ b/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs @@ -17,6 +17,36 @@ namespace CRIALactation public static class HarmonyPatch_Milk_HumanCompHasGatherableBodyResource { + public static void Prefix(HumanCompHasGatherableBodyResource __instance) + { + if (!__instance.parent.IsHashIntervalTick(100)) + { + return; + } + if (!(__instance.parent is Pawn)) return; + + Pawn p = __instance.parent as Pawn; + if (p?.health?.hediffSet == null) return; + + if (p.Ideo?.GetRole(p) != null && p.Ideo.GetRole(p).def == PreceptDefOf_Lactation.IdeoRole_Hucow) + { + + if(p.health.hediffSet.HasHediff(HediffDef.Named("Lactating_Natural"), false)) + { + p.health.RemoveHediff(p.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Lactating_Natural"), false)); + } + if (p.health.hediffSet.HasHediff(HediffDef.Named("Lactating_Drug"), false)) + { + p.health.RemoveHediff(p.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("Lactating_Drug"), false)); + } + if(!(p.health.hediffSet.HasHediff(HediffDef.Named("Lactating_Permanent"), false) || + p.health.hediffSet.HasHediff(HediffDef.Named("Heavy_Lactating_Permanent"), false))) + { + p.health.AddHediff(HediffDef.Named("Lactating_Permanent")); + } + } + } + public static IEnumerable Transpiler(IEnumerable codeInstructions) { @@ -52,7 +82,9 @@ namespace CRIALactation Pawn pawn = __instance.parent as Pawn; if(pawn.Ideo.HasPrecept(PreceptDefOf_Lactation.Lactating_Essential)) { - return resourcesIntervalDays * 0.666f; //1.5x normal rate + + + return resourcesIntervalDays * 0.666f * ((pawn?.Ideo?.GetRole(pawn) != null && pawn.Ideo.GetRole(pawn).def == PreceptDefOf_Lactation.IdeoRole_Hucow) ? 0.5f : 1f); //1.5x normal rate } return resourcesIntervalDays; @@ -60,4 +92,30 @@ namespace CRIALactation } } + + [HarmonyPatch(typeof(CompHyperMilkableHuman), "ResourceAmount", MethodType.Getter)] + public static class HarmonyPatch_IncreaseYieldForHucowHyperMilkable + { + public static void Postfix(CompHyperMilkableHuman __instance, ref float __result) + { + Pawn p = __instance.parent as Pawn; + if (p.Ideo.GetRole(p).def == PreceptDefOf_Lactation.IdeoRole_Hucow) + { + __result = 65; + } + } + } + + [HarmonyPatch(typeof(CompMilkableHuman), "ResourceAmount", MethodType.Getter)] + public static class HarmonyPatch_IncreaseYieldForHucowMilkable + { + public static void Postfix(CompHyperMilkableHuman __instance, ref float __result) + { + Pawn p = __instance.parent as Pawn; + if (p?.Ideo?.GetRole(p) != null && p.Ideo.GetRole(p).def == PreceptDefOf_Lactation.IdeoRole_Hucow) + { + __result = 45; + } + } + } } diff --git a/CRIALactation/Source/PreceptDefOf/PreceptDefOf_Lactation.cs b/CRIALactation/Source/PreceptDefOf/PreceptDefOf_Lactation.cs index 53a570c..9fd0b93 100644 --- a/CRIALactation/Source/PreceptDefOf/PreceptDefOf_Lactation.cs +++ b/CRIALactation/Source/PreceptDefOf/PreceptDefOf_Lactation.cs @@ -17,6 +17,7 @@ namespace CRIALactation } public static PreceptDef Lactating_Essential; + public static PreceptDef IdeoRole_Hucow; } } \ No newline at end of file diff --git a/CRIALactation/Source/RoleEffects/RoleEffect_Hucow.cs b/CRIALactation/Source/RoleEffects/RoleEffect_Hucow.cs new file mode 100644 index 0000000..85a43c4 --- /dev/null +++ b/CRIALactation/Source/RoleEffects/RoleEffect_Hucow.cs @@ -0,0 +1,25 @@ +using Milk; +using RimWorld; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace CRIALactation +{ + public class RoleEffect_Hucow : RoleEffect + { + public override string Label(Pawn pawn, Precept_Role role) + { + return "Greatly increased milk yield, permenant lactation, slower speed"; + } + + public RoleEffect_Hucow() + { + + } + } +} diff --git a/CRIALactation/Source/RoleRequirements/RoleRequirement_Lactating.cs b/CRIALactation/Source/RoleRequirements/RoleRequirement_Lactating.cs new file mode 100644 index 0000000..4a6d64f --- /dev/null +++ b/CRIALactation/Source/RoleRequirements/RoleRequirement_Lactating.cs @@ -0,0 +1,30 @@ +using Milk; +using RimWorld; +using rjw; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; + +namespace CRIALactation +{ + public class RoleRequirement_Lactating : RoleRequirement + { + + public override string GetLabel(Precept_Role role) + { + return "must be lactating"; + } + + public override bool Met(Pawn p, Precept_Role role) + { + if(LactationUtility.IsLactating(p)) + { + return true; + } + return false; + } + } +} diff --git a/CRIAOrgy/Assemblies/CRIAOrgy.dll b/CRIAOrgy/Assemblies/CRIAOrgy.dll index 5a302572018167098ade1bf2384855895c547f31..82e6d3f77225d04ed71ef0b47d37f6d0e23f7622 100644 GIT binary patch delta 47 zcmV+~0MP${D1a!Chy=?a0q(JkbOi**9x+t21O{9L5Z>k9VrgQgL8UkqPmaC#gtKr8 FkO{a76C3~l delta 47 zcmV+~0MP${D1a!Chy=eO4$85NbOi*(9&vWF1O{9L5K`fc;vs0DM6w^=?R)2d1ha4o FkO{cW6D$A#