指導者の編集

MOD/作成情報/指導者の編集
Last-modified: 2013-02-03 19:43:56

MOD/作成情報/指導者の編集 †

はじめに †

文明指導者の編集方法の概要の説明です。

MOD一般に言えることですが、以下の点に注意。

 

編集対象ファイル †

既存指導者を編集する場合は、以下の6つのXMLファイルの内容を変更します。
新指導者を作る場合は、そのほかに、グラフィック関連のファイルを作成する必要があります。

Civ4無印 日本語版 CustomAssetsにMODを置く場合

  1. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/Civilizations/CIV4LeaderHeadInfos.xml
  2. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/Civilizations/CIV4CivilizationInfos.xml
  3. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/GameInfo/CIV4DiplomacyInfos.xml
  4. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/Text/CIV4GameTextInfos_Objects.xml
  5. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/Text/CIV4GameText_Civilopedia_CivLeaders.xml
  6. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/Text/CIV4DiplomacyText.xml
  7. /My Games/Sid Meier's Civilization 4(J)/CustomAssets/XML/Art/CIV4ArtDefines_Leaderhead.xml

注1: WLでは"Sid Meier's Civilization 4(J)"の部分をWarlords(J)に、BtSではBeyond the Sword(J)にそれぞれ読みかえてください。

注2: 元となるファイルは、無印の場合、 C:/Program Files/CYBERFRONT/Sid Meier's Civilization 4(J)/Assets以下の場所からコピーしてください。
例えばCIV4LeaderHeadInfos.xmlの場合、"C:/Program Files/CYBERFRONT/Sid Meier's Civilization 4(J)/Beyond the Sword(J)/Assets/XML/Civilizations/CIV4CivilizationInfos.xml" に元ファイルがあります(日本語版で通常の場所にインストールした場合)。

注2-2: WLの元ファイルはC:/Program Files/CYBERFRONT/Sid Meier's Civilization 4(J)/Warlords(J)/Assets以下、BtSはC:/Program Files/CYBERFRONT/Sid Meier's Civilization 4(J)/Beyond the Sword(J)/Assets以下にあります。

注3: CustomAssetsではなく、独立したMODを作る場合は、"/CustomAssets"を/MODS/<MOD名> などに読みかえてください。

注4Textディレクトリ内では、無印とWL/BtSでは無印とでファイル名が異なる場合があります。(CIV4GameText_Objects_BTS.xml など)(また、Textディレクトリ配下に限っては、MODで異なるファイル名を使ってもOKです)

CIV4LeaderHeadInfos.xml †

指導者の志向や好みの体制など、指導者のパラメータを定義するファイル
AI関連のパラメータの意味はAIの仕様についての各記事を参照。
最後尾の数値はBtS各指導者の数値幅。()内は上下に突出してる指導者

