群星
ParaWikis
最新百科
都市天际线2百科
英雄无敌3百科
维多利亚3百科
奇妙探险队2百科
罪恶帝国百科
英白拉多:罗马百科
热门百科
群星百科
欧陆风云4百科
十字军之王2百科
十字军之王3百科
钢铁雄心4百科
维多利亚2百科
ParaWikis
申请建站
ParaWikis
ParaCommons
最近更改
随机页面
加入QQ群
工具
链入页面
相关更改
特殊页面
页面信息
页面值
阅读
编辑
编辑源代码
查看历史
讨论
编辑“
Bombardment Stance modding
”
Pokewiz
(
讨论
|
贡献
)
2022年3月6日 (日) 23:13的版本
(merge from offical wiki)
(差异) ←上一版本 |
最后版本
(
差异
) |
下一版本→
(
差异
)
警告:您正在编辑的是本页面的旧版本。
如果您发布该更改,该版本后的所有更改都会丢失。
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{Version|3.3}} This page is about modding the [[Land warfare#Orbital bombardment|Bombardment Stances]]. == Data Structure == Bombardment stances are defiend at "common/bombardment_stances/xxx.txt". * '''trigger''' – A block of [[Conditions]] to determine can a fleet have this bombardment stance. (Fleet scope) * <s>icon_frame = <int></s> – Replaced, see [[#Icons]]. * '''default = <yes/no>''' – If yes, newly created fleets will have this stance. * '''stop_when_armies_dead = <yes/no>''' – Default no. If yes, this bombardment stance will do nothing on planets without any armies. * '''abduct_pops = <yes/no>''' – Default no. If yes, pops killed by this bombardment stance are abducted instead. This will trigger the <code>on_pop_abducted</code> on-action. * '''planet_damage = <float>''' – Default 1. This value scales the planetary devastation inflicted by this bombardment stance. * '''army_damage = <float>''' – Default 1. This value scales the damage dealt to planetary armies by this bombardment stance. * '''kill_pop_chance''' – An instance that determines the chance of this bombardment stance to kill pops. ** '''base = <float>''' – This value scales the default chance to kill a pop. ** '''modifier''' – An instance that modifies the chance. It consist of a <code>factor = <float></code> instance and a set of [[Conditions]]. Vanilla use this to prevent the Pox bombardment stance from killing {{iconify|Mechanical}} Pops. (Pop scope) * '''min_pops_to_kill_pop = <int>''' – Default 0. If number of pops is smaller than this, this bombardment stance won't kill pops any further. * '''ai_weight''' – AI will use the bombardment stance of highest weight. (ROOT = bombarding fleet, FROM = planet under bombardment) === Icons === Since version 3.1.* the '''<code>icon_frame</code>''' parameter (index in the shared bombardment stance icon file) is replaced by a more moddable friendlier method. Each stance required a (planet modifier named) <code>"GFX_planet_modifier_ground_support_'''NAME'''"</code> and a (button entry named) <code>"GFX_fleet_order_button_ground_support_'''NAME'''"</code> defined. '''pox icon example''' (at planet_view.gfx): <syntaxhighlight lang="Ruby"> spriteType = { name = "GFX_planet_modifier_ground_support_pox" sprite_sheet_sprite_type = "GFX_planet_view_bombarded" default_frame = 5 } </syntaxhighlight> '''pox button example''' (at fleet_view.gfx): <syntaxhighlight lang="Ruby"> 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 } } } </syntaxhighlight> == Example == This is the Pox bombardment stance. <syntaxhighlight lang="Ruby"> pox = { trigger = { owner = { # --- This modifier is given by the relevant relic --- # 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 = { # Should only target organics 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 } } } } } } </syntaxhighlight> == Bombardment Animation == There is an entity named "<code>orbital_bombardment_effects</code>" in the file "<code>gfx/models/planets/_planetary_entities.asset</code>". Without modding this file, any custom bombardment stances will have neither animations nor sound effects. <syntaxhighlight lang="Ruby"> entity = { name = "orbital_bombardment_effects" pdxmesh = "bombardment_frame_mesh" cull_radius = 500.0 # --- If multiple states named "bombard_xxx" exist, a random state is used, weighed by the "chance" field --- # # --- Add more state entries for a same bombardment stance to give some randomness to the animations --- # # --- The more the "event" entries, the shorter the "state_time", the more fierce the animation will look like --- # 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 = … } } … } … # --- By the way, the vanilla Pox bombardment stance do NOT have any animations --- # scale = 1.0 } </syntaxhighlight> Overwrite this entity and add more states following this format to apply bombardment animations and sound effects to custom bombardment stances. {{ModdingNavbox}} [[Category:Modding]]
摘要:
请注意您对群星百科的所有贡献都被认为是在知识共享署名-非商业性使用-相同方式共享下发布,请查看在
群星百科:版权
的细节。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源。
未经许可,请勿提交受版权保护的作品!
为防止机器编辑,请完成下方验证
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
Template:Clear
(
编辑
)
Template:Icon
(
编辑
)
Template:Icon/m
(
编辑
)
Template:Iconify
(
编辑
)
Template:ModdingNavbox
(
编辑
)
Template:Navbox
(
编辑
)
Template:Navboxgroup
(
编辑
)
Template:Planet modifier
(
编辑
)
Template:Ruby
(
编辑
)
Template:Version
(
编辑
)
×
登录
密码
记住登录
加入群星百科
忘记密码?
其他方式登录