お試しで以下のような効果を実装してみたいと思います。
雪原から食料+1、文化力+1、科学力+1を得る
なお、参考(コピー元)にしているのはロシアの特性です。
基本バニラからコピーして書き換えるのが楽ですし間違いがありません。
あちらはツンドラからボーナスを得ますので、地形を雪原に変更、得られるものも変更という形です。
文明の特性そのものの記述はSDKのサンプルだと「NewReader_Felines.xml」が該当します。
ここに効果を書き加えます。
<Types>に以下追加
<Row Type="TRAIT_CIVILIZATION_FELINE" Kind="KIND_TRAIT" />
<CivilizationTraits>に以下追加
<Row CivilizationType="CIVILIZATION_FELINE" TraitType="TRAIT_CIVILIZATION_FELINE"/>
<Traits>へ以下追加
<Row TraitType="TRAIT_CIVILIZATION_FELINE" Name="LOC_TRAIT_CIVILIZATION_FELINE_NAME" Description="LOC_TRAIT_CIVILIZATION_FELINE_DESCRIPTION"/>
NameとDescriptionは特性名とその説明です。内容は別ファイルに書かれています。(後述)
ここまではすでにある要素への追加ですが、ここから要素丸ごと追加です。
(サンプルには文明特性自体がない、かつ雪原からボーナスを得るような特性はバニラにはございませんので・・・)
まずModifier系。以下のように追加します。
<TraitModifiers> <Row> <TraitType>TRAIT_CIVILIZATION_FELINE</TraitType> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_FOOD</ModifierId> </Row> <Row> <TraitType>TRAIT_CIVILIZATION_FELINE</TraitType> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_CULTURE</ModifierId> </Row> <Row> <TraitType>TRAIT_CIVILIZATION_FELINE</TraitType> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_SCIENCE</ModifierId> </Row> <Row> <TraitType>TRAIT_CIVILIZATION_FELINE</TraitType> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_FOOD</ModifierId> </Row> <Row> <TraitType>TRAIT_CIVILIZATION_FELINE</TraitType> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_CULTURE</ModifierId> </Row> <Row> <TraitType>TRAIT_CIVILIZATION_FELINE</TraitType> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_SCIENCE</ModifierId> </Row> </TraitModifiers> <Modifiers> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_FOOD</ModifierId> <ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType> <SubjectRequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS_FELINE</SubjectRequirementSetId> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_CULTURE</ModifierId> <ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType> <SubjectRequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS_FELINE</SubjectRequirementSetId> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_SCIENCE</ModifierId> <ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType> <SubjectRequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS_FELINE</SubjectRequirementSetId> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_FOOD</ModifierId> <ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType> <SubjectRequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS_FELINE</SubjectRequirementSetId> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_CULTURE</ModifierId> <ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType> <SubjectRequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS_FELINE</SubjectRequirementSetId> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_SCIENCE</ModifierId> <ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType> <SubjectRequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS_FELINE</SubjectRequirementSetId> </Row> </Modifiers> <ModifierArguments> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_FOOD</ModifierId> <Name>YieldType</Name> <Value>YIELD_FOOD</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_FOOD</ModifierId> <Name>Amount</Name> <Value>1</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_CULTURE</ModifierId> <Name>YieldType</Name> <Value>YIELD_CULTURE</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_CULTURE</ModifierId> <Name>Amount</Name> <Value>1</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_SCIENCE</ModifierId> <Name>YieldType</Name> <Value>YIELD_SCIENCE</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_SCIENCE</ModifierId> <Name>Amount</Name> <Value>1</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_FOOD</ModifierId> <Name>YieldType</Name> <Value>YIELD_FOOD</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_FOOD</ModifierId> <Name>Amount</Name> <Value>1</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_CULTURE</ModifierId> <Name>YieldType</Name> <Value>YIELD_CULTURE</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_CULTURE</ModifierId> <Name>Amount</Name> <Value>1</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_SCIENCE</ModifierId> <Name>YieldType</Name> <Value>YIELD_SCIENCE</Value> </Row> <Row> <ModifierId>TRAIT_FELINE_INCREASED_SNOW_HILLS_SCIENCE</ModifierId> <Name>Amount</Name> <Value>1</Value> </Row> </ModifierArguments>
これはなにかといいますと文明特性の効果そのものです。
6項目ありますが、
となっています。
さらにRequirements系。これもごっそりと追加になります。
<RequirementSets> <Row> <RequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS_FELINE</RequirementSetId> <RequirementSetType>REQUIREMENTSET_TEST_ALL</RequirementSetType> </Row> <Row> <RequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS_FELINE</RequirementSetId> <RequirementSetType>REQUIREMENTSET_TEST_ALL</RequirementSetType> </Row> </RequirementSets> <Requirements> <Row> <RequirementId>REQUIRES_PLOT_HAS_SNOW_FELINE</RequirementId> <RequirementType>REQUIREMENT_PLOT_TERRAIN_TYPE_MATCHES</RequirementType> </Row> <Row> <RequirementId>REQUIRES_PLOT_HAS_SNOW_HILLS_FELINE</RequirementId> <RequirementType>REQUIREMENT_PLOT_TERRAIN_TYPE_MATCHES</RequirementType> </Row> </Requirements> <RequirementArguments> <Row> <RequirementId>REQUIRES_PLOT_HAS_SNOW_FELINE</RequirementId> <Name>TerrainType</Name> <Value>TERRAIN_SNOW</Value> </Row> <Row> <RequirementId>REQUIRES_PLOT_HAS_SNOW_HILLS_FELINE</RequirementId> <Name>TerrainType</Name> <Value>TERRAIN_SNOW_HILLS</Value> </Row> </RequirementArguments> <RequirementSetRequirements> <Row> <RequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS_FELINE</RequirementSetId> <RequirementId>REQUIRES_PLOT_HAS_SNOW_FELINE</RequirementId> </Row> <Row> <RequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS_FELINE</RequirementSetId> <RequirementId>REQUIRES_PLOT_HAS_SNOW_HILLS_FELINE</RequirementId> </Row> </RequirementSetRequirements>
これは「雪原からボーナスを得る」という部分の設定になります。
さらに、このままではテストしづらいですので、ロシアの特徴である「ツンドラスタートになりやすい」もコピーしてきます。
<StartBiasTerrains> <Row CivilizationType="CIVILIZATION_FELINE" TerrainType="TERRAIN_TUNDRA" Tier="3"/> <Row CivilizationType="CIVILIZATION_FELINE" TerrainType="TERRAIN_TUNDRA_HILLS" Tier="3"/> </StartBiasTerrains>
以上でこのファイルの追加はおわり。
また、ゲーム開始時の文明選択で表示されるように、文明の概要を書き換えます。
書き換えるのはLOC_TRAIT_CIVILIZATION_FELINE_DESCRIPTIONです。
<Row Tag="LOC_TRAIT_CIVILIZATION_FELINE_DESCRIPTION" Language="en_US"> <Text>+1 [ICON_Food] Food, +1 [ICON_Culture] Culture and +1 [ICON_Science] Science from Snow.</Text> </Row>
以上ですべておわり。ビルドして反映させましょう。
うまくいっていれば、文明選択時に特性がちゃんと表示されます。
実際に何のボーナスもない平地の雪原を含めて都市出ししてみると・・・
上記サンプルでは雪原、雪原丘陵/文化、食料、科学をサンプルしていますが、それ以外はおおよそ。
地形/特徴 | -- | 丘陵 | 山岳 | ||
草原 | GRASS | GRASS_HILLS | |||
平原 | PLAINS | PLAINS_HILLS | |||
砂漠 | DESERT | DESERT_HILLS | |||
ツンドラ | TUNDRA | TUNDRA_HILLS | |||
雪原 | SNOW | SNOW_HILLS | |||
沿岸 | COAST | -- | |||
海 | OCEAN | -- |
産出 | |
食料 | YIELD_FOOD |
生産力 | YIELD_PRODUCTION |
ゴールド | YIELD_GOLD |
文化力 | YIELD_CULTURE |
科学力 | YIELD_SCIENCE |
信仰力 | YIELD_FAITH |
もっと詳しく知りたい方は、
\Sid Meier's Civilization VI\Base\Assets\Gameplay\Data
以下の、Terrains.xml及びYields.xml内に定義が書かれています。
ここまで作業したものを以下に上げておきます。
https://www.axfc.net/u/3835502