要素名説明備考
<Type>指導者のキーキー(CIV4CivilizationInfos.xml等で使用)
<Description>指導者の名前キー(CIV4GameTextInfos_Objects.xmlで使用)
<Civilopedia>指導者のペディアキー(CIV4GameText_Civilopedia_CivLeaders.xmlで使用)
<ArtDefineTag>指導者のアートキー(CIV4ArtDefines_Leaderhead.xmlで使用)
<iWonderConstructRand>遺産建造度0(モンテスマ)~50(ルイ14世)(高いほど建造率が上がる)
<iBaseAttitude>他文明への態度基本値 解説-1(モンテスマ)~2(ガンジー)
<iBasePeaceWeight>平和志向度
(名前に反し、AIの攻撃性には一切影響しない。純粋に指導者同士の相性だけを定義する。)
0(モンテスマ)~10(ガンジー)
<iPeaceWeightRand>平和志向度への追加乱数最大値3
<iWarmongerRespect>AI間戦争屋補正 解説0(ガンジー)~2(モンテスマ)
<iEspionageWeight>諜報重視度 (BtS)50(ガンジー)~150(スターリン)
<iRefuseToTalkWarThreshold>戦争時対話拒否ターン数5(ド・ゴール)~12(シッティング・ブル)
<iNoTechTradeThreshold>対技術ブローカー寛容度 解説5~20(マンサ・ムサ)
<iTechTradeKnownPercent>技術を「独占」していないと見る比率 解説0(マンサ・ムサ)~100(徳川家康)
<iMaxGoldTradePercent>総収入に対する比率:国庫備蓄量の設定ライン5~20
<iMaxGoldPerTurnTradePercent>総収入に対する比率:毎ターンの収支の設定ライン10~15
<iMaxWarRand>乱数がこの値を超えると全面戦争準備に入る50(ラグナル)~400(ガンジー)
<iMaxWarNearbyPowerRatio>隣国戦力比がこの値を超えないと全面戦争をしない80(エリザベス)~130
<iMaxWarDistantPowerRatio>隣国戦力比がこの値を超えないと非隣国に全面戦争をしない0(シッティング・ブル)~100(ナポレオン)
<iMaxWarMinAdjacentLandPercent>国境紛争が原因の宣戦をするのに必要な態度ペナルティ0~4
<iLimitedWarRand>乱数がこの値を超えると「限定的な戦争」を宣戦40(モンテスマ)~200(ガンジー)
<iLimitedWarPowerRatio>ターゲット戦力比がこの値を超えないと「限定的な戦争」を宣戦しない80(ガンジー)~130(モンテスマ)
<iDogpileWarRand>乱数がこの値を超えると既に戦争中の文明へ宣戦20(ド・ゴール)~150(リンカーン)
<iMakePeaceRand>AIの和平提供の頻度補正10~120(シッティング・ブル)
<iDeclareWarTradeRand>交戦中の文明へ宣戦要求する頻度補正40(※パカル2世の60は修正された)
<iDemandRebukedSneakProb>要求が拒否された時に攻撃を企図する可能性0(ガンジー)~100(ワシントン)
<iDemandRebukedWarProb>要求が拒否されたときに即座に宣戦する可能性0(ガンジー)~50(チンギス・ハーン)
<iRazeCityProb>占領した都市を破壊する割合0~75(チンギス・ハーン)
<iBuildUnitProb>ユニット生産割合15(ガンジー)~40
<iBaseAttackOddsChange>スクエア上のユニットへの攻撃しやすさ0~6(ナポレオン)
<iAttackOddsChangeRand>スクエア上のユニットへの攻撃しやすさへの追加乱数の最大値8
<iWorseRankDifferenceAttitudeChange>自分より順位の高い文明への態度補正-3~1(オラニエ公)
<iBetterRankDifferenceAttitudeChange>自分より順位の低い文明への態度補正-1(オラニエ公)~4(マンサ・ムサ)
<iCloseBordersAttitudeChange>国境を接する文明への態度補正-1(オラニエ公)~-4
<iLostWarAttitudeChange>戦争に負けた相手への態度補正-1
<iAtWarAttitudeDivisor>交戦中の文明への態度補正度-5
<iAtWarAttitudeChangeLimit>交戦中の文明への態度補正度の補正値のキャップの絶対値5
<iAtPeaceAttitudeDivisor>平和による態度補正+1に必要なターン数60
<iAtPeaceAttitudeChangeLimit>平和期間による態度補正の最大値1
<iSameReligionAttitudeChange>国教が同じ文明への態度ボーナス基礎値1
<iSameReligionAttitudeDivisor>国教が同じ文明への態度ボーナス追加値が+1されるのに必要なターン数10
<iSameReligionAttitudeChangeLimit>国教が同じ文明への態度ボーナス追加値の上限1(オラニエ公)~7
<iDifferentReligionAttitudeChange>国教が異なる文明への態度ペナルティ基礎値-2~0
<iDifferentReligionAttitudeDivisor>国教が異なる文明への態度ペナルティ追加値が+1されるのに必要なターン数
(負の数なのでターンの経過に従って態度は悪化する)
-5
<iDifferentReligionAttitudeChangeLimit>国教が異なる文明への態度ペナルティ追加値の下限-1
<iBonusTradeAttitudeDivisor>交易による態度補正+1に必要なターン数50
<iBonusTradeAttitudeChangeLimit>交易による態度補正の最大値2
<iOpenBordersAttitudeDivisor>国境開放による態度補正に必要なターン数25
<iOpenBordersAttitudeChangeLimit>国境開放による態度補正の最大値2
<iDefensivePactAttitudeDivisor>防衛同盟による態度補正に必要なターン数12
<iDefensivePactAttitudeChangeLimit>防衛同盟による態度補正の最大値2
<iShareWarAttitudeChange>共同戦争の態度補正で一度に変化する態度の単位1
<iShareWarAttitudeDivisor>共同戦争による態度補正プラス(↑の値)されるターン数8
<iShareWarAttitudeChangeLimit>共同戦争の態度補正の最大値2~6(ド・ゴール)
<iFavoriteCivicAttitudeChange>好みの社会制度の態度補正で一度に変化する態度の単位1
<iFavoriteCivicAttitudeDivisor>好みの社会制度による態度補正プラス(↑の値)されるターン数10
<iFavoriteCivicAttitudeChangeLimit>好みの社会制度による態度補正の最大値1(サラディン)~6
<DemandTributeAttitudeThreshold>貢物を求めなくなる態度外交態度キー
<NoGiveHelpAttitudeThreshold>援助を与えなくなる態度外交態度キー
<TechRefuseAttitudeThreshold>技術交換を拒否する態度外交態度キー
<StrategicBonusRefuseAttitudeThreshold>戦略資源の貿易を拒否する態度外交態度キー
<HappinessBonusRefuseAttitudeThreshold>幸福資源の貿易を拒否する態度外交態度キー
<HealthBonusRefuseAttitudeThreshold>衛生資源の貿易を拒否する態度外交態度キー
<MapRefuseAttitudeThreshold>地図交換を拒否する態度外交態度キー
<DeclareWarRefuseAttitudeThreshold>宣戦要請を拒否する(要請元への)態度外交態度キー
<DeclareWarThemRefuseAttitudeThreshold>宣戦要請を拒否しない(ターゲットへの)態度外交態度キー
<StopTradingRefuseAttitudeThreshold>禁輸要請を拒否する(要請元への)態度外交態度キー
<StopTradingThemRefuseAttitudeThreshold>禁輸要請を拒否しない(ターゲットへの)態度外交態度キー
<AdoptCivicRefuseAttitudeThreshold>社会制度の受け入れを拒否する態度外交態度キー
<ConvertReligionRefuseAttitudeThreshold>改宗を拒否する態度外交態度キー
<OpenBordersRefuseAttitudeThreshold>国境開放を拒否する態度外交態度キー
<DefensivePactRefuseAttitudeThreshold>防衛同盟を拒否する態度外交態度キー
<PermanentAllianceRefuseAttitudeThreshold>永久同盟を拒否する態度外交態度キー
<VassalRefuseAttitudeThreshold>属国化を拒否する態度 (WL以降)外交態度キー
<iVassalPowerModifier>属国化を受諾する国力比の補正値 (WL以降)-20~50
<iFreedomAppreciation>属国になった時の再独立のしやすさ? (BtS)10
<FavoriteCivic>好みの社会制度社会体制キー
<FavoriteReligion>好みの宗教(無印は設定されていないようだ。BtSで設定を確認)宗教キー
<Traits>指導者の志向。<Trait>の<TraitType>内に1つずつ記述志向キー
<Flavors>指導者の研究フレーバー 解説:AIの好む技術2と5、あるいは10ひとつのみ
<ContactRands>乱数がこの値を超えると外交行動を起こす。改宗要求など、外交種類ごとに設定されている下記「外交種別」参照)
<ContactDelays>再度同じ外交行動を行うまでのターン数?
<MemoryDecays>他の文明の過去の外交行動を忘却する確率(1/n 例: 20 = 5%)
<MemoryAttitudePercents>他の文明に対する態度修正の原因と修正値(% 例: 100 = +1)
<NoWarAttitudeProbs>それぞれの外交態度の時に戦争をしない確率子要素で各外交態度と数値を10~100指定(0のときは該当外交態度そのものを記載しない)
<UnitAIWeightModifiers>AIの好むUNIT_AIの種類子要素で種別1つと数値(100)を設定
<ImprovementWeightModifiers>AIの好む地形改善子要素で種別(小屋を建てさせたいときはTOWNを指定)を0~2つと数値(設定時は20が基本)を設定
<DiplomacyIntroMusicPeace>各時代ごと平和時サウンドの設定(詳細未調査)
<DiplomacyMusicPeace>各時代ごと平和時サウンドの設定(詳細未調査)
<DiplomacyIntroMusicWar>各時代ごと戦時サウンドの設定(詳細未調査)
<DiplomacyMusicWar>各時代ごと戦時サウンドの設定(詳細未調査)

