Ejemplo n.º 1
0
        private static Job MineOrWaitJob(Pawn pawn, Thing blocker, IntVec3 cellBeforeBlocker)
        {
            if (!pawn.CanReserve(blocker, 1, -1, null, false))
            {
                return(DigUtility.WaitNearJob(pawn, cellBeforeBlocker));
            }
            Job job = new Job(JobDefOf.Mine, blocker);

            job.ignoreDesignations    = true;
            job.expiryInterval        = JobGiver_AIFightEnemy.ExpiryInterval_ShooterSucceeded.RandomInRange;
            job.checkOverrideOnExpire = true;
            return(job);
        }
Ejemplo n.º 2
0
        private static Job MineOrWaitJob(Pawn pawn, Thing blocker, IntVec3 cellBeforeBlocker)
        {
            Job result;

            if (!pawn.CanReserve(blocker, 1, -1, null, false))
            {
                result = DigUtility.WaitNearJob(pawn, cellBeforeBlocker);
            }
            else
            {
                result = new Job(JobDefOf.Mine, blocker)
                {
                    ignoreDesignations    = true,
                    expiryInterval        = JobGiver_AIFightEnemy.ExpiryInterval_ShooterSucceeded.RandomInRange,
                    checkOverrideOnExpire = true
                };
            }
            return(result);
        }