anchor.diff:    for I := fWorkersCount - 1 downto 0 do
       if fWorkers[I].Worker.IsDeadOrDying then
         RemWorker(I);
  -end;
  -
  -
  -//Remove died Worker from the List
  -procedure TKMRepairList.RemWorker(aIndex: Integer);
  -begin
  -  fPlayers.CleanUpUnitPointer(TKMUnit(fWorkers[aIndex].Worker));
  -
  -  if aIndex <> fWorkersCount - 1 then
  -    Move(fWorkers[aIndex+1], fWorkers[aIndex], SizeOf(fWorkers[aIndex]));
  -
  -  Dec(fWorkersCount);
   end;
   
   
  
positive.code:   fPlayers.CleanUpHousePointer(fHouses[aIndex].House);
  
    if aIndex <> fHousesCount - 1 then
      Move(fHouses[aIndex+1], fHouses[aIndex], SizeOf(fHouses[aIndex]));
  
    Dec(fHousesCount);
  end;
  
  
  
negative.code:     end;
  
      function HouseAlreadyInList(aHouse: TKMHouse): Boolean;
      procedure RemHouse(aIndex: Integer);
      procedure RemWorker(aIndex: Integer);
      procedure RemoveExtraHouses;
      procedure RemoveExtraWorkers;
    public
      destructor Destroy; override;
  
  