Milk drink thoughts

This commit is contained in:
dominiclopez391 2021-11-16 21:37:17 -08:00
parent a5d5cc1d44
commit f30f494c3d
7 changed files with 150 additions and 3 deletions

View file

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HarmonyLib;
using RimWorld;
using Verse;
namespace CRIALactation
{
[HarmonyPatch]
public static class HarmonyPatch_FoodUtility
{
[HarmonyReversePatch(HarmonyReversePatchType.Snapshot)]
[HarmonyPatch(typeof(FoodUtility), "AddThoughtsFromIdeo")]
public static void AddThoughtsFromIdeo_Patch(HistoryEventDef eventDef, Pawn ingester, ThingDef foodDef, MeatSourceCategory meatSourceCategory)
{
throw new NotImplementedException("thoughts from ideo wasn't implemented!");
}
[HarmonyPatch(typeof(FoodUtility), "ThoughtsFromIngesting")]
public static void Postfix(ref List<FoodUtility.ThoughtFromIngesting> __result, Pawn ingester, Thing foodSource, ThingDef foodDef)
{
if (ingester.Ideo != null)
{
if (foodDef == ThingDefOf_Milk.HumanMilk || foodDef == ThingDefOf_Milk.HumanoidMilk)
{
AddThoughtsFromIdeo_Patch(HistoryEventDefOf_Milk.DrankMilkRaw, ingester, foodDef, FoodUtility.GetMeatSourceCategory(foodDef));
}
}
}
[HarmonyPatch(typeof(FoodUtility), "AddIngestThoughtsFromIngredient")]
public static void Postfix(ThingDef ingredient, Pawn ingester) {
MeatSourceCategory meatSourceCategory = FoodUtility.GetMeatSourceCategory(ingredient);
if(ingredient == ThingDefOf_Milk.HumanoidMilk || ingredient == ThingDefOf_Milk.HumanMilk)
{
AddThoughtsFromIdeo_Patch(HistoryEventDefOf_Milk.DrankMilkMeal, ingester, ingredient, meatSourceCategory);
}
}
}
}

View file

@ -0,0 +1,22 @@
using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CRIALactation
{
[DefOf]
public static class HistoryEventDefOf_Milk
{
static HistoryEventDefOf_Milk()
{
DefOfHelper.EnsureInitializedInCtor(typeof(HistoryEventDefOf_Milk));
}
public static HistoryEventDef DrankMilkRaw;
public static HistoryEventDef DrankMilkMeal;
}
}

View file

@ -0,0 +1,24 @@
using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Verse;
namespace CRIALactation
{
[DefOf]
public static class ThingDefOf_Milk
{
static ThingDefOf_Milk()
{
DefOfHelper.EnsureInitializedInCtor(typeof(ThingDefOf_Milk));
}
public static ThingDef HumanMilk;
public static ThingDef HumanoidMilk;
}
}