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 -- 播放特效