protected override Job TryGiveJob(Pawn pawn) { CompReloadable compReloadable = ReloadableUtility.FindSomeReloadableComponent(pawn, allowForcedReload: false); if (compReloadable == null) { return(null); } List <Thing> list = ReloadableUtility.FindEnoughAmmo(pawn, pawn.Position, compReloadable, forceReload: false); if (list == null) { return(null); } return(MakeReloadJob(compReloadable, list)); }
public override bool ValidateTarget(LocalTargetInfo target) { if (caster == null) { return(false); } if (!CanHitTarget(target) || !ValidJumpTarget(caster.Map, target.Cell)) { return(false); } if (!ReloadableUtility.CanUseConsideringQueuedJobs(CasterPawn, base.EquipmentSource)) { return(false); } return(true); }