志向の性能変更

本項目では志向の性能変更の仕方について記述していきたいと思います。
性能変更と言えど何でも出来るといったわけでは御座いません。XMLだけでは限界があり、幅を広げるにはPythonやC++のプログラミング技術が必要なSDKのソースコードを弄らなければなりません。
多分。筆者はプログラミング技術なんてあるわけないので憶測でしか言えません。ですが少なくともXMLだけでは設定出来る幅は狭いと言えるでしょう。
それでも現在用意されている攻撃志向、防衛志向などに使われている特定のユニットタイプに対して無償の昇進を付与させたり、全都市に幸福+3なんてことは可能です。
そこで実際何処まで変更が可能なのか気になりますよね。それはこちらに詳しく載っているので一読してください。
もう説明なんていらないんじゃないかと言わんばかりに詳しく載っています。
ですが一応解説・説明するページなのでそれっぽく。

まずは今回弄るファイル名ですが「CIV4TraitInfos.xml」という名前が付けられています。直訳すると志向情報というシンプルで分かりやすい名前ですね。
このファイルの格納場所はXMLフォルダの中のCivilizationsフォルダの中です。

それでは中のファイルを開いてみましょう。

図1で説明しているとおりTraitInfosの左にある[+]をクリックしてみましょう。
展開することで中に東方叙事詩に設定されている志向が全て表示されます。この中には共通志向だけでなく固有志向が含まれているので数が多いです。
上から紅魔館、白玉桜、永遠亭、妖怪の山、地霊殿、星蓮船、氷精連合、博麗神社、人間の里、共通志向の順に並べられています。
左のメニューにある登場文明順かと思いきや何故か地霊殿の後に続く星蓮船。衣玖さんが空気嫁と言っています。
展開してみるとTraitInfoが沢山表示されました。このTraitInfoとは志向について記述する言わば箱です。この箱の中に志向に関するデータを設定していきます。
では試しに小悪魔の固有志向について覗いてみることにします。TraitInfoの左にある[+]をクリックして展開しましょう。

小悪魔の固有志向は全都市のに+1する志向でしたね。この+1はどこで設定されてるのか探してみると気になる場所がありますね。
そう。[+]で非表示にされている部分が怪しいですね。[+]をクリックして展開してみるとこう記述されています。
  • CommerceChanges
    • iCommerce[0]
    • iCommerce[1]
    • iCommerce[0]
ここでこの要素について確認しましょう。
CommerceChangesは全都市に追加するターンごとの生産量を設定する要素です。
その下に記述されたiCommerce子要素の値で産出量が決まってきます。上からの値となっています。
上から[0]、[1]、[0]という値が子要素で設定されているので小悪魔の志向は全都市に+1の産出量をもたらす志向だということが分かりましたね。
このように要素と子要素に値を入れることによって志向としての効果が発揮されるのである。

