diff -Nur -X/home/thue/freeciv-dev/freeciv/diff_ignore freeciv/server/citytools.c split_player/server/citytools.c --- freeciv/server/citytools.c Wed May 10 02:19:09 2000 +++ split_player/server/citytools.c Thu May 11 16:07:12 2000 @@ -14,6 +14,7 @@ #include #endif +#include #include #include @@ -727,12 +728,12 @@ /* select a new name and nation for the copied player. */ for(i=0; ination = nations_used[i]; + cplayer->nation = i; free(nations_used); pick_ai_player_name(cplayer->nation,cplayer->name); diff -Nur -X/home/thue/freeciv-dev/freeciv/diff_ignore freeciv/server/unithand.c split_player/server/unithand.c --- freeciv/server/unithand.c Wed May 10 02:19:10 2000 +++ split_player/server/unithand.c Thu May 11 16:05:50 2000 @@ -1154,7 +1154,7 @@ **************************************************************************/ void handle_unit_enter_city(struct unit *punit, struct city *pcity) { - int i, n, do_civil_war = 0; + int i, do_civil_war = 0; int coins; struct player *pplayer = unit_owner(punit); struct player *cplayer; @@ -1179,11 +1179,13 @@ && city_list_size(&cplayer->cities) >= game.civilwarsize && game.nplayers < game.nation_count && game.civilwarsize < GAME_MAX_CIVILWARSIZE) { - n = 0; + int real_player_count = 0; for( i = 0; i < game.nplayers; i++ ) if(!is_barbarian(&game.players[i])) - n++; - if(n < MAX_NUM_PLAYERS && civil_war_triggered(cplayer)) + real_player_count++; + if(real_player_count < MAX_NUM_PLAYERS + && real_player_count < game.playable_nation_count + && civil_war_triggered(cplayer)) do_civil_war = 1; }