(svn r4227) - Fix: Wagon replace nows checks if the cargo types are the same before seeing if it can refit.

This commit is contained in:
peter1138 2006-04-01 14:53:38 +00:00
parent 9b44cd5dad
commit 98c77c363f

View File

@ -1760,10 +1760,14 @@ static void MaybeReplaceVehicle(Vehicle *v)
continue;
}
if (w->type == VEH_Train && IsTrainWagon(w) && !CanRefitTo(EngineReplacementForPlayer(p, w->engine_type), w->cargo_type)) {
// we can't replace this wagon since we can't refit the new one to the right cargo type
if (w->type == VEH_Train && IsTrainWagon(w)) {
EngineID e = EngineReplacementForPlayer(p, w->engine_type);
if (w->cargo_type != RailVehInfo(e)->cargo_type && !CanRefitTo(e, w->cargo_type)) {
// we can't replace this wagon since the cargo type is incorrent, and we can't refit it
continue;
}
}
/* Now replace the vehicle */
temp_cost = ReplaceVehicle(&w, flags);