#author("2017-03-26T01:25:44+09:00","","") #author("2019-04-15T14:15:28+00:00","","") *MOD/MODの作り方/世界遺産を改造してみよう [#ya95fe49] #contents **初めに [#od64801b] 筆者は文才もMOD知識も半人前以下です。 そんな筆者が新文明を追加してみように感化され作ったページですので、 間違いや分かり難いところが多々あると思います。 正しい知識や文才をお持ちの方はどんどん加筆修正してください。 **世界遺産の選定 [#xc46ec7f] まずはどんな世界遺産を作るか考えます。 世界遺産は完成画像、格言のナレーションや3Dアートなど、xmlを弄るだけどうしようもない部分が多々あります。 そこで今回は既存の世界遺産を改造するという形式にします。 それでは改造する世界遺産を決めましょう。 今回はサンプルとして公式チートの"万里の長城"を改造してみましょう。 性能は、”自友国領内での戦闘に限り、陸上ユニットに防御力ボーナス+25%。全都市に無償の防壁を供給。” でいかがでしょうか? **万里の長城の消去 [#oe39cf84] 既存の建物を改造する場合、消去して一から作る方法と、アップデートする方法があります。 アップデートする方法のほうがスマートなのですが、消去して一から作る方がエラーが出にくく分かりやすいので、 今回は一から作ることにします。 <Buildings> <Delete Type="BUILDING_GREAT_WALL"/> </Buildings> これで消去されるのは、<Buildings>タグ内のみのデータとなります。 Building_Flavorsなどは消去されないので、わざわざ設定する必要はありません。 文明やユニットの場合も同様に消去できます。 **Buildings [#gfc7941a] [[MOD/MODの作り方/国家遺産を追加してみよう]]でも触れましたが、 一からxmlを書くのは大変なので、同じような性能の建造物のxmlを引っ張ってきましょう。 今回は改造ですので”万里の長城”を引っ張ってきます。 建造物のxmlはciv5をインストールしたフォルダの\assets\DLC\Expansion2\Gameplay\XML\Buildings\CIV5Buildings.xml、 もしくは\assets\DLC\Expansion2\Gameplay\XML\Buildings\CIV5Buildings_Expansion2.xml、 他にも\assets\DLC\Expansion2\Gameplay\XML\Buildings\CIV5Buildings_Inherited_Expansion2あたりにあります。 <Buildings> ~省略~ <Row> <Type>BUILDING_GREAT_WALL</Type> <BuildingClass>BUILDINGCLASS_GREAT_WALL</BuildingClass> <Cost>250</Cost> <PrereqTech>TECH_ENGINEERING</PrereqTech> <Help>TXT_KEY_WONDER_GREAT_WALL_HELP</Help> <Description>TXT_KEY_BUILDING_GREAT_WALL</Description> <Civilopedia>TXT_KEY_WONDER_GREATWALL_DESC</Civilopedia> <Quote>TXT_KEY_WONDER_GREATWALL_QUOTE</Quote> <ArtDefineTag>ART_DEF_BUILDING_GREAT_WALL</ArtDefineTag> <MaxStartEra>ERA_MEDIEVAL</MaxStartEra> <ObsoleteTech>TECH_DYNAMITE</ObsoleteTech> <BorderObstacle>true</BorderObstacle> <SpecialistType>SPECIALIST_ENGINEER</SpecialistType> <GreatPeopleRateChange>1</GreatPeopleRateChange> <NukeImmune>true</NukeImmune> <HurryCostModifier>-1</HurryCostModifier> <MinAreaSize>-1</MinAreaSize> <ConquestProb>100</ConquestProb> <FreeBuildingThisCity>BUILDINGCLASS_WALLS</FreeBuildingThisCity> <DisplayPosition>2</DisplayPosition> <IconAtlas>BW_ATLAS_2</IconAtlas> <PortraitIndex>7</PortraitIndex> <WonderSplashImage>WonderConceptGreatWall.dds</WonderSplashImage> <WonderSplashAudio>AS2D_WONDER_SPEECH_THE_GREAT_WALL</WonderSplashAudio> </Row> ~省略~ </Buildings> ''<Type>''、''<BuildingClass>''タグでは、建造物の種類を定めます。 ''<Type>''タグは全ての建造物で別のものを指定する必要があります。 ''<BuildingClass>''タグはUBの元となる建造物を示しています。 ''<Cost>''タグでは、生産コストを定めます。 ''<PrereqTech>''タグでは、生産に必要な技術を定めます。 ''<Help>''タグでは、技術ツリーや生産画面で建造物にカーソルを合わせた時に表示されるテキスト、 ''<Description>''タグではタグでは建造物の名前、''<Civilopedia>''タグではシヴィロペディアの歴史情報、 ''<Quote>''タグでは完成時に表示される格言を指定します。 これらのタグも内容がそのまま表示されるのではなく、あくまでキーの指定となります。 ''<ArtDefineTag>''タグでは、万里の長城の見た目に使用するキーが指定されています。。 グラフィックに関するキーなので、アイコンについては別のタグで記述する必要があります。 ''<MaxStartEra>''タグでは、スタート時代がどこまでなら建設可能かを指定します。 ''<ObsoleteTech>''タグでは、陳腐化するテクノロジーを指定します。 公式チート程の性能ではないので、陳腐化しないようにしましょう。 ''NULL''に変更します。 ''<BorderObstacle>''タグでは、移動ポイントの消費を増やすかを指定します。 ''false''に変更します。 ''<SpecialistType>''、''<GreatPeopleRateChange>''タグでは、偉人の種類と偉人ポイントの増加量を指定します。 ''<NukeImmune>''タグでは、核兵器で破壊されないようにできます。 ''<HurryCostModifier>''タグでは、建造物を購入するときのコスト補正を指定します。 ''<MinAreaSize>''タグでは、建造物を建てるのに必要とする特定のタイル数を指定します。 ''<ConquestProb>''タグでは、占領されたときの残存確率を指定します。 ''<FreeBuildingThisCity>''タグでは、建設された都市に贈られる無償の建物を指定します。 ''<FreeBuilding>''にタグを変えると、全都市に無償の建物が送られます。 ''<FreeBuildingThisCity>''タグを''<FreeBuilding>''に変更します。 ''<DisplayPosition>''タグでは、…分かりません。 ''<DisplayPosition>''タグでは、グラフィックのグループを設定します。たとえば、この数字が1の古典時代の遺産を建設した後、中世やルネサンス時代の1の数字を持つ遺産を建設した場合グラフィックが上書きされます ''<IconAtlas>''、''<PortraitIndex>''タグでは、建造物が使用するアイコンキーを指定します。 ''<WonderSplashImage>''タグでは、完成時のスプラッシュ画像を指定します。 ''<WonderSplashAudio>''タグでは、完成時のナレーションを指定します。 ''<FreePromotion>''タグでは、ユニットに与えられる昇進を指定します。 ''<TrainedFreePromotion>''タグにすると、建設された都市で生産されたユニットのみに昇進が与えられます。 ''<FreePromotion>PROMOTION_GREAT_WALL</FreePromotion>''を追加します。 ***まとめ [#b2a95811] 以上の記述をまとめると以下のようになります <Buildings> <Delete Type="BUILDING_GREAT_WALL"/> <Row> <Type>BUILDING_GREAT_WALL</Type> <BuildingClass>BUILDINGCLASS_GREAT_WALL</BuildingClass> <Cost>250</Cost> <PrereqTech>TECH_ENGINEERING</PrereqTech> <Help>TXT_KEY_WONDER_GREAT_WALL_HELP</Help> <Description>TXT_KEY_BUILDING_GREAT_WALL</Description> <Civilopedia>TXT_KEY_WONDER_GREATWALL_DESC</Civilopedia> <Quote>TXT_KEY_WONDER_GREATWALL_QUOTE</Quote> <ArtDefineTag>ART_DEF_BUILDING_GREAT_WALL</ArtDefineTag> <MaxStartEra>ERA_MEDIEVAL</MaxStartEra> <ObsoleteTech>NULL</ObsoleteTech> <BorderObstacle>false</BorderObstacle> <SpecialistType>SPECIALIST_ENGINEER</SpecialistType> <GreatPeopleRateChange>1</GreatPeopleRateChange> <NukeImmune>true</NukeImmune> <HurryCostModifier>-1</HurryCostModifier> <MinAreaSize>-1</MinAreaSize> <ConquestProb>100</ConquestProb> <FreeBuilding>BUILDINGCLASS_WALLS</FreeBuilding> <DisplayPosition>2</DisplayPosition> <IconAtlas>BW_ATLAS_2</IconAtlas> <PortraitIndex>7</PortraitIndex> <WonderSplashImage>WonderConceptGreatWall.dds</WonderSplashImage> <WonderSplashAudio>AS2D_WONDER_SPEECH_THE_GREAT_WALL</WonderSplashAudio> <FreePromotion>PROMOTION_GREAT_WALL</FreePromotion> </Row> </Buildings> **UnitPromotions [#n1ded3a4] 昇進のxmlはciv5をインストールしたフォルダの\assets\DLC\Expansion2\Gameplay\XML\Units\CIV5UnitPromotions.xml、 もしくは\assets\DLC\Expansion2\Gameplay\XML\Units\CIV5UnitPromotions_Expansion2.xml、 他にも\assets\DLC\Expansion2\Gameplay\XML\Units\CIV5UnitPromotions_Inherited_Expansion2.xmlあたりにあります。 <UnitPromotions> <Row> <Type>PROMOTION_GREAT_WALL</Type> <Description>TXT_KEY_PROMOTION_GREAT_WALL</Description> <Help>TXT_KEY_PROMOTION_GREAT_WALL_HELP</Help> <Sound>AS2D_IF_LEVELUP</Sound> <CannotBeChosen>true</CannotBeChosen> <FriendlyLandsModifier>25</FriendlyLandsModifier> <FriendlyLandsAttackModifier>-25</FriendlyLandsAttackModifier> <PortraitIndex>59</PortraitIndex> <IconAtlas>ABILITY_ATLAS</IconAtlas> <PediaType>PEDIA_SHARED</PediaType> <PediaEntry>TXT_KEY_PROMOTION_GREAT_WALL</PediaEntry> </Row> </UnitPromotions> ''<Type>''タグでは、昇進の種類を定めます。 ''<Type>''タグは全ての建造物で別のものを指定する必要があります。 ''<Description>''タグでは、昇進名を指定します。 ''<Help>''タグでは、昇進にカーソルを合わせた時に表示されるテキストを指定します。 ''<Sound>''タグでは、昇進を得た時の音を指定します。 ''<CannotBeChosen>''タグでは、昇進として選べるかを指定します。 ''<FriendlyLandsModifier>''、''<FriendlyLandsAttackModifier>''タグでは、自友国領内での戦闘力ボーナス、 攻撃力ボーナスを指定します。 防御時のみにボーナスを与えたいので、25と-25を指定します。 ''<PortraitIndex>''、''<IconAtlas>''タグでは、昇進が使用するアイコンキーを指定します。 ''<PediaType>''タグでは、・・・分かりません ''<PediaEntry>''タグでは、シヴィロペディアの説明を指定します。 **UnitPromotions_UnitCombats [#p83c057e] UnitPromotions_UnitCombatsでは、昇進を与えるユニットのタイプを指定します。 <UnitPromotions_UnitCombats> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_RECON</UnitCombatType> </Row> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType> </Row> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType> </Row> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType> </Row> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_SIEGE</UnitCombatType> </Row> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_GUN</UnitCombatType> </Row> <Row> <PromotionType>PROMOTION_GREAT_WALL</PromotionType> <UnitCombatType>UNITCOMBAT_ARMOR</UnitCombatType> </Row> </UnitPromotions_UnitCombats> ''<PromotionType>''タグでは、与える昇進を指定します。 ''<UnitCombatType>''タグでは、昇進を与えるユニットのタイプをしています。 **テキストの編集 [#fb1ef81d] 遺産と昇進の作成は以上で終わりました。 続いて関連するテキストを編集していきましょう。 日本語のテキストファイルはciv5をインストールしたフォルダの\assets\Gameplay\XML\NewText\EN_US、\assets\Gameplay\XML\NewText\JA_JPから引っ張ってきましょう。 <Language_JA_JP> <Delete Tag="TXT_KEY_WONDER_GREAT_WALL_HELP"/> <Row Tag="TXT_KEY_WONDER_GREAT_WALL_HELP"> <Text>自友国領内での戦闘に限り、陸上ユニットに防御力ボーナス+25%。全都市に無償の防壁を供給。</Text> </Row> </Language_JA_JP> <Language_JA_JP> <Row Tag="TXT_KEY_PROMOTION_GREAT_WALL"> <Text>万里の長城</Text> </Row> <Row Tag="TXT_KEY_PROMOTION_GREAT_WALL_HELP"> <Text>自友国領内における[ICON_STRENGTH]防御力+25%</Text> </Row> </Language_JA_JP> **終わりに [#c51be5ef] 世界遺産を改造してみようの雛型は出来たつもりです。 間違いや説明不足等があった場合はガシガシ編集して下さい。 レイアウトもよりスタイリッシュにしてください。 **コメント欄 [#v93d37f0] 間違い等の指摘がございましたら是非コメントをお願いいたします。 (出来れば加筆修正してください。) #pcomment(,10,reply)