CIV4ProjectInfos.xml

はじめに

CIV4ProjectInfos.xmlの各項目について説明しています。

BtSパッケージ版では

C:\Program Files (x86)\CYBERFRONT\Sid Meier's Civilization 4(J)\Beyond the Sword(J)\Assets\XML\GameInfo\CIV4ProjectInfos.xml

にあります。

<Civ4ProjectInfos>

ルートタグです。名前空間として、xmlns="x-schema:CIV4GameInfoSchema.xml"を指定します。

<ProjectInfo>

このタグ1つが、プロジェクトの定義1つと対応しています。

以下<ProjectInfo>の中身です。

<Type>

このプロジェクトのプロジェクトキーを定義します。
他と被らなければなんでも構いませんが、PROJECT_英語名 にするのが無難です。

値:プロジェクトキー

例:
<Type>PROJECT_MANHATTAN_PROJECT</Type>

<Description>

このプロジェクトの名前を指定します。

値:テキストキー

例:「マンハッタン計画」
<Description>TXT_KEY_PROJECT_MANHATTAN_PROJECT</Description>

<Civilopedia>

このプロジェクトのシヴィロペディアに表示される文章を指定します。

値:テキストキー

例:
<Civilopedia>TXT_KEY_PROJECT_MANHATTAN_PROJECT_PEDIA</Civilopedia>

<Strategy>

このプロジェクトの短い説明文を指定します。
シドのヒントやシヴィロペディアに表示されます。

値:テキストキー

例:
<Strategy>TXT_KEY_PROJECT_MANHATTAN_PROJECT_STRATEGY</Strategy>

<VictoryPrereq>

このプロジェクトは、ここに指定した勝利条件が有効になっているときのみ生産できます。

特に勝利条件による制限を設けない場合、NONEを指定します。
BtSでは、アポロ計画と宇宙船の各パーツがこの属性を持ちます。

値:勝利条件キー

例1:
<VictoryPrereq>NONE</VictoryPrereq>

例2:宇宙開発勝利が有効のときのみ建造可能
<VictoryPrereq>VICTORY_SPACE_RACE</VictoryPrereq>

<TechPrereq>

このプロジェクトは、ここに指定した技術を取得済みのときのみ生産できます。

特に技術による制限を設けない場合、NONEを指定します。
BtSでは、すべてのプロジェクトがなんらかの前提技術を持ちます。

値:技術キー

例:核分裂が必要
<TechPrereq>TECH_FISSION</TechPrereq>

<AnyonePrereqProject>

前提プロジェクトを指定します。
このプロジェクトを生産するには、ゲームに参加している誰かが
ここに指定したプロジェクトを完成させている必要があります。
自分で完成させる必要はありません。

特にこの意味での前提を設けない場合、NONEを指定します。
BtSでは、この属性を持つのは戦略防衛構想です。

値:プロジェクトキー

例1:
<AnyonePrereqProject>NONE</AnyonePrereqProject>

例2:世界中で誰かがインターネットを完成させている必要がある
<AnyonePrereqProject>PROJECT_THE_INTERNET</AnyonePrereqProject>

<iMaxGlobalInstances>

世界プロジェクトとして指定します。
ここに正の整数nを指定した場合、このプロジェクトは全世界合計でn個まで建設することができます。

このプロジェクトが世界プロジェクトではない場合、-1を指定します。
BtSでは、世界プロジェクトはマンハッタン計画とインターネットです。

値:整数

例1:
<iMaxGlobalInstances>-1</iMaxGlobalInstances>

例2:世界プロジェクト(1個まで)
<iMaxGlobalInstances>1</iMaxGlobalInstances>

<iMaxTeamInstances>

チームプロジェクトとして指定します。
ここに正の整数nを指定した場合、このプロジェクトはチーム内合計でn個まで建設することができます。

このプロジェクトがチームプロジェクトではない場合、-1を指定します。
BtSでは、チームプロジェクトは戦略防衛構想・アポロ計画・宇宙船の各パーツです。

なお、<iMaxGlobalInstances><iMaxTeamInstances>の両方に-1を指定した場合、
このプロジェクトには一切の建造数制限がかからなくなります。
その場合、このプロジェクトは何度でも繰り返し生産することができるようになります。

値:整数

例1:
<iMaxTeamInstances>-1</iMaxTeamInstances>

