「フレーバー化」の版間の差分
(フレーバー化の日本語化(kagi)) |
(相違点なし)
|
2025年10月6日 (月) 07:04時点における最新版
※2025/10/6、英wikiよりkagi翻訳を通しました。機械翻訳なので一部不自然な日本語があるかもしれません。ぜひ編集してくれるとありがたいです。
フレーバライズとは、キャラクターに表示される「称号」をゲームがどのように定義し、優先順位を付けるかという仕組みです。キャラクターは複数の称号の条件を満たすことが多いため、競合や不適切な称号表示を避けるために、フレーバライズ用ファイルで称号の要件と全体の優先度を定義します。
文法[編集 | ソースを編集]
フレーバライズのエントリは以下のように分解されています: <syntaxhighlight lang="CoffeeScript"> prince_male_roman = { # 称号のキー。ゲームがこれで見つけて参照します type = character # 対象は誰/何ですか? gender = male # どの性別向けですか?(type = character の場合のみ使用) special = ruler_child # 特殊な要件はありますか? tier = kingdom # どの階級である必要がありますか? priority = 40 # 優先度はどれくらい高いですか? name_lists = { name_list_roman } # この称号を得るにはどの名前リストに属している必要がありますか? governments = { feudal_government } # どの政体に属している必要がありますか? top_liege = no # 自国のトップ君主である必要がありますか? } </syntaxhighlight>
エントリ | キャラクターで必須? | タイトルで必須? | 説明と値 |
---|---|---|---|
type
|
✔️ | ✔️ | character または title を使用。キャラクターに適用するか称号に適用するかを定義。すべてで必須。
|
gender
|
✔️ | ❌ | male または female を使用。称号では使用しないこと。
|
special
|
✔️ | ❌ | ruler_child (王子・王女用)、queen_mother 、councilor 、head_of_faith 、holder のいずれか。キャラクタータイプでは定義必須。最も一般的なのは holder 。
|
tier
|
❌ | ❌ | barony 、county 、 duchy 、kingdom 、empire が使用可。未定義の場合は列挙したすべての階級に適用。必須ではない。
|
priority
|
✔️ | ✔️ | 任意の数値。0〜2147483647の範囲に収めることを推奨。 |
name_lists
|
❌ | ❌ | ..game\common\culture\name_lists 内のファイルで定義。自作可。(例: name_list_anglo_saxon )
|
heritages
|
❌ | ❌ | ..game\common\culture\pillars\00_heritage.txt で定義。自作可。(例: heritage_north_germanic )
|
religions
|
❌ | ❌ | ..game\common\religion\religions 内のファイルで定義。自作可。(例: christianity_religion )
|
faiths
|
❌ | ❌ | 宗教内の信仰で定義。自作可。(例: coptic )
|
governments
|
❌ | ❌ | ..game\common\governments\00_government_types.txt で定義。自作可。(例: feudal_government )
|
titles
|
❌ | ❌ | 土地称号を使用。(例: e_byzantium )
|
council_position
|
❌ | ❌ | 定義済みの評議会職を使用。special = councilor が必須。称号では使用しないこと。(例: councillor_court_chaplain )
|
only_independent
|
❌ | ❌ | yes か no を使用。「小王」などの称号に使用。
|
only_holder
|
❌ | ❌ | yes か no を使用。yes にすると配偶者は反対の性別称号を受け取らなくなる。市長や女性統治者に有用。
|
top_liege
|
❌ | ❌ | yes か no を使用。top_liege = no を使うと、異なる宗教/文化の封臣が自分の称号を使えるようにできる。配偶者には適用されない。
|
カスタムフレーバーの例[編集 | ソースを編集]
この例では、ロボットをテーマにした一連の称号を作成します。
最初の手順は、ゲーム内のフレーバライズ用ディレクトリ(game\common\flavorization
)をあなたのMODフォルダ内に再現することです。例: ..Documents\Paradox Interactive\Crusader Kings III\mod\FlavourTestMod\common\flavorization
。
準備ができたら、新しいフレーバライズを保存するテキストファイルを作成します。この例では my_cool_flavorization.txt
と名付けます。バニラのフレーバライズファイルをコピーして改変することもできますが、他のMODや将来のゲームバージョンとの互換性が低下する点には注意してください。
それでは、未来のロボット支配者とその土地の称号をスクリプト化していきましょう: <syntaxhighlight lang="CoffeeScript">
- Robots
king_robot = { # Roboto type = character gender = male special = holder tier = county priority = 5000 governments = { feudal_government } top_liege = no }
queen_robot = { # Robota type = character gender = female special = holder tier = county priority = 5000 governments = { feudal_government } top_liege = no }
county_robot = { # Roboland
type = title
tier = county
priority = 5000
governments = { feudal_government tribal_government } # 角括弧内にはカンマなしで複数項目を追加できます。
top_liege = no
}
</syntaxhighlight>
新しい称号が機能しているかを明確に確認できるよう、非常に単純なルールを設定しました。封建制の政府で伯爵位(county)の称号を保持している者は対象です。
また、優先度を5000に設定しました。数値が高いほど優先度が高くなります。このくらい高い値なら、新しい称号は他のすべてを上書きします。
次に、ローカライズを保存するファイルを ..mod\FlavourTestMod\localization\english\culture
に作成し、my_new_culture_titles_l_english.yml
と名付けます。
必ず UTF8+Bom でエンコードしてください。
そのローカライズファイル内で、称号キーにテキストを追加します: <syntaxhighlight lang="yaml"> l_english:
- Robot ###
king_robot: "Roboto" queen_robot: "Robota" county_robot: "Roboland"
</syntaxhighlight>
両方のファイルを保存し、MODを有効にしてゲームを起動すると、ゲーム世界の至る所で「robotos」と「robotas」が自分たちの「robolands」を治めているのが見つかるはずです。初めてのフレーバライズ作成、おめでとうございます。
カスタマイズ可能なローカライズで機能を拡張[編集 | ソースを編集]
フレーバライズは強力ですが、利用できるトリガーには制限があります。より多くのトリガーにアクセスしたい場合は、キーをカスタマイズ可能なローカライズキー(スクリプト動作を持つローカライズキー)に置き換える方法があります。
この例では、前のセクションの king_robot
称号を拡張してみます。
まず、カスタムローカライズのロジックを格納するファイルを ..Documents\Paradox Interactive\Crusader Kings III\mod\FlavourTestMod\common\customizable_localization
に作成し、my_very_clever_custom_loc.txt
と名付けます。
次に、ローカライズキーのカスタムロジックを記述します。
最初にキーとタイプを与えます。ここではそれぞれ king_robot
と character
を使用します。
<syntaxhighlight lang="CoffeeScript">
king_robot = {
type = character
</syntaxhighlight>
その後、使用可能なローカライズキーをすべて text
ブロックとして定義します。各 text
ブロックは、中括弧内にトリガーと、そのトリガーが成功した場合に使用したいローカライズのキーを含めます。カスタムローカライズは、トリガーを満たした最初の text ブロックを選びます。既定値を設定したい場合は fallback = yes
を使用します(またはトリガーなしの text
ブロックを末尾に置きます)。
<syntaxhighlight lang="CoffeeScript"> king_robot = {
type = character text = { trigger = { gold > 1000 # いくつでもトリガーを追加できますが、この例では所持金が非常に多いかどうかだけを確認します。 } localization_key = golden_king_robot # トリガーが通れば(条件が真であれば)、このローカライズキーが選ばれます! }
text = { fallback = yes # 他が何も通らなければ、トリガーを無視してこれが既定となります。
localization_key = rusty_king_robot }
}
</syntaxhighlight>
ご覧のとおり、この例ではゴールドチェックを設定し、所持金が1000を超えるキャラクターの通常の「king robot」称号を「golden king robot」に置き換えています。
もちろん、root.faith = { has_doctrine = tenet_struggle_submission }
のように、信仰が tenet_struggle_submission
という教義を持っているか確認するトリガーなど、いくらでも複雑なトリガーを追加できます。
続いて、先ほどのローカライズファイルに、前述のスクリプトで使用した golden_king_robot
と rusty_king_robot
のキーを追加します。
また、king_robot
キーが使用されたときにカスタムローカライズのロジックを実行するよう、カスタムローカライズエントリ [CHARACTER.Custom('king_robot')]
を使います。
<syntaxhighlight lang="yaml">
l_english:
- Robot ###
king_robot: "[CHARACTER.Custom('king_robot')]" golden_king_robot: "Gold-Plated MegaBot" rusty_king_robot: "Rust-Plated Microbot" queen_robot: "Robota" county_robot: "Roboland"
</syntaxhighlight>
これで、カスタムローカライズを使って称号にバリエーションを追加できました。おめでとうございます!
続きを読む[編集 | ソースを編集]
- TheGib770 が Paradox フォーラムでフレーバライズの詳細と仕組みをさらに掘り下げた優れたガイド(リンク: forum:1449550)を作成しています。彼に気軽に連絡してください。
ドキュメンテーション | スクリプト • スコープ • 効果 • トリガー • 変数 • 補正リスト |
スクリプト | AI • ブックマーク • キャラクター • コマンド • 評議会 • 文化 • ディシジョン • 王朝 • イベント • 政府 • 歴史 • 領地 • ライフスタイル • 連隊 • 宗教 • スクリプト値 • ストーリーサイクル • 闘争 • 称号 • 特性 |
インターフェース | インターフェース • データ型 • ローカライズ • カスタムローカライズ • フレーバー化 |
マップ | マップ • 地形 |
グラフィック | 3Dモデル • エクスポーター • 紋章 • グラフィックアセット • フォント • パーティクル • シェーダー • ユニットモデル |
オーディオ | 音楽 • サウンド |
その他 | コンソールコマンド • チェックサム • Modの構造 • Mod制作ツール • トラブルシューティング |