Index: src/settings.cpp =================================================================== --- src/settings.cpp (revision 10290) +++ src/settings.cpp (working copy) @@ -1420,6 +1420,7 @@ SDT_BOOL(Patches, multiple_industry_per_town, 0, 0, false, STR_CONFIG_PATCHES_MULTIPINDTOWN, NULL), SDT_BOOL(Patches, same_industry_close, 0, 0, false, STR_CONFIG_PATCHES_SAMEINDCLOSE, NULL), SDT_BOOL(Patches, bribe, 0, 0, true, STR_CONFIG_PATCHES_BRIBE, NULL), + SDT_BOOL(Patches, forbid_exclusive_rights, 0, 0, false, STR_CONFIG_PATCHES_FORBID_EXCLUSIVE, NULL), SDT_VAR(Patches, snow_line_height,SLE_UINT8, 0, 0, 7, 2, 13, 0, STR_CONFIG_PATCHES_SNOWLINE_HEIGHT, NULL), SDT_VAR(Patches, colored_news_year,SLE_INT32, 0,NC, 2000, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_COLORED_NEWS_YEAR,NULL), SDT_VAR(Patches, starting_year, SLE_INT32, 0,NC, 1950, MIN_YEAR, MAX_YEAR, 1, STR_CONFIG_PATCHES_STARTING_YEAR,NULL), Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revision 10290) +++ src/lang/english.txt (working copy) @@ -1044,6 +1044,7 @@ STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}Road vehicle queueing (with quantum effects): {ORANGE}{STRING1} STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}Pan window when mouse is at the edge: {ORANGE}{STRING1} STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Allow bribing of the local authority: {ORANGE}{STRING1} +STR_CONFIG_PATCHES_FORBID_EXCLUSIVE :{LTBLUE}Disallow buying exclusive transport rights: {ORANGE}{STRING1} STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nonuniform stations: {ORANGE}{STRING1} STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}New global pathfinding (NPF, overrides NTP): {ORANGE}{STRING1} STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Weight multiplier for freight to simulate heavy trains: {ORANGE}{STRING} Index: src/lang/czech.txt =================================================================== --- src/lang/czech.txt (revision 10290) +++ src/lang/czech.txt (working copy) @@ -1102,6 +1102,7 @@ STR_CONFIG_PATCHES_ROADVEH_QUEUE :{LTBLUE}Silniční vozidla stojí fronty (s kvantovým efektem): {ORANGE}{STRING} STR_CONFIG_PATCHES_AUTOSCROLL :{LTBLUE}Posouvat okno, když je kurzor na okraji: {ORANGE}{STRING} STR_CONFIG_PATCHES_BRIBE :{LTBLUE}Povolit úplatek místní správě: {ORANGE}{STRING} +STR_CONFIG_PATCHES_FORBID_EXCLUSIVE :{LTBLUE}Zakázat kupování výhradních práv k přepravě: {ORANGE}{STRING1} STR_CONFIG_PATCHES_NONUNIFORM_STATIONS :{LTBLUE}Nejednolité stanice: {ORANGE}{STRING} STR_CONFIG_PATCHES_NEW_PATHFINDING_ALL :{LTBLUE}Nový globální algoritmus hledání cesty (NPF, nahradí NTP): {ORANGE}{STRING} STR_CONFIG_PATCHES_FREIGHT_TRAINS :{LTBLUE}Pro simulaci těžkých vlaků vynásobit hmotnost nákladu: {ORANGE}{STRING}x Index: src/settings_gui.cpp =================================================================== --- src/settings_gui.cpp (revision 10290) +++ src/settings_gui.cpp (working copy) @@ -689,6 +689,7 @@ "multiple_industry_per_town", "same_industry_close", "bribe", + "forbid_exclusive_rights", "colored_news_year", "ending_year", "smooth_economy", Index: src/town_gui.cpp =================================================================== --- src/town_gui.cpp (revision 10290) +++ src/town_gui.cpp (working copy) @@ -71,11 +71,17 @@ } /* Disable build statue if already built */ - if (HASBIT(t->statues, pid)) { + if (HASBIT(t->statues, pid) && HASBIT(buttons, 4)) { CLRBIT(buttons, 4); num--; } + /* Exclusive right are forbidden? */ + if (_patches.forbid_exclusive_rights && HASBIT(buttons, 6)) { + CLRBIT(buttons, 6); // Disallow exclusive rights + num--; + } + } if (nump != NULL) *nump = num; Index: src/variables.h =================================================================== --- src/variables.h (revision 10290) +++ src/variables.h (working copy) @@ -239,6 +239,8 @@ bool timetabling; ///< Whether to allow timetabling. bool timetable_in_ticks; ///< Whether to show the timetable in ticks rather than days. + + bool forbid_exclusive_rights; // forbid buying exclusive rights }; VARDEF Patches _patches;