例2:チームプロジェクト(1個まで)
<iMaxTeamInstances>1</iMaxTeamInstances>

<iCost>

この建造物の生産コストを指定します。(単位:〈ハンマー〉)

ここに-1を指定した場合、このプロジェクトは都市で生産することができなくなります。

値:整数

例:
<iCost>1500</iCost>

<iNukeInterception>

核兵器の迎撃率を指定します。
このプロジェクトが完成したとき、その文明の核兵器迎撃率が+n%上昇します。
実際に核攻撃されたときの迎撃率は、チーム内で最も大きい迎撃率を持つ文明の値に合わせられます。

核迎撃率を上げないプロジェクトの場合、0を指定します。

値:整数

例1:
<iNukeInterception>0</iNukeInterception>

例2:核兵器に対する迎撃のチャンス+75%
<iNukeInterception>75</iNukeInterception>

<iTechShare>

インターネット効果を持たせます。
ここに正の整数nを指定した場合、このプロジェクトが完成したとき、
その文明は「技術共有状態:n」になります。
文明が「技術共有状態:n」である間、その文明から見て既知の文明のうち、
n文明1に取得済みの技術を毎ターン無償で取得するようになります。

文明が複数の「技術共有状態」を持つ場合は、最も小さい数字のものが常に優先されます。
文明が同じ「技術共有状態」を複数持っても、効果に変化はありません。

この機能を使わないプロジェクトの場合、NONEを指定します。

値:整数

例1:
<iTechShare>0</iTechShare>

例2:既知の2文明が取得した全テクノロジーを共有
<iTechShare>2</iTechShare>

<EveryoneSpecialUnit>

このプロジェクトで解禁されるユニットを指定します。
ただし、搭乗タイプ単位で1つしか指定できません。

とくにユニットを解禁しないプロジェクトの場合、NONEを指定します。
BtSでは、この属性を持つプロジェクトはありません。

値:搭乗タイプキー

例:
<EveryoneSpecialUnit>NONE</EveryoneSpecialUnit>

<EveryoneSpecialBuilding>

このプロジェクトで解禁される建造物を指定します。
ただし、特殊建造物グループ単位で1つしか指定できません。

とくに建造物を解禁しないプロジェクトの場合、NONEを指定します。
BtSでは、この属性を持つプロジェクトはマンハッタン計画のみです。

値:特殊建造物キー

例1:
<EveryoneSpecialBuilding>NONE</EveryoneSpecialBuilding>

例2:核シェルターを解禁
<EveryoneSpecialBuilding>SPECIALBUILDING_BOMB_SHELTER</EveryoneSpecialBuilding>

<bSpaceship>

宇宙船のパーツとして指定します。
ここに1を指定した場合、このプロジェクトは宇宙船のパーツになります。
これにより、建造物による宇宙船生産ボーナスを受けることができます。

とくに宇宙船のパーツとは関係ないプロジェクトの場合、0を指定します。

値:0か1

例:
<bSpaceship>0</bSpaceship>

<bAllowsNukes>

ここに1を指定した場合、全世界で核兵器の生産を解禁します。

とくに核の解禁とは関係ないプロジェクトの場合、0を指定します。

値:0か1

例:
<bAllowsNukes>1</bAllowsNukes>

<Button>

このプロジェクトを表すボタン画像のファイル名を指定します。
プロジェクトのアイコンとして使用されます。

値:\Assets\ からの相対ファイルパス

例:
<Button>,Art/Interface/Buttons/Buildings/ManhattanProject.dds,Art/Interface/Buttons/Buildings_Atlas.dds,7,4</Button>

<PrereqProjects>

前提となるプロジェクトを指定します。
チーム全体で見てここに指定されたプロジェクトがすべて必要数完成している文明でのみ、
このプロジェクトを生産することができます。

値:<PrereqProject>のリスト

<PrereqProject>は以下の2つのタグを含みます。

<ProjectType>

前提となるプロジェクトを指定します。
値:プロジェクトキー

<iNeeded>

そのプロジェクトの必要数を指定します。
値:整数

例1:
<PrereqProjects />

例2:アポロ計画が1つ必要

<PrereqProjects>
    <PrereqProject>
        <ProjectType>PROJECT_APOLLO_PROGRAM</ProjectType>
        <iNeeded>1</iNeeded>
    </PrereqProject>
</PrereqProjects>

<VictoryThresholds>

勝利のために十分な最大必要数を指定します。