それではここから後半として纏めて説明していきます。小悪魔と同じような考え方なのであまり難しくないはずです。
今度は先程見てもらったページの表を引用して説明するので下にある表を見て欲しい。
要素名 概要 解説
<Type> 志向キー XML内で扱われるキーの定義。任意で構わないが他のファイルと共有しているので整合性を保たなければならない。
<Description> 志向名称キー(CIV4GameTextInfos_Objects.xml) CIV4GameTextInfos_Objects.xmlで扱うキーを定義する。
ここで設定されたキーをCIV4GameTextInfos_Objects.xmlにて再定義し、各国語にあった文字コードをあてゲーム内で読むために必要な要素。
<ShortDescription> 志向略称キー(CIV4GameTextInfos_Objects.xml) 志向の略称するときのキーを定義する。<Description>と同じようにCIV4GameTextInfos_Objects.xmlにて再定義しよう。
<iHealth> 全都市に追加する衛生(例:拡張志向の2) 要素に整数の整数を与えることで衛生値が増加する。小数点を含んだ値は与えられない。
固有志向では妹紅やお燐などに関わる要素。
<iHappiness> 全都市に追加する幸福(例:カリスマ志向の1) 要素に整数の値を与えることで幸福度が増加する。小数点を含んだ値は与えられない。
負の値を与えると都市から「うへぇぇぇぇ!」と嘆かれる。市民はどんな目に遇っているんだろう。
固有志向ではリリーホワイトとリリーホワイトブラックに関わる要素。
<iMaxAnarchy> 無政府状態の上限ターン数
-1:上限なし(通常はこの値)
0:無政府状態なし(例:うわばみ志向)
自然数:上限ターン数
概要にあるように要素に-1、0、自然数を与えることで有効になる。
小数点を含んだ値は与えられない。
固有志向では雛に関わる要素。
<iUpkeepModifier> 社会制度の都市維持費補正% (例:組織志向の-50) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<iLevelExperienceModifier> ユニットのレベルアップに必要な経験値補正% (例:カリスマ志向の-25) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<iGreatPeopleRateModifier> 全都市で増加する偉人ポイントの補正% (例:哲学志向の100) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<iGreatGeneralRateModifier> ポイントの補正% (例:帝国主義志向の100) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<iDomesticGreatGeneralRateModifier> 文化園内での出る確率(文化園内の戦闘のみポイント補正) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<iMaxGlobalBuildingProductionModifier> 世界遺産の建設速度補正% (例:勤労志向の50) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
固有志向では慧音に関わる要素。
<iMaxTeamBuildingProductionModifier> チーム遺産の建設速度補正% (例:勤労志向の50) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<iMaxPlayerBuildingProductionModifier> 国家遺産の建設速度補正% (例:勤労志向の50) 要素に整数を与えることで増減する。小数点を含んだ値は与えられない。
<ExtraYieldThresholds> タイルの産出量を+1する基本産出量の閾値
子要素で<iExtraYieldThreshold>を3つ指定する。順に, ,
(例:金融志向の2)
子要素に整数を与えることで増加する。小数点を含んだ値は与えられない。表外にて例文を記述。
固有志向ではルーミア、チルノに関わる要素。
<TradeYieldModifiers> 全都市で変化する交易収入の補正%
子要素で<iYield>を3つ指定する。順に, ,
(例:交易志向の交易路収入2毎に+1)
子要素に整数を与えることで増加する。小数点を含んだ値は与えられない。表外にて例文を記述。
<CommerceChanges> 全都市に追加するターンごとの生産量
子要素で<iCommerce>を3つ指定する。順に, ,。(例:創造志向の2)
子要素に整数を与えることで増加する。小数点を含んだ値は与えられない。表外にて例文を記述。
固有志向では小悪魔、プリズムリバー三姉妹、ミスティア、本読み妖怪、小町、ぬえに関わる要素。
<CommerceModifiers> 全都市で変化する生産量の補正%
子要素で<iCommerce>を4つ指定する。順に,,,
子要素に整数を与えることで増加する。小数点を含んだ値は与えられない。表外にて例文を記述。
固有志向ではパルスィ、星に関わる要素。
<FreePromotions> 新規ユニットに与える無償の昇進を指定(例:攻撃志向の戦闘 I)
設定は子要素、孫要素を使用する
昇進を与える分の子要素を用意し孫要素に昇進の値(キー)を与える。昇進の値(キー)は東方叙事詩用キー一覧に纏める予定。
表外にて例文を記述。固有志向では妖夢、紫、早苗、文、蓮子、村紗に関わる要素。
<FreePromotionUnitCombats> 無償の昇進を与えるユニットカテゴリを指定(例:攻撃志向の白兵、火器ユニット)
設定は子要素、孫要素を使用する
昇進そ与える分の子要素を用意し、孫要素にユニットタイプの値(キー)を与える。
ユニットタイプの値(キー)は東方叙事詩用キー一覧に纏める予定。
表外にて例文を記述。固有志向では妖夢、紫、早苗、文、蓮子、村紗に関わる要素。

