back_recharge
jiahuiwen 2019-03-26 15:39:00 +08:00
commit 5794900e80
13 changed files with 162 additions and 133 deletions

View File

@ -662,93 +662,93 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
500108 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 1.0
500109 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 1.0
500110 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 1.0
500201 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500202 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500203 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500204 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500205 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500206 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500207 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500208 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500209 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500210 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
500301 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500302 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500303 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500304 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500305 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500306 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500307 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500308 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500309 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500310 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
500401 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500402 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500403 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500404 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500405 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500406 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500407 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500408 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500409 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500410 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
500501 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500502 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500503 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500504 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500505 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500506 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500507 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500508 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500509 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500510 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
500601 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500602 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500603 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500604 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500605 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500606 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500607 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500608 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500609 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500610 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
500701 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500702 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500703 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500704 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500705 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500706 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500707 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500708 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500709 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500710 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
500801 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500802 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500803 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500804 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500805 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500806 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500807 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500808 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500809 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500810 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
500901 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500902 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500903 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500904 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500905 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500906 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500907 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500908 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500909 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
500910 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
501001 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501002 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501003 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501004 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501005 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501006 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501007 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501008 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501009 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
501010 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
500201 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500202 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500203 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500204 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500205 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500206 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500207 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500208 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500209 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500210 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
500301 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500302 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500303 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500304 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500305 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500306 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500307 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500308 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500309 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500310 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
500401 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500402 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500403 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500404 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500405 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500406 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500407 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500408 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500409 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500410 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
500501 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500502 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500503 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500504 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500505 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500506 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500507 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500508 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500509 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500510 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
500601 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500602 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500603 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500604 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500605 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500606 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500607 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500608 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500609 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500610 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
500701 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500702 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500703 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500704 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500705 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500706 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500707 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500708 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500709 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500710 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
500801 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500802 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500803 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500804 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500805 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500806 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500807 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500808 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500809 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500810 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
500901 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500902 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500903 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500904 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500905 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500906 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500907 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500908 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500909 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
500910 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
501001 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501002 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501003 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501004 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501005 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501006 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501007 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501008 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501009 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
501010 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0

View File

@ -513,6 +513,37 @@ local effectList = {
end)
end
end,
--造成[a]%的[b]伤害,若为[c],则无视敌人[d]%的防御
--a[float],b[伤害类型,]c[控制状态],d[float]
[30] = function(caster, target, args, interval)
local f1 = args[1]
local dt = args[2]
local ct = args[3]
local f2 = args[4]
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval)
if caster.camp == 0 and target.camp == 1 then
BattleLogic.Event:DispatchEvent(BattleEventName.ZoomChange, target, interval)
end
BattleLogic.WaitForTrigger(interval, function ()
if target.BuffMgr:HasBuff(BuffName.Control, function (buff) return ct == 0 or buff.ctrlType == ct end) then
BattleUtil.CalDamage(caster, target, dt, f1, f2)
else
BattleUtil.CalDamage(caster, target, dt, f1)
end
end)
end,
--[a]%概率[b],持续[c]秒
--a[float],b[免疫buff],c[int]
[31] = function(caster, target, args, interval)
local f1 = args[1] * (1 + caster:GetRoleData(RoleDataName.Hit) / (1 + target:GetRoleData(RoleDataName.Dodge)))
local ib1 = args[2]
local f2 = args[3]
BattleLogic.WaitForTrigger(interval, function ()
BattleUtil.RandomAction(f1, function ()
target:AddBuff(Buff.Create(caster, BuffName.Immune, f2, ib1))
end)
end)
end,
}
return effectList

View File

@ -4,8 +4,7 @@ Aura = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function Aura:SetData(...)
--log("Aura:SetData")
local args = {...}
self.action = args[1]
self.action = ...
end
--初始化后调用一次

View File

@ -4,8 +4,7 @@ Brand = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function Brand:SetData(...)
--log("Brand:SetData")
local args = {...}
self.flag = args[1]
self.flag = ...
self.cover = true
self.layer = 1
end

View File

@ -4,8 +4,7 @@ Control = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function Control:SetData(...)
--log("Control:SetData")
local args = {...}
self.ctrlType = args[1]
self.ctrlType = ...
end
--初始化后调用一次

View File

@ -4,11 +4,10 @@ DOT = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function DOT:SetData(...)
--log("DOT:SetData")
local args = {...}
self.interval = args[1]
self.damageType = args[2] --1 燃烧 2 中毒 3 流血
self.damagePro = args[3] --1 物理 2 魔法
self.damageFactor = args[4] --伤害系数
self.interval,
self.damageType, --1 燃烧 2 中毒 3 流血
self.damagePro, --1 物理 2 魔法
self.damageFactor = ... --伤害系数
self.isDeBuff = true
end

View File

@ -4,9 +4,8 @@ HOT = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function HOT:SetData(...)
--log("HOT:SetData")
local args = {...}
self.interval = args[1]
self.healValue = args[2]
self.interval,
self.healValue = ...
self.isBuff = true
end

View File

@ -4,10 +4,9 @@ PropertyChange = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function PropertyChange:SetData(...)
--log("PropertyChange:SetData")
local args = {...}
self.propertyName = args[1]
self.Value = args[2]
self.changeType = args[3]
self.propertyName,
self.Value,
self.changeType = ...
end
--初始化后调用一次

View File

@ -4,9 +4,8 @@ Shield = Buff:New()
--初始化Buff通过传入一些自定义参数控制成长相关的数值
function Shield:SetData(...)
--log("Shield:SetData")
local args = {...}
self.shieldValue = args[1] --护盾值
self.dmgReboundFactor = args[2] --伤害反弹系数
self.shieldValue, --护盾值
self.dmgReboundFactor = ... --伤害反弹系数
self.damageSum = 0 --记录承受的伤害
end

