MOD/作成方法

文明特性 Edit

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

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

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

NewLeader_Felines.xml Edit

文明の特性そのものの記述は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>

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

NewLeader_ConfigText.xml Edit

また、ゲーム開始時の文明選択で表示されるように、文明の概要を書き換えます。
書き換えるのは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>

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

効果確認 Edit

うまくいっていれば、文明選択時に特性がちゃんと表示されます。
20170817211644_1.jpg

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

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

備考 Edit

ここまで作業したものを以下に上げておきます。
https://www.axfc.net/u/3835502



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