mirror of
				https://gitgud.io/c0ffeeeeeeee/coffees-rjw-ideology-addons.git
				synced 2024-08-14 23:57:38 +00:00 
			
		
		
		
	added tracker for when pawn last ingested human milk
This commit is contained in:
		
							parent
							
								
									994a525cb7
								
							
						
					
					
						commit
						e1a817c55f
					
				
					 5 changed files with 58 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -76,6 +76,7 @@
 | 
			
		|||
    <Compile Include="Source\Comps\CompInduceLactation.cs" />
 | 
			
		||||
    <Compile Include="Source\HarmonyPatches\HarmonyPatch_FoodUtility.cs" />
 | 
			
		||||
    <Compile Include="Source\HarmonyPatches\HarmonyPatch_Ideo.cs" />
 | 
			
		||||
    <Compile Include="Source\HarmonyPatches\HarmonyPatch_Thing.cs" />
 | 
			
		||||
    <Compile Include="Source\HarmonyPatches\Harmony_PatchAll.cs" />
 | 
			
		||||
    <Compile Include="Source\HarmonyPatches\RJW\HarmonyPatch_Milk_HumanCompHasGatherableBodyResource.cs" />
 | 
			
		||||
    <Compile Include="Source\HediffDefOf\HediffDefOf_Milk.cs" />
 | 
			
		||||
| 
						 | 
				
			
			@ -93,6 +94,7 @@
 | 
			
		|||
    <Compile Include="Source\ThingDefOf\ThingDefOf_Milk.cs" />
 | 
			
		||||
    <Compile Include="Source\Thoughts\ThoughtWorker_Precept_Lactating_Essential.cs" />
 | 
			
		||||
    <Compile Include="Source\Thoughts\ThoughtWorker_Precept_Lactating_Essential_Social.cs" />
 | 
			
		||||
    <Compile Include="Source\Thoughts\ThoughtWorker_Precept_NoRecentHumanMilk.cs" />
 | 
			
		||||
    <Compile Include="Source\WorkGivers\WorkGiver_MassageBreasts.cs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,9 +16,12 @@ namespace CRIALactation
 | 
			
		|||
        private int TicksSinceLastMassage = -60000;
 | 
			
		||||
 | 
			
		||||
        private float InductionCompletionPercent = 0f;
 | 
			
		||||
 | 
			
		||||
        public bool isActive = false;
 | 
			
		||||
        public bool CanMassage = true;
 | 
			
		||||
 | 
			
		||||
        public int lastHumanLactationIngestedTick = 0;
 | 
			
		||||
 | 
			
		||||
        public override void CompTick()
 | 
			
		||||
        {
 | 
			
		||||
            base.CompTick();
 | 
			
		||||
| 
						 | 
				
			
			@ -107,6 +110,7 @@ namespace CRIALactation
 | 
			
		|||
            base.PostExposeData();
 | 
			
		||||
            Scribe_Values.Look<float>(ref this.InductionCompletionPercent, "InductionCompletionPercent", 0f);
 | 
			
		||||
            Scribe_Values.Look<int>(ref this.TicksSinceLastMassage, "TicksSinceLastMassage", -60000);
 | 
			
		||||
            Scribe_Values.Look<int>(ref this.lastHumanLactationIngestedTick, "lastHumanLactationIngestedTick", 0);
 | 
			
		||||
 | 
			
		||||
            Scribe_Values.Look<bool>(ref this.isActive, "IsActive", false);
 | 
			
		||||
            Scribe_Values.Look<bool>(ref this.CanMassage, "CanMassage", false);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,11 +53,9 @@ namespace CRIALactation
 | 
			
		|||
                    AddThoughtsFromIdeo_Patch(HistoryEventDefOf_Milk.DrankMilkMeal, ingester, ingredient, meatSourceCategory);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										25
									
								
								CRIALactation/Source/HarmonyPatches/HarmonyPatch_Thing.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								CRIALactation/Source/HarmonyPatches/HarmonyPatch_Thing.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
using HarmonyLib;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
using RimWorld;
 | 
			
		||||
 | 
			
		||||
namespace CRIALactation
 | 
			
		||||
{
 | 
			
		||||
    [HarmonyPatch(typeof(Thing), "Ingested")]
 | 
			
		||||
    public static class HarmonyPatch_Thing
 | 
			
		||||
    {
 | 
			
		||||
        public static void Prefix(Thing __instance, Pawn ingester)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            if(__instance.def == ThingDefOf_Milk.HumanMilk || __instance.def == ThingDefOf_Milk.HumanoidMilk)
 | 
			
		||||
            {
 | 
			
		||||
                ingester.TryGetComp<CompInduceLactation>().lastHumanLactationIngestedTick = Find.TickManager.TicksGame;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,27 @@
 | 
			
		|||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Verse;
 | 
			
		||||
using RimWorld;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
 | 
			
		||||
namespace CRIALactation
 | 
			
		||||
{
 | 
			
		||||
    public class ThoughtWorker_Precept_NoRecentHumanMilk : ThoughtWorker_Precept, IPreceptCompDescriptionArgs
 | 
			
		||||
    {
 | 
			
		||||
        public IEnumerable<NamedArgument> GetDescriptionArgs()
 | 
			
		||||
        {
 | 
			
		||||
            yield return MinDaysSinceLastHumanMeatForThought.Named("HUMANMILKREQUIREDINTERVAL");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override ThoughtState ShouldHaveThought(Pawn p)
 | 
			
		||||
        {
 | 
			
		||||
            int num = Mathf.Max(0, p.TryGetComp<CompInduceLactation>().lastHumanLactationIngestedTick);
 | 
			
		||||
            return Find.TickManager.TicksGame - num > 480000;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public const int MinDaysSinceLastHumanMeatForThought = 8;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue