前2回でUBの記述が終わりました。続いてUUの記述をしていきましょう。
まずはUUの種類と能力を決めるところから始めましょうか。
今回種類は足軽、代替元はマスケット兵にしましょう。(戦国時代後期をイメージしました。)
徳川家康と言えば、個人的に敵の遺臣を取り建てるというイメージがあります。
少々強引ですが、倒した敵を味方に引き入れる私掠船のような能力を付与してみましょう。
方針も決まったところでxmlを編集していきましょう。
UUを追加する場合も、建造物同様まずは元となるユニットの記述をコピーしましょう。
大半のUUは元のユニットと性能が近いため、修正箇所は少なくてすみます。
それではマスケット兵の記述を見てみましょう。
<Units> ~省略~ <Row> <Class>UNITCLASS_MUSKETMAN</Class> <Type>UNIT_MUSKETMAN</Type> <PrereqTech>TECH_GUNPOWDER</PrereqTech> <Combat>24</Combat> <Cost>150</Cost> <FaithCost>300</FaithCost> <RequiresFaithPurchaseEnabled>true</RequiresFaithPurchaseEnabled> <Moves>2</Moves> <CombatClass>UNITCOMBAT_GUN</CombatClass> <Domain>DOMAIN_LAND</Domain> <DefaultUnitAI>UNITAI_ATTACK</DefaultUnitAI> <Description>TXT_KEY_UNIT_MUSKETMAN</Description> <Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_MEDIEVAL_MUSKETMAN_TEXT</Civilopedia> <Strategy>TXT_KEY_UNIT_MUSKETMAN_STRATEGY</Strategy> <Help>TXT_KEY_UNIT_HELP_MUSKETMAN</Help> <MilitarySupport>true</MilitarySupport> <MilitaryProduction>true</MilitaryProduction> <Pillage>true</Pillage> <IgnoreBuildingDefense>true</IgnoreBuildingDefense> <ObsoleteTech>TECH_RIFLING</ObsoleteTech> <GoodyHutUpgradeUnitClass>UNITCLASS_RIFLEMAN</GoodyHutUpgradeUnitClass> <AdvancedStartCost>25</AdvancedStartCost> <XPValueAttack>3</XPValueAttack> <XPValueDefense>3</XPValueDefense> <Conscription>4</Conscription> <UnitArtInfo>ART_DEF_UNIT_MUSKETMAN</UnitArtInfo> <UnitFlagIconOffset>37</UnitFlagIconOffset> <IconAtlas>UNIT_ATLAS_1</IconAtlas> <PortraitIndex>38</PortraitIndex> </Row> ~省略~ </Units>
まずは<Units>タグ内の記述を見てみましょう。
civ5をインストールしたフォルダのassets\DLC\Expansion2\Gameplay\XML\Units\CIV5Units.xmlを参照します。
建造物同様、各項目にはデフォルトの値が設定されています。
そのためデフォルトから変更が無い場合、その項目は記述しなくても大丈夫です。
<Class>、<Type>タグではユニットの種類を定めます。
<Class>タグは元となるユニットとUUは同じものを指定します。
<Type>タグは全てのユニットで別のものを指定する必要があります。
今回<Class>タグは変更せず、<Type>タグはUNIT_SHOGUNATE_ASHIGARUとしましょう。
やはり<Type>タグの内容はゲーム中に表示されないため、適当でも構いません。
<PrereqTech>タグでは、ユニットを生産するのに必要な技術を指定します。
どのような技術が存在するかは、CIV5Technologies.xmlを参照しましょう。
マスケット兵はTECH_GUNPOWDERとなっているので、火薬を開発することで生産が可能になります。
UUなので、変更はしないでおきましょう。
<Combat>タグでは直接戦闘力を定めます。
24となっているので、マスケット兵の戦闘力はそのまま24となります。
マスケット兵には設定されていませんが、遠隔攻撃力は<RangedCombat>タグで定めます。
ここも変更はありません。
建造物同様、生産コストを指定します。
この項目も変更はありません。
<FaithCost>タグでは、信仰力でユニットを購入するときのコストを設定します。
300となっていますが常に300固定というわけではなく、時代が進むごとにコストは上昇していきます。
殆どの(全ての?)ユニットは生産コストの2倍となっているので、足軽もそれに従っておきましょう。
<RequiresFaithPurchaseEnabled>タグをtrueにすると、信仰力でユニットを購入できるようになります。
もちろん必要な信仰ポイントと宗教の聖戦士が必要となります。
マスケット同様、足軽もtrueにしておきましょう。
<Moves>タグではユニットの移動力を設定します。
指定した値がそのままユニットの移動力となります。
この項目も変更しないでおきましょう。
<CombatClass>タグでは、ユニットの戦闘属性を定めます。
UNITCOMBAT_GUNとなっているので、マスケット兵は火器ユニットに分類されます。
取得できる昇進などに影響するので、このままにしておきましょう。
<Domain>タグでは、ユニットの属性を陸海空から指定します。
DOMAIN_LANDとなっているので、マスケット兵は陸上ユニットに分類されます。
足軽も同様に陸以上ユニットなので、変更は無しです。
<DefaultUnitAI>タグでは、ユニットのデフォルトAIを指定します。
UNITAI_ATTACKとなっているので攻撃にしようされるのでしょうが、細かい点は不明です。
UUもマスケットと同じAIを指定しておきましょう。
建造物同様、これらのタグではテキストキーを指定します。
やはりこれらのキーが直接表示されるわけではないので、被らなければ適当でも構いません。
今回はそれぞれTXT_KEY_UNIT_SHOGUNATE_ASHIGARU、TXT_KEY_CIVILOPEDIA_UNITS_MEDIEVAL_ASHIGARU_TEXT、TXT_KEY_UNIT_SHOGUNATE_ASHIGARU_STRATEGY、TXT_KEY_UNIT_HELP_ASHIGARUとしておきましょう。
<MilitaryProduction>タグでは軍事ユニットか否かを設定します。
trueを指定すると軍事ユニットとなり、総力戦などの生産力ボーナスを受けられるようになります。
当然足軽もtrueを指定します。
<Pillage>タグでは略奪が可能か否かを設定します。
trueを指定すると略奪を行えるようになります。
軍事ユニットなのでtrueで良いでしょう。
<ObsoleteTech>タグでは生産できなくなる技術を設定します。
TECH_RIFLINGとなっているので、ライフリングの技術を開発するとマスケット兵が生産できなくなるということです。
足軽も同様にTECH_RIFLINGを指定します。
<GoodyHutUpgradeUnitClass>タグでは、古代遺跡でのUG先を指定します。
通常はゴールドを支払う時と同様のユニットクラスを指定することになりますが、戦士などはその例外です。
足軽もマスケットと同じUNITCLASS_RIFLEMANを指定します。
<UnitArtInfo>タグでは、ユニットのグラフィックや戦闘モーションなどを一式指定します。
自作するのは中々にハードなので、マスケットのグラフィックを流用してしまいましょう。
ART_DEF_UNIT_MUSKETMANを指定します。
<UnitFlagIconOffset>タグではユニットに使用される小アイコンを指定します。
戦略画面に表示されるものではなく、都市に駐留した時などに表示されるものです。
デフォルトで小アイコングループは指定されているため、この項目ではグループ内の何番目を使用するか指定します。
この項目もマスケットと同じで良いでしょう。
建造物と同様に、使用するアイコングループを指定します。
前回解説した建造物用のアイコンに足軽のアイコンも含まれているため、EDO_ATLASを指定しましょう。
前回とは別のMODにする場合、アイコングループについても設定し直す必要があります。
こちらも建造物と同じく、アイコングループ内の何番目を使用するか指定します。
左から3番目を使用するので2を指定しましょう。(0から数える点に注意!)
これらのタグは値を指定してはいるものの、実際には使用されていません。
マスケットをコピーしているため項目は存在していますが、内容を気にする必要はありません。
項目名から察するに、civ4で存在していた徴兵や先行スタートで使用する予定だったのでしょう。
上記の内容をまとめてみると以下のようになります。
<Units> <Row> <Class>UNITCLASS_MUSKETMAN</Class> <Type>UNIT_SHOGUNATE_ASHIGARU</Type> <PrereqTech>TECH_GUNPOWDER</PrereqTech> <Combat>24</Combat> <Cost>150</Cost> <FaithCost>300</FaithCost> <RequiresFaithPurchaseEnabled>true</RequiresFaithPurchaseEnabled> <Moves>2</Moves> <CombatClass>UNITCOMBAT_GUN</CombatClass> <Domain>DOMAIN_LAND</Domain> <DefaultUnitAI>UNITAI_ATTACK</DefaultUnitAI> <Description>TXT_KEY_UNIT_SHOGUNATE_ASHIGARU</Description> <Civilopedia>TXT_KEY_CIVILOPEDIA_UNITS_MEDIEVAL_ASHIGARU_TEXT</Civilopedia> <Strategy>TXT_KEY_UNIT_SHOGUNATE_ASHIGARU_STRATEGY</Strategy> <Help>TXT_KEY_UNIT_HELP_ASHIGARU</Help> <MilitarySupport>true</MilitarySupport> <MilitaryProduction>true</MilitaryProduction> <Pillage>true</Pillage> <IgnoreBuildingDefense>true</IgnoreBuildingDefense> <ObsoleteTech>TECH_RIFLING</ObsoleteTech> <GoodyHutUpgradeUnitClass>UNITCLASS_RIFLEMAN</GoodyHutUpgradeUnitClass> <AdvancedStartCost>25</AdvancedStartCost> <XPValueAttack>3</XPValueAttack> <XPValueDefense>3</XPValueDefense> <Conscription>4</Conscription> <UnitArtInfo>ART_DEF_UNIT_MUSKETMAN</UnitArtInfo> <UnitFlagIconOffset>37</UnitFlagIconOffset> <IconAtlas>EDO_ATLAS</IconAtlas> <PortraitIndex>2</PortraitIndex> <UnitFlagAtlas>UNIT_FLAG_ATLAS</UnitFlagAtlas> </Row> </Units>
ユニットの主なデータは記述し終えましたので、それ以外の細かい点を補足していきましょう。
まずは<Unit_AITypes>タグ内のマスケット兵に関する記述を見てみましょう。
<Unit_AITypes> ~省略~ <Row> <UnitType>UNIT_MUSKETMAN</UnitType> <UnitAIType>UNITAI_ATTACK</UnitAIType> </Row> <Row> <UnitType>UNIT_MUSKETMAN</UnitType> <UnitAIType>UNITAI_DEFENSE</UnitAIType> </Row> <Row> <UnitType>UNIT_MUSKETMAN</UnitType> <UnitAIType>UNITAI_EXPLORE</UnitAIType> </Row> ~省略~ </Unit_AITypes>
<Unit_AITypes>タグではユニットごとに使用するAIを指定します。
デフォルトが設定されているということで、切り替わる候補を指定するということでしょう。
AIを追加するユニットタイプを指定します。
足軽に追加するため、UNIT_SHOGUNATE_ASHIGARUを指定します。
<UnitAIType>タグではユニットに使用させるAIを指定します。
複数のAIを使用させたい場合、↑のタグと合わせてそれぞれ別個に記述が必要です。
マスケット兵と役割は同じなので、同じAIを指定します。
上記の内容をまとめてみると以下のようになります。殆ど変更点がありませんね。
<Unit_AITypes> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <UnitAIType>UNITAI_ATTACK</UnitAIType> </Row> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <UnitAIType>UNITAI_DEFENSE</UnitAIType> </Row> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <UnitAIType>UNITAI_EXPLORE</UnitAIType> </Row> </Unit_AITypes>
殆どのユニットはUGして使い続けていくことができます。
この項目ではユニットのUG先をしていしていきましょう。
それではマスケット兵の記述をコピーします。
<Unit_ClassUpgrades> ~省略~ <Row> <UnitType>UNIT_MUSKETMAN</UnitType> <UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType> </Row> ~省略~ </Unit_ClassUpgrades>
今までの解説と同じく、UNIT_SHOGUNATE_ASHIGARUを指定します。
<UnitClassType>タグではユニットのUG先となるユニットグループを指定します。
ユニットを直接指定するわけではなく、グループでの指定となります。
例えば騎兵のUG先はUNITCLASS_KNIGHTとなっているため、UUのない文明なら騎士へ、騎士のUU持ち文明ならばそのUUへUGされます。
足軽もライフル兵へUGすれば良いので、UNITCLASS_RIFLEMANを指定しましょう。
上記の内容をまとめてみると以下のようになります。
<Unit_ClassUpgrades> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <UnitClassType>UNITCLASS_RIFLEMAN</UnitClassType> </Row> </Unit_ClassUpgrades>
ユニットを生産すると最初から昇進を持っていることがあります。
この項目ではユニットが無償で得られる昇進について設定します。
それではマスケット兵についての記述を見てみましょう、と言いたいところですがマスケット兵は昇進を持っていません。
代わりに私掠船の記述を見てみましょう。
<Unit_FreePromotions> ~省略~ <Row> <UnitType>UNIT_PRIVATEER</UnitType> <PromotionType>PROMOTION_COASTAL_RAIDER_1</PromotionType> </Row> <Row> <UnitType>UNIT_PRIVATEER</UnitType> <PromotionType>PROMOTION_PRIZE_SHIPS</PromotionType> </Row> ~省略~ </Unit_FreePromotions>
今までの解説と同じく、UNIT_SHOGUNATE_ASHIGARUを指定します。
<PromotionType>タグでは、ユニットに与えられる昇進を指定します。
PROMOTION_COASTAL_RAIDER_1とPROMOTION_PRIZE_SHIPSが指定されているので、沿岸襲撃Ⅰと無償の船が与えられることになります。
無償の船の昇進は、ユニットの属性に関係なく倒したユニットを味方に引き入れるものなので、このまま使用しても問題ありません。
見た目が気になる方は、昇進について後述するので新たな昇進を自作してみましょう。
上記の内容をまとめてみると以下のようになります。
<Unit_FreePromotions> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <PromotionType>PROMOTION_PRIZE_SHIPS</PromotionType> </Row> </Unit_FreePromotions>
無償の船という名前が気になる場合は、名前だけ異なる昇進を新たに作ってしまいましょう。
無償の船の昇進は、以下の記述となっています。
<UnitPromotions> ~省略~ <Row> <Type>PROMOTION_PRIZE_SHIPS</Type> <Description>TXT_KEY_PROMOTION_PRIZE_SHIPS</Description> <Help>TXT_KEY_PROMOTION_PRIZE_SHIPS_HELP</Help> <Sound>AS2D_IF_LEVELUP</Sound> <CaptureDefeatedEnemy>true</CaptureDefeatedEnemy> <PortraitIndex>59</PortraitIndex> <IconAtlas>ABILITY_ATLAS</IconAtlas> <PediaType>PEDIA_ATTRIBUTES</PediaType> <PediaEntry>TXT_KEY_PROMOTION_PRIZE_SHIPS</PediaEntry> </Row> ~省略~ <UnitPromotions>
この記述をコピーし、<Type>、<Description>タグの内容を変え、対応するテキストを設定すれば完了です。
(解説なども変えたい場合、<Help>、<PediaEntry>タグも変更し、対応するテキストを用意しましょう。)
例えば昇進名を登用にするとして、記述の一例を挙げておきます。
<UnitPromotions> <Row> <Type>PROMOTION_ASSIGNMENT</Type> <Description>TXT_KEY_PROMOTION_ASSIGNMENT</Description> <Help>TXT_KEY_PROMOTION_ASSIGNMENT_HELP</Help> <Sound>AS2D_IF_LEVELUP</Sound> <CaptureDefeatedEnemy>true</CaptureDefeatedEnemy> <PortraitIndex>59</PortraitIndex> <IconAtlas>ABILITY_ATLAS</IconAtlas> <PediaType>PEDIA_ATTRIBUTES</PediaType> <PediaEntry>TXT_KEY_PROMOTION_ASSIGNMENT</PediaEntry> </Row> </UnitPromotions>
<Language_JA_JP> <Row Tag="TXT_KEY_PROMOTION_ASSIGNMENT"> <Text>登用</Text> </Row> <Row Tag="TXT_KEY_PROMOTION_ASSIGNMENT_HELP"> <Text>倒した陸軍ユニットが味方になる場合がある。</Text> </Row> </Language_JA_JP>
建造物や指導者にはFlavorが設定されていると、前回説明しました。
ユニットにもこのFlavorは設定されており、各AI指導者はこの数値を参考にユニットを設定します。
それではマスケットについての記述を見てみましょう。
<Unit_Flavors> ~省略~ <Row> <UnitType>UNIT_MUSKETMAN</UnitType> <FlavorType>FLAVOR_OFFENSE</FlavorType> <Flavor>7</Flavor> </Row> <Row> <UnitType>UNIT_MUSKETMAN</UnitType> <FlavorType>FLAVOR_DEFENSE</FlavorType> <Flavor>7</Flavor> </Row> ~省略~ <Unit_Flavors>
今までと同じくUNIT_SHOGUNATE_ASHIGARUを指定します。
建造物の時と同じく、Flavorのタイプを指定します。
マスケットは攻撃と防御どちらも指定されていることが分かります。
足軽も同様にFLAVOR_OFFENSEとFLAVOR_DEFENSEを指定します。
Flavorの数値を指定します。
足軽は攻防どちらでも活躍できるので、両方の数値を気持ち多めの10にしてみましょう。
上記の内容をまとめてみると以下のようになります。
<Unit_Flavors> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <FlavorType>FLAVOR_OFFENSE</FlavorType> <Flavor>10</Flavor> </Row> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <FlavorType>FLAVOR_DEFENSE</FlavorType> <Flavor>10</Flavor> </Row> </Unit_Flavors>
マスケット兵に限らず、各ユニットを選択すると音が鳴ります。
<UnitGameplay2DScripts>タグ内では、これらの指定をしていきます。
assets\Sounds\XML\UnitGameplay.xmlを見てみましょう。
マスケット兵についての記述は以下のようになっています。
<UnitGameplay2DScripts> ~省略~ <Row UnitType="UNIT_MUSKETMAN"> <SelectionSound>AS2D_SELECT_MUSKETMAN</SelectionSound> <FirstSelectionSound>AS2D_BIRTH_MUSKETMAN</FirstSelectionSound> </Row> ~省略~ </UnitGameplay2DScripts>
今までと同じくUNIT_SHOGUNATE_ASHIGARUを指定します。
<SelectionSound>タグでは、ユニットを選択した時の音を指定します。
マスケット兵と同じで良いでしょう。
<FirstSelectionSound>タグでは、生産が完了し始めて選択されるときの音を設定します。
こちらもマスケット兵と同じにしましょう。
上記の内容をまとめてみると以下のようになります。
<UnitGameplay2DScripts> <Row> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> <SelectionSound>AS2D_SELECT_MUSKETMAN</SelectionSound> <FirstSelectionSound>AS2D_BIRTH_MUSKETMAN</FirstSelectionSound> </Row> </UnitGameplay2DScripts>
ユニットに関する記述は上記でほぼ終わりです。
テキストの編集作業はまだ残っているので、前回を参考にまとめてみましょう。
(テキストデータが無くとも動かすことは可能なので、他のデータを確認してからでも大丈夫です。)
それでは実際にMOD化し、きちんと動かせるか試してみましょう。
前回の刀鍛冶と同様、このままではどの文明も生産できないので、一時的に日本のUUにしてしまいます。
以下の記述をどこかに足しておきましょう。
<Civilization_UnitClassOverrides> <Row> <CivilizationType>CIVILIZATION_JAPAN</CivilizationType> <UnitClassType>UNITCLASS_MUSKETMAN</UnitClassType> <UnitType>UNIT_SHOGUNATE_ASHIGARU</UnitType> </Row> </Civilization_UnitClassOverrides>
いつも通りMODをオンにしてゲーム開始。
まずはシヴィロペディアをチェック、アイコンや能力がきちんと設定されています。
ゲーム情報や歴史情報は抜けているので、気になる方はあとで設定しておきましょう。
レベルアップも確認、こちらはゲーム情報も問題無し。
技術ツリーを確認、火薬で生産できアイコンもOK。
説明文はやはり侍のままなので、要修正。
IGEを使用しグラフィックを確認。
見事にマスケット兵のままですね。
蛮族の斥候と戦闘させてみましょう。
撃破による捕獲確率が表示されました。
撃破したところ、味方にすることに成功しました。
粗方チェックし終えたので大丈夫でしょう。
無事足軽を追加することができました。
今回はマスケット兵のグラフィックを流用しましたが、それでは味気ないという方も多いと思います。
そのような方がグラフィックを変更する場合、主に以下の方法があります。
①他のMODから流用、fanatics等からダウンロード
②civ4やそのMODのデータをciv5用に変換する
③一から自作
①はそのままずばりですが、fanatics等にはユニットのグラフィックデータが多数あります。
MODについても同様で、これらのデータを使えば簡単にグラフィックを変更できます。
例えばdanrell氏のユニットパックを使用すれば、以下のように和風のユニット(忍者!)を作成できます。
なおこれらの素材を使用する場合、作成者がどのような用途ならば使用を許可してくれているのか、十分に注意しましょう。
②は多少ハードルが上がり、BlenderとNifSkopeを使用する必要があります。
一方でciv4のユニットやMODのグラフィックをciv5用に変更できるため、より選択肢が広がります。
Deliverator氏の解説(http://forums.civfanatics.com/showthread.php?t=396911)が非常に参考になると思います。
③は私には不可能なので、腕に自身のある方はどうぞ。私も是非見てみたいです。
個人的なおススメとして、まず①を試してみると良いでしょう。
初めから難易度の高いことに挑戦するよりも、徐々にハードルを上げていく方が習得しやすいと思います。
かなり長くなりましたが、以上でUUを追加することができました。
これまでに作成したUU、UBを使用し、次回はいよいよ新文明を作成していきましょう。
間違い等の指摘がございましたら是非コメントをお願いいたします。
質問にも可能な限り回答いたします。
最新の10件を表示しています。 コメントページを参照