public override IEnumerable <Gizmo> CompGetGizmosExtra() { if (parent.Faction == Faction.OfPlayer && (Pawn == null || (Pawn.training != null && Pawn.training.HasLearned(TrainableDefOf.Obedience)) || Pawn.Drafted)) { yield return(TargetingModesUtility.SetTargetModeCommand(this)); } }
public static void Postfix(ref List <Pawn> __result) { // Set targeting modes for each animal if appropriate foreach (var pawn in __result) { if (pawn.TryGetComp <CompTargetingMode>() != null && Rand.Chance(TargetingModesUtility.AdjustedChanceForAnimal(pawn))) { pawn.TryAssignRandomTargetingMode(); } } }
public static void Postfix(ref BodyPartRecord __result, DamageInfo dinfo, Pawn pawn) { __result = TargetingModesUtility.ResolvePrioritizedPart_External(__result, dinfo, pawn); }