From 1fe0a3241fac7f891aa9821c6378f705072ca81e Mon Sep 17 00:00:00 2001 From: bjarni Date: Wed, 29 Mar 2006 20:41:15 +0000 Subject: [PATCH] (svn r4158) -Fix: [autoreplace] cost for refitting the new vehicle is now added to the cost animation. The player always paid for it, but it was not displayed until now --- vehicle.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vehicle.c b/vehicle.c index 0183d04c77..35c0db24c1 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1638,7 +1638,11 @@ static int32 ReplaceVehicle(Vehicle **w, byte flags) /* refit if needed */ if (new_v->type != VEH_Road) { // road vehicles can't be refitted if (old_v->cargo_type != new_v->cargo_type && old_v->cargo_cap != 0 && new_v->cargo_cap != 0) {// some train engines do not have cargo capacity - DoCommand(0, 0, new_v->index, old_v->cargo_type, DC_EXEC, CMD_REFIT_VEH(new_v->type)); + // we add the refit cost to cost, so it's added to the cost animation + // it's not in the calculation of having enough money to actually do the replace since it's rather hard to do by design, but since + // we pay for it, it's nice to make the cost animation include it + int32 temp_cost = DoCommand(0, 0, new_v->index, old_v->cargo_type, DC_EXEC, CMD_REFIT_VEH(new_v->type)); + if (!CmdFailed(temp_cost)) cost += temp_cost; } }