战斗逻辑
parent
8b8a89cd73
commit
7f9e88d0e3
|
@ -1111,13 +1111,12 @@ local effectList = {
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
--造成[a]%的[b]伤害,自身每种/每层增益状态会提高此技能[c]%的伤害。
|
--造成[a]%的[b]伤害,自身每种/每层增益状态会提高此技能[c]%的伤害。【aoe】
|
||||||
--a[float],b[伤害类型],c[float]
|
--a[float],b[伤害类型],c[float]
|
||||||
[64] = function(caster, target, args, interval)
|
[64] = function(caster, target, args, interval)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
local dt = args[2]
|
local dt = args[2]
|
||||||
local f2 = args[3]
|
local f2 = args[3]
|
||||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target)
|
|
||||||
BattleLogic.WaitForTrigger(interval, function ()
|
BattleLogic.WaitForTrigger(interval, function ()
|
||||||
local factor = 0
|
local factor = 0
|
||||||
BattleLogic.BuffMgr:QueryBuff(caster, function (buff)
|
BattleLogic.BuffMgr:QueryBuff(caster, function (buff)
|
||||||
|
@ -1163,7 +1162,7 @@ local effectList = {
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
--造成[a]%的[b]伤害,[c]的概率附加一层增伤印记,最大[d]层。目标身上每层印记增加此技能[e]%的伤害。
|
--造成[a]%的[b]伤害,[c]的概率附加一层增伤印记,最大[d]层。目标身上每层印记增加此技能[e]%的伤害。【aoe】
|
||||||
--a[float],b[伤害类型],c[float],d[int],e[float]
|
--a[float],b[伤害类型],c[float],d[int],e[float]
|
||||||
[66] = function(caster, target, args, interval)
|
[66] = function(caster, target, args, interval)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
|
@ -1171,7 +1170,6 @@ local effectList = {
|
||||||
local f2 = args[3]
|
local f2 = args[3]
|
||||||
local i1 = args[4]
|
local i1 = args[4]
|
||||||
local f3 = args[5]
|
local f3 = args[5]
|
||||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target)
|
|
||||||
BattleLogic.WaitForTrigger(interval, function ()
|
BattleLogic.WaitForTrigger(interval, function ()
|
||||||
local brand = Buff.Create(caster, BuffName.Brand, 0, "zengshang")
|
local brand = Buff.Create(caster, BuffName.Brand, 0, "zengshang")
|
||||||
brand.maxLayer = i1
|
brand.maxLayer = i1
|
||||||
|
@ -1222,14 +1220,13 @@ local effectList = {
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
--造成[a]%的[b]伤害,附带持续伤害,每秒造成目标最大生命值[c]%的真实伤害,持续[d]秒。(目标最大生命值伤害总上限为施法者2.5倍攻击)
|
--造成[a]%的[b]伤害,附带持续伤害,每秒造成目标最大生命值[c]%的真实伤害,持续[d]秒。(目标最大生命值伤害总上限为施法者2.5倍攻击)【aoe】
|
||||||
--a[float],b[伤害类型],c[float],d[int]
|
--a[float],b[伤害类型],c[float],d[int]
|
||||||
[68] = function(caster, target, args, interval)
|
[68] = function(caster, target, args, interval)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
local dt = args[2]
|
local dt = args[2]
|
||||||
local f2 = args[3]
|
local f2 = args[3]
|
||||||
local f3 = args[4]
|
local f3 = args[4]
|
||||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target)
|
|
||||||
BattleLogic.WaitForTrigger(interval, function ()
|
BattleLogic.WaitForTrigger(interval, function ()
|
||||||
BattleUtil.CalDamage(caster, target, dt, f1)
|
BattleUtil.CalDamage(caster, target, dt, f1)
|
||||||
local dot = Buff.Create(caster, BuffName.DOT, f3, 1, 0, min(floor(target:GetRoleData(RoleDataName.MaxHp)*f2), floor(caster:GetRoleData(RoleDataName.Attack)*2.5)), 1)
|
local dot = Buff.Create(caster, BuffName.DOT, f3, 1, 0, min(floor(target:GetRoleData(RoleDataName.MaxHp)*f2), floor(caster:GetRoleData(RoleDataName.Attack)*2.5)), 1)
|
||||||
|
@ -1247,13 +1244,12 @@ local effectList = {
|
||||||
target.data:SubValue(RoleDataName.Hp, hp)
|
target.data:SubValue(RoleDataName.Hp, hp)
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
--造成[a]%的[b]伤害,每损失[c]%的生命,增加本技能[d]%的伤害。
|
--造成[a]%的[b]伤害,每损失[c]%的生命,增加本技能[d]%的伤害。【aoe】
|
||||||
--a[float],b[伤害类型],c[float],d[float]
|
--a[float],b[伤害类型],c[float],d[float]
|
||||||
[70] = function(caster, target, args, interval)
|
[70] = function(caster, target, args, interval)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
local dt = args[2]
|
local dt = args[2]
|
||||||
local f2 = args[3]
|
local f2 = args[3]
|
||||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target)
|
|
||||||
BattleLogic.WaitForTrigger(interval, function ()
|
BattleLogic.WaitForTrigger(interval, function ()
|
||||||
local factor = 1 - BattleUtil.GetHPPencent(caster)
|
local factor = 1 - BattleUtil.GetHPPencent(caster)
|
||||||
local OnPassiveDamaging = function(damagingFunc, defRole, damage)
|
local OnPassiveDamaging = function(damagingFunc, defRole, damage)
|
||||||
|
@ -1306,12 +1302,11 @@ local effectList = {
|
||||||
buffRandomAction(f3, target, Buff.Create(caster, BuffName.DOT, f2, 1, d1, dt, f1))
|
buffRandomAction(f3, target, Buff.Create(caster, BuffName.DOT, f2, 1, d1, dt, f1))
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
--造成[a]%的[b]伤害,立即结算目标身上所有dot的剩余伤害。
|
--造成[a]%的[b]伤害,立即结算目标身上所有dot的剩余伤害。【aoe】
|
||||||
--a[float],b[伤害类型]
|
--a[float],b[伤害类型]
|
||||||
[73] = function(caster, target, args, interval)
|
[73] = function(caster, target, args, interval)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
local dt = args[2]
|
local dt = args[2]
|
||||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target)
|
|
||||||
BattleLogic.WaitForTrigger(interval, function ()
|
BattleLogic.WaitForTrigger(interval, function ()
|
||||||
BattleUtil.CalDamage(caster, target, dt, f1)
|
BattleUtil.CalDamage(caster, target, dt, f1)
|
||||||
BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff)
|
BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff)
|
||||||
|
@ -1752,7 +1747,7 @@ local effectList = {
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
--造成[a]%的[b]伤害,若暴击,[c]概率驱散[d]个(0表示所有)[e]状态。
|
--造成[a]%的[b]伤害,若暴击,[c]概率驱散[d]个(0表示所有)[e]状态。【aoe】
|
||||||
--a[float],b[伤害类型],c[float],d[int],e[状态类型]
|
--a[float],b[伤害类型],c[float],d[int],e[状态类型]
|
||||||
[93] = function(caster, target, args, interval)
|
[93] = function(caster, target, args, interval)
|
||||||
local f1 = args[1]
|
local f1 = args[1]
|
||||||
|
@ -1760,7 +1755,6 @@ local effectList = {
|
||||||
local f2 = args[3]
|
local f2 = args[3]
|
||||||
local i1 = args[4]
|
local i1 = args[4]
|
||||||
local ct = args[5]
|
local ct = args[5]
|
||||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval, target)
|
|
||||||
BattleLogic.WaitForTrigger(interval, function ()
|
BattleLogic.WaitForTrigger(interval, function ()
|
||||||
local dmg, crit = BattleUtil.CalDamage(caster, target, dt, f1)
|
local dmg, crit = BattleUtil.CalDamage(caster, target, dt, f1)
|
||||||
if crit then
|
if crit then
|
||||||
|
|
|
@ -1281,7 +1281,6 @@ local passivityList = {
|
||||||
end
|
end
|
||||||
role.Event:AddEvent(BattleEventName.RoleKill, OnKill)
|
role.Event:AddEvent(BattleEventName.RoleKill, OnKill)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
--受击后,[a]对攻击者造成自身[c]%的[d]伤害。
|
--受击后,[a]对攻击者造成自身[c]%的[d]伤害。
|
||||||
--a[float],c[float],d[伤害类型]
|
--a[float],c[float],d[伤害类型]
|
||||||
[71] = function(role, args)
|
[71] = function(role, args)
|
||||||
|
@ -1305,5 +1304,18 @@ local passivityList = {
|
||||||
end
|
end
|
||||||
role.Event:AddEvent(BattleEventName.RoleBeHit, OnBeHit)
|
role.Event:AddEvent(BattleEventName.RoleBeHit, OnBeHit)
|
||||||
end,
|
end,
|
||||||
|
--造成的伤害暴击时,有[a]概率在计算伤害时额外计算[b]的暴击伤害。
|
||||||
|
--a[float],b[float]
|
||||||
|
[72] = function(role, args)
|
||||||
|
local f1 = args[1]
|
||||||
|
local f2 = args[2]
|
||||||
|
|
||||||
|
local OnPassiveCriting = function(crit)
|
||||||
|
BattleUtil.RandomAction(f1, function ()
|
||||||
|
crit(role:GetRoleData(RoleDataName.CritDamageFactor)+f2)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
role.Event:AddEvent(BattleEventName.PassiveCriting, OnPassiveCriting)
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
return passivityList
|
return passivityList
|
|
@ -28,7 +28,7 @@ local record
|
||||||
local optionRecord
|
local optionRecord
|
||||||
|
|
||||||
--是否开启战斗日志
|
--是否开启战斗日志
|
||||||
BattleLogic.IsOpenBattleRecord = true
|
BattleLogic.IsOpenBattleRecord = false
|
||||||
--逻辑帧频
|
--逻辑帧频
|
||||||
BattleLogic.GameFrameRate = 30
|
BattleLogic.GameFrameRate = 30
|
||||||
BattleLogic.GameDeltaTime = 1 / BattleLogic.GameFrameRate
|
BattleLogic.GameDeltaTime = 1 / BattleLogic.GameFrameRate
|
||||||
|
|
Loading…
Reference in New Issue