anchor.diff:  procedure TTerrain.UnitAdd(LocTo:TKMPoint);
   begin
     if not DO_UNIT_INTERACTION then exit;
  -//  if not TileInMapCoords(LocTo.Y,LocTo.X) then
  -//    break;
     inc(Land[LocTo.Y,LocTo.X].IsUnit);
   end;
   
  
positive.code:       if KMSamePoint(L1.List[i],Loc2) then Loc2IsOk := true; //Make sure unit that pushed us is a valid tile
        TempUnit := fPlayers.UnitsHitTest(L1.List[i].X, L1.List[i].Y);
        if TempUnit <> nil then
          if ((TempUnit.GetUnitAction is TUnitActionStay) and (TempUnit.GetUnitActionType = ua_Walk) and (not TUnitActionStay(TempUnit.GetUnitAction).Locked) then
            L3.AddEntry(L1.List[i]);
      end;
  
  
negative.code: {Mark previous tile as empty and next one as occupied}
  procedure TTerrain.UnitWalk(LocFrom,LocTo:TKMPoint);
  begin
    if not DO_UNIT_INTERACTION then exit;
    dec(Land[LocFrom.Y,LocFrom.X].IsUnit);
    inc(Land[LocTo.Y,LocTo.X].IsUnit);
  