外交種別 &dagger;

無印版・上記 <ContactRands> および <ContactDelay> の種別和訳。ほぼ直訳。Randの幅はBtSのもの。

識別子直訳頻度間隔
CONTACT_RELIGION_PRESSURE改宗要求Rand 50~1000Delay 50
CONTACT_CIVIC_PRESSURE社会制度変更要求Rand 50~10000Delay 50
CONTACT_JOIN_WAR開戦要求Rand 10~20Delay 20
CONTACT_STOP_TRADING取引停止要求Rand 50Delay 20
CONTACT_GIVE_HELP貢物を与えるRand 25~10000Delay 50
CONTACT_ASK_FOR_HELP援助を求めるRand 25~1000Delay 50
CONTACT_DEMAND_TRIBUTE貢物を求めるRand 25~10000Delay 50
CONTACT_OPEN_BORDERS相互通行条約Rand 20Delay 20
CONTACT_DEFENSIVE_PACT防衛同盟Rand 80Delay 20
CONTACT_PERMANENT_ALLIANCE永久防衛同盟Rand 80Delay 20
CONTACT_PEACE_TREATY停戦条約?Rand 20Delay 10
CONTACT_TRADE_TECH技術交換Rand 1~20Delay 30
CONTACT_TRADE_BONUS資源交換Rand 1~20Delay 20
CONTACT_TRADE_MAP地図交換Rand 20Delay 50