例:あとで

<VictoryMinThresholds>

勝利のために最低限必要な数を指定します。

<VictoryThresholds>を指定していて、勝利必要数に幅をもたせたくないときに限り、空タグで指定を省略できます。
その場合、<VictoryThresholds>と同じ内容を指定したとみなされます。

例:あとで

<iVictoryDelayPercent>

追加で発生する勝利ターンへの待ち時間を指定します。
ここに正の整数nを指定した場合、このプロジェクトが最大必要数から1不足するごとに
n / [最大必要数]%だけ勝利ターンへの待ち時間が延長されます。

値:整数

例:あとで

<iSuccessRate>

<VictoryThresholds>に1不足するごとに減少する勝利確率を指定します。

値:整数


例1:(勝利に関係しない)

<VictoryThresholds>
<VictoryMinThresholds/>
<iVictoryDelayPercent>0</iVictoryDelayPercent>
<iSuccessRate>0</iSuccessRate>

例2:宇宙勝利のために1が必要

<VictoryThresholds>
    <VictoryThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>1</iThreshold>
    </VictoryThreshold>
</VictoryThresholds>
<VictoryMinThresholds/>
<iVictoryDelayPercent>0</iVictoryDelayPercent>
<iSuccessRate>0</iSuccessRate>

例3:宇宙勝利のために1-2が必要
   2から1減るごとに勝利に必要な時間+25% (50/2=25)

<VictoryThresholds>
    <VictoryThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>2</iThreshold>
    </VictoryThreshold>
</VictoryThresholds>
<VictoryMinThresholds>
    <VictoryMinThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>1</iThreshold>
    </VictoryMinThreshold>
</VictoryMinThresholds>
<iVictoryDelayPercent>50</iVictoryDelayPercent>
<iSuccessRate>0</iSuccessRate>

例4:宇宙勝利のために1-5が必要
   5から1減るごとに勝利確率-20%

<VictoryThresholds>
    <VictoryThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>5</iThreshold>
    </VictoryThreshold>
</VictoryThresholds>
<VictoryMinThresholds>
    <VictoryMinThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>1</iThreshold>
    </VictoryMinThreshold>
</VictoryMinThresholds>
<iVictoryDelayPercent>0</iVictoryDelayPercent>
<iSuccessRate>20</iSuccessRate>

例5:宇宙勝利のために1-5が必要
   5から1減るごとに勝利に必要な時間+20% (100/5=20)

<VictoryThresholds>
    <VictoryThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>5</iThreshold>
    </VictoryThreshold>
</VictoryThresholds>
<VictoryMinThresholds>
    <VictoryMinThreshold>
        <VictoryType>VICTORY_SPACE_RACE</VictoryType>
        <iThreshold>1</iThreshold>
    </VictoryMinThreshold>
</VictoryMinThresholds>
<iVictoryDelayPercent>100</iVictoryDelayPercent>
<iSuccessRate>0</iSuccessRate>

<BonusProductionModifiers>

このプロジェクトの生産を加速する資源を指定します。

値:<BonusProductionModifier>のリスト

<BonusProductionModifier>は以下の2つのタグを含みます。

<BonusType>

生産を加速する資源を指定します。
値:資源キー

<iProductonModifier>2

その資源に対して何%加速するか指定します。
ここに100を指定すると、その時に限りシヴィロペディアの表示が
「生産速度2倍」になります。
値:整数

例1:ウランがあれば生産速度2倍

<BonusProductionModifiers>
    <BonusProductionModifier>
        <BonusType>BONUS_URANIUM</BonusType>
        <iProductonModifier>100</iProductonModifier>
    </BonusProductionModifier>
</BonusProductionModifiers>

<CreateSound>

このプロジェクトが完成したときに流れる効果音を指定します。

値:2Dサウンドスクリプトキー

例:
<CreateSound />

<MovieDefineTag>

ムービーのグラフィックを指定します。キーの定義は
\XML\Art\CIV4ArtDefines_Movie.xml にあります。

ここにNONE以外のキーを指定する場合、プロジェクト完成時にそのキーの内容に従ってムービーが再生されます。

例:
<MovieDefineTag>ART_DEF_MOVIE_MANHATTAN_PROJECT</MovieDefineTag>


  1. n文明と書いていますが、正確にはnチームです。 ↩︎

  2. iProductonModifierです。誤字ではありません。 ↩︎