(svn r1725) - Fix: now trains can only be built in depots and you have to own the depot too (hacked client protection)

This commit is contained in:
bjarni 2005-01-29 23:58:07 +00:00
parent dae4b50e1c
commit 001cdf0ba2

View File

@ -524,15 +524,20 @@ int32 CmdBuildRailVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2)
Vehicle *v, *u; Vehicle *v, *u;
byte unit_num; byte unit_num;
Engine *e; Engine *e;
uint tile; uint tile = TILE_FROM_XY(x,y);
if (!IsEngineBuildable(p1, VEH_Train)) return CMD_ERROR; if (!IsEngineBuildable(p1, VEH_Train)) return CMD_ERROR;
/* NOTE: The AI sends build engine commands without DC_EXEC to figure out if
it can affort an engine before trying to buy it*/
if (!IsTrainDepotTile((TileIndex)tile) && flags & DC_EXEC) return CMD_ERROR;
if (_map_owner[tile] != _current_player && flags & DC_EXEC) return CMD_ERROR;
_cmd_build_rail_veh_var1 = 0; _cmd_build_rail_veh_var1 = 0;
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES); SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
tile = TILE_FROM_XY(x,y);
rvi = RailVehInfo(p1); rvi = RailVehInfo(p1);
if (rvi->flags & RVI_WAGON) { if (rvi->flags & RVI_WAGON) {