From 34a6445e77095638654c1d5d3f3a98fa6a7c6046 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Fri, 9 Oct 2020 01:00:26 +0100 Subject: [PATCH] TBTR: Use virtual train head in CmdReplaceTemplateVehicle Check that train is virtual --- src/vehicle_cmd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index d6916c6403..7bf426ae0f 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -1150,8 +1150,12 @@ CommandCost CmdReplaceTemplateVehicle(TileIndex tile, DoCommandFlag flags, uint3 CommandCost ret = CheckOwnership(vehicle->owner); if (ret.Failed()) return ret; - Train* train = Train::From(vehicle); + vehicle = vehicle->First(); + Train* train = Train::From(vehicle); + if (!train->IsVirtual()) { + return CMD_ERROR; + } if (!TemplateVehicle::CanAllocateItem(CountVehiclesInChain(train))) { return CMD_ERROR; }