public static void Prefix(Pawn_JobTracker __instance, Pawn ___pawn) { if (__instance.curJob?.def == JobDefOf.TendPatient) { Pawn pawn = ___pawn; if (!pawn.Destroyed && pawn.carryTracker != null && pawn.carryTracker.CarriedThing != null) { if (StockUpUtility.StockingUpOn(pawn, pawn.carryTracker.CarriedThing)) { pawn.inventory.innerContainer.TryAddOrTransfer(pawn.carryTracker.CarriedThing); } } } }
public static void Prefix(Pawn_JobTracker __instance) { if (__instance.curJob?.def == JobDefOf.TendPatient) { FieldInfo pawnField = AccessTools.Field(typeof(Pawn_JobTracker), "pawn"); Pawn pawn = (Pawn)pawnField.GetValue(__instance); if (!pawn.Destroyed && pawn.carryTracker != null && pawn.carryTracker.CarriedThing != null) { if (StockUpUtility.StockingUpOn(pawn, pawn.carryTracker.CarriedThing)) { pawn.inventory.innerContainer.TryAddOrTransfer(pawn.carryTracker.CarriedThing); } } } }