genshin_artifact icon indicating copy to clipboard operation
genshin_artifact copied to clipboard

mona-dsl 如何描述附加基础伤害

Open taoliya0601 opened this issue 1 year ago • 2 comments

是否允许在计算角色伤害时追加自定义buff,比如

prop p = Mualani.hp // 玛拉妮当前生命值

dmg q = Mualani.A_Stack3({ extra_damage: p * 1.06 }) // p * 1.06是玛拉妮的天赋被动:追加基础伤害 的值为 生命的1.06倍
result = q.vaporize.c
print(result)

上述代码中,我似乎没找到方法可以影响计算过程,占卜铺中的Mualani.A_Stack3拥有了正确的基础倍率,但并未算上生命转模倍率。

由此引出的一般性问题是,我能否在角色dmg声明的时候手动添加一定的数值,包括但不限于生命值、攻击力、防御力、精通、暴击、爆伤、治疗加成、基础伤害等。这将有助于特殊角色的特殊属性的计算,尽管我们可以在下方手动添加这些自定义buff,但如果这些属性与角色当前prop属性有关联的话,比如玛拉妮,计算得到的圣遗物会影响角色的生命值,生命值又进一步的影响自定义buff

此issues的提出是观察到普适的 {fumo: "元素名" } 几乎被允许追加到任何dmg声明之后,表示此处其实允许有公有的属性,从而感觉此处或许还可以做文章

taoliya0601 avatar Jan 25 '25 11:01 taoliya0601

目前没有办法指定数值,但你可以利用hp手动写公式算伤害

wormtql avatar Feb 03 '25 13:02 wormtql

我有对于基础区增伤的写法可以供你参考,下面代码是计算雷电将军吃昔时4特效的1200点增伤 简言之,就是利用自身atk和技能倍率(721.4%)计算出1单位基础伤害吃到的增伤,再直接乘以1200

prop atk = RaidenShogun.atk
dmg Q1 = RaidenShogun.Q1({under_e:true,resolve_stack:60})

result = Q1.normal.e + Q1.normal.e/atk/7.21 * 1200

evanliu3594 avatar Feb 11 '25 07:02 evanliu3594