<ExtraYieldThresholds>に関する例文
(例:1を産出するタイルから+1,2を産出するタイルから+1,3三出するタイルから+1)
  • ExtraYieldThresholds
    • iExtraYieldThreshold[1]
    • iExtraYieldThreshold[2]
    • iExtraYieldThreshold[3]


<TradeYieldModifiers>に関する例文
(例:交易路収入4により+4,1,+2を得る場合)
  • TradeYieldModifiers
    • iYield[100]
    • iYield[25]
    • iYield[50]


<CommerceChanges>に関する例文
(例:全都市にて+1,+2,+3を得たい場合)
  • CommerceChanges
    • iCommerce[1]
    • iCommerce[2]
    • iCommerce[3]


<CommerceModifiers>に関する例文
(例:全都市にて+25%,+50%,+75%,100%を得たい場合)
  • CommerceModifiers
    • iCommerce[25]
    • iCommerce[50]
    • iCommerce[75]
    • iCommerce[100]


<FreePromotions>に関する例文
(例:スーさんと一緒、山の信仰の昇進を得たい場合)
  • FreePromotions
    • FreePromotion
      • PromotionType[PROMOTION_SUSAN]
      • bFreePromotion[1]
    • FreePromotion
      • PromotionType[PROMOTION_YAMANOSINKOU]
      • bFreePromotion[1]


<FreePromotionUnitCombats>に関する例文
(例:ボスユニットとスタンバイユニットに無償の昇進を与えたい場合)
  • FreePromotionUnitCombats
    • FreePromotionUnitCombat
      • PromotionType[UNITCOMBAT_BOSS]
      • bFreePromotion[1]
    • FreePromotionUnitCombat
      • PromotionType[UNITCOMBAT_STANDBY]
      • bFreePromotion[1]


一つ解説がもれたのでここで。<FreePromotions>と<FreePromotionUnitCombats>はセットで追記しなければ意味がない。どの昇進をどのユニットタイプにつけるか指定しなければならないからだ。
また、一つの志向に複数の昇進とユニットタイプを定義しておき、複数の昇進の中から指定した昇進のみを指定したユニットタイプだけに与えるという複雑なことも出来ない。
定義してしまったら定義した全てのユニットタイプが昇進を得ることになる。
というか今考えたら先にこの表を出せという話である。参考にさせて頂いた表に解説を入れているので解説を読みながら志向性能については弄ってもらいたい。
小悪魔の志向性能の変更までが性能変更に関した説明なので、後半はXMLについて飲み込んできた頃に参考にしてもらえればと。
そして反省。出来れば表中に例文を付けたかったが不可能という仕様らしくこの有様になってしまった。もっとコンパクトにして読みやすい説明出来たらなと。
まだまだ説明、解説することがあるので続きます。これにて志向の性能変更についての解説、説明を終わりたいと思います。「うへぇぇぇぇ!」って市民は一体どうしたんだよ。アリスの本性でも知っちまったのか?気になって寝れるか

