public static IEnumerable <Toil> MakeNewToils(IEnumerable <Toil> __result, JobDriver_Hunt __instance) { var list = __result.ToList(); var setVerb = list[1]; list.Insert(4, Toils_Jump.JumpIf(setVerb, () => !__instance.job.verbToUse.Available())); return(list); }
private static bool IsHunting(Pawn pawn) { if (pawn.CurJob == null) { return(false); } JobDriver_Hunt jobDriver_Hunt = pawn.jobs.curDriver as JobDriver_Hunt; JobDriver_PredatorHunt jobDriver_PredatorHunt = pawn.jobs.curDriver as JobDriver_PredatorHunt; return(jobDriver_Hunt != null | jobDriver_PredatorHunt != null); }
private bool IsHunting(Pawn pawn, Pawn prey) { if (pawn.CurJob == null) { return(false); } JobDriver_Hunt jobDriver_Hunt = pawn.jobs.curDriver as JobDriver_Hunt; if (jobDriver_Hunt != null) { return(jobDriver_Hunt.Victim == prey); } JobDriver_PredatorHunt jobDriver_PredatorHunt = pawn.jobs.curDriver as JobDriver_PredatorHunt; return(jobDriver_PredatorHunt != null && jobDriver_PredatorHunt.Prey == prey); }
public static void MakeNewToils_Postfix(JobDriver_Hunt __instance) { __instance.FailOn(() => __instance.job?.verbToUse != null && __instance.job.verbToUse.IsMeleeAttack); }