fight
parent
09608adc81
commit
19c9d6c9c6
|
@ -627,6 +627,60 @@ local effectList = {
|
|||
end
|
||||
end)
|
||||
end,
|
||||
--对[a]的伤害[b]%,持续[c]秒
|
||||
--a[控制状态],b[float],c[int]
|
||||
[35] = function(caster, target, args, interval)
|
||||
local ct = args[1]
|
||||
local f1 = args[2]
|
||||
local f2 = args[3]
|
||||
|
||||
BattleLogic.WaitForTrigger(interval, function ()
|
||||
local func = function(damage)
|
||||
if BattleLogic.BuffMgr:HasBuff(target, BuffName.Control, function (buff) return ct == 0 or buff.ctrlType == ct end) then
|
||||
damage = damage + floor(damage * f1)
|
||||
end
|
||||
return damage
|
||||
end
|
||||
target.exCalDmgList:Add(func)
|
||||
if f2 > 0 then
|
||||
BattleLogic.WaitForTrigger(f2, function ()
|
||||
for i=1, target.exCalDmgList.size do
|
||||
if target.exCalDmgList.buffer[i] == func then
|
||||
target.exCalDmgList:Remove(i)
|
||||
break
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
end,
|
||||
|
||||
--[d]改变[a]属性[b]%,最大叠加[c]层
|
||||
--a[属性],b[float],c[int],d[改变类型]
|
||||
[36] = function(caster, target, args, interval)
|
||||
local pro1 = args[1]
|
||||
local f1 = args[2]
|
||||
local i1 = args[3]
|
||||
local ct = args[4]
|
||||
|
||||
BattleLogic.WaitForTrigger(interval, function ()
|
||||
local changeBuff = Buff.Create(caster, BuffName.PropertyChange, 0, propertyList[pro1], f1, ct)
|
||||
changeBuff.cover = true
|
||||
changeBuff.maxLayer = i1
|
||||
|
||||
target:AddBuff(changeBuff)
|
||||
end)
|
||||
end,
|
||||
--清除[a]状态
|
||||
--a[控制状态]
|
||||
[37] = function(caster, target, args, interval)
|
||||
local ct = args[1]
|
||||
BattleLogic.WaitForTrigger(interval, function ()
|
||||
BattleLogic.BuffMgr:ClearBuff(target, function (buff)
|
||||
return buff.type == BuffName.Control and (ct == 0 or buff.ctrlType == ct)
|
||||
end)
|
||||
end)
|
||||
end,
|
||||
}
|
||||
|
||||
return effectList
|
Loading…
Reference in New Issue