mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r20595) -Fix (r20536)[FS#4068]: Autoreplace needs refitting of wagons in free wagon chains.
This commit is contained in:
parent
cdadc58b66
commit
4b0fa883f1
|
@ -314,13 +314,15 @@ CommandCost CmdRefitVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
|
|||
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);
|
||||
|
|
Loading…
Reference in New Issue