private static void Postfix(ref bool __result, ref Pawn_HealthTracker __instance, ref Pawn ___pawn, bool forAlert) { if (__result || forAlert) { return; } var pawn = ___pawn; if (pawn.AnimalOrWildMan() && pawn.GetPosture() != PawnPosture.Standing && __instance.HasHediffsNeedingTend(forAlert) && pawn.IsCaptiveOf(Faction.OfPlayer)) { __result = true; } }
// Token: 0x06000003 RID: 3 RVA: 0x00002188 File Offset: 0x00000388 public static void HasHediffsNeedingTendByPlayer_Prefix(ref bool __result, Pawn_HealthTracker __instance, bool forAlert = false) { Pawn value = Traverse.Create(__instance).Field("pawn").GetValue <Pawn>(); bool flag = value.kindDef.race.GetStatValueAbstract(WPVehicleStatDefOf.WPVehicle, null) == 1f; if (flag) { __result = false; } else { bool flag2 = __instance.HasHediffsNeedingTend(forAlert); if (flag2) { bool flag3 = value.NonHumanlikeOrWildMan(); if (flag3) { bool flag4 = value.Faction == Faction.OfPlayer; if (flag4) { __result = true; } Building_Bed building_Bed = value.CurrentBed(); bool flag5 = building_Bed != null && building_Bed.Faction == Faction.OfPlayer; if (flag5) { __result = true; } } else { bool flag6 = (value.Faction == Faction.OfPlayer && value.HostFaction == null) || value.HostFaction == Faction.OfPlayer; if (flag6) { __result = true; } } } } __result = false; }