Mercurial > hg > openttd
changeset 2829:29c943af24b3 draft
(svn r3377) -Fix: [ FS#24 ] Min. profit in detail performance rating gave you full points if you had no vehicles, and was limited to 20k. Solved both. (Partly based on Graphite his patch)
author | truelight <truelight@openttd.org> |
---|---|
date | Fri, 06 Jan 2006 22:16:17 +0000 |
parents | e12c87420dcd |
children | c24013761c37 |
files | economy.c |
diffstat | 1 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/economy.c +++ b/economy.c @@ -124,25 +124,31 @@ /* Count vehicles */ { Vehicle *v; - int32 min_profit = _score_info[SCORE_MIN_PROFIT].needed; + int32 min_profit = 0; + bool min_profit_first = true; uint num = 0; FOR_ALL_VEHICLES(v) { if (v->owner != owner) continue; if ((v->type == VEH_Train && IsFrontEngine(v)) || - v->type == VEH_Road || - (v->type == VEH_Aircraft && v->subtype<=2) || - v->type == VEH_Ship) { + v->type == VEH_Road || + (v->type == VEH_Aircraft && v->subtype <= 2) || + v->type == VEH_Ship) { num++; if (v->age > 730) { - if (min_profit > v->profit_last_year) + /* Find the vehicle with the lowest amount of profit */ + if (min_profit_first == true) { + min_profit = v->profit_last_year; + min_profit_first = false; + } else if (min_profit > v->profit_last_year) min_profit = v->profit_last_year; } } } _score_part[owner][SCORE_VEHICLES] = num; + /* Don't allow negative min_profit to show */ if (min_profit > 0) _score_part[owner][SCORE_MIN_PROFIT] = min_profit; }