From 39ebb55b9b7898aea53c90d3cbb44fff8efec52d Mon Sep 17 00:00:00 2001 From: Darkvater Date: Tue, 2 May 2006 12:17:16 +0000 Subject: [PATCH] (svn r4659) - Backport from trunk (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 4049529c0e..70f12cecce 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1634,7 +1634,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; } }