Example #1
0
        public override void UpdateAllDuties()
        {
            LordToilData_Travel data = this.Data;

            for (int i = 0; i < this.lord.ownedPawns.Count; i++)
            {
                PawnDuty pawnDuty = new PawnDuty(DutyDefOf.TravelOrLeave, data.dest, -1f);
                pawnDuty.maxDanger = this.maxDanger;
                this.lord.ownedPawns[i].mindState.duty = pawnDuty;
            }
        }
Example #2
0
 public override void LordToilTick()
 {
     if (Find.TickManager.TicksGame % 205 == 0)
     {
         LordToilData_Travel data = this.Data;
         bool flag = true;
         for (int i = 0; i < this.lord.ownedPawns.Count; i++)
         {
             Pawn pawn = this.lord.ownedPawns[i];
             if (!pawn.Position.InHorDistOf(data.dest, this.AllArrivedCheckRadius) || !pawn.CanReach(data.dest, PathEndMode.ClosestTouch, Danger.Deadly, false, TraverseMode.ByPawn))
             {
                 flag = false;
                 break;
             }
         }
         if (flag)
         {
             this.lord.ReceiveMemo("TravelArrived");
         }
     }
 }
 public override void LordToilTick()
 {
     if (Find.TickManager.TicksGame % 205 == 0)
     {
         LordToilData_Travel data = this.Data;
         bool flag = true;
         int  num  = 0;
         while (num < base.lord.ownedPawns.Count)
         {
             Pawn pawn = base.lord.ownedPawns[num];
             if (pawn.Position.InHorDistOf(data.dest, this.AllArrivedCheckRadius) && pawn.CanReach(data.dest, PathEndMode.ClosestTouch, Danger.Deadly, false, TraverseMode.ByPawn))
             {
                 num++;
                 continue;
             }
             flag = false;
             break;
         }
         if (flag)
         {
             base.lord.ReceiveMemo("TravelArrived");
         }
     }
 }
 public LordToil_Travel(IntVec3 dest)
 {
     data      = new LordToilData_Travel();
     Data.dest = dest;
 }