何にしようか迷いましたが、比較的単純なやつで。
外洋と沿岸に建設できる「家船」を作ってみることにします。
(これも公開済みMODに(ry
基本的にユニーク系のものは流れが同じです。種類が違うだけ。
まずは性能を決めてしまいましょう。
新規にxmlを追加してください。ファイル名はNewLeader_Improvement.xmlとしましょう。作ったらPropertyへの登録をお忘れなく。
海の地形改善ですので、ベースは漁船を使います。定義名は「IMPROVEMENT_FISHING_BOATS」。
コピペしてきて改変したものがこちら。
<?xml version="1.0" encoding="utf-8"?> <GameInfo> <Types> <Row Type="IMPROVEMENT_hogehoge" Kind="KIND_IMPROVEMENT"/> </Types> <Improvements> <Row ImprovementType="IMPROVEMENT_hogehoge" Name="LOC_IMPROVEMENT_hogehoge_NAME" Description="LOC_IMPROVEMENT_hogehoge_DESCRIPTION" Icon="ICON_IMPROVEMENT_hogehoge" PlunderType="PLUNDER_HEAL" PlunderAmount="100" Buildable="true" PrereqTech="TECH_SHIPBUILDING" TraitType="TRAIT_CIVILIZATION_IMPROVEMENT_hogehoge" Housing="1" TilesRequired="1" Domain="DOMAIN_SEA"/> </Improvements> <Improvement_ValidTerrains> <Row ImprovementType="IMPROVEMENT_hogehoge" TerrainType="TERRAIN_COAST"/> <Row ImprovementType="IMPROVEMENT_hogehoge" TerrainType="TERRAIN_OCEAN"/> </Improvement_ValidTerrains> <Improvement_ValidBuildUnits> <Row ImprovementType="IMPROVEMENT_hogehoge" UnitType="UNIT_BUILDER"/> </Improvement_ValidBuildUnits> <Improvement_YieldChanges> <Row ImprovementType="IMPROVEMENT_hogehoge" YieldType="YIELD_GOLD" YieldChange="1"/> <Row ImprovementType="IMPROVEMENT_hogehoge" YieldType="YIELD_PRODUCTION" YieldChange="1"/> </Improvement_YieldChanges> <Improvement_BonusYieldChanges> <Row Id="51" ImprovementType="IMPROVEMENT_hogehoge" YieldType="YIELD_PRODUCTION" BonusYieldChange="1" PrereqTech="TECH_MASS_PRODUCTION"/> </Improvement_BonusYieldChanges> </GameInfo>
Types:親定義
Improvements:地形改善の性能詳細
ImprovementType | 親定義の指定 |
Name | 名称 |
Description | 説明 |
Icon | 改善アクションのアイコン |
PlunderType | 略奪で得られるボーナスの種類 |
PlunderAmount | 略奪で得られるボーナスの値 |
Buildable | 建造可能か。通常はtrue(国立公園の監視塔などはfalseになっています) |
PrereqTech | 解禁に必要な技術 |
TraitType | 紐付くTrait ユニークにするならば必須。 |
Housing | 住宅 |
TilesRequired | 住宅が+1されるのに必要なタイル数 |
Domain | 所属ドメイン DOMAIN_SEA = 沿岸や外洋 |
Improvement_ValidTerrains:改善できるタイルの種類
Improvement_ValidBuildUnits:改善を行えるユニット
Improvement_YieldChanges:改善されるボーナス
Improvement_BonusYieldChanges:テクノロジーや社会制度の獲得による追加ボーナス
他と同じように、ユニークにするならば文明か指導者どちらかに紐付ける必要があります。
今回は文明に紐付けます。
<?xml version="1.0" encoding="utf-8"?> <GameData> <Types> <Row Type="CIVILIZATION_FELINE" Kind="KIND_CIVILIZATION" /> <Row Type="TRAIT_CIVILIZATION_BUILDING_LITTER_BOX" Kind="KIND_TRAIT" /> <Row Type="TRAIT_CIVILIZATION_FELINE" Kind="KIND_TRAIT" /> <Row Type="TRAIT_CIVILIZATION_DISTRICT_hogehoge" Kind="KIND_TRAIT" /> <Row Type="TRAIT_CIVILIZATION_IMPROVEMENT_hogehoge" Kind="KIND_TRAIT" /> ★追加 </Types> <Civilizations> <Row> <CivilizationType>CIVILIZATION_FELINE</CivilizationType> <Name>LOC_CIVILIZATION_FELINE_NAME</Name> <Description>LOC_CIVILIZATION_FELINE_DESCRIPTION</Description> <Adjective>LOC_CIVILIZATION_FELINE_ADJECTIVE</Adjective> <StartingCivilizationLevelType>CIVILIZATION_LEVEL_FULL_CIV</StartingCivilizationLevelType> </Row> </Civilizations> <CivilizationLeaders> <Row CivilizationType="CIVILIZATION_FELINE" LeaderType="LEADER_JASPER_KITTY" CapitalName="LOC_CIVLIZATION_FELINE_CITY_1" /> </CivilizationLeaders> <CivilizationCitizenNames> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_MALE_1" Female="0"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_MALE_2" Female="0"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_MALE_3" Female="0"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_MALE_4" Female="0"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_FEMALE_1" Female="1"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_FEMALE_2" Female="1"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_FEMALE_3" Female="1"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_FEMALE_4" Female="1"/> <Row CivilizationType="CIVILIZATION_FELINE" CitizenName="LOC_CITIZEN_FELINE_FEMALE_5" Female="1"/> </CivilizationCitizenNames> <CivilizationInfo> <Row CivilizationType="CIVILIZATION_FELINE" Header="LOC_CIVINFO_BINOMIAL_NAME" Caption="LOC_CIVINFO_FELIS_CATUS" /> </CivilizationInfo> <CivilizationTraits> <Row CivilizationType="CIVILIZATION_FELINE" TraitType="TRAIT_CIVILIZATION_BUILDING_LITTER_BOX" /> <Row CivilizationType="CIVILIZATION_FELINE" TraitType="TRAIT_CIVILIZATION_FELINE"/> <Row CivilizationType="CIVILIZATION_FELINE" TraitType="TRAIT_CIVILIZATION_DISTRICT_hogehoge"/> <Row CivilizationType="CIVILIZATION_FELINE" TraitType="TRAIT_CIVILIZATION_IMPROVEMENT_hogehoge"/> ★追加 </CivilizationTraits> <Traits> <Row TraitType="TRAIT_CIVILIZATION_BUILDING_LITTER_BOX" Name="LOC_PLACEHOLDER" Description="LOC_PLACEHOLDER" /> <Row TraitType="TRAIT_CIVILIZATION_FELINE" Name="LOC_TRAIT_CIVILIZATION_FELINE_NAME" Description="LOC_TRAIT_CIVILIZATION_FELINE_DESCRIPTION"/> <Row TraitType="TRAIT_CIVILIZATION_DISTRICT_hogehoge" Name="LOC_TRAIT_CIVILIZATION_DISTRICT_hogehoge_NAME" /> <Row TraitType="TRAIT_CIVILIZATION_IMPROVEMENT_hogehoge" Name="LOC_TRAIT_CIVILIZATION_IMPROVEMENT_hogehoge_NAME" /> ★追加 </Traits>
他のユニークと同様、文明選択画面への表示部分を追加します。
<SortIndex>30</SortIndex> </Row> <Row> ★追加 <Domain>StandardPlayers</Domain> ★追加 <CivilizationType>CIVILIZATION_FELINE</CivilizationType> ★追加 <LeaderType>LEADER_JASPER_KITTY</LeaderType> ★追加 <Type>IMPROVEMENT_hogehoge</Type> ★追加 <Name>LOC_IMPROVEMENT_hogehoge_NAME</Name> ★追加 <Description>LOC_IMPROVEMENT_hogehoge_DESCRIPTION</Description> ★追加 <Icon>ICON_IMPROVEMENT_hogehoge</Icon> ★追加 <SortIndex>40</SortIndex> ★追加 </Row> ★追加 </PlayerItems> </GameData>
他のユニークと同様、名称や説明などを書きます。
<Row Tag="LOC_IMPROVEMENT_hogehoge_NAME" Language="en_US"> ★追加 <Text>House Boat</Text> ★追加 </Row> ★追加 <Row Tag="LOC_IMPROVEMENT_hogehoge_DESCRIPTION" Language="en_US"> ★追加 <Text>Unlocks the Builder ability to construct a House Boat, unique to Majestic Felines.[NEWLINE][NEWLINE]+1 [ICON_Gold] Gold, [ICON_Production] Production and +1 [ICON_Housing] Housing. Can be built on Coasts and Oceans.</Text> ★追加 </Row> ★追加 <Row Tag="LOC_TRAIT_CIVILIZATION_IMPROVEMENT_hogehoge_NAME" Language="en_US"> ★追加 <Text>Majestic Felines unique Improvement: House Boat</Text> ★追加 </Row> ★追加 <Row Tag="LOC_PEDIA_BUILDINGS_PAGE_IMPROVEMENT_hogehoge_CHAPTER_HISTORY_PARA_1" Language="en_US"> ★追加 <Text></Text> ★追加 </Row> ★追加 </LocalizedText> </GameData>
地形改善の見た目を表示するためのArtdefを記述します。
ファイル名は「hogehoge_Improvement.artdef」とします。
内容はバニラのArtdefから漁船のものをコピーしてきましょう。
ファイルは
Sid Meier's Civilization VI/Base/Artdefs/Improvements.artdef
です。また、漁船の定義名は「IMPROVEMENT_FISHING_BOATS」です。
必要最小限をコピーして改変したものが以下となります。
<?xml version="1.0" encoding="utf-8" ?> <AssetObjects:ArtDefSet> <m_Version> <major>4</major> <minor>0</minor> <build>250</build> <revision>203</revision> </m_Version> <m_TemplateName text="Improvements"/> <m_RootCollections> <Element> <m_CollectionName text="Improvement"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> <Element> <m_Fields> <m_Values/> </m_Fields> <m_ChildCollections> <Element> <m_CollectionName text="Audio"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> <Element> <m_Fields> <m_Values> <Element class="AssetObjects:StringValue"> <m_Value text="FishingBoat"/> <m_ParamName text="XrefName"/> </Element> </m_Values> </m_Fields> <m_ChildCollections/> <m_Name text="XrefName"/> <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> </Element> <Element> <m_CollectionName text="StrategicView"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> <Element> <m_Fields> <m_Values> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="FishingBoats_Pillaged"/> <m_RootCollectionName text="Improvements"/> <m_ArtDefPath text="StrategicView.artdef"/> <m_CollectionIsLocked>false</m_CollectionIsLocked> <m_TemplateName text="StrategicView"/> <m_ParamName text="XrefName"/> </Element> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="Pillaged"/> <m_RootCollectionName text="BuildStates"/> <m_ArtDefPath text="Improvements.artdef"/> <m_CollectionIsLocked>true</m_CollectionIsLocked> <m_TemplateName text="Improvements"/> <m_ParamName text="State"/> </Element> </m_Values> </m_Fields> <m_ChildCollections/> <m_Name text="StrategicView002"/> <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> <Element> <m_Fields> <m_Values> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="FishingBoats"/> <m_RootCollectionName text="Improvements"/> <m_ArtDefPath text="StrategicView.artdef"/> <m_CollectionIsLocked>false</m_CollectionIsLocked> <m_TemplateName text="StrategicView"/> <m_ParamName text="XrefName"/> </Element> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="Completed"/> <m_RootCollectionName text="BuildStates"/> <m_ArtDefPath text="Improvements.artdef"/> <m_CollectionIsLocked>true</m_CollectionIsLocked> <m_TemplateName text="Improvements"/> <m_ParamName text="State"/> </Element> </m_Values> </m_Fields> <m_ChildCollections/> <m_Name text="StrategicView001"/> <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> </Element> <Element> <m_CollectionName text="Landmark"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> <Element> <m_Fields> <m_Values> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="LM_FISHING_BOATS"/> <m_RootCollectionName text="Landmarks"/> <m_ArtDefPath text="Landmarks.artdef"/> <m_CollectionIsLocked>true</m_CollectionIsLocked> <m_TemplateName text="Landmarks"/> <m_ParamName text="Xref"/> </Element> <Element class="AssetObjects:BoolValue"> <m_bValue>true</m_bValue> <m_ParamName text="SuppressResource"/> </Element> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="ANYTHING"/> <m_RootCollectionName text=""/> <m_ArtDefPath text=""/> <m_CollectionIsLocked>true</m_CollectionIsLocked> <m_TemplateName text=""/> <m_ParamName text="WhenAdjacentTo"/> </Element> <Element class="AssetObjects:ArtDefReferenceValue"> <m_ElementName text="NONE"/> <m_RootCollectionName text=""/> <m_ArtDefPath text=""/> <m_CollectionIsLocked>true</m_CollectionIsLocked> <m_TemplateName text=""/> <m_ParamName text="Fence"/> </Element> <Element class="AssetObjects:IntValue"> <m_nValue>0</m_nValue> <m_ParamName text="Priority"/> </Element> </m_Values> </m_Fields> <m_ChildCollections> <Element> <m_CollectionName text="WhenAffectedBy"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> </Element> </m_ChildCollections> <m_Name text="Landmark1"/> <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> </Element> <Element> <m_CollectionName text="Clutter"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> </Element> <Element> <m_CollectionName text="Lighting"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> </Element> <Element> <m_CollectionName text="Activity"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> </Element> <Element> <m_CollectionName text="GreatWall"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> </Element> </m_ChildCollections> <m_Name text="IMPROVEMENT_hogehoge"/> ★ここを「IMPROVEMENT_FISHING_BOATS」から変更 <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> </Element> <Element> <m_CollectionName text="BuildStates"/> <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements> <Element> <m_Fields> <m_Values/> </m_Fields> <m_ChildCollections/> <m_Name text="Completed"/> <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> <Element> <m_Fields> <m_Values/> </m_Fields> <m_ChildCollections/> <m_Name text="Pillaged"/> <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections> </Element> </Element> </m_RootCollections> </AssetObjects:ArtDefSet>
以下3か所に作ったArtdefを登録するとちゃんと見えるようになります。
<Element> <consumerName text="Improvements"/> <relativeArtDefPaths> <Element text="hogehoge_Improvement.artdef"/> ★追加 </relativeArtDefPaths> <libraryDependencies/> <loadsLibraries>false</loadsLibraries> </Element> <Element> <consumerName text="WorldView_Translate"/> <relativeArtDefPaths> <Element text="hogehoge_Districts.artdef"/> <Element text="hogehoge_Improvement.artdef"/> ★追加 </relativeArtDefPaths> <libraryDependencies/> <loadsLibraries>false</loadsLibraries> </Element> <Element> <consumerName text="StrategicView_Translate"/> <relativeArtDefPaths> <Element text="hogehoge_Districts.artdef"/> <Element text="hogehoge_Improvement.artdef"/> ★追加 </relativeArtDefPaths> <libraryDependencies/> <loadsLibraries>false</loadsLibraries> </Element>
地形改善のアクションアイコンは256,80,50,38のサイズが必要になります。
が、今回も使いまわしましょう。とりあえず漁船ので。
\Sid Meier's Civilization VI\Base\Assets\UI\Icons
以下の、Icons_UnitActions.xml内。IconDefinitionsから使いたいアイコンの記述をコピーしてきて、Nameを書き変えるだけです。
NewLeader_Icons.xmlへ追加します。
<Row Name="ICON_IMPROVEMENT_hogehoge" Atlas="ICON_ATLAS_UNIT_ACTIONS" Index="4"/> ★追加 </IconDefinitions> </GameData>
これで完成です。
ビルドして確認しましょう。
ここまで作業したものを以下に上げておきます。
https://www.axfc.net/u/3837980