diff -ur freeciv.orig/ai/advdomestic.c freeciv/ai/advdomestic.c --- freeciv.orig/ai/advdomestic.c Thu Jan 6 12:50:00 2000 +++ freeciv/ai/advdomestic.c Sat Feb 5 23:21:15 2000 @@ -268,7 +268,8 @@ /* rationale: If cost is N and benefit is N gold per MORT turns, want is TRADE_WEIGHTING * 100 / MORT. This is comparable, thus the same weight -- Syela */ - if (could_build_improvement(pcity, B_CATHEDRAL) && !built_elsewhere(pcity, B_MICHELANGELO)) + if (could_build_improvement(pcity, B_CATHEDRAL) && + (improvement_variant(B_MICHELANGELO)==1 || !built_elsewhere(pcity, B_MICHELANGELO))) values[B_CATHEDRAL] = building_value(get_cathedral_power(pcity), pcity, val); else if (tech_exists(game.rtech.cathedral_plus) && get_invention(pplayer, game.rtech.cathedral_plus) != TECH_KNOWN) @@ -449,8 +450,12 @@ values[i] = building_value(2, pcity, val); if (i == B_RICHARDS) /* ignoring pollu, I don't think it matters here -- Syela */ values[i] = (pcity->size + 1) * SHIELD_WEIGHTING; - if (i == B_MICHELANGELO && !city_got_building(pcity, B_CATHEDRAL)) - values[i] = building_value(get_cathedral_power(pcity), pcity, val); + if (i == B_MICHELANGELO) { + if (improvement_variant(B_MICHELANGELO)==0 && !city_got_building(pcity, B_CATHEDRAL)) + values[i] = building_value(get_cathedral_power(pcity), pcity, val); + if (improvement_variant(B_MICHELANGELO)==1) + values[i] = building_value(get_cathedral_power(pcity), pcity, val); + } /* The following is probably wrong if B_ORACLE req is not the same as game.rtech.temple_plus (was A_MYSTICISM) diff -ur freeciv.orig/client/helpdata.c freeciv/client/helpdata.c --- freeciv.orig/client/helpdata.c Thu Jan 6 12:50:04 2000 +++ freeciv/client/helpdata.c Sat Feb 5 23:01:52 2000 @@ -609,6 +609,7 @@ sprintf(buf+strlen(buf), "%s ", _(imp->helptext)); } if(which==B_MICHELANGELO) { + if (improvement_variant(B_MICHELANGELO)==0) helptext_cathedral_techs(buf+strlen(buf)); } if (strcmp(user_text, "")!=0) { diff -ur freeciv.orig/common/city.c freeciv/common/city.c --- freeciv.orig/common/city.c Sun Jan 23 12:51:00 2000 +++ freeciv/common/city.c Wed Feb 2 19:17:11 2000 @@ -140,7 +140,8 @@ return 1; break; case B_CATHEDRAL: - if (city_affected_by_wonder(pcity, B_MICHELANGELO)) + if (improvement_variant(B_MICHELANGELO)==0 + && city_affected_by_wonder(pcity, B_MICHELANGELO)) return 1; break; case B_CITY: diff -ur freeciv.orig/data/civ1/buildings.ruleset freeciv/data/civ1/buildings.ruleset --- freeciv.orig/data/civ1/buildings.ruleset Sat Oct 30 12:46:36 1999 +++ freeciv/data/civ1/buildings.ruleset Sat Feb 5 22:45:57 2000 @@ -830,12 +830,14 @@ is_wonder = 1 build_cost = 300 upkeep = 0 -variant = 0 +variant = 1 helptext = _("\ -Counts as having a Cathedral in each of your cities. \ - This makes 3 unhappy citizens content in each city.\ +Double effects of Cathedrals.\ ") ; auto-help tech +; Variant 0: Counts as having a Cathedral in each of your cities. +; This makes 3 unhappy citizens content in each city. + [building_oracle] name = _("Oracle") diff -ur freeciv.orig/data/civ2/buildings.ruleset freeciv/data/civ2/buildings.ruleset --- freeciv.orig/data/civ2/buildings.ruleset Tue Nov 16 12:47:37 1999 +++ freeciv/data/civ2/buildings.ruleset Sat Feb 5 22:46:07 2000 @@ -895,6 +895,7 @@ This makes 3 unhappy citizens content in each city.\ ") ; auto-help tech +; Variant 1: Double effects of Cathedrals. [building_oracle] name = _("Oracle") diff -ur freeciv.orig/data/default/buildings.ruleset freeciv/data/default/buildings.ruleset --- freeciv.orig/data/default/buildings.ruleset Tue Nov 16 12:47:38 1999 +++ freeciv/data/default/buildings.ruleset Sat Feb 5 22:46:15 2000 @@ -895,6 +895,7 @@ This makes 3 unhappy citizens content in each city.\ ") ; auto-help tech +; Variant 1: Double effects of Cathedrals. [building_oracle] name = _("Oracle") diff -ur freeciv.orig/helpdata.txt freeciv/helpdata.txt --- freeciv.orig/helpdata.txt Thu Jan 27 12:51:28 2000 +++ freeciv/helpdata.txt Sat Feb 5 23:06:46 2000 @@ -1234,7 +1234,8 @@ for Cancer, Shakespeare's Theatre, and, of course, the Women's \ Suffrage; note, however, that the Michelangelo's Chapel will not \ have an effect in this case, since it counts as a Cathedral in every \ -city), or converting part of your trade into luxuries.\ +city or double effects of Cathedrals, depending on ruleset), or \ +converting part of your trade into luxuries.\ ") ;For more details check city_refresh() in server/cityturn.c diff -ur freeciv.orig/server/citytools.c freeciv/server/citytools.c --- freeciv.orig/server/citytools.c Mon Jan 24 12:51:46 2000 +++ freeciv/server/citytools.c Wed Feb 2 19:24:52 2000 @@ -132,6 +132,8 @@ power--; if (get_invention(p, game.rtech.cathedral_plus/*A_THEOLOGY*/) == TECH_KNOWN) power++; + if (improvement_variant(B_MICHELANGELO)==1 && city_affected_by_wonder(pcity, B_MICHELANGELO)) + power*=2; return power; }