diff -ruN -X cvs/diff_ignore cleancvs/common/game.h cvs/common/game.h --- cleancvs/common/game.h Mon May 29 15:23:23 2000 +++ cvs/common/game.h Sat Jun 3 00:38:28 2000 @@ -85,6 +85,7 @@ int add_to_size_limit; int spacerace; int turnblock; + int impeffect; int auto_ai_toggle; int fogofwar; int fogofwar_old; /* as the fog_of_war bit get changed by setting diff -ruN -X cvs/diff_ignore cleancvs/server/citytools.c cvs/server/citytools.c --- cleancvs/server/citytools.c Mon May 29 15:23:25 2000 +++ cvs/server/citytools.c Sat Jun 3 16:14:27 2000 @@ -492,22 +492,24 @@ int set_city_shield_bonus(struct city *pcity) { - int tmp = 0; + int shield_bouns = 0; if (city_got_building(pcity, B_FACTORY)) { if (city_got_building(pcity, B_MFG)) - tmp = 100; + shield_bouns = 100; else - tmp = 50; + shield_bouns = 50; if (city_affected_by_wonder(pcity, B_HOOVER) || city_got_building(pcity, B_POWER) || city_got_building(pcity, B_HYDRO) || city_got_building(pcity,B_NUCLEAR)) - tmp *= 1.5; + shield_bouns *= 1.5; } - pcity->shield_bonus = tmp + 100; - return (tmp + 100); + shield_bouns *= game.impeffect; + shield_bouns += 100; + pcity->shield_bonus = shield_bouns; + return shield_bouns; } int city_shield_bonus(struct city *pcity) @@ -520,7 +522,7 @@ **************************************************************************/ int set_city_tax_bonus(struct city *pcity) { - int tax_bonus = 100; + int tax_bonus = 0; if (city_got_building(pcity, B_MARKETPLACE)) { tax_bonus+=50; if (city_got_building(pcity, B_BANK)) { @@ -529,6 +531,9 @@ tax_bonus+=50; } } + + tax_bonus *= game.impeffect; + tax_bonus += 100; pcity->tax_bonus = tax_bonus; return tax_bonus; } @@ -543,7 +548,7 @@ **************************************************************************/ int set_city_science_bonus(struct city *pcity) { - int science_bonus = 100; + int science_bonus = 0; if (city_got_building(pcity, B_LIBRARY)) { science_bonus+=50; if (city_got_building(pcity, B_UNIVERSITY)) { @@ -556,6 +561,9 @@ science_bonus+=50; if (city_affected_by_wonder(pcity, B_ISAAC)) science_bonus+=100; + + science_bonus *= game.impeffect; + science_bonus += 100; pcity->science_bonus = science_bonus; return science_bonus; } diff -ruN -X cvs/diff_ignore cleancvs/server/gamehand.c cvs/server/gamehand.c --- cleancvs/server/gamehand.c Wed May 17 15:32:06 2000 +++ cvs/server/gamehand.c Sat Jun 3 00:43:27 2000 @@ -368,6 +368,8 @@ "game.killcitizen"); game.turnblock = secfile_lookup_int_default(file,game.turnblock, "game.turnblock"); + game.impeffect = secfile_lookup_int_default(file,game.impeffect, + "game.impeffect"); game.barbarianrate = secfile_lookup_int_default(file, game.barbarianrate, "game.barbarians"); game.onsetbarbarian = secfile_lookup_int_default(file, game.onsetbarbarian, @@ -590,6 +592,7 @@ secfile_insert_int(file, game.aqueductloss, "game.aqueductloss"); secfile_insert_int(file, game.killcitizen, "game.killcitizen"); secfile_insert_int(file, game.turnblock, "game.turnblock"); + secfile_insert_int(file, game.impeffect, "game.impeffect"); secfile_insert_int(file, game.barbarianrate, "game.barbarians"); secfile_insert_int(file, game.onsetbarbarian, "game.onsetbarbs"); secfile_insert_int(file, game.occupychance, "game.occupychance"); diff -ruN -X cvs/diff_ignore cleancvs/server/stdinhand.c cvs/server/stdinhand.c --- cleancvs/server/stdinhand.c Sun May 28 00:06:25 2000 +++ cvs/server/stdinhand.c Sat Jun 3 00:37:52 2000 @@ -576,6 +576,12 @@ N_("If this is set to 1 the game turn is not advanced until all players " "have finished their turn, including disconnected players.") }, + { "impeffect", &game.impeffect, + SSET_META, SSET_TO_CLIENT, + 1, 10, 1, + N_("Improvement effect modifier"), + N_("The effect of city improvements are multiplied bu this number.") }, + { "demography", NULL, SSET_META, SSET_TO_CLIENT, 0, 0, 0,