態度種別 &dagger;

上記 <MemoryAttitudePercents> の種別和訳。100ごとに態度±1。項目が無い場合は0として扱われる。

識別子態度が増減する原因態度増減の幅
MEMORY_DECLARED_WAR宣戦布告-300
MEMORY_DECLARED_WAR_ON_FRIEND満足以上の第三者に対して宣戦布告-100~-200(ガンジー)
MEMORY_HIRED_WAR_ALLY第三者から宣戦布告させる-200
MEMORY_NUKED_US核攻撃-200
MEMORY_NUKED_FRIEND警戒以上の第三者に対して核攻撃-100~-200(ガンジー)
MEMORY_RAZED_CITY占領した都市を破壊-250
MEMORY_RAZED_HOLY_CITY占領した聖都を破壊-200
MEMORY_SPY_CAUGHTスパイを摘発-100
MEMORY_GIVE_HELP援助を承諾100
MEMORY_REFUSED_HELP援助を拒否0(ガンジー)~-200
MEMORY_ACCEPT_DEMAND貢物の承諾100
MEMORY_REJECTED_DEMAND貢物の拒否0(ガンジー)~-200
MEMORY_ACCEPTED_RELIGION改宗の承諾100
MEMORY_DENIED_RELIGION改宗の拒否0(ガンジー)~-200
MEMORY_ACCEPTED_CIVIC社会制度の変更の承諾100
MEMORY_DENIED_CIVIC社会制度の変更を拒否0(ガンジー)~-200
MEMORY_DENIED_JOIN_WAR交戦国への開戦要求を拒否0(ガンジー)~-200
MEMORY_ACCEPTED_STOP_TRADING禁輸要請を承諾(要請国)50
MEMORY_DENIED_STOP_TRADING禁輸要請を拒否0(ガンジー)~-200
MEMORY_STOPPED_TRADING禁輸要請を承諾(相手国)0(ガンジー)~-100
MEMORY_HIRED_TRADE_EMBARGO第三国から禁輸させる0(ガンジー)~-100
MEMORY_MADE_DEMAND満足未満の相手からの貢物要求0(ガンジー)~-200
MEMORY_TRADED_TECH_TO_USテクノロジーを交換or教える5~20(マンサ・ムサ)
MEMORY_VOTED_AGAINST_US不利な投票を行う-200
MEMORY_VOTED_FOR_US有利な投票を行う200
MEMORY_EVENT_GOOD_TO_US関係改善のイベント100
MEMORY_EVENT_BAD_TO_US関係悪化のイベント100
MEMORY_LIBERATED_CITIES都市の解放(都市管理画面からの操作)150

スレイマン、スーリヤヴァルマン2世、徳川家康、ヴィクトリア、王建、ワシントン、オラニエ公ヴィレム1世、ザラ・ヤコブの8人は、
MEMORY_STOPPED_TRADING、MEMORY_HIRED_TRADE_EMBARGO、MEMORY_MADE_DEMAND、MEMORY_TRADED_TECH_TO_USの4項目が重複している。
重複した場合は先に書かれた数値を参照していて、現状はバグにはなっていないと思われる。

CIV4CivilizationInfos.xml &dagger;

<CivilizationInfo>タグで1文明が定義されている。
その子要素として<Leaders>があるので、CIV4LeaderHeadInfos.xmlで定義した新しい指導者の名前を<LeaderName>タグで定義。

アメリカの指導者定義例

