Open FasciA647 opened 5 hours ago
游戏内置的子弹实现方式不太一样,目前在Mod里没法实现同样的效果。能力和神器也没有办法隐藏。如果用神器实现并且显示出来,这样会造成什么问题吗?
冰块,吸血鬼可以用我们的mod API实现类似的效果: 在定义冰块perk的时候添加一个减攻速的behavior:
behavior = {
description = DCEI.GetTranslationText(
"combat/behavior/generic_decrease_duration/description",
{ x = TAG.attack_speed }
),
buff_bar_icon = DCEI.Texture("flat_icon_emoji_ice_1f9ca_ipick"),
duration = 3,
non_scaling_attributes = {
attack_speed = -0.01,
},
},
然后在注册冰块子弹命中的回调函数里施加相应的behavior:
combat_unit:RegisterOnMissileImpactCallback(name, function(level, attack_data, caster, target)
PerkBehaviorSystem:ApplyPerkBehavior(target, caster, perk_name)
end)
吸血鬼也可以用类似的方法实现,在注册吸血鬼子弹命中的回调函数中扣除敌人的生命值上限,然后向自己发射一个血液子弹,血液子弹命中的回调函数里添加回复自己的生命值即可。 更详细的内容请参考我们的mod examples和Wiki。
感谢解答!
不过在perk中实现好像不能对初始的子弹生效,我想创建初始就带有很多不同特殊子弹的角色,就采用添加初始神器吧。
您好,我看到了通过perk behavior可以在拥有能力时让子弹触发某些效果。但请问怎样能像冰块、吸血鬼一样不通过能力/神器,直接让子弹本身拥有添加buff、修改属性值等效果?或者怎样添加初始能力/神器而不在界面上显示?