Fix #14588: Show error when unable to clone partly-cleared crashed train (#14591)

This commit is contained in:
Tyler Trahan
2025-09-15 19:05:35 -04:00
committed by dP
parent d3f0c65c76
commit 302872d88a

View File

@@ -849,7 +849,8 @@ std::tuple<CommandCost, VehicleID> CmdCloneVehicle(DoCommandFlags flags, TileInd
CommandCost ret = CheckOwnership(v->owner);
if (ret.Failed()) return { ret, VehicleID::Invalid() };
if (v->type == VEH_TRAIN && (!v->IsFrontEngine() || Train::From(v)->crash_anim_pos >= 4400)) return { CMD_ERROR, VehicleID::Invalid() };
/* Crashed trains can only be cloned before cleanup begins. */
if (v->type == VEH_TRAIN && (!v->IsFrontEngine() || Train::From(v)->crash_anim_pos >= 4400)) return { CommandCost(STR_ERROR_VEHICLE_IS_DESTROYED), VehicleID::Invalid() };
/* check that we can allocate enough vehicles */
if (!flags.Test(DoCommandFlag::Execute)) {