From a2327fc29118028937d0cdf3a6b1d95cbc8cd0d7 Mon Sep 17 00:00:00 2001 From: c0ffee12 Date: Mon, 26 Jul 2021 17:44:17 -0700 Subject: [PATCH] lactation production boost --- .../C0ffee's RJW Ideology Addons.dll | Bin 10752 -> 10752 bytes .../1.3/Assemblies/CRIALactation.dll | Bin 6144 -> 9728 bytes CRIALactation/CRIALactation.csproj | 2 + .../Defs/PreceptDefs/Precepts_Lactating.xml | 15 ++-- ...Milk_HumanCompHasGatherableBodyResource.cs | 64 ++++++++++++++++++ 5 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs diff --git a/1.3/Assemblies/C0ffee's RJW Ideology Addons.dll b/1.3/Assemblies/C0ffee's RJW Ideology Addons.dll index 4bcba7e628d74762d8a7b310fc04498e21561178..375c4dfea996d2b693d23d6bae8282fb8b995f9e 100644 GIT binary patch delta 47 zcmV+~0MP${RDe{Fhy;i?o%FGcKo11P9&vWF&<~gl5L1Njt9$EcM6{_av=&fthO>Aa Fhz;{D6s`aO delta 47 zcmZn&X$YCn!D1CYbH>IV2Y!|#a(v92FYwRc5vaFbbRto2p3hQaDUPV_l%&lSG9A1C DtD6yS diff --git a/CRIALactation/1.3/Assemblies/CRIALactation.dll b/CRIALactation/1.3/Assemblies/CRIALactation.dll index 98c9b4577a87ec2f6a10b3e78f00690c4255d692..77c74227e8b060addcf8787495c699258acd4fd3 100644 GIT binary patch literal 9728 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 jF?c?WNcj==u{#$a`@ delta 2510 zcmZ`*Yiv|y8h*a-TxNPYV9#kgZE2x19fXl7rCgF#cC%25m%$G7A|UAQGHu6FoOW<# zShm}>Q-f?=g~aA~p^+cR4|ip8g^YnQ;XzkxJ1HRFSaDepPHdb1)CypWBGv;( zjHzgKXcrKo{tFtK{HSd8cZj9VXE%|G@Tu}27YX6{uZX20?Eg))G`vMeHSXdgVc|*( zGckkkJDPt`+JyHc`8W$ZahHH)sBSkfL~jAOkmDZN@oK_^37Fwr4aMbm&E@Gh%eT+v znR%A4pUWHH@v(%ca}uysQHdqGMOCyWUdt-2AqruCkI_*(d! z@p`^;4TPC?Z5dxc%@fya>E9Tr$u%nDGR~HBxN)}7rO&f8O{|e?qHFlNaO~DlIKGfd z<*mOf(QL@^MbzTWgix?`9%ijiC}W%*+6GwEqd0)%bsgyJz3wGSbU?a?b>v$pK*22Fe4$btVPCerZe}lJUi9C zrDkX9Hd`xA-4_ccM3@s*9hWQaoUNz|e&5>`)f^}NeQT@cI^NisUV{JE7x$Qb`Huz` zm+HCTu?gT&zH4~uV|~T^@aRy1&Eklo_XDx5eK<;4U5wbBTaz34K1uyE?rUsAHrKD5 zIk?PXd#wysDCHZm8ex5Y(MnZaD9#?r7T}|f8S|Ai$vo0HA%Le?q z{xmnkMwik`P{yyQUY=tN(ju^gM{+Jo{GJEoM#eBJaM~2SRVrx%(ZMamDy-Cao5l`} zNsT=kcW6wbblR-NuvQ+@IHvItqK!Y}bu7SDOq)?mqrynw8g^ML@HJkQt9c+ht#!mz zL|2@W+YuG_$^kqN%N`=%ge?7EkmHOU#1UM?udJiEO&piUkraLSEtz8_oI;N{V7`JK zB5s~TT3oc=Abx;1_@|nKFN9j{>fUi%*QmjQ64&zM}VNR-Lo;%*=!gDvi8}Fk0gC@A+=NHW{ z-&?3}$^VYTEU|fCHk?@{+{H1QfA9I`hSKXAq z#9MPF?>#O2nwk@CXK%8jD?Lz57l(7BZG+jY|9Q>2#ku0{Oujq4e-sTmdTHG<@WoX3+~|WcxCMB(IaDRse{L| z$Fd)tO!(g}Xe>c^Bkn`Iv3wf=Ar0Fb_Ga#i5fpV(Wn>;AI9w#8Zo?3US zaCcO~@Or$Ym+~eLb0YglvTH*7S?=O^lRGK5XqkU|ASnA1xI zBlKr`si5G8M~y}5J9du@Z_lUqZqAL~?zb*{SDM1VxTx8CZRUR^<@ZM=N2a1-`PK^G cYwkWXKk}tf5h?%o_4jpW+{OPAQ|*EO0+DH_ + + diff --git a/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml b/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml index 104a631..94d73b2 100644 --- a/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml +++ b/CRIALactation/Defs/PreceptDefs/Precepts_Lactating.xml @@ -14,7 +14,11 @@ Lactating High - Milk from breasts is creamy and delicious. It should be produced and consumed on a regular basis. + 20 + 100 + Milk from breasts is creamy and delicious. It should be produced and consumed on a regular basis. + + Lactating colonists will produce double the normal amount of milk.
  • Lactating_Essential @@ -23,6 +27,7 @@
  • Lactating_Essential_Social + true
  • @@ -40,19 +45,19 @@
  • - We live in such difficult times. Producing milk is a pipe dream, but it would be nice. + We live in such difficult times. I wish I could be producing milk right now. -6
  • - I'm as useless as a dry well. A healthy supply of my milk is expected, but I'm failing to deliver. - -9 + 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
  • - Producing milk is a basic duty for someone like me. I'm embarrassed and ashamed to be dry. + Producing milk is a basic responsibility. I'm embarrassed and ashamed to be dry. -16
  • diff --git a/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs b/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs new file mode 100644 index 0000000..9091c7e --- /dev/null +++ b/CRIALactation/Source/HarmonyPatches/RJW/HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs @@ -0,0 +1,64 @@ +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Verse; +using RimWorld; +using rjw; +using Milk; +using UnityEngine; +using HarmonyLib; +using System.Reflection.Emit; + +namespace CRIALactation + +{ + [HarmonyPatch(typeof(HumanCompHasGatherableBodyResource), "CompTick")] + public static class HarmonyPatch_Milk_HumanCompHasGatherableBodyResource + { + + public static IEnumerable Transpiler(IEnumerable codeInstructions) + { + + var ins = codeInstructions.ToList(); + + for(int i = 0; i < ins.Count; i++) + { + + if (ins[i].opcode == OpCodes.Callvirt && ins.Count > i + 1 && ins[i + 1].OperandIs(60000)) + { + + yield return ins[i]; + yield return new CodeInstruction(OpCodes.Ldarg_0); + yield return new CodeInstruction(OpCodes.Call, AccessTools.DeclaredMethod(typeof(HarmonyPatch_Milk_HumanCompHasGatherableBodyResource), "AdjustGatherResourceDaysForPrecept")); + + + } + + else + { + + yield return ins[i]; + } + + } + + + } + + + public static float AdjustGatherResourceDaysForPrecept(float resourcesIntervalDays, HumanCompHasGatherableBodyResource __instance) + { + + Pawn pawn = __instance.parent as Pawn; + if(pawn.Ideo.HasPrecept(PreceptDefOf_Lactation.Lactating_Essential)) + { + return resourcesIntervalDays * 0.5f; + } + + return resourcesIntervalDays; + + } + + } +}