MOD/作成方法

文明特性 Edit

お試しで以下のような効果を実装してみたいと思います。

雪原から信仰力+1、文化力+1、科学力+1を得る

特性名は「雪の女王」としましょう。

なお、参考(コピー元)にしているのはロシアの特性です。
基本バニラからコピーして書き換えるのが楽ですし間違いがありません。
あちらはツンドラからボーナスを得ますので、地形を雪原に変更、得られるものも変更という形です。

NewLeader_Felines.xml Edit

文明の特性そのものの記述はSDKのサンプルだと「NewReader_Felines.xml」が該当します。
ここに効果を書き加えます。

<Types>に以下追加

<Row Type="TRAIT_CIVILIZATION_SNOW_QUEEN" Kind="KIND_TRAIT" />

<CivilizationTraits>に以下追加

<Row CivilizationType="CIVILIZATION_FELINE" TraitType="TRAIT_CIVILIZATION_SNOW_QUEEN"/>

<Traits>へ以下追加

<Row TraitType="TRAIT_CIVILIZATION_SNOW_QUEEN" Name="LOC_TRAIT_CIVILIZATION_SNOW_QUEEN_NAME" Description="LOC_TRAIT_CIVILIZATION_SNOW_QUEEN_DESCRIPTION"/>

NameとDescriptionは特性名とその説明です。別ファイルへの追加になります。(後述)

ここまではすでにある要素への追加ですが、ここから要素丸ごと追加です。
(サンプルには文明特性自体がない、かつ雪原からボーナスを得るような特性はバニラにはございませんので・・・)

まずModifier系。以下のように追加します。

	<TraitModifiers>
		<Row>
			<TraitType>TRAIT_CIVILIZATION_SNOW_QUEEN</TraitType>
			<ModifierId>TRAIT_INCREASED_SNOW_FOOD</ModifierId>
		</Row>
		<Row>
			<TraitType>TRAIT_CIVILIZATION_SNOW_QUEEN</TraitType>
			<ModifierId>TRAIT_INCREASED_SNOW_CULTURE</ModifierId>
		</Row>
		<Row>
			<TraitType>TRAIT_CIVILIZATION_SNOW_QUEEN</TraitType>
			<ModifierId>TRAIT_INCREASED_SNOW_SCIENCE</ModifierId>
		</Row>
		<Row>
			<TraitType>TRAIT_CIVILIZATION_SNOW_QUEEN</TraitType>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_FOOD</ModifierId>
		</Row>
		<Row>
			<TraitType>TRAIT_CIVILIZATION_SNOW_QUEEN</TraitType>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_CULTURE</ModifierId>
		</Row>
		<Row>
			<TraitType>TRAIT_CIVILIZATION_SNOW_QUEEN</TraitType>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_SCIENCE</ModifierId>
		</Row>
	</TraitModifiers>
	<Modifiers>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_FOOD</ModifierId>
			<ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType>
			<SubjectRequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS</SubjectRequirementSetId>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_CULTURE</ModifierId>
			<ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType>
			<SubjectRequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS</SubjectRequirementSetId>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_SCIENCE</ModifierId>
			<ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType>
			<SubjectRequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS</SubjectRequirementSetId>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_FOOD</ModifierId>
			<ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType>
			<SubjectRequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS</SubjectRequirementSetId>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_CULTURE</ModifierId>
			<ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType>
			<SubjectRequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS</SubjectRequirementSetId>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_SCIENCE</ModifierId>
			<ModifierType>MODIFIER_PLAYER_ADJUST_PLOT_YIELD</ModifierType>
			<SubjectRequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS</SubjectRequirementSetId>
		</Row>
	</Modifiers>
	<ModifierArguments>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_FOOD</ModifierId>
			<Name>YieldType</Name>
			<Value>YIELD_FOOD</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_FOOD</ModifierId>
			<Name>Amount</Name>
			<Value>1</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_CULTURE</ModifierId>
			<Name>YieldType</Name>
			<Value>YIELD_CULTURE</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_CULTURE</ModifierId>
			<Name>Amount</Name>
			<Value>1</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_SCIENCE</ModifierId>
			<Name>YieldType</Name>
			<Value>YIELD_SCIENCE</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_SCIENCE</ModifierId>
			<Name>Amount</Name>
			<Value>1</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_FOOD</ModifierId>
			<Name>YieldType</Name>
			<Value>YIELD_FOOD</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_FOOD</ModifierId>
			<Name>Amount</Name>
			<Value>1</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_CULTURE</ModifierId>
			<Name>YieldType</Name>
			<Value>YIELD_CULTURE</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_CULTURE</ModifierId>
			<Name>Amount</Name>
			<Value>1</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_SCIENCE</ModifierId>
			<Name>YieldType</Name>
			<Value>YIELD_SCIENCE</Value>
		</Row>
		<Row>
			<ModifierId>TRAIT_INCREASED_SNOW_HILLS_SCIENCE</ModifierId>
			<Name>Amount</Name>
			<Value>1</Value>
		</Row>
	</ModifierArguments>

