From e30256692fcea969ef6e0930ba4e5075a9f8c86b Mon Sep 17 00:00:00 2001 From: truebrain Date: Wed, 23 Nov 2011 16:10:18 +0000 Subject: [PATCH] (svn r23303) -Add: economy.fund_buildings, to disallow funding buildings --- src/lang/english.txt | 1 + src/settings_type.h | 1 + src/table/settings.ini | 8 ++++++++ src/town_cmd.cpp | 6 ++++++ 4 files changed, 16 insertions(+) diff --git a/src/lang/english.txt b/src/lang/english.txt index 144c75ad4e..dee24733bc 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1142,6 +1142,7 @@ STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING :{LTBLUE}Road ve STR_CONFIG_SETTING_AUTOSCROLL :{LTBLUE}Pan window when mouse is at the edge: {ORANGE}{STRING1} STR_CONFIG_SETTING_BRIBE :{LTBLUE}Allow bribing of the local authority: {ORANGE}{STRING1} STR_CONFIG_SETTING_ALLOW_EXCLUSIVE :{LTBLUE}Allow buying exclusive transport rights: {ORANGE}{STRING1} +STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS :{LTBLUE}Allow funding buildings: {ORANGE}{STRING1} STR_CONFIG_SETTING_ALLOW_FUND_ROAD :{LTBLUE}Allow funding local road reconstruction: {ORANGE}{STRING1} STR_CONFIG_SETTING_ALLOW_GIVE_MONEY :{LTBLUE}Allow sending money to other companies: {ORANGE}{STRING1} STR_CONFIG_SETTING_FREIGHT_TRAINS :{LTBLUE}Weight multiplier for freight to simulate heavy trains: {ORANGE}{STRING} diff --git a/src/settings_type.h b/src/settings_type.h index 12063f10c2..9fe5502404 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -395,6 +395,7 @@ struct EconomySettings { uint8 feeder_payment_share; ///< percentage of leg payment to virtually pay in feeder systems byte dist_local_authority; ///< distance for town local authority, default 20 bool exclusive_rights; ///< allow buying exclusive rights + bool fund_buildings; ///< allow funding new buildings bool fund_roads; ///< allow funding local road reconstruction bool give_money; ///< allow giving other companies money bool mod_road_rebuild; ///< roadworks remove unneccesary RoadBits diff --git a/src/table/settings.ini b/src/table/settings.ini index f519db6153..c19f718e25 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -1006,6 +1006,14 @@ def = true str = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE proc = RedrawTownAuthority +[SDT_BOOL] +base = GameSettings +var = economy.fund_buildings +from = 165 +def = true +str = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS +proc = RedrawTownAuthority + [SDT_BOOL] base = GameSettings var = economy.fund_roads diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 7c67d064e4..e303a25154 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2578,6 +2578,9 @@ static CommandCost TownActionBuildStatue(Town *t, DoCommandFlag flags) static CommandCost TownActionFundBuildings(Town *t, DoCommandFlag flags) { + /* Check if it's allowed to buy the rights */ + if (!_settings_game.economy.fund_buildings) return CMD_ERROR; + if (flags & DC_EXEC) { /* Build next tick */ t->grow_counter = 1; @@ -2680,6 +2683,9 @@ uint GetMaskOfTownActions(int *nump, CompanyID cid, const Town *t) /* Is the company not able to buy exclusive rights ? */ if (cur == TACT_BUY_RIGHTS && !_settings_game.economy.exclusive_rights) continue; + /* Is the company not able to fund buildings ? */ + if (cur == TACT_FUND_BUILDINGS && !_settings_game.economy.fund_buildings) continue; + /* Is the company not able to fund local road reconstruction? */ if (cur == TACT_ROAD_REBUILD && !_settings_game.economy.fund_roads) continue;