anchor.diff:          end;
       4:  begin
             SetActionLockedStay(11,ua_Work1,false);
  -          gTerrain.FlattenTerrain(Cells[Step]);
  +          gTerrain.FlattenTerrain(CellsToDig[LastToDig]);
           end;
       5:  begin
             SetActionLockedStay(11,ua_Work1,false);
  -          gTerrain.FlattenTerrain(Cells[Step]);
  +          gTerrain.FlattenTerrain(CellsToDig[LastToDig]);
           end;
       6:  begin
             SetActionLockedStay(11,ua_Work1,false);
  -          gTerrain.FlattenTerrain(Cells[Step]);
  -          gTerrain.FlattenTerrain(Cells[Step]); //Flatten the terrain twice now to ensure it really is flat
  -          gTerrain.SetTileLock(Cells[Step], tlDigged); //Block passability on tile
  -          if KMSamePoint(fHouse.GetEntrance, Cells[Step]) then
  +          gTerrain.FlattenTerrain(CellsToDig[LastToDig]);
  +          gTerrain.FlattenTerrain(CellsToDig[LastToDig]); //Flatten the terrain twice now to ensure it really is flat
  +          gTerrain.SetTileLock(CellsToDig[LastToDig], tlDigged); //Block passability on tile
  +          if KMSamePoint(fHouse.GetEntrance, CellsToDig[LastToDig]) then
               gTerrain.SetField(fHouse.GetEntrance, Owner, ft_Road);
  -          gTerrain.RemoveObject(Cells[Step]); //All objects are removed
  -          dec(Step);
  +          gTerrain.RemoveObject(CellsToDig[LastToDig]); //All objects are removed
  +          Dec(LastToDig);
           end;
       7:  begin
             //Walk away from building site, before we get trapped when house becomes stoned
  
positive.code:     BuildID: Integer;
      HouseNeedsWorker: Boolean;
      HouseReadyToBuild: Boolean;
      Step: Byte;
      Cells: array[1..4*4]of TKMPoint;
      function GetHouseEntranceLoc: TKMPoint;
    public
      constructor Create(aWorker: TKMUnitWorker; aHouseType: THouseType; aLoc: TKMPoint; aID:integer);
  
negative.code:   SaveStream.Write(BuildID);
    SaveStream.Write(HouseNeedsWorker);
    SaveStream.Write(HouseReadyToBuild);
    SaveStream.Write(LastToDig);
    SaveStream.Write(CellsToDig, SizeOf(CellsToDig));
  end;
  
  
  