From 089969e1cac6ebfb8ac14d692d2bfcd09f21ea6a Mon Sep 17 00:00:00 2001 From: bjarni Date: Sat, 23 Feb 2008 22:01:55 +0000 Subject: (svn r12230) -Codechange: [autoreplace] made a function to detect if a vehicle needs autorenewing This will remove duplicated code and ensure that the check is consistent --- src/autoreplace_cmd.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/autoreplace_cmd.cpp') diff --git a/src/autoreplace_cmd.cpp b/src/autoreplace_cmd.cpp index 57083e1ab..90ff7fafe 100644 --- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -25,6 +25,16 @@ #include "table/strings.h" +bool Vehicle::NeedsAutorenewing(const Player *p) const +{ + assert(p == GetPlayer(this->owner)); + + if (!p->engine_renew) return false; + if (this->age - this->max_age < (p->engine_renew_months * 30)) return false; + + return true; +} + /* * move the cargo from one engine to another if possible */ @@ -342,8 +352,7 @@ CommandCost MaybeReplaceVehicle(Vehicle *v, bool check, bool display_costs) } // check if the vehicle should be replaced - if (!p->engine_renew || - w->age - w->max_age < (p->engine_renew_months * 30) || // replace if engine is too old + if (!w->NeedsAutorenewing(p) || // replace if engine is too old w->max_age == 0) { // rail cars got a max age of 0 /* If the vehicle belongs to a group, check if the group is protected from the global autoreplace. If not, chek if an global auto remplacement is defined */ -- cgit v1.2.3-54-g00ecf