战斗表现修改
parent
b261ab62d6
commit
941c15890c
|
@ -85,7 +85,7 @@ function SkillSetView:Show(camp, pos, BattleView)
|
|||
self.nt7.text = nCombat.AttackDisplaceTime
|
||||
self.nt8.text = nCombat.AttackDisplaceBackTime
|
||||
self.nt9.text = nCombat.AttackDisplacement
|
||||
self.nt10.text = nCombat.AttackDisplaceoffset==nil and "" or (nCombat.AttackDisplaceoffset[1].."#"..nCombat.AttackDisplaceoffset[2])
|
||||
self.nt10.text = (type(nCombat.AttackDisplaceoffset[1]) == "userdata" ) and "" or self:SetStr(nCombat.AttackDisplaceoffset)
|
||||
self.nt11.text = nCombat.ActionTime
|
||||
self.nt12.text = (type(nCombat.SkillNumbetTime[1][1]) == "userdata" or nCombat.SkillNumbetTime[1][1]==0) and "" or self:SetStr(nCombat.SkillNumbetTime)
|
||||
self.nt14.text = nCombat.EffectType
|
||||
|
|
|
@ -587,7 +587,8 @@ function EnemyView: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 space = continue / count
|
||||
local d = math.floor(dmg / count)
|
||||
-- 如果平均伤害小于0 则
|
||||
|
@ -599,25 +600,39 @@ function EnemyView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType,
|
|||
LogYellow(string.format("目标阵营:%s, 位置:%s, 总伤害:%s, 伤害段数:%s,每段伤害:%s", self.camp, self.role.position, dmg, count, d))
|
||||
end
|
||||
-- 伤害文字延时,有些受击特效不是立刻播放文字
|
||||
self:DelayFunc(delay/1000, function()
|
||||
|
||||
-- 伤害文字
|
||||
if count ~= 1 and skill.skillnumberTime==nil then
|
||||
-- 多段伤害
|
||||
-- if count ~= 1 and skill.SkillNumbetTime==nil and skill.SkillNumbetTime~=0 then
|
||||
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
|
||||
-- 多段伤害
|
||||
-- 后续伤害延迟打出
|
||||
self:LoopFunc(space, count - 1, function()
|
||||
self:OnceDamaged(atkRole, d, bCrit, finalDmg, damageType, dotType, skill)
|
||||
end)
|
||||
-- 立刻打出第一次伤害
|
||||
local fd = dmg - d *(count - 1)
|
||||
self:OnceDamaged(atkRole, fd, bCrit, finalDmg, damageType, dotType, skill)
|
||||
-- 被伤害卡牌表现
|
||||
self:DOHitEffect(continue)
|
||||
-- self:LoopFunc(space, count - 1, function()
|
||||
-- self:OnceDamaged(atkRole, d, bCrit, finalDmg, damageType, dotType, skill)
|
||||
-- end)
|
||||
-- -- 立刻打出第一次伤害
|
||||
-- local fd = dmg - d *(count - 1)
|
||||
-- self:OnceDamaged(atkRole, fd, bCrit, finalDmg, damageType, dotType, skill)
|
||||
-- -- 被伤害卡牌表现
|
||||
-- self:DOHitEffect(continue)
|
||||
|
||||
else
|
||||
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()
|
||||
self:DOHitEffect()
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
-- 播放特效
|
||||
self.SkillCaster:CheckSkillHitEffect("hit", combat, skill)
|
||||
else
|
||||
|
|
|
@ -690,7 +690,8 @@ 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 = skill.attackCount or 1
|
||||
local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or combat.SkillNumbetTime[1][1]
|
||||
|
||||
local space = continue / count
|
||||
local d = math.floor(dmg / count)
|
||||
|
@ -703,26 +704,38 @@ function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType
|
|||
LogYellow(string.format("目标阵营:%s, 位置:%s, 总伤害:%s, 伤害段数:%s,每段伤害:%s", self.camp, self.role.position, dmg, count, d))
|
||||
end
|
||||
-- 伤害文字延时,有些受击特效不是立刻播放文字
|
||||
self:DelayFunc(delay/1000, function()
|
||||
|
||||
-- 伤害文字
|
||||
-- if count ~= 1 and skill.skillnumberTime==nil and skill.skillnumberTime~=0 then
|
||||
if count ~= 1 and skill.skillnumberTime==nil then
|
||||
-- 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
|
||||
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
|
||||
-- 多段伤害
|
||||
-- 后续伤害延迟打出
|
||||
self:LoopFunc(space, count - 1, function()
|
||||
self:OnceDamaged(atkRole, d, bCrit, finalDmg, damageType, dotType, skill)
|
||||
end)
|
||||
-- 立刻打出第一次伤害
|
||||
local fd = dmg - d *(count - 1)
|
||||
self:OnceDamaged(atkRole, fd, bCrit, finalDmg, damageType, dotType, skill)
|
||||
-- 被伤害卡牌表现
|
||||
self:DOHitEffect(continue)
|
||||
-- self:LoopFunc(space, count - 1, function()
|
||||
-- self:OnceDamaged(atkRole, d, bCrit, finalDmg, damageType, dotType, skill)
|
||||
-- end)
|
||||
-- -- 立刻打出第一次伤害
|
||||
-- local fd = dmg - d *(count - 1)
|
||||
-- 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:DOHitEffect()
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
-- 播放特效
|
||||
self.SkillCaster:CheckSkillHitEffect("hit", combat, skill)
|
||||
else
|
||||
|
|
|
@ -789,7 +789,7 @@ end
|
|||
|
||||
-- 检测技能命中特效显示
|
||||
function SkillCaster:CheckSkillHitEffect(checkType, combat, skill)
|
||||
if not combat then return end
|
||||
if not combat or combat.Hit==nil or combat.Hit=="" then return end
|
||||
if checkType == "skill" then
|
||||
-- 释放技能时检测,如果是范围命中效果
|
||||
if combat.HitEffectType == 2 and combat.Hit then
|
||||
|
|
Loading…
Reference in New Issue