URL: <http://gna.org/bugs/?21268>
Summary: Scenario start positions don't restrict nation choice for players Project: Freeciv Submitted by: jtn Submitted on: Sun Nov 10 12:48:58 2013 Category: None Severity: 3 - Normal Priority: 5 - Normal Status: None Assigned to: None Originator Email: Open/Closed: Open Release: 2.4.0 Discussion Lock: Any Operating System: Any Planned Release: _______________________________________________________ Details: init_available_nations() has logic to carefully restrict availability of nations when loading a scenario with restricted start positions. I have not been able to find a way to invoke this. savegame.c and savegame2.c both bail out on 'is_new_game' (aka save_players=FALSE) files after loading the map (and its start positions) but before getting as far as their calls to init_available_nations(). So it never gets called in the presence of map positions to restrict availability; the previous call from load_rulesets() (which makes all nations available) remains in force. As a result, the client always offers the full set of nations for picking, regardless of the scenario. (And when it comes time to allocate start positions, if as is likely the player has picked a nation for which there is no start position, the server gives them a random one.) (For players who don't specify a nation, the server does still try to pick random ones to match the available start positions.) The last branch I can find in which this appears to function as intended is the head of S2_0. (Head of S2_1 and 2.2.7 both ignore start positions; haven't checked whether this got broken by some change that got backported onto all branches.) _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?21268> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev