<?xml version="1.0" encoding="utf-8"?>
<GameInfo>
<Parameters>
<!-- Game Options -->
<Row ParameterId="Ruleset" Name="LOC_RULESET" Description="" Domain="Rulesets" Hash="0" DefaultValue="RULESET_STANDARD" ConfigurationGroup="Game" ConfigurationId="RULESET" ValueNameConfigurationId="RULESET_NAME" GroupId="GameOptions" SortIndex="1"/>
<Row ParameterId="GameName" Name="LOC_GAME_NAME" Description="" Domain="text" Hash="0" ConfigurationGroup="Game" ConfigurationId="GAME_NAME" GroupId="GameOptions" SupportsSinglePlayer="0" SortIndex="2"/>
<Row ParameterId="PrivateGame" Name="LOC_PRIVATE_GAME" Description="" Domain="bool" Hash="0" DefaultValue="0" ConfigurationGroup="Game" ConfigurationId="PRIVATE_GAME" GroupId="GameOptions" SupportsLANMultiplayer="0" SupportsInternetMultiplayer="1" SupportsHotSeat="0" SupportsSinglePlayer="0" SortIndex="3"/>
<Row ParameterId="GameDifficulty" Name="LOC_GAME_HANDICAP" Description="" Domain="StandardDifficulties" DefaultValue="DIFFICULTY_KING" ConfigurationGroup="Game" ConfigurationId="GAME_HANDICAP" Hash="1" GroupId="GameOptions" SupportsLANMultiplayer="0" SupportsInternetMultiplayer="0" SupportsHotSeat="0" SortIndex="50"/>
<Row ParameterId="GameStartEra" Name="LOC_GAME_START_ERA" Description="" Domain="StandardEras" DefaultValue="ERA_ANCIENT" ConfigurationGroup="Game" ConfigurationId="GAME_START_ERA" ValueNameConfigurationId="GAME_START_ERA_NAME" Hash="1" GroupId="GameOptions" SortIndex="60"/>
<Row ParameterId="TurnTimerType" Name="LOC_GAME_TURNTIMER_TYPE" Description="LOC_GAME_TURNTIMER_DESC" Domain="StandardTurnTimers" DefaultValue="TURNTIMER_NONE" Hash="1" ConfigurationGroup="Game" ConfigurationId="TURN_TIMER_TYPE" GroupId="GameOptions" SupportsSinglePlayer="0" ChangeableAfterGameStart="1" SortIndex="20"/>
<Row ParameterId="TurnTimerTime" Name="LOC_GAME_TURN_TIMER_TIME" Description="LOC_GAME_TURN_TIMER_TIME_TOOLTIP" Domain="int" DefaultValue="180" ConfigurationGroup="Game" ConfigurationId="TURN_TIMER_TIME" GroupId="GameOptions" SupportsSinglePlayer="0" ChangeableAfterGameStart="1" SortIndex="30"/>
<Row ParameterId="TurnPhaseType" Name="LOC_GAME_TURNPHASE_TYPE" Description="LOC_GAME_TURNPHASE_DESC" Domain="StandardTurnPhases" Hash="1" DefaultValue="TURNPHASE_SIMULTANEOUS" ConfigurationGroup="Game" ConfigurationId="TURN_PHASE_TYPE" GroupId="GameOptions" SupportsSinglePlayer="0" SupportsHotSeat="0" ChangeableAfterGameStart="0" SortIndex="40"/>
<!-- Two mutually exclusive game speed parameters. The MP version defaults to GameSpeed Online, while the SP version defaults to GameSpeed Standard. -->
<Row ParameterId="GameSpeeds" Name="LOC_GAME_SPEED" Description="" Domain="StandardGameSpeeds" DefaultValue="GAMESPEED_EPIC" ConfigurationGroup="Game" ConfigurationId="GAME_SPEED_TYPE" ValueNameConfigurationId="GAME_SPEED_NAME" Hash="1" GroupId="GameOptions" SupportsLANMultiplayer="0" SupportsInternetMultiplayer="0" SupportsHotSeat="0" SortIndex="70"/>
<Row ParameterId="GameSpeeds" Name="LOC_GAME_SPEED" Description="" Domain="StandardGameSpeeds" DefaultValue="GAMESPEED_ONLINE" ConfigurationGroup="Game" ConfigurationId="GAME_SPEED_TYPE" ValueNameConfigurationId="GAME_SPEED_NAME" Hash="1" GroupId="GameOptions" SupportsSinglePlayer="0" SortIndex="80"/>
<!-- Map Options -->
<Row ParameterId="Map" Name="LOC_MAP_SCRIPT" Description="" Domain="StandardMaps" DefaultValue="Continents.lua" ConfigurationGroup="Map" ConfigurationId="MAP_SCRIPT" ValueNameConfigurationId="MAP_NAME" ValueDomainConfigurationId="MAP_DOMAIN" GroupId="MapOptions" SortIndex="210"/>
<Row ParameterId="MapSize" Name="LOC_MAP_SIZE" Description="" Domain="StandardMapSizes" DefaultValue="MAPSIZE_STANDARD" ConfigurationGroup="Map" ConfigurationId="MAP_SIZE" Hash="1" GroupId="MapOptions" SortIndex="220"/>
<!-- Advanced Options -->
<Row ParameterId="TurnLimit" Name="LOC_LIMIT_TURNS_NAME" Description="LOC_LIMIT_TURNS_DESCRIPTION" Domain="StandardTurnLimits" Hash="1" DefaultValue="TURNLIMIT_GAMESPEED" ConfigurationGroup="Game" ConfigurationId="GAME_TURN_LIMIT" GroupId="AdvancedOptions" SortIndex="2000"/>
<Row ParameterId="MaxTurns" Name="LOC_MAX_TURNS_NAME" Description="LOC_MAX_TURNS_DESCRIPTION" Domain="int" Hash="0" DefaultValue="500" ConfigurationGroup="Game" ConfigurationId="GAME_MAX_TURNS" GroupId="AdvancedOptions" SortIndex="2000"/>
<Row ParameterId="GameRandomSeed" Name="LOC_GAME_SYNC_RANDOM_SEED" Description="" Domain="int" Hash="0" ConfigurationGroup="Game" ConfigurationId="GAME_SYNC_RANDOM_SEED" GroupId="AdvancedOptions" SortIndex="3000"/>
<Row ParameterId="MapRandomSeed" Name="LOC_MAP_RANDOM_SEED" Description="" Domain="int" Hash="0" ConfigurationGroup="Map" ConfigurationId="RANDOM_SEED" GroupId="AdvancedOptions" SortIndex="3010"/>
<!-- Standard Game Options -->
<Row Key1="Ruleset" Key2="RULESET_STANDARD" ParameterId="NoGoodyHuts" Name="LOC_GAME_NO_GOODY_HUTS" Description="" Domain="bool" DefaultValue="0" ConfigurationGroup="Game" ConfigurationId="GAME_NO_GOODY_HUTS" GroupId="AdvancedOptions" SortIndex="2010"/>
<Row Key1="Ruleset" Key2="RULESET_STANDARD" ParameterId="NoBarbarians" Name="LOC_GAME_NO_BARBARIANS" Description="" Domain="bool" DefaultValue="0" ConfigurationGroup="Game" ConfigurationId="GAME_NO_BARBARIANS" GroupId="AdvancedOptions" SortIndex="2010"/>
<!-- Player Parameters -->
<Row ParameterId="PlayerLeader" Name="LOC_LEADER_TYPE" Description="" Domain="StandardPlayers" Hash="0" ConfigurationGroup="Player" ConfigurationId="LEADER_TYPE_ID" DomainConfigurationId="LEADER_DOMAIN" DomainValuesConfigurationId="LEADER_VALUES" ValueDomainConfigurationId="LEADER_VALUE_DOMAIN" GroupId="PlayerOptions"/>
<!--<Row ParameterId="PlayerTeam" Name="LOC_PLAYER_TEAM" Description="The player team." Domain="StandardTeams" Hash="0" ConfigurationGroup="Player" ConfigurationId="TEAM" GroupId="PlayerOptions"/>-->
<Row ParameterId="PlayerDifficulty" Name="LOC_PLAYER_DIFFICULTY" Description="" Domain="StandardDifficulties" Hash="1" ConfigurationGroup="Player" ConfigurationId="HANDICAP_TYPE_ID" GroupId="PlayerOptions" SortIndex="3020"/>
</Parameters>
<ParameterCriteria>
<!-- Score victory cannot be enabled when there is no turn limit.-->
<!-- Mark as criteria so that it can still be visible. -->
<Row ParameterId="VICTORY_SCORE" ConfigurationGroup="Game" ConfigurationId="GAME_TURN_LIMIT" Operator="NotEquals" ConfigurationValue="TURNLIMIT_NONE" />
</ParameterCriteria>
<ParameterDependencies>
<!-- Turn Timer Time should only be set when the turn timer is set to standard. -->
<Row ParameterId="TurnTimerTime" ConfigurationGroup="Game" ConfigurationId="TURN_TIMER_TYPE" Operator="Equals" ConfigurationValue="TURNTIMER_STANDARD"/>
<!-- Max turns may only be set when turn limit is manual. -->
<Row ParameterId="MaxTurns" ConfigurationGroup="Game" ConfigurationId="GAME_TURN_LIMIT" Operator="Equals" ConfigurationValue="TURNLIMIT_CUSTOM" />
</ParameterDependencies>
<ParameterQueries>
<Row ParameterQueryId="Parameters" QueryId="Parameters" DomainField="RulesetDomain"/>
<Row ParameterQueryId="DefeatParameters" QueryId="Defeats"/>
<Row ParameterQueryId="VictoryParameters" QueryId="Victories"/>
<Row ParameterQueryId="RulesetParameters" QueryId="RulesetParameters" DomainField="RulesetDomain"/>
<Row ParameterQueryId="MapParameters" QueryId="MapParameters" DomainField="RulesetDomain"/>
</ParameterQueries>
<DomainValueQueries>
<!-- Populate standard domain values -->
<Row DomainValueQueryId="DomainValues" QueryId="DomainValues"/>
<!-- Populate specialized domain values from external tables -->
<Row DomainValueQueryId="Rulesets" QueryId="Rulesets"/>
<Row DomainValueQueryId="Eras" QueryId="Eras"/>
<Row DomainValueQueryId="GameSpeeds" QueryId="GameSpeeds"/>
<Row DomainValueQueryId="Difficulties" QueryId="Difficulties"/>
<Row DomainValueQueryId="Maps" QueryId="Maps"/>
<Row DomainValueQueryId="MapSizes" QueryId="MapSizes"/>
<Row DomainValueQueryId="TurnTimers" QueryId="TurnTimers"/>
<Row DomainValueQueryId="TurnPhases" QueryId="TurnPhases"/>
<Row DomainValueQueryId="Players" QueryId="Players"/>
<!-- Restrict domains from external supported tables -->
<Row DomainValueQueryId="MapSupportedValues" QueryId="MapSupportedValues" Set="intersect"/>
<Row DomainValueQueryId="RulesetSupportedValues" QueryId="RulesetSupportedValues" Set="intersect"/>
<Row DomainValueQueryId="RulesetUnSupportedValues" QueryId="RulesetUnSupportedValues" Set="difference"/>
</DomainValueQueries>
<DomainValues>
<Row Domain="StandardPlayers" Value="RANDOM" Name="LOC_RANDOM_LEADER" Description="LOC_RANDOM_LEADER" SortIndex="1"/>
<Row Domain="StandardTurnLimits" Value="TURNLIMIT_NONE" Name="LOC_TURNLIMIT_NONE_NAME" Description="LOC_TURNLIMIT_NONE_DESCRIPTION" SortIndex="1"/>
<Row Domain="StandardTurnLimits" Value="TURNLIMIT_GAMESPEED" Name="LOC_TURNLIMIT_GAMESPEED_NAME" Description="LOC_TURNLIMIT_GAMESPEED_DESCRIPTION" SortIndex="1"/>
<Row Domain="StandardTurnLimits" Value="TURNLIMIT_CUSTOM" Name="LOC_TURNLIMIT_CUSTOM_NAME" Description="LOC_TURNLIMIT_CUSTOM_DESCRIPTION" SortIndex="1"/>
</DomainValues>
<ConfigurationUpdateQueries>
<Row QueryId="ConfigurationUpdates" />
<Row QueryId="RulesetTurnLimitNoneUpdates" />
<Row QueryId="RulesetTurnLimitCustomUpdates" />
<Row QueryId="RulesetMaxTurnUpdates" />
</ConfigurationUpdateQueries>
<ConfigurationUpdates>
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Game" TargetId="GAME_START_ERA" TargetValue="ERA_ANCIENT" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Game" TargetId="GAME_HANDICAP" TargetValue="DIFFICULTY_KING" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Game" TargetId="GAME_SPEED_TYPE" TargetValue="GAMESPEED_EPIC" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Game" TargetId="GAME_SPEED_NAME" TargetValue="GAMESPEED_EPIC" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Map" TargetId="MAP_SIZE" TargetValue="MAPSIZE_STANDARD" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Map" TargetId="start" TargetValue="3" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Player" TargetId="LEADER_TYPE_ID" TargetValue="LEADER_TRAJAN" Hash="1" />
<Row SourceGroup="Game" SourceId="RULESET" SourceValue="RULESET_STANDARD" TargetGroup="Game" TargetId="GAME_TURN_LIMIT" TargetValue="TURNLIMIT_GAMESPEED" Hash="1" />
<Row SourceGroup="Game" SourceId="GAME_TURN_LIMIT" SourceValue="TURNLIMIT_NONE" TargetGroup="Game" TargetId="VICTORY_SCORE" TargetValue="0" />
</ConfigurationUpdates>
<Queries>
<!-- Parameter Queries -->
<Row QueryId="Parameters" SQL="SELECT coalesce(RDO.Domain, P.Domain) AS RulesetDomain, P.* from Parameters P LEFT JOIN RulesetDomainOverrides RDO ON P.ParameterId = RDO.ParameterId AND (RDO.RuleSet = ?1 or RDO.Ruleset IS NULL) WHERE Key1 IS NULL and Key2 IS NULL"/>
<Row QueryId="RulesetParameters" SQL="SELECT coalesce(RDO.Domain, P.Domain) AS RulesetDomain, P.* from Parameters P LEFT JOIN RulesetDomainOverrides RDO ON P.ParameterId = RDO.ParameterId AND (RDO.RuleSet = ?1 or RDO.Ruleset IS NULL) WHERE Key1='Ruleset' AND Key2 = ?1"/>
<Row QueryId="MapParameters" SQL="SELECT coalesce(RDO.Domain, P.Domain) AS RulesetDomain, P.* from Parameters P LEFT JOIN RulesetDomainOverrides RDO ON P.ParameterId = RDO.ParameterId AND (RDO.RuleSet = ?1 or RDO.Ruleset IS NULL) WHERE Key1='Map' AND Key2 = ?2"/>
<Row QueryId="Defeats" SQL="SELECT DefeatType as ParameterId, D.Name as Name, D.Description as Description, Visible, ReadOnly, 1 as SupportsSinglePlayer, 1 as SupportsLANMultiplayer, 1 as SupportsInternetMultiplayer, 1 as SupportsHotSeat, 0 as ChangeableAfterGameStart, 'bool' as Domain, 0 as Hash, 1 as DefaultValue, 'Game' as ConfigurationGroup, DefeatType as ConfigurationId, 'Victories' as GroupId, 10 as SortIndex from Defeats D, Rulesets where RulesetType = ?1 and D.Domain = Rulesets.DefeatDomain"/>
<Row QueryId="Victories" SQL="SELECT VictoryType as ParameterId, V.Name as Name, V.Description as Description, Visible, ReadOnly, 1 as SupportsSinglePlayer, 1 as SupportsLANMultiplayer, 1 as SupportsInternetMultiplayer, 1 as SupportsHotSeat, 0 as ChangeableAfterGameStart, 'bool' as Domain, 0 as Hash, 1 as DefaultValue, 'Game' as ConfigurationGroup, VictoryType as ConfigurationId, 'Victories' as GroupId, 20 as SortIndex from Victories V, Rulesets where RulesetType =?1 and V.Domain = Rulesets.VictoryDomain"/>
<!-- Value Queries -->
<Row QueryId="DomainValues" SQL="SELECT * from DomainValues where Key1 IS NULL AND Key2 IS NULL"/>
<Row QueryId="Rulesets" SQL="SELECT 'Rulesets' as Domain, Name, Description, RulesetType as Value, 100 as SortIndex from Rulesets where ((?1 = -379035929 and SupportsSinglePlayer = 1) or (?1 <> -379035929 and SupportsMultiplayer = 1))"/>
<Row QueryId="Difficulties" SQL="SELECT Domain, Name, Name as Description, DifficultyType as Value, SortIndex from Difficulties"/>
<Row QueryId="Eras" SQL="SELECT Domain, Name, Description, EraType as Value, SortIndex from Eras"/>
<Row QueryId="GameSpeeds" SQL="SELECT Domain, Name, Description, GameSpeedType as Value, SortIndex from GameSpeeds"/>
<Row QueryId="Maps" SQL="SELECT Domain, Name, Description, File as Value, SortIndex from Maps where (not WorldBuilderOnly or ?)"/>
<Row QueryId="MapSizes" SQL="SELECT Domain, Name, Description, MapSizeType as Value, SortIndex from MapSizes"/>
<Row QueryId="TurnTimers" SQL="SELECT Domain, Name, Description, TurnTimerType as Value, SortIndex from TurnTimers"/>
<Row QueryId="TurnPhases" SQL="SELECT Domain, Name, Description, TurnPhaseType as Value, SortIndex from TurnPhases"/>
<Row QueryId="Players" SQL="SELECT Domain, LeaderName as Name, LeaderAbilityDescription as Description, LeaderType as Value, 100 as SortIndex from Players"/>
<!-- Value intersect queries -->
<Row QueryId="MapSupportedValues" SQL="SELECT Domain, Value from MapSupportedValues where Map = ?1 and (PlayerId = ?2 or PlayerId is null)"/>
<Row QueryId="RulesetSupportedValues" SQL="SELECT Domain, Value from RulesetSupportedValues where Ruleset = ?1 and (PlayerId = ?2 or PlayerId is null)"/>
<!-- Value difference queries -->
<Row QueryId="RulesetUnSupportedValues" SQL="SELECT Domain, Value from RulesetUnSupportedValues where Ruleset = ?1 and (PlayerId = ?2 or PlayerId is null)"/>
<!-- Configuration Update queries -->
<Row QueryId="ConfigurationUpdates" SQL="SELECT * from ConfigurationUpdates" />
<Row QueryId="RulesetTurnLimitNoneUpdates" SQL="SELECT 'Game' as SourceGroup, 'RULESET' as SourceId, RuleSetType as SourceValue, 'Game' as TargetGroup, 'GAME_TURN_LIMIT' as TargetId, 'TURNLIMIT_NONE' as TargetValue from Rulesets where MaxTurns = 0" />
<Row QueryId="RulesetTurnLimitCustomUpdates" SQL="SELECT 'Game' as SourceGroup, 'RULESET' as SourceId, RuleSetType as SourceValue, 'Game' as TargetGroup, 'GAME_TURN_LIMIT' as TargetId, 'TURNLIMIT_CUSTOM' as TargetValue from Rulesets where MaxTurns > 0" />
<Row QueryId="RulesetMaxTurnUpdates" SQL="SELECT 'Game' as SourceGroup, 'RULESET' as SourceId, RuleSetType as SourceValue, 'Game' as TargetGroup, 'GAME_MAX_TURNS' as TargetId, MaxTurns as TargetValue from Rulesets where MaxTurns IS NOT NULL" />
</Queries>
<QueryParameters>
<Row QueryId="Parameters" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="Rulesets" Index="1" ConfigurationGroup="Game" ConfigurationId="GAME_MODE" />
<Row QueryId="RulesetParameters" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="Defeats" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="Victories" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="Maps" Index="1" ConfigurationGroup="Game" ConfigurationId="WORLD_BUILDER" />
<Row QueryId="MapParameters" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="MapParameters" Index="2" ConfigurationGroup="Map" ConfigurationId="MAP_SCRIPT"/>
<Row QueryId="MapSupportedValues" Index="1" ConfigurationGroup="Map" ConfigurationId="MAP_SCRIPT"/>
<Row QueryId="MapSupportedValues" Index="2" ConfigurationGroup="Player" ConfigurationId="PLAYER_ID"/>
<Row QueryId="RulesetSupportedValues" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="RulesetSupportedValues" Index="2" ConfigurationGroup="Player" ConfigurationId="PLAYER_ID"/>
<Row QueryId="RulesetUnSupportedValues" Index="1" ConfigurationGroup="Game" ConfigurationId="RULESET"/>
<Row QueryId="RulesetUnSupportedValues" Index="2" ConfigurationGroup="Player" ConfigurationId="PLAYER_ID"/>
</QueryParameters>
</GameInfo>