Mercurial > hg > openttd
changeset 13995:bc8b836e1fb9 draft
(svn r18537) -Fix (r17436): Also do not account cargo in statistics, if it was not accepted.
author | frosch <frosch@openttd.org> |
---|---|
date | Sat, 19 Dec 2009 15:51:55 +0000 |
parents | 486560a72171 |
children | 3f141ce0d4ec |
files | src/economy.cpp |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/economy.cpp +++ b/src/economy.cpp @@ -929,23 +929,23 @@ { assert(num_pieces > 0); - /* Update company statistics */ - company->cur_economy.delivered_cargo += num_pieces; - SetBit(company->cargo_types, cargo_type); - const Station *st = Station::Get(dest); - /* Increase town's counter for some special goods types */ - const CargoSpec *cs = CargoSpec::Get(cargo_type); - if (cs->town_effect == TE_FOOD) st->town->new_act_food += num_pieces; - if (cs->town_effect == TE_WATER) st->town->new_act_water += num_pieces; - /* Give the goods to the industry. */ uint accepted = DeliverGoodsToIndustry(st, cargo_type, num_pieces, src_type == ST_INDUSTRY ? src : INVALID_INDUSTRY); /* If this cargo type is always accepted, accept all */ if (HasBit(st->always_accepted, cargo_type)) accepted = num_pieces; + /* Update company statistics */ + company->cur_economy.delivered_cargo += accepted; + if (accepted > 0) SetBit(company->cargo_types, cargo_type); + + /* Increase town's counter for some special goods types */ + const CargoSpec *cs = CargoSpec::Get(cargo_type); + if (cs->town_effect == TE_FOOD) st->town->new_act_food += accepted; + if (cs->town_effect == TE_WATER) st->town->new_act_water += accepted; + /* Determine profit */ Money profit = GetTransportedGoodsIncome(accepted, DistanceManhattan(source_tile, st->xy), days_in_transit, cargo_type);