飘子和卡死bug

onepiece_demo_arena
xiejun 2024-01-02 18:24:32 +08:00
parent 76031f9059
commit c5ff0af2eb
3 changed files with 187 additions and 64 deletions

View File

@ -29,7 +29,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.16666667
time: 0.041666668
value: {x: 0.8, y: 0.8, z: 1.3}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
@ -38,7 +38,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: {x: 0.8, y: 0.8, z: 1}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
@ -47,7 +47,7 @@ AnimationClip:
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: {x: 0.8, y: 0.8, z: 1}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
@ -73,7 +73,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -101,7 +101,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -129,7 +129,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -157,7 +157,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
time: 0.041666668
value: 1
inSlope: 0
outSlope: 0
@ -166,7 +166,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 1
inSlope: 0
outSlope: 0
@ -175,7 +175,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 0
inSlope: 0
outSlope: 0
@ -203,7 +203,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 0
inSlope: 0
outSlope: 0
@ -231,7 +231,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 0
inSlope: 0
outSlope: 0
@ -240,8 +240,17 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
value: 0
time: 0.20833333
value: 100
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.41666666
value: 97.23032
inSlope: 0
outSlope: 0
tangentMode: 136
@ -256,7 +265,7 @@ AnimationClip:
classID: 224
script: {fileID: 0}
m_PPtrCurves: []
m_SampleRate: 60
m_SampleRate: 24
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
@ -277,6 +286,13 @@ AnimationClip:
typeID: 114
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 538195251
script: {fileID: 0}
typeID: 224
customType: 28
isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 2526845255
@ -305,20 +321,13 @@ AnimationClip:
typeID: 224
customType: 28
isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 538195251
script: {fileID: 0}
typeID: 224
customType: 28
isPPtrCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.45
m_StopTime: 0.7083333
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
@ -347,7 +356,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
time: 0.041666668
value: 0.8
inSlope: 0
outSlope: 0
@ -356,7 +365,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 0.8
inSlope: 0
outSlope: 0
@ -365,7 +374,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 0.8
inSlope: 0
outSlope: 0
@ -393,7 +402,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
time: 0.041666668
value: 0.8
inSlope: 0
outSlope: 0
@ -402,7 +411,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 0.8
inSlope: 0
outSlope: 0
@ -411,7 +420,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 0.8
inSlope: 0
outSlope: 0
@ -439,7 +448,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
time: 0.041666668
value: 1.3
inSlope: 0
outSlope: 0
@ -448,7 +457,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 1
inSlope: 0
outSlope: 0
@ -457,7 +466,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -485,7 +494,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -513,7 +522,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -541,7 +550,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 1
inSlope: 0
outSlope: 0
@ -569,7 +578,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
time: 0.041666668
value: 1
inSlope: 0
outSlope: 0
@ -578,7 +587,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 1
inSlope: 0
outSlope: 0
@ -587,7 +596,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 0
inSlope: 0
outSlope: 0
@ -615,7 +624,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
time: 0.7083333
value: 0
inSlope: 0
outSlope: 0
@ -643,7 +652,7 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.36666667
time: 0.125
value: 0
inSlope: 0
outSlope: 0
@ -652,8 +661,17 @@ AnimationClip:
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.45
value: 0
time: 0.20833333
value: 100
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.41666666
value: 97.23032
inSlope: 0
outSlope: 0
tangentMode: 136

View File

