治疗分段
parent
92b7a457f9
commit
4e5aa2011a
|
|
@ -539,16 +539,76 @@ end
|
||||||
|
|
||||||
|
|
||||||
-- 治疗
|
-- 治疗
|
||||||
function EnemyView:OnTreated(castRole, realTreat, treat)
|
function EnemyView:OnTreated(castRole, realTreat, treat,skill)
|
||||||
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, treat)
|
if skill then
|
||||||
|
-- 技能配置
|
||||||
local sortingOrder = nil
|
local combatId = BattleManager.GetCombatIdBySkin(skill.id, castRole.roleData.skinId)
|
||||||
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
local combat = BattleManager.GetSkillCombat(combatId)
|
||||||
go.transform:SetParent(self.GameObject.transform)
|
--
|
||||||
go.transform.localScale = Vector3.one
|
local delay = combat.DamageDelay or 0
|
||||||
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
local continue = skill.continueTime or 0
|
||||||
go:SetActive(true)
|
local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or #combat.SkillNumbetTime
|
||||||
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
|
||||||
|
local space = continue / count
|
||||||
|
local d = math.floor(treat / count)
|
||||||
|
-- 如果平均伤害小于0 则
|
||||||
|
if d == 0 then
|
||||||
|
d = treat
|
||||||
|
count = 1
|
||||||
|
end
|
||||||
|
local t={}
|
||||||
|
-- 伤害文字延时,有些受击特效不是立刻播放文字
|
||||||
|
|
||||||
|
-- 伤害文字
|
||||||
|
-- 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()
|
||||||
|
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, d,t)
|
||||||
|
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
||||||
|
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
||||||
|
go.transform:SetParent(self.GameObject.transform)
|
||||||
|
go.transform.localScale = Vector3.one
|
||||||
|
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
||||||
|
go:SetActive(true)
|
||||||
|
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
||||||
|
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)
|
||||||
|
|
||||||
|
else
|
||||||
|
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, d,t)
|
||||||
|
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
||||||
|
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
||||||
|
go.transform:SetParent(self.GameObject.transform)
|
||||||
|
go.transform.localScale = Vector3.one
|
||||||
|
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
||||||
|
go:SetActive(true)
|
||||||
|
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, treat)
|
||||||
|
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
||||||
|
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
||||||
|
go.transform:SetParent(self.GameObject.transform)
|
||||||
|
go.transform.localScale = Vector3.one
|
||||||
|
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
||||||
|
go:SetActive(true)
|
||||||
|
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -644,16 +644,77 @@ end
|
||||||
|
|
||||||
|
|
||||||
-- 治疗
|
-- 治疗
|
||||||
function PlayerView:OnTreated(castRole, realTreat, treat)
|
function PlayerView:OnTreated(castRole, realTreat, treat,skill)
|
||||||
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, treat)
|
if skill then
|
||||||
|
-- 技能配置
|
||||||
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
local combatId = BattleManager.GetCombatIdBySkin(skill.id, castRole.roleData.skinId)
|
||||||
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
local combat = BattleManager.GetSkillCombat(combatId)
|
||||||
go.transform:SetParent(self.GameObject.transform)
|
--
|
||||||
go.transform.localScale = Vector3.one
|
local delay = combat.DamageDelay or 0
|
||||||
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
local continue = skill.continueTime or 0
|
||||||
go:SetActive(true)
|
local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or #combat.SkillNumbetTime
|
||||||
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
|
||||||
|
local space = continue / count
|
||||||
|
local d = math.floor(treat / count)
|
||||||
|
-- 如果平均伤害小于0 则
|
||||||
|
if d == 0 then
|
||||||
|
d = treat
|
||||||
|
count = 1
|
||||||
|
end
|
||||||
|
local t={}
|
||||||
|
-- 伤害文字延时,有些受击特效不是立刻播放文字
|
||||||
|
|
||||||
|
-- 伤害文字
|
||||||
|
-- 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()
|
||||||
|
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, d,t)
|
||||||
|
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
||||||
|
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
||||||
|
go.transform:SetParent(self.GameObject.transform)
|
||||||
|
go.transform.localScale = Vector3.one
|
||||||
|
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
||||||
|
go:SetActive(true)
|
||||||
|
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
||||||
|
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)
|
||||||
|
|
||||||
|
else
|
||||||
|
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, d,t)
|
||||||
|
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
||||||
|
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
||||||
|
go.transform:SetParent(self.GameObject.transform)
|
||||||
|
go.transform.localScale = Vector3.one
|
||||||
|
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
||||||
|
go:SetActive(true)
|
||||||
|
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
else
|
||||||
|
self.Floater:ArtFloating(ArtFloatingType.Treat, ArtFloatingColor.Green, treat)
|
||||||
|
local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21
|
||||||
|
local go = BattleManager.LoadAsset(healEffect, sortingOrder)
|
||||||
|
go.transform:SetParent(self.GameObject.transform)
|
||||||
|
go.transform.localScale = Vector3.one
|
||||||
|
go.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition
|
||||||
|
go:SetActive(true)
|
||||||
|
BattleManager.AddDelayRecycleRes(healEffect, go, 3)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue