diff --git a/town_cmd.c b/town_cmd.c --- a/town_cmd.c +++ b/town_cmd.c @@ -1442,18 +1442,22 @@ const byte _town_action_costs[8] = { 2, 4, 9, 35, 48, 53, 117, 175 }; -typedef void TownActionProc(Town *t, int action); - -static void TownActionAdvertise(Town *t, int action) +static void TownActionAdvertiseSmall(Town* t) { - static const byte _advertising_amount[3] = {0x40, 0x70, 0xA0}; - static const byte _advertising_radius[3] = {10, 15, 20}; - ModifyStationRatingAround(t->xy, _current_player, - _advertising_amount[action], - _advertising_radius[action]); + ModifyStationRatingAround(t->xy, _current_player, 0x40, 10); } -static void TownActionRoadRebuild(Town *t, int action) +static void TownActionAdvertiseMedium(Town* t) +{ + ModifyStationRatingAround(t->xy, _current_player, 0x70, 15); +} + +static void TownActionAdvertiseLarge(Town* t) +{ + ModifyStationRatingAround(t->xy, _current_player, 0xA0, 20); +} + +static void TownActionRoadRebuild(Town* t) { const Player* p; @@ -1495,7 +1499,7 @@ static bool DoBuildStatueOfCompany(TileI return true; } -static void TownActionBuildStatue(Town *t, int action) +static void TownActionBuildStatue(Town* t) { // Layouted as an outward spiral static const TileIndexDiffC _statue_tiles[] = { @@ -1529,7 +1533,7 @@ static void TownActionBuildStatue(Town * } } -static void TownActionFundBuildings(Town *t, int action) +static void TownActionFundBuildings(Town* t) { // Build next tick t->grow_counter = 1; @@ -1539,7 +1543,7 @@ static void TownActionFundBuildings(Town t->fund_buildings_months = 3; } -static void TownActionBuyRights(Town *t, int action) +static void TownActionBuyRights(Town* t) { t->exclusive_counter = 12; t->exclusivity = _current_player; @@ -1547,7 +1551,7 @@ static void TownActionBuyRights(Town *t, ModifyStationRatingAround(t->xy, _current_player, 130, 17); } -static void TownActionBribe(Town *t, int action) +static void TownActionBribe(Town* t) { if (!RandomRange(15)) { Station *st; @@ -1580,10 +1584,11 @@ static void TownActionBribe(Town *t, int } } +typedef void TownActionProc(Town* t); static TownActionProc * const _town_action_proc[] = { - TownActionAdvertise, - TownActionAdvertise, - TownActionAdvertise, + TownActionAdvertiseSmall, + TownActionAdvertiseMedium, + TownActionAdvertiseLarge, TownActionRoadRebuild, TownActionBuildStatue, TownActionFundBuildings, @@ -1616,7 +1621,7 @@ int32 CmdDoTownAction(TileIndex tile, ui cost = (_price.build_industry >> 8) * _town_action_costs[p2]; if (flags & DC_EXEC) { - _town_action_proc[p2](t, p2); + _town_action_proc[p2](t); InvalidateWindow(WC_TOWN_AUTHORITY, p1); }