(svn r11229) -Fix [FS#1307]: one could sell vehicles that were crashed in a depot, which would still yield money.

This commit is contained in:
rubidium 2007-10-08 20:06:37 +00:00
parent cb6cdf7978
commit b6c9bc80cf
5 changed files with 10 additions and 0 deletions

View File

@ -487,6 +487,8 @@ CommandCost CmdSellAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (v->type != VEH_AIRCRAFT || !CheckOwnership(v->owner)) return CMD_ERROR;
if (!v->IsStoppedInDepot()) return_cmd_error(STR_A01B_AIRCRAFT_MUST_BE_STOPPED);
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
if (flags & DC_EXEC) {

View File

@ -2782,6 +2782,8 @@ STR_NEW_VEHICLE_NOW_AVAILABLE :{BLACK}{BIGFONT
STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT}{ENGINE}
STR_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}New {STRING} now available! - {ENGINE}
STR_CAN_T_SELL_DESTROYED_VEHICLE :{WHITE}Can't sell destroyed vehicle...
STR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Can't timetable vehicle...
STR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Vehicles can only wait at stations.
STR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}This vehicle is not stopping at this station.

View File

@ -359,6 +359,8 @@ CommandCost CmdSellRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (v->type != VEH_ROAD || !CheckOwnership(v->owner)) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
if (!CheckRoadVehInDepotStopped(v)) {

View File

@ -911,6 +911,8 @@ CommandCost CmdSellShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (v->type != VEH_SHIP || !CheckOwnership(v->owner)) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
if (!v->IsStoppedInDepot()) {

View File

@ -1216,6 +1216,8 @@ CommandCost CmdSellRailWagon(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
if (v->type != VEH_TRAIN || !CheckOwnership(v->owner)) return CMD_ERROR;
if (HASBITS(v->vehstatus, VS_CRASHED)) return_cmd_error(STR_CAN_T_SELL_DESTROYED_VEHICLE);
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
while (IsArticulatedPart(v)) v = v->Previous();