diff --git a/train_cmd.c b/train_cmd.c index c871764d1e..81f85e9ae4 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -2630,6 +2630,10 @@ void Train_Tick(Vehicle *v) // make sure vehicle wasn't deleted. if (v->type == VEH_Train && v->subtype == TS_Front_Engine) TrainLocoHandler(v, true); + } else if (v->subtype == TS_Free_Car && HASBITS(v->vehstatus, VS_CRASHED)) { + // Delete flooded standalone wagon + if (++v->u.rail.crash_anim_pos >= 4400) + DeleteVehicle(v); } } diff --git a/water_cmd.c b/water_cmd.c index 2cfa8fa6d8..dfa7bd6cbd 100644 --- a/water_cmd.c +++ b/water_cmd.c @@ -587,7 +587,7 @@ static void FloodVehicle(Vehicle *v) else if (v->type == VEH_Train) { v = GetFirstVehicleInChain(v); u = v; - pass = 4; // driver + if (v->subtype == TS_Front_Engine) pass = 4; // driver // crash all wagons, and count passangers BEGIN_ENUM_WAGONS(v)