From 4906264a044f5378b313e7d2ed5027751aa3118c Mon Sep 17 00:00:00 2001 From: xiejun <467745540@qq.com> Date: Sat, 2 Dec 2023 16:57:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E6=96=97=E5=A4=9A=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Battle/View/Unit/EnemyView.lua | 2 +- .../Modules/Battle/View/Unit/PlayerView.lua | 25 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua index 69c147f1bd..ac0900abef 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua @@ -587,7 +587,7 @@ function EnemyView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, -- local delay = combat.DamageDelay or 0 local continue = skill.continueTime or 0 - local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or combat.SkillNumbetTime[1][1] + local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or #combat.SkillNumbetTime local space = continue / count local d = math.floor(dmg / count) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua index 860495ed27..13c191b65a 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua @@ -691,7 +691,7 @@ function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType local delay = combat.DamageDelay or 0 local continue = skill.continueTime or 0 --local count = skill.attackCount or 1 - local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or combat.SkillNumbetTime[1][1] + local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or #combat.SkillNumbetTime local space = continue / count local d = math.floor(dmg / count) @@ -707,18 +707,18 @@ function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType -- 伤害文字 -- if count ~= 1 and skill.SkillNumbetTime==nil and skill.SkillNumbetTime~=0 then - if combat.SkillNumbetTime and combat.SkillNumbetTime[1] and (type(combat.SkillNumbetTime[1][1]) ~= "userdata" and combat.SkillNumbetTime[1][1]~=0) then - for i = 1, #combat.SkillNumbetTime do + if count ~=1 then + if combat.SkillNumbetTime and combat.SkillNumbetTime[1] and (type(combat.SkillNumbetTime[1][1]) ~= "userdata" and combat.SkillNumbetTime[1][1]~=0) then + for i = 1, #combat.SkillNumbetTime do self:DelayFunc(combat.SkillNumbetTime[i][2]/1000, function() local fd = dmg - d *(count - 1) self:OnceDamaged(atkRole, fd, bCrit, finalDmg, damageType, dotType, skill) -- 被伤害卡牌表现 self:DOHitEffect(continue) - end) - - - end - -- 多段伤害 + end) + end + end + -- 多段伤害 -- 后续伤害延迟打出 -- self:LoopFunc(space, count - 1, function() -- self:OnceDamaged(atkRole, d, bCrit, finalDmg, damageType, dotType, skill) @@ -728,12 +728,13 @@ function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType -- self:OnceDamaged(atkRole, fd, bCrit, finalDmg, damageType, dotType, skill) -- -- 被伤害卡牌表现 -- self:DOHitEffect(continue) + else - self:DelayFunc(delay/1000, function() - self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill) + self:DelayFunc(delay/1000, function() + self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill) -- 被伤害卡牌表现 - self:DOHitEffect() - end) + self:DOHitEffect() + end) end -- 播放特效