anchor.diff:          end;
       4:  begin
             SetActionLockedStay(11,uaWork1,false);
  -          gTerrain.FlattenTerrain(CellsToDig[LastToDig]);
  +          gTerrain.FlattenTerrain(fCellsToDig[fLastToDig]);
           end;
       5:  begin
             SetActionLockedStay(11,uaWork1,false);
  -          gTerrain.FlattenTerrain(CellsToDig[LastToDig]);
  +          gTerrain.FlattenTerrain(fCellsToDig[fLastToDig]);
           end;
       6:  begin
             SetActionLockedStay(11,uaWork1,false);
  -          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.Entrance, CellsToDig[LastToDig]) then
  +          gTerrain.FlattenTerrain(fCellsToDig[fLastToDig]);
  +          gTerrain.FlattenTerrain(fCellsToDig[fLastToDig]); //Flatten the terrain twice now to ensure it really is flat
  +          gTerrain.SetTileLock(fCellsToDig[fLastToDig], tlDigged); //Block passability on tile
  +          if KMSamePoint(fHouse.Entrance, fCellsToDig[fLastToDig]) then
               gTerrain.SetRoad(fHouse.Entrance, Owner);
  -          gTerrain.RemoveObject(CellsToDig[LastToDig]); //All objects are removed
  -          Dec(LastToDig);
  +          gTerrain.RemoveObject(fCellsToDig[fLastToDig]); //All objects are removed
  +          Dec(fLastToDig);
           end;
       7:  begin
             //Walk away from building site, before we get trapped when house becomes stoned
  
positive.code: function TKMTaskBuildField.WalkShouldAbandon: Boolean;
  begin
    //Walk should abandon if other player has built something there before we arrived
    Result := (BuildID <> -1) and not gTerrain.CanAddField(fLoc.X, fLoc.Y, ftCorn);
  end;
  
  
  procedure TKMTaskBuildField.CancelThePlan;
  begin
    gHands[fUnit.Owner].Constructions.FieldworksList.CloseField(BuildID); //Close the job now because it can no longer be cancelled
    BuildID := -1;
  end;
  
  
  
negative.code: 
    fType := uttBuildRoad;
    fLoc      := aLoc;
    fBuildID   := aID;
    fDemandSet := False;
    fTileLockSet := False;
  end;
  
  
  