これはなにかといいますと文明特性の効果そのものです。
6項目ありますが、

となっています。

さらにRequirements系。これもごっそりと追加になります。

	<RequirementSets>
		<Row>
			<RequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS</RequirementSetId>
			<RequirementSetType>REQUIREMENTSET_TEST_ALL</RequirementSetType>
		</Row>
		<Row>
			<RequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS</RequirementSetId>
			<RequirementSetType>REQUIREMENTSET_TEST_ALL</RequirementSetType>
		</Row>
	</RequirementSets>
	<Requirements>
		<Row>
			<RequirementId>REQUIRES_PLOT_HAS_SNOW</RequirementId>
			<RequirementType>REQUIREMENT_PLOT_TERRAIN_TYPE_MATCHES</RequirementType>
		</Row>
		<Row>
			<RequirementId>REQUIRES_PLOT_HAS_SNOW_HILLS</RequirementId>
			<RequirementType>REQUIREMENT_PLOT_TERRAIN_TYPE_MATCHES</RequirementType>
		</Row>
	</Requirements>
	<RequirementArguments>
		<Row>
			<RequirementId>REQUIRES_PLOT_HAS_SNOW</RequirementId>
			<Name>TerrainType</Name>
			<Value>TERRAIN_SNOW</Value>
		</Row>
		<Row>
			<RequirementId>REQUIRES_PLOT_HAS_SNOW_HILLS</RequirementId>
			<Name>TerrainType</Name>
			<Value>TERRAIN_SNOW_HILLS</Value>
		</Row>
	</RequirementArguments>
	<RequirementSetRequirements>
		<Row>
			<RequirementSetId>PLOT_HAS_SNOW_REQUIREMENTS</RequirementSetId>
			<RequirementId>REQUIRES_PLOT_HAS_SNOW</RequirementId>
		</Row>
		<Row>
			<RequirementSetId>PLOT_HAS_SNOW_HILLS_REQUIREMENTS</RequirementSetId>
			<RequirementId>REQUIRES_PLOT_HAS_SNOW_HILLS</RequirementId>
		</Row>
	</RequirementSetRequirements>

これは「雪原からボーナスを得る」という部分の設定になります。

さらに、このままではテストしずらいですので、ロシアの特徴である「ツンドラスタートになりやすい」もコピーしてきます。

	<StartBiasTerrains>
		<Row CivilizationType="CIVILIZATION_FELINE" TerrainType="TERRAIN_TUNDRA" Tier="3"/>
		<Row CivilizationType="CIVILIZATION_FELINE" TerrainType="TERRAIN_TUNDRA_HILLS" Tier="3"/>
	</StartBiasTerrains>

以上でこのファイルの追加はおわり。

NewLeader_ConfigText.xml Edit

効果の説明文をNewLeader_ConfigText.xmlへ。サンプルが英語なのでとりあえず英語で。
日本語化は別記事を参照ください(多言語対応(日本語化))。

		<Row Tag="LOC_TRAIT_CIVILIZATION_SNOW_QUEEN_NAME" Language="en_US">
			<Text>Snow Queen</Text>
		</Row>
		<Row Tag="LOC_TRAIT_CIVILIZATION_SNOW_QUEEN_DESCRIPTION" Language="en_US">
			<Text>+1 [ICON_Food] Food, +1 [ICON_Culture] Culture and +1 [ICON_Science] Science from Snow.</Text>
		</Row>

NewLeader_Config.xml Edit

ゲーム開始時の文明選択で表示されるように、NewLeader_Config.xmlの該当箇所を書き換えます。

			<CivilizationAbilityName>LOC_TRAIT_CIVILIZATION_SNOW_QUEEN_NAME</CivilizationAbilityName>
			<CivilizationAbilityDescription>LOC_TRAIT_CIVILIZATION_SNOW_QUEEN_DESCRIPTION</CivilizationAbilityDescription>

以上ですべておわり。ビルドして反映させましょう。

効果確認 Edit

うまくいっていれば、文明選択時に特性がちゃんと表示されます。
&ref(): File not found: "20170610185810_1.jpg" at page "MOD/作成方法/新文明・指導者/文明特性";

実際に何のボーナスもない平地の雪原を含めて都市出ししてみると・・・
20170610190903_1.jpg

こうなります(笑)
20170610190923_1.jpg



このエントリーをはてなブックマークに追加