--- freeciv/common/city.c.orig Fri Oct 26 01:07:18 2001 +++ freeciv/common/city.c Thu Dec 13 02:22:28 2001 @@ -1014,8 +1014,8 @@ int city_rapture_grow(struct city *pcity) { struct government *g = get_gov_pcity(pcity); - return (pcity->rapture>0 && pcity->food_surplus>0 && - government_has_flag(g, G_RAPTURE_CITY_GROWTH)); + return (pcity->rapture>0 && pcity->rapture%game.rapturedelay==0 && + pcity->food_surplus>0 && government_has_flag(g, G_RAPTURE_CITY_GROWTH)); } /************************************************************************** --- freeciv/common/game.c.orig Tue Dec 11 08:48:47 2001 +++ freeciv/common/game.c Thu Dec 13 02:23:14 2001 @@ -678,6 +678,7 @@ game.cityfactor = GAME_DEFAULT_CITYFACTOR; game.citymindist = GAME_DEFAULT_CITYMINDIST; game.civilwarsize= GAME_DEFAULT_CIVILWARSIZE; + game.rapturedelay= GAME_DEFAULT_RAPTUREDELAY; game.savepalace = GAME_DEFAULT_SAVEPALACE; game.unhappysize = GAME_DEFAULT_UNHAPPYSIZE; game.angrycitizen= GAME_DEFAULT_ANGRYCITIZEN; --- freeciv/common/game.h.orig Tue Dec 11 08:48:48 2001 +++ freeciv/common/game.h Thu Dec 13 02:22:28 2001 @@ -74,6 +74,7 @@ int cityfactor; int citymindist; int civilwarsize; + int rapturedelay; int min_players, max_players, nplayers; int aifill; int notradesize, fulltradesize; @@ -333,6 +334,10 @@ #define GAME_DEFAULT_CIVILWARSIZE 10 #define GAME_MIN_CIVILWARSIZE 6 #define GAME_MAX_CIVILWARSIZE 1000 + +#define GAME_DEFAULT_RAPTUREDELAY 1 +#define GAME_MIN_RAPTUREDELAY 1 +#define GAME_MAX_RAPTUREDELAY 99 #define GAME_MIN_SAVEPALACE 0 #define GAME_MAX_SAVEPALACE 1 --- freeciv/server/savegame.c.orig Tue Dec 11 08:48:49 2001 +++ freeciv/server/savegame.c Thu Dec 13 02:22:28 2001 @@ -1765,6 +1765,9 @@ game.citymindist = secfile_lookup_int_default(file, GAME_DEFAULT_CITYMINDIST, "game.citymindist"); + game.rapturedelay = secfile_lookup_int_default(file, + GAME_DEFAULT_RAPTUREDELAY, "game.rapturedelay"); + if (has_capability("watchtower", savefile_options)) { game.watchtower_extra_vision = secfile_lookup_int(file, "game.watchtower_extra_vision"); @@ -2113,6 +2116,7 @@ secfile_insert_int(file, game.cityfactor, "game.cityfactor"); secfile_insert_int(file, game.citymindist, "game.citymindist"); secfile_insert_int(file, game.civilwarsize, "game.civilwarsize"); + secfile_insert_int(file, game.rapturedelay, "game.rapturedelay"); secfile_insert_int(file, game.diplcost, "game.diplcost"); secfile_insert_int(file, game.freecost, "game.freecost"); secfile_insert_int(file, game.conquercost, "game.conquercost"); --- freeciv/server/stdinhand.c.orig Tue Dec 11 08:48:49 2001 +++ freeciv/server/stdinhand.c Thu Dec 13 02:22:28 2001 @@ -548,6 +548,12 @@ "every direction. If it is set to 0 (default), it is overwritten by " "the current ruleset when the game starts.") }, + { "rapturedelay", &game.rapturedelay, NULL, NULL, + SSET_RULES, SSET_TO_CLIENT, + GAME_MIN_RAPTUREDELAY, GAME_MAX_RAPTUREDELAY, GAME_DEFAULT_RAPTUREDELAY, + N_("Slows down the rapture effect."), + N_("Sets the number of turns between rapture growth of a city.") }, + { "razechance", &game.razechance, NULL, NULL, SSET_RULES, SSET_TO_CLIENT, GAME_MIN_RAZECHANCE, GAME_MAX_RAZECHANCE, GAME_DEFAULT_RAZECHANCE,