<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40381 >
The new option 'endspaceship' allows it to play the game after a spaceship arrived at Alpha Centauri. Matthias
diff -ur -X./freeciv-2.1.99svn15393/diff_ignore freeciv-2.1.99svn15393/common/game.c freeciv-2.1.99svn.patch_noend/common/game.c --- freeciv-2.1.99svn15393/common/game.c 2009-01-05 11:54:25.000000000 +0100 +++ freeciv-2.1.99svn.patch_noend/common/game.c 2009-01-05 11:44:04.000000000 +0100 @@ -284,6 +284,7 @@ game.info.techpenalty = GAME_DEFAULT_TECHPENALTY; game.info.razechance = GAME_DEFAULT_RAZECHANCE; game.info.spacerace = GAME_DEFAULT_SPACERACE; + game.info.endspaceship = GAME_DEFAULT_ENDSPACESHIP; game.info.turnblock = GAME_DEFAULT_TURNBLOCK; game.info.fogofwar = GAME_DEFAULT_FOGOFWAR; game.info.borders_sq = GAME_DEFAULT_BORDERS; diff -ur -X./freeciv-2.1.99svn15393/diff_ignore freeciv-2.1.99svn15393/common/game.h freeciv-2.1.99svn.patch_noend/common/game.h --- freeciv-2.1.99svn15393/common/game.h 2009-01-05 11:54:25.000000000 +0100 +++ freeciv-2.1.99svn.patch_noend/common/game.h 2009-01-05 11:44:03.000000000 +0100 @@ -270,6 +270,7 @@ #define GAME_DEFAULT_SCORETURN 20 #define GAME_DEFAULT_SPACERACE TRUE +#define GAME_DEFAULT_END_SPACESHIP TRUE #define GAME_DEFAULT_TURNBLOCK TRUE diff -ur -X./freeciv-2.1.99svn15393/diff_ignore freeciv-2.1.99svn15393/common/packets.def freeciv-2.1.99svn.patch_noend/common/packets.def --- freeciv-2.1.99svn15393/common/packets.def 2009-01-05 11:54:25.000000000 +0100 +++ freeciv-2.1.99svn.patch_noend/common/packets.def 2009-01-05 11:44:01.000000000 +0100 @@ -409,6 +409,7 @@ UINT8 occupychance; BOOL autoattack; BOOL spacerace; + BOOL endspaceship; UINT8 aqueductloss; UINT8 killcitizen; UINT8 razechance; Only in freeciv-2.1.99svn.patch_noend: freeciv-2.1.99svn diff -ur -X./freeciv-2.1.99svn15393/diff_ignore freeciv-2.1.99svn15393/server/savegame.c freeciv-2.1.99svn.patch_noend/server/savegame.c --- freeciv-2.1.99svn15393/server/savegame.c 2009-01-05 11:54:33.000000000 +0100 +++ freeciv-2.1.99svn.patch_noend/server/savegame.c 2009-01-05 11:44:00.000000000 +0100 @@ -4346,6 +4346,9 @@ game.info.spacerace = secfile_lookup_bool_default(file, game.info.spacerace, "game.spacerace"); + game.info.endspaceship = + secfile_lookup_bool_default(file, game.info.endspaceship, + "game.endspaceship"); game.info.auto_ai_toggle = secfile_lookup_bool_default(file, game.info.auto_ai_toggle, @@ -4925,6 +4928,7 @@ secfile_insert_bool(file, game.info.fogofwar, "game.fogofwar"); secfile_insert_bool(file, game.info.spacerace, "game.spacerace"); + secfile_insert_bool(file, game.info.endspaceship, "game.endspaceship"); secfile_insert_bool(file, game.info.auto_ai_toggle, "game.auto_ai_toggle"); secfile_insert_int(file, game.info.diplchance, "game.diplchance"); secfile_insert_int(file, game.info.aqueductloss, "game.aqueductloss"); diff -ur -X./freeciv-2.1.99svn15393/diff_ignore freeciv-2.1.99svn15393/server/settings.c freeciv-2.1.99svn.patch_noend/server/settings.c --- freeciv-2.1.99svn15393/server/settings.c 2009-01-05 11:54:33.000000000 +0100 +++ freeciv-2.1.99svn.patch_noend/server/settings.c 2009-01-05 11:43:56.000000000 +0100 @@ -803,6 +803,13 @@ NULL, GAME_DEFAULT_SPACERACE) + GEN_BOOL("endspaceship", game.info.endspaceship, SSET_RULES_FLEXIBLE, + SSET_SCIENCE, SSET_VITAL, SSET_TO_CLIENT, + N_("Should the game end if teh spaceship arrives?"), + N_("If this option is set to 1, the game will end with the " + "arrival of a spaceship at Alpha Centauri."), NULL, + GAME_DEFAULT_END_SPACESHIP) + GEN_INT("civilwarsize", game.info.civilwarsize, SSET_RULES_FLEXIBLE, SSET_SOCIOLOGY, SSET_RARE, SSET_TO_CLIENT, N_("Minimum number of cities for civil war"), diff -ur -X./freeciv-2.1.99svn15393/diff_ignore freeciv-2.1.99svn15393/server/srv_main.c freeciv-2.1.99svn.patch_noend/server/srv_main.c --- freeciv-2.1.99svn15393/server/srv_main.c 2009-01-05 11:54:33.000000000 +0100 +++ freeciv-2.1.99svn.patch_noend/server/srv_main.c 2009-01-05 12:04:17.000000000 +0100 @@ -268,6 +268,11 @@ _("The %s spaceship has arrived at Alpha Centauri."), nation_adjective_for_player(victor)); + if (!game.info.endspaceship) { + /* games does not end on spaceship arrival */ + return FALSE; + } + /* this guy has won, now check if anybody else wins with him */ players_iterate(pplayer) { if (pplayer->team == victor->team && pplayer != victor) { @@ -322,7 +327,7 @@ } } players_iterate_end; ggz_report_victory(); - return TRUE; + return win; /* TRUE */ } } team_iterate_end;
_______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev