コンテンツにスキップ
Stellaris v3.3 対応 翻訳

戦争のMOD制作

このページでは、開戦事由と戦争目標のMOD制作について説明します。

開戦事由

開戦事由はcommon/casus_belli/xxx.txtで定義されます。

データ構造

  • show_in_diplomacy = <yes/no> — 外交画面にこの開戦事由を表示するか。
  • show_notification = <yes/no> — 開戦事由の獲得時に通知を生成するか。
  • aggregated_message_key — ローカライズキー。例: MESSAGE_NEW_CASUS_BELLI_TRIAL_OF_ADVANCEMENT_TARGET。
  • potential — 開戦事由が有効か決定する条件ブロック。偽の場合、いかなる方法でも追加できません。ROOT/THISは開戦事由の所有国、FROMは対象国です。
  • is_valid — 毎日確認する条件ブロック。真なら自動的に有効、偽なら自動的に無効になります。スクリプトで追加した開戦事由では意味を持ちません。
  • destroy_if — 毎日確認する条件ブロック。真なら自動的に無効になります。スクリプトで追加した開戦事由だけに影響します。

開戦事由の例

以下は従属化の開戦事由です。

cb_subjugation = {
    show_in_diplomacy = yes
    show_notification = yes
    potential = {
        OR = {
            is_country_type = default
            is_country_type = awakened_fallen_empire
        }
        NOT = { is_in_federation_with = from }
        is_subject = no
    }
    is_valid = {
        NOT = { is_overlord_to = FROM }
        is_country_type = awakened_fallen_empire
        NOT = { has_authority = auth_machine_intelligence }
    }
}

この開戦事由が自動付与されるのは覚醒帝国だけです。通常帝国にはスクリプトで追加します。

add_casus_belli = { type = cb_subjugation who = from days = 360 }

ローカライズにはcasus_belli_xxx:というキーを定義します。

戦争目標

戦争目標はcommon/war_goals/xxx.txtで定義されます。

データ構造

  • casus_belli = <casus belli key> — 必須。対象にこの戦争目標を使用するための開戦事由。
  • hide_if_no_cb = <yes/no> — yesの場合、必要な開戦事由がなければ戦争目標を隠します。
  • total_war = <yes/no> — 総力戦の戦争目標か。
    • この陣営が占領した星系は即座に割譲されるため、cede_claimsとrelease_occupied_systems_on_status_quoは意味を持ちません。
    • 相手が降伏すると、相手の全星系が割譲されます。AIは許可されていても総力戦の戦争目標には決して降伏しません。
    • 総力戦中は請求権に意味がないため、例えば狂信的な浄化主義 狂信的な浄化主義のように、相手へ総力戦目標しか使えない帝国については、バニラのゲームルールが請求権作成を防ぎます。
  • set_defender_wargoal = <war goal key> — 任意。防衛側に指定した戦争目標を強制します。
  • defender_default = <yes/no> — 防衛側が時間内に戦争目標を選ばなければ、防衛側のデフォルト目標になります(バニラはwg_humiliation)。複数がデフォルトなら、ファイル内で最初に記述されたものが選ばれます。
  • threat_multiplier = <float> — この戦争目標を使用した戦争で、星系・惑星の征服による脅威に乗算する値。
  • cede_claims = <yes/occupied_only/no> — 攻撃側が防衛側から請求済み星系を割譲させるか。
    • yes: 勝利時は相手側への全請求権、現状維持では完全占領した請求権だけを割譲させます。
    • occupied_only: 敗北しなかった場合に限り、完全占領した請求権だけを割譲させます。
    • no: 請求権を決して割譲させません。
  • release_occupied_systems_on_status_quo = <yes/no> — yesの場合、現状維持後、知性を持つ非ロボットPOPが1体以上いる植民地を含む占領星系を独立帝国として解放します。使用側は先に完全占領した請求権を必ず割譲させます。解放可能な植民地がすべてその方法で割譲された場合、占領星系は解放されません。
  • surrender_acceptance = <int> — AIの降伏受諾値。
  • war_exhaustion = <float> — 戦争中に生成される戦争疲弊へ乗算する値。
  • show_claims_in_description = <yes/no> — 説明に請求権を表示するか。
  • potential / possible — 対象帝国に戦争目標を表示/使用できるか確認する条件ブロック。ROOT/THISは使用国、FROMは対象国です。
  • on_accept / on_status_quo — 相手の降伏で目標が受諾された後/現状維持で戦争が終わったときに実行するエフェクトブロック。ROOT/THISは使用国、FROMは対象国です。次の条件で、この方法により帝国が解放されたか確認できます。
