water_cmd.c
changeset 3372 f6afa98d5219
parent 3338 7cff208f0446
child 3373 2838aadd3a28
equal deleted inserted replaced
3371:5a2cb797a74c 3372:f6afa98d5219
    88 	if (flags & DC_EXEC) {
    88 	if (flags & DC_EXEC) {
    89 		depot->xy = tile;
    89 		depot->xy = tile;
    90 		_last_built_ship_depot_tile = tile;
    90 		_last_built_ship_depot_tile = tile;
    91 		depot->town_index = ClosestTownFromTile(tile, (uint)-1)->index;
    91 		depot->town_index = ClosestTownFromTile(tile, (uint)-1)->index;
    92 
    92 
    93 		ModifyTile(tile,
    93 		MakeShipDepot(tile,_current_player, DEPOT_NORTH, p1);
    94 			MP_SETTYPE(MP_WATER) | MP_MAPOWNER_CURRENT | MP_MAP5 | MP_MAP2_CLEAR | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR,
    94 		MakeShipDepot(tile2,_current_player, DEPOT_SOUTH, p1);
    95 			(0x80 + p1*2)
    95 		MarkTileDirtyByTile(tile);
    96 		);
    96 		MarkTileDirtyByTile(tile2);
    97 
       
    98 		ModifyTile(tile2,
       
    99 			MP_SETTYPE(MP_WATER) | MP_MAPOWNER_CURRENT | MP_MAP5 | MP_MAP2_CLEAR | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR,
       
   100 			(0x81 + p1*2)
       
   101 		);
       
   102 	}
    97 	}
   103 
    98 
   104 	return cost + _price.build_ship_depot;
    99 	return cost + _price.build_ship_depot;
   105 }
   100 }
   106 
   101 
   148 	ret = DoCommandByTile(tile + delta, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
   143 	ret = DoCommandByTile(tile + delta, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
   149 	if (CmdFailed(ret)) return CMD_ERROR;
   144 	if (CmdFailed(ret)) return CMD_ERROR;
   150 	if (GetTileSlope(tile + delta, NULL)) return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
   145 	if (GetTileSlope(tile + delta, NULL)) return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
   151 
   146 
   152 	if (flags & DC_EXEC) {
   147 	if (flags & DC_EXEC) {
   153 		ModifyTile(tile, MP_SETTYPE(MP_WATER) | MP_MAPOWNER | MP_MAP5 | MP_MAP2_CLEAR | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR, OWNER_WATER, 0x10 + dir);
   148 		MakeLock(tile, dir);
   154 		ModifyTile(tile - delta, MP_SETTYPE(MP_WATER) | MP_MAPOWNER | MP_MAP5 | MP_MAP2_CLEAR | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR, OWNER_WATER, 0x14 + dir);
   149 		MarkTileDirtyByTile(tile);
   155 		ModifyTile(tile + delta, MP_SETTYPE(MP_WATER) | MP_MAPOWNER | MP_MAP5 | MP_MAP2_CLEAR | MP_MAP3LO_CLEAR | MP_MAP3HI_CLEAR, OWNER_WATER, 0x18 + dir);
   150 		MarkTileDirtyByTile(tile - delta);
       
   151 		MarkTileDirtyByTile(tile + delta);
   156 	}
   152 	}
   157 
   153 
   158 	return _price.clear_water * 22 >> 3;
   154 	return _price.clear_water * 22 >> 3;
   159 }
   155 }
   160 
   156