<Leaders>
	<Leader>
		<LeaderName>LEADER_WASHINGTON</LeaderName>
		<bLeaderAvailability>1</bLeaderAvailability>
	</Leader>
	<Leader>
		<LeaderName>LEADER_FRANKLIN_ROOSEVELT</LeaderName>
		<bLeaderAvailability>1</bLeaderAvailability>
	</Leader>
</Leaders>

CIV4DiplomacyInfos.xml &dagger;

外交メッセージの定義。ここでは外交内容とメッセージキーの対応付けのみ。メッセージ内容はCIV4DiplomacyText.xml。
一つの<DiplomacyInfo>で、一つの行動に関するメッセージを定義している。

新指導者を作る場合、たいていは編集せずとも汎用メッセージが流用可能だが、初回遭遇時のメッセージ(AI_DIPLOCOMMENT_FIRST_CONTACT)だけは書き足す必要がある(各指導者固有のメッセージしか定義されていないため)。

<Type>外交メッセージのキー (例・初遭遇時:AI_DIPLOCOMMENT_FIRST_CONTACT)
<Response>このタグ内で外交メッセージを定義。下記<Leaders><Attitudes><DiplomacyPowers>と<DiplomacyText>を内包
<Leaders>メッセージを述べる指導者キー(CIV4LeaderHeadInfos.xmlの<Type>)の条件。内容が空なら全指導者が使う
<Attitudes>交渉相手への外交態度キーの条件。内容が空ならどんな態度でも使う
<DiplomacyPowers>交渉相手との力関係の条件(例・DIPLOMACYPOWER_WEAKERは外交相手より自分が弱い場合のみ)。内容が空ならどんな力関係でも使う
<DiplomacyText>外交メッセージのテキストキー(CIV4DiplomacyText.xmlで使用)。<Text>が複数ある場合はランダムに選ばれる

CIV4GameTextInfos_Objects.xml &dagger;

ゲーム上表示される指導者の名前の定義
ここから先、Textディレクトリ内のファイルは、異なるファイル内に記述してもかまわない。新指導者の追加の場合は別名ファイルを用意して書いたほうが楽かも

<TEXT>タグで新指導者の名称を数値文字参照で記述。詳細はMOD/日本語化参照

<Tag>指導者の名前キー(CIV4LeaderHeadInfos.xmlから参照される)
<Japanese><Text>タグで日本語の名前(数値文字参照に変換)
<Gender>男性名詞・女性名詞の定義と思われる。あるいは指導者の性別(男性:male、女性:female)。各メッセージ中の代名詞の選択などで参照されるようだ。(例・外交メッセージ「あの男の生まれの悪さに~」の「あの男」の部分)
<Plural>単数形・複数形の定義?日本語には関係無いので適当でよいと思われる。

日本語以外のタグは適当に(<English /> のような空タグでもよい)。

CIV4GameText_Civilopedia_CivLeaders.xml &dagger;

指導者のCivilopediaの説明
<TEXT>タグで新指導者のシヴィロペディアの解説文を定義

<Tag>指導者のペディアキー(CIV4LeaderHeadInfos.xmlから参照される)
<Japanese>日本語の解説本文(数値文字参照に変換)

CIV4DiplomacyText.xml &dagger;

指導者の外交メッセージ
<TEXT>タグで新指導者のシヴィロペディアの解説文を定義

<Tag>外交メッセージキー(CIV4DiplomacyInfos.xmlから参照される)
<Japanese>日本語の外交メッセージ(数値文字参照に変換)

CIV4ArtDefines_Leaderhead.xml &dagger;

指導者のグラフィック関連の定義。詳細は猿でも分かる指導者画像の作り方犬でも分かるボタンの作り方を参照

<LeaderheadArtInfo>タグで新指導者のグラフィック関連を定義

<Type>新指導者のアートキー(CIV4LeaderHeadInfos.xmlの<ArtDefineTag>で定義)
<Button>
<NIF>
<KFM>
<NoShaderNIF>
<BackgroundKFM>

静止画をddsファイルにして指導者のグラフィックに使う場合は<NIF>にファイルを指定し残りのタグは終タグにしてください。
ddsファイルは、DirectX SDK Texture Tool で作成できるようです。
http://www.microsoft.com/japan/msdn/directx/downloads.aspx

各種キー &dagger;

キー一覧 社会体制・志向・外交態度のキー

 

サンプル &dagger;

file源頼朝
日本の新指導者・源頼朝を追加してみたサンプル