Esempio n. 1
0
        protected override Job TryGiveJob(Pawn pawn)
        {
            if (pawn.Drafted)
            {
                return(null);
            }
            if (pawn.needs.rest.CurLevel > (minEnergyRechargePercentage / 100f))
            {
                return(null);
            }
            var emptyChargeStation = PeacekeeperUtility.GetEmptyChargeStation(pawn);

            if (emptyChargeStation == null || emptyChargeStation.IsForbidden(pawn))
            {
                if (pawn.needs.rest.CurLevel < (minEnergyPowercellPercentage / 100f))
                {
                    var fuel = PeacekeeperUtility.FindBestFuel(pawn);
                    if (fuel != null)
                    {
                        return(JobMaker.MakeJob(RSDefOf.RSFuelRobot, pawn, fuel));
                    }
                }
                return(JobMaker.MakeJob(JobDefOf.Wait, 120, true));
            }
            return(JobMaker.MakeJob(RSDefOf.RSRecharge, emptyChargeStation));
        }
        public static Job RefuelJob(Pawn pawn, Thing t, bool forced = false, JobDef customRefuelJob = null)
        {
            Thing t2 = PeacekeeperUtility.FindBestFuel(pawn);

            return(JobMaker.MakeJob(customRefuelJob ?? RSDefOf.RSFuelRobot, t, t2));
        }