差分

ナビゲーションに移動 検索に移動
フレーバー化の日本語化(kagi)
__FORCETOC__

※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>
{| class="wikitable" width=80%
! エントリ
! キャラクターで必須?
! タイトルで必須?
! 説明と値
|-
| <code>type</code>
| ✔️
| ✔️
| <code>character</code> または <code>title</code> を使用。キャラクターに適用するか称号に適用するかを定義。すべてで必須。
|-
| <code>gender</code>
| ✔️
| ❌
| <code>male</code> または <code>female</code> を使用。称号では使用しないこと。
|-
| <code>special</code>
| ✔️
| ❌
| <code>ruler_child</code>(王子・王女用)、<code>queen_mother</code>、<code>councilor</code>、<code>head_of_faith</code>、<code>holder</code> のいずれか。キャラクタータイプでは定義必須。最も一般的なのは <code>holder</code>。
|-
| <code>tier</code>
| ❌
| ❌
| <code>barony</code>、<code>county</code>、<code> duchy</code>、<code>kingdom</code>、<code>empire</code> が使用可。未定義の場合は列挙したすべての階級に適用。必須ではない。
|-
| <code>priority</code>
| ✔️
| ✔️
| 任意の数値。0〜2147483647の範囲に収めることを推奨。
|-
| <code>name_lists</code>
| ❌
| ❌
| <code>..game\common\culture\name_lists</code> 内のファイルで定義。自作可。(例: <code>name_list_anglo_saxon</code>)
|-
| <code>heritages</code>
| ❌
| ❌
| <code>..game\common\culture\pillars\00_heritage.txt</code> で定義。自作可。(例: <code>heritage_north_germanic</code>)
|-
| <code>religions</code>
| ❌
| ❌
| <code>..game\common\religion\religions</code> 内のファイルで定義。自作可。(例: <code>christianity_religion</code>)
|-
| <code>faiths</code>
| ❌
| ❌
| 宗教内の信仰で定義。自作可。(例: <code>coptic</code>)
|-
| <code>governments</code>
| ❌
| ❌
| <code>..game\common\governments\00_government_types.txt</code> で定義。自作可。(例: <code>feudal_government</code>)
|-
| <code>titles</code>
| ❌
| ❌
| 土地称号を使用。(例: <code>e_byzantium</code>)
|-
| <code>council_position</code>
| ❌
| ❌
| 定義済みの評議会職を使用。<code>special = councilor</code> が必須。称号では使用しないこと。(例: <code>councillor_court_chaplain</code>)
|-
| <code>only_independent</code>
| ❌
| ❌
| <code>yes</code> か <code>no</code> を使用。「小王」などの称号に使用。
|-
| <code>only_holder</code>
| ❌
| ❌
| <code>yes</code> か <code>no</code> を使用。yes にすると配偶者は反対の性別称号を受け取らなくなる。市長や女性統治者に有用。
|-
| <code>top_liege</code>
| ❌
| ❌
| <code>yes</code> か <code>no</code> を使用。<code>top_liege = no</code> を使うと、異なる宗教/文化の封臣が自分の称号を使えるようにできる。配偶者には適用されない。
|}

== カスタムフレーバーの例 ==
[[File:modding_custom_title_example_roboland.jpg|thumb|この例の最終結果。|x240px]]この例では、ロボットをテーマにした一連の称号を作成します。<br>

最初の手順は、ゲーム内のフレーバライズ用ディレクトリ(<code>game\common\flavorization</code>)をあなたのMODフォルダ内に再現することです。例: <code>..Documents\Paradox Interactive\Crusader Kings III\mod\FlavourTestMod\common\flavorization</code>。

準備ができたら、新しいフレーバライズを保存するテキストファイルを作成します。この例では <code>my_cool_flavorization.txt</code> と名付けます。バニラのフレーバライズファイルをコピーして改変することもできますが、他の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)の称号を保持している者は対象です。<br>
また、優先度を5000に設定しました。数値が高いほど優先度が高くなります。このくらい高い値なら、新しい称号は他のすべてを上書きします。

次に、ローカライズを保存するファイルを <code>..mod\FlavourTestMod\localization\english\culture</code> に作成し、<code>my_new_culture_titles_l_english.yml</code> と名付けます。<br>必ず [https://ck3.paradoxwikis.com/Mod_troubleshooting#Localization_Debugging UTF8+Bom でエンコード]してください。

そのローカライズファイル内で、称号キーにテキストを追加します:
<syntaxhighlight lang="yaml">
l_english:

### Robot ###
king_robot: "Roboto"
queen_robot: "Robota"
county_robot: "Roboland"
</syntaxhighlight>

両方のファイルを保存し、MODを有効にしてゲームを起動すると、ゲーム世界の至る所で「robotos」と「robotas」が自分たちの「robolands」を治めているのが見つかるはずです。初めてのフレーバライズ作成、おめでとうございます。

== カスタマイズ可能なローカライズで機能を拡張 ==
[[File:modding_custom_title_example_roboland_custom_localization_example.jpg|thumb|この拡張例の最終結果。同じ称号が所持金に応じて異なる表記になる様子を示しています。|x240px]]フレーバライズは強力ですが、利用できるトリガーには制限があります。より多くのトリガーにアクセスしたい場合は、キーを[https://ck3.paradoxwikis.com/Customizable_localization カスタマイズ可能なローカライズ]キー(スクリプト動作を持つローカライズキー)に置き換える方法があります。

この例では、前のセクションの <code>king_robot</code> 称号を拡張してみます。

まず、カスタムローカライズのロジックを格納するファイルを <code>..Documents\Paradox Interactive\Crusader Kings III\mod\FlavourTestMod\common\customizable_localization</code> に作成し、<code>my_very_clever_custom_loc.txt</code> と名付けます。

次に、ローカライズキーのカスタムロジックを記述します。<br>
最初にキーとタイプを与えます。ここではそれぞれ <code>king_robot</code> と <code>character</code> を使用します。
<syntaxhighlight lang="CoffeeScript">
king_robot = {
type = character
</syntaxhighlight>
その後、使用可能なローカライズキーをすべて <code>text</code> ブロックとして定義します。各 <code>text</code> ブロックは、中括弧内にトリガーと、そのトリガーが成功した場合に使用したいローカライズのキーを含めます。カスタムローカライズは、トリガーを満たした最初の text ブロックを選びます。既定値を設定したい場合は <code>fallback = yes</code> を使用します(またはトリガーなしの <code>text</code> ブロックを末尾に置きます)。

<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」に置き換えています。<br>
もちろん、<code>root.faith = { has_doctrine = tenet_struggle_submission }</code> のように、信仰が <code>tenet_struggle_submission</code> という教義を持っているか確認するトリガーなど、いくらでも複雑なトリガーを追加できます。

続いて、先ほどのローカライズファイルに、前述のスクリプトで使用した <code>golden_king_robot</code> と <code>rusty_king_robot</code> のキーを追加します。<br>
また、<code>king_robot</code> キーが使用されたときにカスタムローカライズのロジックを実行するよう、カスタムローカライズエントリ <code>[CHARACTER.Custom('king_robot')]</code> を使います。
<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]])を作成しています。彼に気軽に連絡してください。

<br>{{Modding navbox}}
[[Category:Modding]]
98

回編集

案内メニュー