diff options
author | peter1138 <peter1138@openttd.org> | 2006-12-08 12:31:34 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-12-08 12:31:34 +0000 |
commit | 9e68c9b87fd1d062f5d0f98b18c69fc73bd3ce9f (patch) | |
tree | 9fd6206f8eed12c780a12f0c23a44475bbbc6af8 | |
parent | a999104645c64741fa461e898e00319c4556cac9 (diff) | |
download | openttd-9e68c9b87fd1d062f5d0f98b18c69fc73bd3ce9f.tar.xz |
(svn r7433) -Fix (r2301): Town ratings were not reset when a company went bankrupt.
-rw-r--r-- | economy.c | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -244,6 +244,7 @@ int UpdateCompanyRatingAndValue(Player *p, bool update) // use PLAYER_SPECTATOR as new_player to delete the player. void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player) { + Town *t; PlayerID old = _current_player; _current_player = old_player; @@ -266,10 +267,9 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player) } /* Take care of rating in towns */ - if (new_player != PLAYER_SPECTATOR) { - Town *t; - FOR_ALL_TOWNS(t) { - /* If a player takes over, give the ratings to that player. */ + FOR_ALL_TOWNS(t) { + /* If a player takes over, give the ratings to that player. */ + if (new_player != PLAYER_SPECTATOR) { if (HASBIT(t->have_ratings, old_player)) { if (HASBIT(t->have_ratings, new_player)) { // use max of the two ratings. @@ -279,10 +279,11 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player) t->ratings[new_player] = t->ratings[old_player]; } } - - t->ratings[old_player] = 500; - CLRBIT(t->have_ratings, old_player); } + + /* Reset the ratings for the old player */ + t->ratings[old_player] = 500; + CLRBIT(t->have_ratings, old_player); } { |