Mercurial > hg > openttd
changeset 15911:6d73a9e19477 draft
(svn r20595) -Fix (r20536)[FS#4068]: Autoreplace needs refitting of wagons in free wagon chains.
author | frosch <frosch@openttd.org> |
---|---|
date | Sun, 22 Aug 2010 19:15:47 +0000 |
parents | e9c3b5b33d92 |
children | 115913c318e0 |
files | src/vehicle_cmd.cpp |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -314,13 +314,15 @@ Vehicle *v = Vehicle::GetIfValid(p1); if (v == NULL) return CMD_ERROR; + /* Don't allow disasters and sparks and such to be refitted. + * We cannot check for IsPrimaryVehicle as autoreplace also refits in free wagon chains. */ + if (!IsCompanyBuildableVehicleType(v->type)) return CMD_ERROR; + Vehicle *front = v->First(); CommandCost ret = CheckOwnership(front->owner); if (ret.Failed()) return ret; - /* Don't allow disasters and sparks and such to be refitted. */ - if (!front->IsPrimaryVehicle()) return CMD_ERROR; /* Don't allow shadows and such to be refitted. */ if (v != front && (v->type == VEH_SHIP || v->type == VEH_AIRCRAFT)) return CMD_ERROR; if (!front->IsStoppedInDepot()) return_cmd_error(STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT + front->type);