anchor.diff:    LoadStream.Read(fOrderTargetUnit, 4); //subst on syncload
     LoadStream.Read(fPointerCount);
     LoadStream.Read(fTicker);
  +  LoadStream.Read(fTargetFollowTicker);
     LoadStream.Read(fTimeSinceHungryReminder);
     LoadStream.Read(fUnitsPerRow);
     LoadStream.Read(fDisableHungerMessage);
  
positive.code:     SaveStream.Write(Integer(0));
    SaveStream.Write(fPointerCount);
    SaveStream.Write(fTicker);
    SaveStream.Write(fTimeSinceHungryReminder);
    SaveStream.Write(fUnitsPerRow);
    SaveStream.Write(fDisableHungerMessage);
  
negative.code:                         begin
                            //See if target is escaping
                            if not KMSamePoint(OrderTargetUnit.NextPosition, fOrderLoc.Loc) then
                            begin
                              Inc(fTargetFollowTicker);
                              //It's wasteful to run pathfinding to correct route every step of the way, so if the target unit
                              //is within 4 tiles, update every step. Within 8, every 2 steps, 12, every 3 steps, etc.
                              if fTargetFollowTicker mod Max((Round(KMLengthDiag(GetPosition, OrderTargetUnit.GetPosition)) div 4), 1) = 0 then
                                OrderAttackUnit(fOrderTargetUnit, False);
                            end;
  
                            for I := 0 to Count - 1 do
                              if Members[I].IsIdle then
  