exists = last_created_country
last_created_country = { has_country_flag = released_empire }
  • on_wargoal_set — この戦争目標が受諾されたときに実行するエフェクトブロック。ROOT/THISは使用国、FROMは対象国です。
  • allowed_peace_offers = { ... } — 使用できる和平提案。status_quo、surrender、demand_surrenderを任意の数だけ指定できます。バニラの総力戦目標は、総力戦中の降伏を防ぎ、現状維持またはいずれかの完全滅亡だけで終わるようにするために使用します。
  • ai_weight = <int>/{ ... } — 重みの数値、または修正ルールを含むブロック。ROOT/THISは行動国、FROMは対象国です。
  • galactic_empire_joins_defender — 任意。銀河帝国の構成国が参戦するか確認する条件ブロック。ROOT/THISは使用国、FROMは対象国です。

さらに、interface内のGFX_xxxアイコンと、war_goal_xxx:/war_goal_xxx_desc:のローカライズを定義します。

戦争目標の例

以下は従属化の戦争目標です。

wg_subjugation = {
    casus_belli = cb_subjugation

    hide_if_no_cb = no
    release_occupied_systems_on_status_quo = yes

    allowed_peace_offers = {
        status_quo
        surrender
        demand_surrender
    }

    surrender_acceptance = -100

    potential = {
        NOR = {
            has_valid_civic = civic_inwards_perfection
            has_authority = auth_corporate
        }
        has_total_war_cb = no
        NAND = {
            is_galactic_emperor = yes
            from = { is_galactic_community_member = yes }
        }
    }
    possible = {
        custom_tooltip = {
            fail_text = has_claimed_all_systems
            from = {
                is_country_type = default
                any_owned_planet = {
                    is_colony = yes
                    root = {
                        NOT = { has_claim = prev.solar_system }
                    }
                }
            }
        }
        custom_tooltip = {
            fail_text = cannot_subjugate_empire_member
            NAND = {
                has_galactic_emperor = yes
                is_galactic_community_member = no
                from = { is_galactic_community_member = yes }
            }
        }
        custom_tooltip = {
            fail_text = "cannot_use_against_custodian"
            from = { is_galactic_custodian = no }
        }
        custom_tooltip = {
            fail_text = "cannot_use_against_emperor"
            from = { is_galactic_emperor = no }
        }
        custom_tooltip = {
            fail_text = "cannot_use_against_btc"
            from = { has_been_declared_crisis = no }
        }
        custom_tooltip = {
            fail_text = pax_galactica_active
            NAND = {
                is_active_resolution = resolution_emperor_pax_galactica
                is_galactic_community_member = yes
                from = { is_galactic_community_member = yes }
            }
        }
    }
    on_accept = {
        hidden_effect = {
            from = {
                add_threat = {
                    who = root
                    amount = 0.5
                }
            }
        }
        if = {
            limit = { from = { has_been_declared_crisis = no } }
            from = {
                set_subject_of = {
                    who = root
                    subject_type = vassal
                }
            }
        }
    }

    on_status_quo = {
        if = {
            limit = {
                exists = last_created_country
                last_created_country = {
                    has_country_flag = released_empire
                }
            }

            last_created_country = {
                set_subject_of = {
                    who = root
                    subject_type = vassal
                }
            }
        }
    }

    ai_weight = {
        weight = 10
        modifier = {
            factor = 0
            has_ai_personality_behaviour = wants_tribute
        }
    }
}

勝利すると、勝利側は全請求権を割譲させ、主要敗戦国は主要勝利国の属国になります。

  • 勝利側の請求によって主要敗戦国の全植民地が割譲され、帝国が消滅することになる場合、この戦争目標は最初から使用できません。ただし、攻撃側は宣戦後に追加の請求権を作成できます。

現状維持では、この陣営の帝国が完全占領した全請求権を割譲させます。その後、残りの完全占領した敵星系から独立帝国が作られ、主要勝利国の属国になります。


出典: Stellaris Wiki — War modding(原文更新日: 2022年1月28日、版ID 65147)
翻訳日: 2026年8月31日 / 対応バージョン: 3.3
本ページは原文Wiki(CC BY-SA 3.0)の内容を翻訳した非公式ファン翻訳です。