Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2003:
[Freeciv-Dev] Re: (PR#6943) Playable nations for map?
Home

[Freeciv-Dev] Re: (PR#6943) Playable nations for map?

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: az@xxxxxx
Subject: [Freeciv-Dev] Re: (PR#6943) Playable nations for map?
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 30 Nov 2003 11:17:57 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=6943 >

Eugeny Korekin wrote:
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=6943 >
> 
> Is there any possibility to flag nations, which are playable
> for given map?

Currently no.  You can specify start positions by number in the 
scenario, but this is not likely to work very well.  See the comments in 
gamehand.c:init_new_game().

> For example, there is no place for Indians
> on the map europe-200x100-v2.sav, but if computer player is
> created with aifill option, Indians can come into play, so
> the only possibility to avoid that is to create players manually.

Indeed.  Civil war is also a problem; there was a patch for that (which 
may have been applied).

> I think, adding map option to flag playable nations for that map
> can be very useful for balanced map with fixed starting positions.

I think each starting position should have its nation labeled.  You can 
do this currently but it is done by number - and the nations don't have 
consistent numbering.  So it needs to be done by name.

> If there is no such option for now(i cannot find one), i think,
> I can implement that.

Great.  Each starting position in the savegame should have an optional 
nation string associated with it - if that string is present it should 
be converted into a nation ID (otherwise NO_NATION_SELECTED is used). 
Each starting position should therefore have a Nation_Type_id associated 
with it.  If this value is not NO_NATION_SELECTED that nation is used 
when creating a player at that starting position.

init_new_game() needs to be changed.  Also some changes to the savegame 
loading code will need to be done, and map.start_positions will need to 
be changed from a struct map_pos to a struct starting_position.

jason




[Prev in Thread] Current Thread [Next in Thread]