public override void UpdateAllDuties() { foreach (var pawn in lord.ownedPawns.Where(pawn => pawn.mindState.duty == null)) { if (mounts.ContainsKey(pawn)) { pawn.mindState.duty = new PawnDuty(DutyDefOf.WanderClose, (LocalTargetInfo)pawn); if (pawn.jobs == null) { pawn.jobs = new Pawn_JobTracker(pawn); } GiddyUpUtil.Mount(pawn, mounts[pawn]); } else { pawn.mindState.duty = new PawnDuty(DutyDefOf.Defend, pawn.Position) { radius = 28f }; } } }
public override void UpdateAllDuties() { foreach (Pawn pawn in lord.ownedPawns) { if (mounts.ContainsKey(pawn)) { pawn.mindState.duty = new PawnDuty(DutyDefOf.WanderClose, pawn); if (pawn.jobs == null) { pawn.jobs = new Pawn_JobTracker(pawn); } GiddyUpUtil.Mount(pawn, mounts[pawn]); } else { pawn.mindState.duty = new PawnDuty(DutyDefOf.Defend, pawn.Position, -1f) { focusSecond = pawn.Position, radius = (pawn.kindDef.defendPointRadius >= 0f) ? pawn.kindDef.defendPointRadius : 28f }; } } }