編集 | 凍結 | 差分 | バックアップ | 添付 | ページ名変更 |
最終更新: 2017-07-02 (日) 17:27:22
トップページ / MOD / 作成情報 / XMLの編集 / ランダムイベント

ランダムイベント Edit

はじめに Edit

イベントの編集方法の概要の説明です。
Fanatics内の記事(http://forums.civfanatics.com/showthread.php?t=230567http://forums.civfanatics.com/showthread.php?t=268759)から翻訳。
具体的な書式はこちらを参照してください。

編集対象ファイル Edit

  1. /My Games/Beyond the Sword(J)/CustomAssets/XML/Events/Civ4EventInfos.xml
  2. /My Games/Beyond the Sword(J)/CustomAssets/XML/Events/Civ4EventTriggerInfos.xml
    インストールディレクトリ(C:/Program Files/CYBERFRONT/Sid Meier's Civilization 4(J))以下から上記の場所にコピーしてから編集しましょう。

Civ4EventInfos.xml Edit

イベントの効果を定義するファイル。
<EventInfo>タグで新しいEventを定義。

名前効果
<Type>このイベントを一意にあらわす識別子。"EVENT_hogehoge"という書式が使われている。
<Description>イベントの内容を示す文章を指定する。"TXT_KEY_EVENT_hogehoge"という書式が使われている。
BtSでは、実際の文章は、Assets/XML/Text/Civ4GameText_Events_BTS.xmlに記されている。
<LocalInfoText>イベントが起きた文明に表示する文章を指定する。
<WorldNewsTexts>イベントが起きたときニュースとして他の全ての文明に表示する文章を指定する。未接触の文明は除く。
<OtherPlayerPopup>イベントで影響を受ける、対象の文明にポップアップで表示する文章を指定する。BtSではパルチザンイベントなどで使用されている。
(「対象の文明」とは、Civ4EventTriggerInfos.xmlの<bPickPlayer>で対象となった文明である。以下同様。)
<QuestFailText>クエストに失敗したときに表示される文章を指定する。
<bQuest>1なら、このイベントはクエストである。
<bGlobal>1なら、このイベントは他の全ての文明にも適用される。これは完了したクエストを全ての文明でリセットする目的で使用される。
<bTeam>1なら、このイベントは同じチームの他の文明にも効果を与える。BtSでは使用されていない。
<bPickCity>1なら、このイベントはイベントが起きた文明の都市の1つに効果を与える。(以下、この都市を「対象の都市」とする)
<bPickOtherPlayerCity>1なら、このイベントは他の文明の都市の1つに効果を与える。 [espionage]を消費して敵の都市に悪い効果を与えるイベントなどで使われている。
<bPickCity>と組み合わせれば、自分と相手の都市の両方に効果を与えるイベントを作れる。BtSの飢饉(Famine)イベントなどがその例である。
<bDeclareWar>1なら、イベントが起きた文明と対象の文明が開戦する。
<iGold>イベントが起きた文明が受け取る [wealth]の基準額。数値がマイナスなら損失額になる。以下のタグを使用して、他の文明に効果を与えることもできる。
<bGoldToPlayer>1なら、<iGold>で指定した [wealth]は、対象の文明が受け取る。
<iRandomGold><iGold>に加えるランダム値の上限。両者の合計が最終的に受け取る金額になる。
<iCulture>都市に与える [culture]の値。都市を対象としたイベントでのみ有効。
<iEspionagePoints>イベントが起きた文明が受け取る、対象の文明に対する [espionage]の量。
<bGoldenAge>1なら、 [goldenage]黄金期開始。
<iFreeUnitSupport>ユニットの維持費無料枠の増加数。
<iInflationMod>インフレ率の変化量。正の値なら増加し、負の値なら減少する。
<iSpaceProductionMod>宇宙船のパーツの建造速度に対する補正。10なら建造速度が10%上がる。
<Tech>テクノロジーの識別子を記述する。以下のタグで効果を受ける、対象のテクノロジーを指定する。なにも指定しないときはNONEを記述する。
<TechFlavors>1つ以上のフレーバータイプ、およびその比重を指定する。比重を元に、以下のタグで効果を受ける、対象のテクノロジーが決定される。<Tech>で既にテクノロジーを指定済みの場合は無効。<Tech>と<TechFlavors>の両方で指定がない場合は研究中のテクノロジーになる。
フレーバータイプとは、テクノロジーがどんな分野に属するものかを表す比重で、テクノロジーごとに設定されている。偉人によるテクノロジー獲得やAIの研究嗜好において、テクノロジーを一意に選ぶ目的で使用されている。
例えば、ここに指定したFLAVOR_RELIGIONの比重を1増やすごとに、宗教的なテクノロジーが選ばれやすくなる。
<iTechPercent>テクノロジーに追加する [research]の量。総コストに対する割合(%)で指定する。<Tech>か<TechFlavors>で指定したテクノロジーか、指定がなければ現在研究中のテクノロジーが対象になる。負の値の場合は研究が後退する。
<iTechCostPercent>テクノロジーの研究コストに対する割合(%)を指定する。その量に等しい [wealth]を支出する。
<iTechMinTurnsLeft>研究完了までに必要な残りターン数の最小値。このイベントが有効になるためには、画面上部の研究バーに表示される残りターン数が、この値以上でなくてはならない。言い換えれば、研究が完成に近いときはこのイベントは起こらない。
例えばこの数値に5を指定した場合、研究完了までに必要なターン数が5未満のときは、このイベントは起こらない (選択肢の場合は選択できない)。
<PrereqTech>このイベントが有効になるために必要なテクノロジー。
<UnitClass>イベントが起きた文明に無償で与えられるユニットの種類 (UnitClass)。
<iNumFreeUnits>イベントが起きた文明に無償で与えられるユニットの数。ユニットの種類は<UnitClass>で指定する。
例えば、子要素の<UnitClass>にUNITCLASS_CROSSBOWMANを指定し、<iNumFreeUnits>に2を指定すると、2体の弩兵 (もしくはその代替ユニット) が与えられる。
<bDisbandUnit>1なら、対象のユニットを解体する。
<iUnitExperience>対象のユニットが受け取る経験値の量。
<iUnitImmobileTurns>対象のユニットは移動できなくなり、その状態はこの値のターンだけ持続する。
<UnitPromotion>昇進の識別子を記述する。対象のユニットに指定した昇進を与える。
<UnitName>文字列の識別子を記述する。対象のユニットの名称を指定したものに改名する。
<UnitCombatPromotions>ユニットカテゴリ (UnitCombat) の識別子、昇進の識別子を記述する。指定したカテゴリに属するユニット全てに、指定した昇進を与える。
例えば、子要素の<UnitCombat>にUNITCOMBAT_ARCHERを指定し、<UnitPromotion>にPROMOTION_COMBAT1を指定した場合は、既に存在する、そしてこれから生産する全ての弓術ユニットに戦闘 I の昇進を与える。
<UnitClassPromotions>前項の相似。
ユニットの種類 (UnitClass) の識別子、昇進の識別子を記述する。指定した種類のユニット全てに、指定した昇進を与える。
<BuildingClass>建造物の識別子を記述する。以下のタグで効果を受ける、対象の建造物を指定する。なにも指定しないときはNONEを記述する。
<iBuildingChange>-1もしくは1を指定する。1なら<BuildingClass>で指定した建造物が都市に追加され、-1なら破壊される。
例えば、子要素の<BuildingClass>にBUILDINGCLASS_FORGEを指定し、<iBuildingChange>に-1を指定すると、対象の都市の鍛冶屋は破壊される。
<BuildingExtraYields>建造物の識別子、産出物 ( [food] or [hammer] or [commerce]) の識別子、産出物の量を指定する。指定した建造物の産出量を変化させる。
例えば、子要素の<BuildingClass>にBUILDINGCLASS_HARBOR、<YieldType>にYIELD_COMMERCE、<iExtraYield>に2を指定すると、港が2の [commerce]を産出するようになる。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<BuildingExtraCommerces>前項の相似。
建造物の識別子、商業出力 ( [research] or [culture] or [wealth] or [espionage]) の識別子、商業出力の量を指定する。指定した建造物の商業出力を変化させる。
例えば、子要素の<BuildingClass>にBUILDINGCLASS_MARKET、<CommerceType>にCOMMERCE_GOLD、<iExtraCommerce>に1を指定すると、市場が1の [wealth]を出力するようになる。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。(研究 COMMERCE_RESEARCH,文化 COMMERCE_CULTURE)
<BuildingExtraHappies>前項の相似。建造物の識別子と、それに追加する [happy]の量を指定する。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<BuildingExtraHealths>前項の相似。建造物の識別子と、それに追加する [health]の量を指定する。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<iHappy>都市に追加する [happy]の量を指定する。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<iHealth>都市に追加する [health]の量を指定する。<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<iHurryAnger>都市に追加する一時的な [unhappy]の量を指定する。(奴隷制の緊急生産による不幸と同じ)
さらに悪いことに、<bPickCity>を0にすれば、文明の全ての都市で効果がある。なんてこった!
<iHappyTurns>都市に追加する一時的な [happy]の持続ターン数を指定する。 [happy]の上昇量はAssets/XML/GlobalAssets.xmlのTEMP_HAPPYで指定する。BtSの標準では1である。
例えば10を指定すると、都市の [happy]が10ターンのあいだ+1される。
繰り返すが、<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<iRevoltTurns>都市が反乱状態に陥るターン数を指定する。(占領した直後の都市と同様の状態)
たいていは<bPickCity>もしくは<bPickOtherPlayerCity>に1を指定して都市を対象とする。
<iMinPillage>文化圏内で破壊するタイル整備の下限数。都市を対象とする場合、破壊するのは対象の都市圏内のいずれかになる。
<iMaxPillage>文化圏内で破壊するタイル整備の上限数。<iMinPillage>と組み合わせて使用し、<iMinPillage>で指定した数以上でなくてはならない。両者が同じ値の場合、破壊する数は一定になる。
<iFood>都市の食料バーに追加する [food]の量。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<iFoodPercent>都市の食料バーの変化量。割合(%)で指定する。
例えば-100を指定した場合、都市の食料バーに蓄えた食料は全て消える。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<FreeSpecialistCounts>都市に追加する無償の専門家の種類と数。都市を対象としたイベントでのみ有効。
例えば、子要素の<SpecialistType>にSPECIALIST_SCIENTIST、<iFreeSpecialistCount>に1を指定すると、対象の都市に無償の科学者が追加される。
<FeatureType>特徴的な地形の識別子を記述する。なにも指定しないときはNONEを記述する。<iFeatureChange>と組み合わせて、対象のタイルにその地形を追加したり除去したりする。
<iFeatureChange>-1もしくは1を指定する。1なら対象のタイルに<FeatureType>で指定した地形が追加され、-1なら除去される。
<ImprovementType>タイル整備の識別子を記述する。なにも指定しないときはNONEを記述する。<iImprovementChange>と組み合わせて、対象のタイルにそのタイル整備を追加したり破壊したりする。
<iImprovementChange>-1もしくは1を指定する。1なら対象のタイルに<ImprovementType>で指定したタイル整備が追加され、-1なら破壊される。
<BonusType>資源の識別子を記述する。なにも指定しないときはNONEを記述する。<iBonusChange>と組み合わせて、対象のタイルにその資源を追加したり除去したりする。
<iBonusChange>-1もしくは1を指定する。1なら対象のタイルに<BonusType>で指定した資源が追加され、-1なら除去される。
<RouteType>経路 (道路 or 鉄道) の識別子を記述する。なにも指定しないときはNONEを記述する。<iRouteChange>と組み合わせて、対象のタイルにその経路を敷設したり破壊したりする。
<iRouteChange>-1もしくは1を指定する。1なら対象のタイルに<RouteType>で指定した経路が敷設され、-1なら破壊される。
<BonusRevealed>資源の識別子を記述する。なにも指定しないときはNONEを記述する。指定した資源が可視状態になる (発見に必要となるテクノロジーを持っていなくてもよい)。
<BonusGift>資源の識別子を記述する。なにも指定しないときはNONEを記述する。指定した資源を対象の文明に譲渡する。つまり、2つの文明に効果を及ぼすイベントでのみ有効。
<PlotExtraYields>産出物 ( [food] or [hammer] or [commerce]) の識別子、産出物の量を指定する。対象のタイルの産出量を変化させる。
例えば、子要素の<YieldType>にYIELD_COMMERCE、<iExtraYield>に1を指定すると、対象のタイルが追加で+1の [commerce]を産出するようになる。
<iConvertOwnCities>新たに宗教が布教される自国の都市の数。宗教の種類はEventTriggers.xmlで指定するトリガにより決定する。
<iConvertOtherCities>新たに宗教が布教される他国の都市の数。宗教の種類はEventTriggers.xmlで指定するトリガにより決定する。
<iMaxNumReligions>1つの都市に布教できる宗教の上限数。<iConvertOwnCities>および<iConvertOtherCities>で布教する際に使用される。上限を設けない場合は-1を指定する。
<iOurAttitudeModifier>対象の文明に向ける外交態度の変化量。正の値なら好転し、負の値なら悪化する。
<iAttitudeModifier>対象の文明から向けられる外交態度の変化量。正の値なら好転し、負の値なら悪化する。
<iTheirEnemyAttitudeModifier>対象の文明の最悪の敵に向ける外交態度の変化量。これは相互に作用する。
例として-1を指定した場合を考える。イベントが起きた文明を文明A、対象となった文明を文明B、文明Bの最悪の敵を文明Cとする。AがCに向ける外交態度が-1され、逆にCがAに向ける外交態度も-1される。
<iPopulationChange>都市の人口の変化量。正の値なら増加し、負の値なら減少する。
<bPickCity>が0の場合、文明の全ての都市で効果がある。<bPickCity>が1の場合、対象の都市のみに効果がある。
<AdditionalEvents>イベントの識別子と、確率を指定する。指定したイベントが指定した確率で起こるようになる。連鎖型のイベントで使用する。
例えば、子要素の<Event>にEVENT_AIRLINER_CRASH_4を指定し、<iEventChance>に50を指定すると、EVENT_AIRLINER_CRASH_4が50%の確率で起こるようになる。
<EventTimes>イベントの識別子と、ターン数を指定する。
ここに値を指定すると、<AdditionalEvents>で指定したイベントは、確率ではなく、ターン経過で起こるようになる。必ず<AdditionalEvents>と組み合わせて使う。
<ClearEvents>イベントの識別子と、確率を指定する。指定したイベントを指定した確率でリセットする。
リセットしたイベントは未だ起こっていないものと見なされ、条件を満たせば再び起こる可能性がある。
<PythonCallback>このイベントが起きたときに呼び出されるPython関数。xmlだけでは実現できない機能の実装に用いる。
<PythonExpireCheck>このイベントの期限切れ判定を行ったときに呼び出されるPython関数。
<PythonCanDo>このイベントが起こる条件を満たすか判定を行ったときに呼び出されるPython関数。特殊な条件を設けたい場合に用いる。
<PythonHelp>このイベントのヘルプテキストを生成するPython関数。
<Button>このイベントを表すアイコン。
<iAIValue>このイベントが選択肢の場合に、AIが優先して選択する比重。

"b"で始まるタグはboolean(0または1)である
"i"で始まるタグは整数値をとる
"f"で始まるタグは浮動小数点値をとる

Civ4EventTriggerInfos.xml Edit

イベントの起動条件 (トリガ) を定義するファイル。
<EventTriggerInfo>タグで新しいEventTriggerを定義。

名前効果
<Type>このトリガを一意にあらわす識別子。"EVENTTRIGGER_hogehoge"という書式が使われている。
<WorldNewsTexts>イベントが起きたときニュースとして他の全ての文明に表示する文章を指定する。
<TriggerTexts>イベントが起きた文明に表示する文章を指定する。時代ごとに異なる文章を指定できる。
<bSinglePlayer>1なら、このトリガはシングルプレイヤーゲームでのみ有効。
<iPercentGamesActive>新たにゲームを始める際に、そのゲームでこのトリガを採用する確率(%)。
1つのゲームでは、全てのトリガが必ず採用されるというわけではない。ゲームの開始時に全てのトリガについてこの確率で判定を行い、採用されなかったトリガは (トリガ自体の条件を満たしても) そのゲームでは決して起動しない。
<iWeight>トリガが起動する確率に影響する。値が大きいほど起動しやすくなる。-1を指定すると、他の条件を満たせば必ず起動する。
<bProbabilityUnitMultiply>1なら、トリガの条件を満たすユニットを多く所有するほどトリガの起動確率が高くなる。
<bProbabilityBuildingMultiply>1なら、トリガの条件を満たす建造物を多く所有するほどトリガの起動確率が高くなる。
<Civic>トリガの起動に必要な社会制度。
<iMinTreasury>トリガの起動に必要な国庫の最低額。
<iMinPopulation>トリガの起動に必要な文明の総人口の下限。
<iMaxPopulation>トリガの起動に必要な文明の総人口の上限。
<iMinMapLandmass>トリガの起動に必要な、マップ上に存在する陸地の数の下限。主に、大陸がいくつ必要かを表すのに用いられる。
<iMinOurLandmass>トリガの起動に必要な、文明が所有する (文明の都市が存在する) 陸地の数の下限。
<iMaxOurLandmass>トリガの起動に必要な、文明が所有する (文明の都市が存在する) 陸地の数の上限。-1なら制限なし。
<MinDifficulty>トリガの起動に必要な難易度の下限。なにも指定しないときはNONEを記述する。
<iAngry>トリガの起動に必要な、不幸な市民 ( [unhappy] - [happy]) の下限。都市を対象とするトリガでのみ有効。
<iUnhealthy>トリガの起動に必要な、都市の不衛生 ( [unhealth] - [health]) の下限。都市を対象とするトリガでのみ有効。
<UnitsRequired>トリガの起動に必要なユニットの種類。ユニットの種類 (UnitClass) の識別子を記述する。
このトリガが起動するイベントは指定した種類のユニットにのみ効果を及ぼす。
<iNumUnits>1以上なら、文明が所有する中から(トリガの条件を満たす)ユニットを1つを選ぶ。(この値がいくつであろうと、選ぶのは1つだけ) (以下、このユニットを「対象のユニット」とする)。
トリガの条件を満たすユニットが1つもなければ、トリガは起動しない。
<UnitsRequired>などと組み合わせれば、ユニットの種類を限定できる。
<iNumUnitsGlobal>トリガの起動に必要な、全文明が所有する総ユニット数。
<UnitsRequired>と組み合わせれば、ユニットの種類を限定できる。
<iUnitDamagedWeight>1なら、トリガの起動には負傷したユニットが必要。
<iUnitDistanceWeight>1なら、対象のタイルからユニットが離れているほどトリガの起動確率が高くなる。タイルを対象とするトリガでのみ有効。
<iUnitExperienceWeight>1なら、高い経験値を持つユニットがいるほどトリガの起動確率が高くなる。
<bUnitsOnPlot>1なら、対象のタイルに<UnitRequired>で指定した種類のユニットが存在していなければならない。
<BuildingsRequired>トリガの起動に必要な建造物。以下のタグと組み合わせて使う。
<iNumBuildings>1なら、対象の都市に<BuildingsRequired>で指定した建造物が存在していなければならない。都市を対象とするトリガでのみ有効。
<iNumBuildingsGlobal>トリガの起動には、<BuildingsRequired>で指定した建造物の総数が、文明全体でこの値以上でなくてはならない。
例えば、<BuildingsRequired>にBUILDINGCLASS_FORGEを指定し、<iNumBuildingsGlobal>に5を指定した場合、鍛冶屋のある都市が5つ以上必要になる。
<iNumPlotsRequired>1以上なら、文明が領有する中から(トリガの条件を満たす)タイルを1つを選ぶ。(この値がいくつであろうと、選ぶのは1つだけ) (以下、このタイルを「対象のタイル」とする)。
トリガの条件を満たすタイルが1つもなければ、トリガは起動しない。
条件は以下のタグで指定する。
<bOwnPlot>1なら、<iNumPlotsRequired>の条件となるタイルは、自国の領土でなくてはならない。
<iPlotType><iNumPlotsRequired>の条件となるタイルは、ここで指定した地形タイプでなくてはならない。地形タイプの定義は、SDKおよびPythonにおけるPlotType。
-1: 制限なし (NO_PLOT)
0: 山頂 (PLOT_PEAK)
1: 丘陵 (PLOT_HILLS)
2: 平地 (PLOT_LAND)
3: 海洋 (PLOT_OCEAN)
<FeaturesRequired>特徴的な地形 (Terrain Features) の識別子を記述する。なにも指定しないときはNONEを記述する。
<iNumPlotsRequired>の条件となるタイルには、ここで指定した特徴的な地形が存在しなければならない。
<TerrainsRequired>基本的な地形 (Base Terrains) の識別子を記述する。なにも指定しないときはNONEを記述する。
<iNumPlotsRequired>の条件となるタイルは、ここで指定した基本的な地形でなくてはならない。
<ImprovementsRequired>タイル整備 (Improvements) の識別子を記述する。なにも指定しないときはNONEを記述する。
<iNumPlotsRequired>の条件となるタイルは、ここで指定したタイル整備をされていなければならない。
<BonusesRequired>資源 (Resources) の識別子を記述する。なにも指定しないときはNONEを記述する。
<iNumPlotsRequired>の条件となるタイルには、ここで指定した資源が存在しなければならない。
<RoutesRequired>経路 (Routes) の識別子を記述する。なにも指定しないときはNONEを記述する。
<iNumPlotsRequired>の条件となるタイルには、ここで指定した経路が敷設されていなければならない。
<ReligionsRequired>宗教の識別子を記述する。トリガの起動に必要な宗教。
都市を対象とするトリガの場合、その都市に宗教が存在しなければならない。都市を対象としないトリガの場合、文明のいずれかの都市に存在すればよい。
<iNumReligions><ReligionsRequired>に列挙した宗教の中で、トリガの起動に必要となる宗教の数。<ReligionsRequired>に指定がない場合、宗教の種類は任意となる。
例えば、都市を対象とするトリガで、<ReligionsRequired>に指定がなく、<iNumReligions>が2の場合、対象の都市に任意の宗教が2つ以上必要になる。
<CorporationsRequired><ReligionsRequired>の相似。
企業の識別子を記述する。トリガの起動に必要な企業。
<iNumCorporations><iNumReligions>の相似。
<CorporationsRequired>に列挙した企業の中で、トリガの起動に必要となる企業の数。
<bPickReligion>1なら、文明が所有する宗教の中から1つを選ぶ (以下、この宗教を「対象の宗教」とする)。都市を対象とする (<bPickCity>が1) なら、対象の都市に存在する宗教の中から選ぶ。
文明に宗教が存在しない場合、このトリガは起動しない。
対象となる宗教の種類は以下の<bStateReligion>および<bHolyCity>で限定できる。
<bStateReligion>1なら、<bPickReligion>で対象となる宗教は現在の国教となる。
国教が存在しない場合、このトリガは起動しない。
<bHolyCity>1なら、<bPickReligion>で対象となる宗教は文明が所有する聖都の中から選ぶ。文明に聖都が存在しない場合、このトリガは起動しない。
<bPickCity>が1なら、対象の都市が聖都でなくてはならない。
例1) <bPickReligion>, <bHolyCity>が共に1なら、いずれかの聖都を所有していなければならない。<bPickReligion>で対象となる宗教は、所有している聖都の中からランダムに選ぶ。
例2) <bPickReligion>, <bHolyCity>が共に1で、なおかつ都市を対象とする (<bPickCity>が1) なら、対象の都市はいずれかの聖都でなくてはならない。<bPickReligion>で対象となる宗教は、その都市に存在する聖都の中からランダムに選ぶ。
例3) <bPickReligion>, <bStateReligion>, <bHolyCity>が全て1で、なおかつ都市を対象とする (<bPickCity>が1) なら、対象の都市は現在の国教の聖都でなくてはならない。<bPickReligion>で対象となる宗教は、現在の国教となる。
<bPickCorporation><bStateReligion>の相似。宗教ではなく企業を対象とする。
<bHeadquarters><bHolyCity>の相似。聖都ではなく本社を必要とする。
<Events>イベントの識別子 (Civ4EventInfos.xmlの<Type>で定義) を列挙する。これらは、このトリガが起動したとき選択肢として現れる。
例えば、奴隷反乱イベントではEVENT_SLAVE_REVOLT_1, EVENT_SLAVE_REVOLT_2, EVENT_SLAVE_REVOLT_3の3つが列挙されており、それぞれの効果はCiv4EventInfos.xmlで定義されている。このイベントが起きる (トリガが起動する) と、ポップアップで3つの選択肢が提示され、プレイヤーが選択した効果だけが適用される。一方、竜巻イベントではEVENT_TORNADO_1の1つだけが記述されているので、プレイヤーが効果を選択することはできない。
<PrereqEvents>イベントの識別子を記述する。このトリガが起動するには、ここで指定したイベントが既に起こっている必要がある。
このタグには2つの使い方がある。
1つは単にトリガ起動の前提条件とする場合。例えば、続・砂嵐イベント (EVENTTRIGGER_DUSTBOWL_CONT) ではEVENT_DUSTBOWL_2が指定されており、このトリガはEVENT_DUSTBOWL_2が起こってからでないと起動しない。
もう1つは、クエスト完了トリガに使う場合。すべてのクエストは、開始トリガと完了トリガの組み合わせで成立しており、開始トリガからクエストを開始するイベントを済ませない限り、完了トリガが起動することはない。例えば、クエスト「うまのきもち (Horse Whispering)」を例にすると、クエスト開始トリガ「TXT_KEY_EVENT_TRIGGER_HORSE_WHISPERING」からクエスト開始イベント「EVENT_HORSE_WHISPERING_1」を選択した後でなければ、クエスト完了トリガである「EVENTTRIGGER_HORSE_WHISPERING_DONE」は起動しない。
このように、クエストは開始トリガと完了トリガをそれぞれ定義して、このタグで関連付ける必要がある。
<bPrereqEventPlot>1なら、このトリガは<PrereqEvents>で指定したイベントが起きたタイルと同じタイルで再び起動する。
これは奴隷反乱や竜巻イベントのような、同じ場所で継続するイベントで用いる。
<OrPreReqs>テクノロジーの識別子を列挙する。トリガの起動に必要なテクノロジー。
ここに列挙したテクノロジーをいずれか1つ持っている必要がある。
<AndPreReqs>テクノロジーの識別子を列挙する。トリガの起動に必要なテクノロジー。
ここに列挙したテクノロジーを全て持っている必要がある。
<ObsoleteTechs>テクノロジーの識別子を列挙する。トリガを時代遅れにさせるテクノロジー。
ここに列挙したテクノロジーをいずれか1つ手に入れると、このトリガは起動しなくなる。
<bRecurring>1なら、このトリガは1つのゲームを通して同じ文明で何度も起動する。0なら、一度トリガが起動した文明では二度と起動しない。ただしEventInfo.xmlの<ClearEvent>でリセットすると、再び起動するようになる。
<bTeam>1なら、このトリガは同じチームの他の文明にも適用される。BtSでは使用されていない。
<bGlobal>1なら、このトリガは全ての文明に適用される。つまり、ある文明でトリガが起動すると、他の全ての文明でも同じトリガが起動したと見做される。(見做されるだけで、実際にイベントが効果を発揮するのは最初の文明のみ)
同時に<bRecurring>を0にすれば、1つのゲームを通してただ一度だけ起きるイベントを作成できる。
<bPickPlayer>1なら、トリガを起動した文明とは別に、もう1つ文明を選ぶ。(これを「対象の文明」とする)
これは別の文明に何かを譲り渡したり、外交関係に影響を及ぼすためなどに使用されている。
対象となる文明は、次の6つのタグで条件を制限できる。
<bOtherPlayerWar>1なら、トリガを起動した文明と<bPickPlayer>で対象となった文明とが戦争中でなければならない。
<bOtherPlayerHasReligion>1なら、<bPickPlayer>で対象となった文明は、<bPickReligion>の宗教を持っていなければならない。
<bStateReligion>が1なら、いずれかの都市に存在すればよい。<bStateReligion>が1なら、その宗教を国教に制定していなければならない。
<bOtherPlayerHasOtherReligion>前項とは反対に機能する。
1なら、<bPickPlayer>で対象となった文明は、<bPickReligion>とは異なる宗教を持っていなければならない。
<bStateReligion>が1なら、<bPickReligion>とは異なる宗教を国教に制定していなければならない。
<bOtherPlayerAI>1なら、<bPickPlayer>で対象となった文明はAI文明でなければならない。
<iOtherPlayerShareBorders>トリガを起動した文明と<bPickPlayer>で対象となった文明とが、互いに国境を接している必要がある陸上タイルの下限数。
<OtherPlayerHasTech>テクノロジーの識別子を記述する。<bPickPlayer>で対象となった文明が持っていなければならないテクノロジー。
<bPickCity>1なら、文明の都市から1つを選ぶ (以下、この都市を「対象の都市」とする)。特定の都市に効果を及ぼすイベントで用いる。
<bPickOtherPlayerCity>前項の相似。
1なら、<bPickPlayer>で対象となった文明の都市から1つを選ぶ。特定の都市に効果を及ぼすイベントで用いる。
<bShowPlot>1なら、トリガを起動したタイルをハイライト表示する。
<iCityFoodWeight>この値を高くするほど、<bPickCity>で対象とする都市を選ぶ際に、都市の食料バーに蓄えた [food]が多い都市が選ばれやすくなる。常識的な比重は1。
<PythonCanDo>このトリガが起動するか判定を行ったときに呼び出されるPython関数。特殊な条件を設けたい場合に用いる。
<PythonCanDoCity>都市を対象 (<bPickCity>が1) とするトリガで、都市が対象となる資格を持つか判定を行ったときに呼び出されるPython関数。特殊な条件を設けたい場合に用いる。
<PythonCanDoUnit>ユニットを対象とするトリガで、ユニットが対象となる資格を持つか判定を行ったときに呼び出されるPython関数。特殊な条件を設けたい場合に用いる。
<PythonCallback>トリガが起動したときに呼び出されるPython関数。BtSでは使用されていない。
Civ4EventInfos.xmlの同名項目と混同しないよう注意。

"b"で始まるタグはboolean(0または1)である
"i"で始まるタグは整数値をとる
"f"で始まるタグは浮動小数点値をとる

コメント Edit

コメントはありません。 Comments/MOD/作成情報/XMLの編集/ランダムイベント?

お名前:


トップ   編集 凍結 差分 バックアップ 添付 複製 ページ名変更 リロード   新規 ページ一覧 単語検索 最終更新   スマホ版表示に変更   最終更新のRSS
Last-modified: 2017-07-02 (日) 17:27:22 (839d)