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

軌道爆撃方針のMOD制作

旧バージョンの資料

原文はゲームバージョン3.3向けです。現在のファイル構造やキーとは異なる可能性があります。

本ページでは地上戦の軌道爆撃で使用する、軌道爆撃方針のMOD制作を扱います。

データ構造

軌道爆撃方針はcommon/bombardment_stances/xxx.txtで定義します。

  • trigger: 艦隊がこの軌道爆撃方針を使用できるかを決める条件ブロックです(艦隊スコープ)。
  • ~~icon_frame = <整数>~~: 廃止されました。「アイコン」を参照してください。
  • default = <yes/no>: yesなら、新しく作られた艦隊がこの方針を使用します。
  • stop_when_armies_dead = <yes/no>: 既定値はno。yesなら、地上軍のいない惑星にはこの方針による効果がありません。
  • abduct_pops = <yes/no>: 既定値はno。yesなら、この軌道爆撃によって死亡するPOPは代わりに拉致され、オンアクションon_pop_abductedが発生します。
  • planet_damage = <小数>: 既定値は1。この方針が与える惑星荒廃度の倍率です。
  • army_damage = <小数>: 既定値は1。惑星上の地上軍へ与えるダメージの倍率です。
  • kill_pop_chance: POPを殺害する確率を決めます。
    • base = <小数>: POP殺害の基本確率に掛ける倍率です。
    • modifier: 確率の補正です。factor = <小数>と条件から成り、POPスコープで評価されます。バニラでは、ジャヴォリア痘の軌道爆撃が機械POPを殺害しないようにするため使われています。
  • min_pops_to_kill_pop = <整数>: 既定値は0。POP数がこの値を下回ると、それ以上POPを殺害しません。
  • ai_weight: AIは重みが最大の軌道爆撃方針を使います。ROOTは爆撃する艦隊、FROMは爆撃される惑星です。

アイコン

バージョン3.1以降、共通の軌道爆撃方針アイコンファイル内の位置を示していたicon_frameは、よりMOD制作に適した方式へ置き換えられました。方針名をNAMEとすると、各方針には次の2つの定義が必要です。

  • 惑星補正: GFX_planet_modifier_ground_support_NAME
  • ボタン: GFX_fleet_order_button_ground_support_NAME

planet_view.gfxにおけるジャヴォリア痘アイコンの例:

spriteType = {
    name = "GFX_planet_modifier_ground_support_pox"
    sprite_sheet_sprite_type = "GFX_planet_view_bombarded"
    default_frame = 5
}

fleet_view.gfxにおけるジャヴォリア痘ボタンの例:

spriteType = {
    name = "GFX_fleet_order_button_ground_support_pox"
    texturefile = "gfx/interface/fleet_view/fleet_task_ground_support_pox_action.dds"
    effectFile = "gfx/FX/buttonstate.lua"
    noOfFrames = 3
    animation = {
        animationmaskfile = "gfx/interface/fleet_view/fleet_task_button_mask.dds"
        animationtexturefile = "gfx/interface/fleet_view/action_button_texture.dds"
        animationrotation = 180.0
        animationlooping = yes
        animationtime = 12.0
        animationdelay = 0.0
        animationblendmode = "overlay" # add, multiply, overlay
        animationtype = "scrolling"   # scrolling, rotating, pulsing
        animationrotationoffset = { x = 0.0 y = 0.0 }
        animationtexturescale = { x = 1.0 y = 1.0 }
        animationframes = { 1 2 3 }
    }
}
...
spriteType = {
    name = "GFX_fleet_order_button_ground_support_pox_selected"
    texturefile = "gfx/interface/fleet_view/fleet_task_ground_support_pox_selected.dds"
    effectFile = "gfx/FX/buttonstate.lua"
    noOfFrames = 3
    animation = {
        animationmaskfile = "gfx/interface/fleet_view/fleet_task_button_mask.dds"
        animationtexturefile = "gfx/interface/fleet_view/action_button_texture.dds"
        animationrotation = 180.0
        animationlooping = yes
        animationtime = 12.0
        animationdelay = 0.0
        animationblendmode = "overlay" # add, multiply, overlay
        animationtype = "scrolling"   # scrolling, rotating, pulsing
        animationrotationoffset = { x = 0.0 y = 0.0 }
        animationtexturescale = { x = 1.0 y = 1.0 }
        animationframes = { 1 2 3 }
    }
}

軌道爆撃方針の例

ジャヴォリア痘の軌道爆撃方針です。

pox = {
    trigger = {
        owner = {
            # 関連する遺産によって付与される補正
            has_modifier = javorian_pox
            OR = {
                NOT = { is_country_type = default }
                has_policy_flag = orbital_bombardment_indiscriminate
                has_policy_flag = orbital_bombardment_armageddon
            }
        }
    }

    default = no
    stop_when_armies_dead = no
    abduct_pops = no
    planet_damage = 0.2
    army_damage = 1.5

    kill_pop_chance = { # 有機POPだけを標的にする
        base = 1.5
        modifier = {
            factor = 0
            pop_has_trait = trait_mechanical
        }
    }
    min_pops_to_kill_pop = 0

    # root = fleet
    # from = planet
    ai_weight = {
        weight = 10
        modifier = {
            factor = 0.01
            exists = from
            from = {
                owner = { NOT = { is_hostile = root.owner } }
            }
        }
    }
}

軌道爆撃のアニメーション

gfx/models/planets/_planetary_entities.assetにはorbital_bombardment_effectsというエンティティがあります。このファイルを変更しなければ、独自の軌道爆撃方針にはアニメーションも効果音も付きません。

entity = {
    name = "orbital_bombardment_effects"
    pdxmesh = "bombardment_frame_mesh"
    cull_radius = 500.0

    # bombard_xxxという同名のstateが複数あれば、chanceで重み付けしてランダムに使う
    # 同じ方針に複数のstateを追加するとアニメーションに変化を付けられる
    # event数を増やしstate_timeを短くすると、より激しいアニメーションに見える

    state = { name = "bombard_selective" state_time = 4 looping = no next_state = "bombard_selective" chance = 1
        event = { time = 0 node = "bombardment_location_1" particle = ... }
        event = { time = 1 node = "bombardment_location_5" particle = ... }
        event = { time = 2.5 node = "bombardment_location_12" particle = ... }
    }
    state = { name = "bombard_selective" state_time = 4 looping = no next_state = "bombard_selective" chance = 1
        event = { time = 0 node = "bombardment_location_7" particle = ... }
        ...
    }
    state = { name = "bombard_indiscriminate" state_time = 3.0 looping = no next_state = "bombard_indiscriminate" chance = 1
        event = { time = 0 node = "bombardment_location_3" particle = ... }
        ...
    }
    state = { name = "bombard_indiscriminate" state_time = 3.0 looping = no next_state = "bombard_indiscriminate" chance = 1
        event = { time = 0 node = "bombardment_location_4" particle = ... }
        ...
    }
    state = { name = "bombard_armageddon" state_time = 2.5 looping = no next_state = "bombard_armageddon" chance = 1
        event = { time = 0 node = "bombardment_location_1" particle = ... }
        ...
    }
    state = { name = "bombard_armageddon" state_time = 2.5 looping = no next_state = "bombard_armageddon" chance = 1
        event = { time = 0 node = "bombardment_location_2" particle = ... }
        ...
    }
    ...

    # バニラのジャヴォリア痘には軌道爆撃アニメーションがない
    scale = 1.0
}

このエンティティを上書きし、同じ形式でstateを追加すると、独自方針へ軌道爆撃アニメーションと効果音を適用できます。


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