写一个可以刀塔2编辑器中运行的LUA函数:攻击目标时,当其拥有和自身相同modifier_name时,攻击伤害为零,否则造成真实伤害
时间: 2024-03-10 14:46:15 浏览: 71
Lua教程(二十一):编写C函数的技巧
好的,下面是一个可以在刀塔2编辑器中运行的LUA函数:
```lua
function OnAttackLanded(keys)
local caster = keys.caster
local target = keys.target
local modifier_name = "modifier_example"
local damage_type = DAMAGE_TYPE_PHYSICAL
-- 检查目标是否拥有modifier_name
if target:HasModifier(modifier_name) then
-- 如果拥有,攻击伤害为零
ApplyDamage({
victim = target,
attacker = caster,
damage = 0,
damage_type = damage_type
})
else
-- 如果没有,造成真实伤害
ApplyDamage({
victim = target,
attacker = caster,
damage = keys.damage,
damage_type = DAMAGE_TYPE_PURE
})
end
end
```
这个函数会在攻击命中时触发。首先获取攻击者和目标,以及modifier_name和伤害类型。然后检查目标是否拥有modifier_name,如果有,攻击伤害为零,否则造成真实伤害。最后使用ApplyDamage函数造成伤害。
阅读全文