View File

@ -89,6 +89,7 @@ BuffName = {
Aura = "Aura",
Brand = "Brand",
Shield = "Shield",
Immune = "Immune",
}

View File

@ -27,22 +27,6 @@ function BattleUtil.CreateBuffId(skill, index)
return id
end
function BattleUtil.CalBaseDamage(atkRole, defRole, baseDamage, baseFactor)
local atkData, defData = atkRole.data, defRole.data
if not baseFactor then baseFactor = 1 end
--伤害 =(基础伤害*1+己伤害加成-目标伤害减免)*1+己方属性伤害加成-目标属性伤害减免10%*己攻)
local damage = baseDamage * baseFactor *
(1 + atkData:GetData(RoleDataName.DamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DamageReduceFactor)) *
(1 + atkData:GetData(RoleDataName.FireDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.FireDamageReduceFactor)) * --火系
(1 + atkData:GetData(RoleDataName.WindDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.WindDamageReduceFactor)) * --风系
(1 + atkData:GetData(RoleDataName.IceDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.IceDamageReduceFactor)) * --冰系
(1 + atkData:GetData(RoleDataName.LandDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LandDamageReduceFactor)) * --地系
(1 + atkData:GetData(RoleDataName.LightDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LightDamageReduceFactor)) * --光系
(1 + atkData:GetData(RoleDataName.DarkDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DarkDamageReduceFactor)) --暗系
return damage
end
function BattleUtil.CalHit(atkRole, defRole)
--命中率 = clamp(自身命中率-敌方闪避率,0,1)
local hit = atkRole:GetRoleData(RoleDataName.Hit)
@ -106,12 +90,14 @@ function BattleUtil.ApplyDamage(atkRole, defRole, damage, bCrit)
end
--执行完整的命中,伤害,暴击计算,返回命中,暴击
function BattleUtil.CalDamage(atkRole, defRole, damageType, baseFactor)
function BattleUtil.CalDamage(atkRole, defRole, damageType, baseFactor, ignoreDef)
if atkRole.isTeam and not defRole.isDead then
return BattleUtil.ApplyDamage(atkRole, defRole, damageType), false
end
local bCrit = false
local baseDamage
baseFactor = baseFactor or 1
ignoreDef = 1 - (ignoreDef or 0)
bCrit = BattleUtil.CalCrit(atkRole, defRole)
local defence = 0
if damageType == 1 then --1 物理 2 魔法
@ -128,11 +114,20 @@ function BattleUtil.CalDamage(atkRole, defRole, damageType, baseFactor)
--计算暴击
if bCrit or defRole.isFlagCrit then
local critDamageFactor = atkRole:GetRoleData(RoleDataName.CritDamageFactor)
baseDamage = attack * critDamageFactor - 0.5 * defence
baseDamage = max(attack * critDamageFactor - 0.5 * defence * ignoreDef, 0)
else
baseDamage = attack - 0.5 * defence
baseDamage = max(attack - 0.5 * defence * ignoreDef, 0)
end
baseDamage = BattleUtil.CalBaseDamage(atkRole, defRole, baseDamage, baseFactor)
local atkData, defData = atkRole.data, defRole.data
--伤害 =(基础伤害*1+己伤害加成-目标伤害减免)*1+己方属性伤害加成-目标属性伤害减免10%*己攻)
baseDamage = baseDamage * baseFactor *
(1 + atkData:GetData(RoleDataName.DamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DamageReduceFactor)) *
(1 + atkData:GetData(RoleDataName.FireDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.FireDamageReduceFactor)) * --火系
(1 + atkData:GetData(RoleDataName.WindDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.WindDamageReduceFactor)) * --风系
(1 + atkData:GetData(RoleDataName.IceDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.IceDamageReduceFactor)) * --冰系
(1 + atkData:GetData(RoleDataName.LandDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LandDamageReduceFactor)) * --地系
(1 + atkData:GetData(RoleDataName.LightDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LightDamageReduceFactor)) * --光系
(1 + atkData:GetData(RoleDataName.DarkDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DarkDamageReduceFactor)) --暗系
baseDamage = max(baseDamage, 0.1 * attack)
local func

View File

@ -13,7 +13,10 @@ local skillPool = BattleObjectPool.New(function ()
end)
function RoleLogic.New()
local instance = {uid=0,roleData=0,data=RoleData.New(),camp=0,name=0,roleType=0,shield=BattleList.New(),exCalDmgList=BattleList.New(),
local instance = {uid=0,roleData=0,data=RoleData.New(),camp=0,name=0,roleType=0,
shield=BattleList.New(),
exCalDmgList=BattleList.New(),
buffFilter=BattleList.New(),
BuffMgr=BuffManager.New(),Event=BattleEvent:New(),passiveList=0,isDead=false,Auto=false,IsDebug=false,enable=false}
setmetatable(instance, RoleLogic)
return instance
@ -31,6 +34,7 @@ function RoleLogic:Init(uid, data)
self.shield:Clear() --护盾列表
self.exCalDmgList:Clear() --额外计算伤害列表
self.buffFilter:Clear() --buff屏蔽列表
self.BuffMgr:Init(self)
self.Event:ClearEvent()
@ -67,6 +71,11 @@ function RoleLogic:GetRoleData(property)
end
function RoleLogic:AddBuff(buff)
for i=1, self.buffFilter.size do
if self.buffFilter.buffer[i](buff) then
return
end
end
self.BuffMgr:AddBuff(buff)
end

View File

@ -51,7 +51,7 @@ public class AdventureManager extends MongoBase {
}
public void setUpdateTime(long updateTime) {
updateString("updateTime.",updateTime);
updateString("updateTime",updateTime);
this.updateTime = updateTime;
}