@ -293,7 +293,7 @@ end
-- end)
-- end
function FloatNode:ArtFloating(type, color, value,role,tarGetPos)
local trole= role and role or nil
local trole= role and role or {}
local ttarGetPos=tarGetPos and tarGetPos or self.GameObject.transform.position
local go = BattleManager.LoadAsset(floatingEffect)
go.transform:SetParent(self.RootPanel.transform)
@ -306,7 +306,7 @@ function FloatNode:ArtFloating(type, color, value,role,tarGetPos)
local index=0
if #trole== 0 then
if #trole== 0 then
trole[#trole+1]=go
index=#trole
else
@ -366,7 +366,7 @@ function FloatNode:ArtFloating(type, color, value,role,tarGetPos)
anim:GetComponent("Canvas").sortingOrder = BattleManager.GetBattleSorting() + 100
anim:GetComponent("Animator"):Play(ArtFloatingAnim[type])
BattleManager.AddDelayRecycleRes(floatingEffect, go, 3,function ()
BattleManager.AddDelayRecycleRes(floatingEffect, go, 1,function ()
if trole then
for key, value in pairs(trole) do
if value == go then

View File

@ -683,20 +683,126 @@ local DotTypeTip = {
[3] = Language[10244],
}
--
-- function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill,isImmune)
-- if isImmune and isImmune==true then
-- return
-- end
-- if skill then
-- -- 技能配置
-- local combatId = BattleManager.GetCombatIdBySkin(skill.id, atkRole.roleData.skinId)
-- local combat = BattleManager.GetSkillCombat(combatId)
-- --
-- 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
-- local space = continue / count
-- local d = math.floor(dmg / count)
-- -- 如果平均伤害小于0 则
-- if d == 0 then
-- d = dmg
-- count = 1
-- end
-- if BattleManager.IsBattleTestPanel() then
-- LogYellow(string.format("目标阵营:%s, 位置:%s, 总伤害:%s, 伤害段数:%s每段伤害%s", self.camp, self.role.position, dmg, count, d))
-- end
-- -- 伤害文字延时,有些受击特效不是立刻播放文字
-- -- 伤害文字
-- -- 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)
-- self:DOHitMoveMent(continue,combat)
-- 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:DelayFunc(delay/1000, function()
-- self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill)
-- -- 被伤害卡牌表现
-- self:DOHitEffect()
-- self:DOHitMoveMent(nil,combat)
-- end)
-- end
-- -- 播放特效
-- self.SkillCaster:CheckSkillHitEffect("hit", combat, skill)
-- else
-- if BattleManager.IsBattleTestPanel() then
-- LogYellow(string.format("目标阵营:%s, 位置:%s, 总伤害:%s", self.camp, self.role.position, dmg))
-- end
-- -- 伤害文字
-- self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill)
-- -- 被伤害卡牌表现
-- self:DOHitEffect()
-- end
-- end
-- --
-- function PlayerView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill)
-- --王振兴注释,为了解决英雄死亡多段伤害显示不完整 2020/8/17
-- --if self.isDead then return end
-- if dotType then
-- if dotType == DotType.Poison then
-- self.Floater:ArtFloating(ArtFloatingType.PoisonDamage, ArtFloatingColor.Poison, dmg,TextFloatingColor.DarkGreen,self.role)
-- elseif dotType == DotType.Burn then
-- self.Floater:ArtFloating(ArtFloatingType.FireDamage, ArtFloatingColor.Fire, dmg,self.role)
-- elseif dotType == DotType.Blooding then
-- self.Floater:ArtFloating(ArtFloatingType.BleedDamage, ArtFloatingColor.Fire, dmg,self.role)
-- else
-- self.Floater:TextBuffFloating(2, DotTypeTip[dotType]..dmg)
-- end
-- else
-- if bCrit then -- 暴击红色并显示暴击
-- self.Floater:ArtFloating(ArtFloatingType.CritDamage, ArtFloatingColor.Red, dmg,self.role)
-- else
-- if atkRole.isTeam then -- 异妖紫色
-- self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.Purple, dmg,self.role)
-- else
-- if skill and skill.type == BattleSkillType.Special then -- 技能黄色
-- self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.Yellow, dmg,self.role)
-- else -- 普攻白色
-- self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.White, dmg,self.role)
-- end
-- end
-- end
-- end
-- -- 播放受击动画
-- self:PlaySpineAnim(self.RoleLiveGOGraphic, 0, "hit", false)
-- end
function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill,isImmune)
if isImmune and isImmune==true then
return
return
end
local t={}
local pos=self.GameObject.transform.position
if skill then
-- 技能配置
local combatId = BattleManager.GetCombatIdBySkin(skill.id, atkRole.roleData.skinId)
local combat = BattleManager.GetSkillCombat(combatId)
--
--
local delay = combat.DamageDelay or 0
local continue = skill.continueTime or 0
--local count = skill.attackCount or 1
local continue = skill.continueTime or 0
local count = type(combat.SkillNumbetTime[1][1]) == "userdata" and 1 or #combat.SkillNumbetTime
local space = continue / count
local d = math.floor(dmg / count)
-- 如果平均伤害小于0 则
@ -708,15 +814,15 @@ 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
-- 伤害文字延时,有些受击特效不是立刻播放文字
-- 伤害文字
-- if count ~= 1 and skill.SkillNumbetTime==nil and skill.SkillNumbetTime~=0 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:OnceDamaged(atkRole, fd, bCrit, finalDmg, damageType, dotType, skill,t,pos)
-- 被伤害卡牌表现
self:DOHitEffect(continue)
self:DOHitMoveMent(continue,combat)
@ -736,7 +842,7 @@ function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType
else
self:DelayFunc(delay/1000, function()
self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill)
self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill,t,pos)
-- 被伤害卡牌表现
self:DOHitEffect()
self:DOHitMoveMent(nil,combat)
@ -750,37 +856,37 @@ function PlayerView:OnDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType
LogYellow(string.format("目标阵营:%s, 位置:%s, 总伤害:%s", self.camp, self.role.position, dmg))
end
-- 伤害文字
self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill)
self:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill,t,pos)
-- 被伤害卡牌表现
self:DOHitEffect()
-- self:DOHitMoveMent(nil,combat)
end
end
--
function PlayerView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill)
function PlayerView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType, skill,t,pos)
--王振兴注释,为了解决英雄死亡多段伤害显示不完整 2020/8/17
--if self.isDead then return end
if dotType then
if dotType == DotType.Poison then
self.Floater:ArtFloating(ArtFloatingType.PoisonDamage, ArtFloatingColor.Poison, dmg,TextFloatingColor.DarkGreen,self.role)
self.Floater:ArtFloating(ArtFloatingType.PoisonDamage, ArtFloatingColor.Poison, dmg,t,pos)
elseif dotType == DotType.Burn then
self.Floater:ArtFloating(ArtFloatingType.FireDamage, ArtFloatingColor.Fire, dmg,self.role)
self.Floater:ArtFloating(ArtFloatingType.FireDamage, ArtFloatingColor.Fire, dmg,t,pos)
elseif dotType == DotType.Blooding then
self.Floater:ArtFloating(ArtFloatingType.BleedDamage, ArtFloatingColor.Fire, dmg,self.role)
self.Floater:ArtFloating(ArtFloatingType.BleedDamage, ArtFloatingColor.Fire, dmg,t,pos)
else
self.Floater:TextBuffFloating(2, DotTypeTip[dotType]..dmg)
end
else
if bCrit then -- 暴击红色并显示暴击
self.Floater:ArtFloating(ArtFloatingType.CritDamage, ArtFloatingColor.Red, dmg,self.role)
self.Floater:ArtFloating(ArtFloatingType.CritDamage, ArtFloatingColor.Red, dmg,t,pos)
else
if atkRole.isTeam then -- 异妖紫色
self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.Purple, dmg,self.role)
self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.Purple, dmg,t,pos)
else
if skill and skill.type == BattleSkillType.Special then -- 技能黄色
self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.Yellow, dmg,self.role)
self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.Yellow, dmg,t,pos)
else -- 普攻白色
self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.White, dmg,self.role)
self.Floater:ArtFloating(ArtFloatingType.Damage, ArtFloatingColor.White, dmg,t,pos)
end
end
end
@ -789,7 +895,6 @@ function PlayerView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotTy
self:PlaySpineAnim(self.RoleLiveGOGraphic, 0, "hit", false)
end
-- 播放卡牌受击效果
function PlayerView:DOHitEffect(time, func)
-- 时间修正