Esempio n. 1
0
 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
             };
         }
     }
 }