freecol/data/mods/bryce/specification.xml

285 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
* Copyright (C) 2002-2022 The FreeCol Team
*
* This file is part of FreeCol.
*
* FreeCol is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* FreeCol is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with FreeCol. If not, see <http://www.gnu.org/licenses/>.
*
-->
<!-- in case of incompatible changes, please update version number and
XSD schema for validation. -->
<freecol-specification id="bryce" version="0.80">
<options>
<optionGroup id="gameOptions">
<optionGroup id="gameOptions.colony">
<!-- Does the Custom House sell boycotted goods -->
<booleanOption id="model.option.customIgnoreBoycott" defaultValue="false"/>
<!-- Whether experts have connections, producing without raw materials in factories -->
<booleanOption id="model.option.expertsHaveConnections" defaultValue="false"/>
<booleanOption id="model.option.saveProductionOverflow" defaultValue="true"/>
<!-- Whether to educate the least skilled unit first -->
<booleanOption id="model.option.allowStudentSelection" defaultValue="true"/>
<!-- Enable upkeep requirement on buildings. -->
<booleanOption id="model.option.enableUpkeep" defaultValue="true"/>
<!-- Toggle special production rules for secondary goods. -->
<booleanOption id="model.option.onlyNaturalImprovements" defaultValue="true" />
<!-- Enable natural disasters striking colonies. -->
<integerOption id="model.option.naturalDisasters" defaultValue="10"
minimumValue="0" maximumValue="100" />
</optionGroup>
</optionGroup>
</options>
<goods-types>
<goods-type id="model.goods.furs" is-farmed="true"
new-world-goods="true" production-weight="2.5">
<market initial-amount="500" initial-price="5" price-difference="5" />
</goods-type>
</goods-types>
<tile-types>
<tile-type id="model.tile.mixedForest" basic-move-cost="6" basic-work-turns="4" is-forest="true">
<gen humidity-minimum="0" humidity-maximum="60"
temperature-minimum="0" temperature-maximum="15"
altitude-minimum="1" altitude-maximum="2"/>
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="3"/>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.grain" value="3"/>
</production>
<production>
<output goods-type="model.goods.cotton" value="1"/>
</production>
<production>
<output goods-type="model.goods.furs" value="3"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="6"/>
</production>
<resource type="model.resource.furs" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.coniferForest" basic-move-cost="6" basic-work-turns="4" is-forest="true">
<gen humidity-minimum="25" humidity-maximum="70" temperature-minimum="10" temperature-maximum="25" altitude-minimum="1" altitude-maximum="1"/>
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.tobacco" value="1"/>
</production>
<production>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="6"/>
</production>
<resource type="model.resource.lumber" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.broadleafForest" basic-move-cost="6" basic-work-turns="4" is-forest="true">
<gen humidity-minimum="20" humidity-maximum="50" temperature-minimum="15" temperature-maximum="30" altitude-minimum="1" altitude-maximum="1"/>
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.cotton" value="1"/>
</production>
<production>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="4"/>
</production>
<resource type="model.resource.game" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.tropicalForest" basic-move-cost="6" basic-work-turns="6" is-forest="true">
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<gen humidity-minimum="25" humidity-maximum="70" temperature-minimum="30" temperature-maximum="40" altitude-minimum="1" altitude-maximum="1"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="3"/>
</production>
<production>
<output goods-type="model.goods.grain" value="3"/>
</production>
<production>
<output goods-type="model.goods.sugar" value="1"/>
</production>
<production>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="4"/>
</production>
<resource type="model.resource.lumber" probability="100"/>
<disaster id="model.disaster.hurricane" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.wetlandForest" basic-move-cost="9" basic-work-turns="6" is-forest="true">
<gen humidity-minimum="50" humidity-maximum="100" temperature-minimum="5" temperature-maximum="15" altitude-minimum="2" altitude-maximum="2"/>
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.tobacco" value="1"/>
</production>
<production>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="4"/>
</production>
<production>
<output goods-type="model.goods.ore" value="1"/>
</production>
<resource type="model.resource.minerals" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.scrubForest" basic-move-cost="3" basic-work-turns="4" is-forest="true">
<gen humidity-minimum="0" humidity-maximum="25" temperature-minimum="10" temperature-maximum="40" altitude-minimum="1" altitude-maximum="2"/>
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<production unattended="true" production-level="veryHigh">
<output goods-type="model.goods.grain" value="3"/>
</production>
<production unattended="true">
<output goods-type="model.goods.grain" value="2"/>
</production>
<production unattended="true" production-level="veryLow">
<output goods-type="model.goods.grain" value="1"/>
</production>
<production>
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.cotton" value="1"/>
</production>
<production>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="2"/>
</production>
<production>
<output goods-type="model.goods.ore" value="1"/>
</production>
<resource type="model.resource.oasis" probability="100"/>
<disaster id="model.disaster.brushfire" probability="50"/>
<disaster id="model.disaster.drought" probability="50"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.borealForest" basic-move-cost="6" basic-work-turns="4" is-forest="true">
<gen humidity-minimum="0" humidity-maximum="100" temperature-minimum="-5" temperature-maximum="5" altitude-minimum="1" altitude-maximum="3"/>
<modifier id="model.modifier.defence" type="percentage" value="50"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="2"/>
<output goods-type="model.goods.furs" value="1"/>
</production>
<production>
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.furs" value="3"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="4"/>
</production>
<production>
<output goods-type="model.goods.ore" value="1"/>
</production>
<resource type="model.resource.game" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
<tile-type id="model.tile.rainForest" basic-move-cost="9" basic-work-turns="7" is-forest="true">
<gen humidity-minimum="50" humidity-maximum="100" temperature-minimum="10" temperature-maximum="40" altitude-minimum="1" altitude-maximum="1"/>
<modifier id="model.modifier.defence" type="percentage" value="75"/>
<production unattended="true">
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.grain" value="2"/>
</production>
<production>
<output goods-type="model.goods.sugar" value="1"/>
</production>
<production>
<output goods-type="model.goods.lumber" value="4"/>
</production>
<production>
<output goods-type="model.goods.ore" value="1"/>
</production>
<resource type="model.resource.minerals" probability="100"/>
<disaster id="model.disaster.disease" probability="100"/>
<ability id="model.ability.ambushTerrain" value="true"/>
</tile-type>
</tile-types>
<tile-improvement-types>
<tile-improvement-type id="model.improvement.road" add-work-turns="0"
required-role="model.role.pioneer"
expended-amount="1" magnitude="1"
movement-cost="1" zIndex="350">
<scope method-name="isWater" method-value="false" />
<modifier id="model.goods.lumber" type="additive" value="2"/>
<modifier id="model.goods.ore" type="additive" value="1"/>
<modifier id="model.goods.silver" type="additive" value="1"/>
</tile-improvement-type>
</tile-improvement-types>
<unit-types>
<unit-type id="model.unit.indianConvert" offence="0" defence="1"
movement="3" line-of-sight="1" maximum-attrition="10"
score-value="3" skill="0">
<ability id="model.ability.person" value="true"/>
<ability id="model.ability.convert" value="true"/>
<ability id="model.ability.foundColony" value="false"/>
<modifier id="model.goods.grain" type="additive" value="1"/>
<modifier id="model.goods.sugar" type="additive" value="1"/>
<modifier id="model.goods.tobacco" type="additive" value="1"/>
<modifier id="model.goods.cotton" type="additive" value="1"/>
<modifier id="model.goods.furs" type="additive" value="2"/>
<modifier id="model.goods.fish" type="additive" value="1" />
<modifier id="model.goods.rum" type="additive" value="-2" />
<modifier id="model.goods.cigars" type="additive" value="-2" />
<modifier id="model.goods.cloth" type="additive" value="-2" />
<modifier id="model.goods.coats" type="additive" value="-2" />
<modifier id="model.goods.muskets" type="additive" value="-2" />
<modifier id="model.goods.bells" type="additive" value="-2" />
<modifier id="model.goods.crosses" type="additive" value="-2" />
<modifier id="model.goods.hammers" type="additive" value="-2" />
<modifier id="model.goods.tools" type="additive" value="-2" />
<downgrade unit="model.unit.freeColonist" delete="true" />
<upgrade unit="model.unit.freeColonist" learn-in-school="0"/>
<consumes id="model.goods.food" value="2" />
<consumes id="model.goods.bells" value="1" />
</unit-type>
</unit-types>
</freecol-specification>