示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
 public static void MakeNewToils_Postfix(JobDriver_Hunt __instance)
 {
     __instance.FailOn(() => __instance.job?.verbToUse != null && __instance.job.verbToUse.IsMeleeAttack);
 }