追記:レティやリグルのような地形に産出ボーナスを与えるにはXMLでは出来ません。この件に関しては過去に幻想郷作成スレにて話し合われた事があります。
番号は82-90までの当たりを参照してください。筆者も何度か試してみたのですがゲーム上には影響が出ませんでした。C++の構造を理解していないと無理なのかもしれません。
また何度か挑戦してみて変化が出たら追記したいと思います。
追記1:建物のハンマーボーナスはCIV4BuildingInfos.xmlファイルで簡単に出来ますよ。建物については特別叙事詩で解説する必要ないかなと考えていたので。
解説するとなると建物についての項目は多いのでそれだけ説明が長くなってしまいます。このページの<ProductionTraits>という要素に志向を入れてあげれば加速させることが出来るので、
元々加速する志向が付いている建物と見比べながら編集してみて下さい。建物のキーはこちらから探して検索すると楽です。それでも分からなければ後でその部分だけ解説しますね。
追記2:志向に昇進を付け足す場合、本来付く事のない昇進もセットすることが可能です。志向とは別に、建物に昇進を付け足す場合は、昇進を付ける事が可能なキャラでないと効果は出ません。
攻城兵器に衣玖さんのスキルをつけると面白いです。オマケに無意識の昇進を付けることで・・・誰にも止められない攻城兵器の完成です。私掠船に順風付けて世界を荒らす旅に出たりもありですね。
しかも、ドールズウォーなどの次のターンに消滅する昇進系統も永遠に付いたままゲームを続けられます。ミッシングパープルパワー付きの一般ユニット怖いです。
追記3:そういうことですね。他にも赤十字、蟲ポスト、剣鎧護法、弾幕講座シリーズなど設定されていますね。志向の場合、ゲーム開始時から昇進を得ているので立ち上がりから有利です。
追記4:指導者の性格についてはCIV4LeaderHeadInfos.xmlで記述されています。私は指導者について弄ったことが無いのであまり詳しくありません。それを踏まえて説明させてください。
まずはこの記事に一度目を通して下さい。こちらに書かれている<MemoryAttitudePercents>という項目で設定されているんじゃないかと見ています。この項目によって対象の指導者が外交上受けた行為によって相手に対する態度補正をかける設定がされていると見受けられます。
そして友軍への宣戦ペナルティーに関しては英文の意味からして<MEMORY_DECLARED_WAR_ON_FRIEND>が関係しているんじゃないかと思います。この値を-300にすると友人への宣戦ペナルティーが-3になるんじゃないかと解釈しました。
ただ、一つの行動による態度ペナルティーの補正についてはどの程度まで上げ下げ出来るか明記されていなかったので試してみないと分かりません。これより先はご自分で調べて頂けると助かります。頼りない説明になってしまい申し訳ないです。

質問や詳しく教えて欲しい場所やわかんねーよヽ(`Д´)ノウワァァァン!!に答えるコーナー

  • レティやリグルのように地形からの産出量ボーナスを追加したり産出量を変更するのはどうしたらいいんですか? -- 名無しさん (2011-05-19 19:35:05)
  • 追記ありがとうございます。XMLでは無理なんですね;過去スレも確認せずに質問して失礼しました -- 名無しさん (2011-05-21 18:41:45)
  • 組織志向の灯台などの、一部の建造物に対するハンマーボーナスもどこに記載されてるんだろう -- 名無しさん (2011-05-28 15:49:20)
  • ごめんなさい、追記みてなかった。ハンマー回りも難しいのか -- 名無しさん (2011-05-28 15:51:35)
  • 昇進を与える系って、本来つけられないものも付けられますか? 例:弓に都市襲撃、攻城兵器に特別奇襲etc -- 名無しさん (2011-05-28 22:50:15)
  • 返事ありがとうございます。建物に昇進………って、ケルトのダンやヴァイクングの交易所みたいなことですか? -- 名無しさん (2011-05-30 03:35:26)
  • cpp拡張子のファイルはエディタで書き換えただけじゃ意味がなくて、CvGameCoreDLL.dllの形にコンパイルしてやって初めて書き換えた事になるんだ。 -- 名無しさん (2011-07-20 10:28:24)
  • コピペするだけなら別にC++の知識とか殆ど要らないから、CIV4wikiのSDKの項目見つつコンパイラ用意する気力さえあればリグル系の志向や弾幕耐性辺りも書き換えられるよ! -- 名無しさん (2011-07-20 10:30:54)
  • 掲示板で白蓮さんを「友人への宣戦ペナを大きくしては~」っていう案が出ているんですけど、友軍および自身に対する宣戦ペナルティを記述している部分ってありますか? -- 名無しさん (2011-07-23 02:35:07)
  • ご指摘ありがとうございました。試しに弄ってみましたが、確かに友人への宣戦態度が-3になる白蓮さんになりました。これで何とかなりそうです。&br()しかしXMLを弄ろうとしたらアクセス拒否がどうのとでて少し面倒くさいですね……。一度別のところに保存→あとから上書き、として何とかしましたが。 -- 名無しさん (2011-07-29 15:42:19)
名前:
コメント:

XML編集提案へ戻る

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年07月29日 15:42
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。