equal
deleted
inserted
replaced
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 |