protected override Job TryGiveJob(Pawn pawn) { LocalTargetInfo targetC = MeditationUtility.BestFocusAt(pawn.Position, pawn); Job job = JobMaker.MakeJob(JobDefOf.Meditate, pawn.Position, pawn.InBed() ? ((LocalTargetInfo)pawn.CurrentBed()) : new LocalTargetInfo(pawn.Position), targetC); job.ignoreJoyTimeAssignment = true; return(job); }
protected override Job TryGiveJob(Pawn pawn) { if (!MeditationUtility.CanMeditateNow(pawn)) { return(null); } LocalTargetInfo targetC = (ModsConfig.RoyaltyActive ? MeditationUtility.BestFocusAt(pawn.Position, pawn) : LocalTargetInfo.Invalid); Job job = JobMaker.MakeJob(JobDefOf.Meditate, pawn.Position, pawn.InBed() ? ((LocalTargetInfo)pawn.CurrentBed()) : new LocalTargetInfo(pawn.Position), targetC); job.ignoreJoyTimeAssignment = true; return(job); }