[bug]=====神系英雄修改提交
parent
17f855be9f
commit
0a52e4a549
|
@ -277,7 +277,6 @@ function this.PokemonUnitAdapter(pokemonUnit,camp,_teamDamage)
|
|||
property = {},
|
||||
}
|
||||
-- 技能
|
||||
LogError(pokemonUnit.unitSkillIds)
|
||||
local skills = string.split(pokemonUnit.unitSkillIds, "|")
|
||||
if skills then
|
||||
if skills[1] then
|
||||
|
|
|
@ -683,17 +683,89 @@ function BattleUtil.ApplyDamageNoPassive(skill, atkRole, defRole, damage, bCrit,
|
|||
damage = damage - dmgDeduction
|
||||
end
|
||||
|
||||
atkRole.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect)
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect)
|
||||
defRole.Event:DispatchEvent(BattleEventName.PassiveBeDamaging, damagingFunc, atkRole, damage, skill, dotType, bCrit)
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect)
|
||||
--BattleLogic.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect)
|
||||
|
||||
|
||||
atkRole.Event:DispatchEvent(BattleEventName.FinalDamage, damagingFunc, defRole, damage, skill, dotType, bCrit, damageType)
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.FinalDamage, damagingFunc, defRole, damage, skill, dotType, bCrit, damageType)
|
||||
defRole.Event:DispatchEvent(BattleEventName.FinalBeDamage, damagingFunc, atkRole, damage, skill, dotType, bCrit, damageType)
|
||||
defRole.Event:DispatchEvent(BattleEventName.FinalBeDamageEnd, damagingFunc, atkRole, damage, skill, dotType, bCrit, damageType,isDirect)
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.FinalDamage, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit, damageType)
|
||||
--BattleLogic.Event:DispatchEvent(BattleEventName.FinalDamage, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit, damageType)
|
||||
--
|
||||
return BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect)
|
||||
-- return BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect)
|
||||
if damage < 0 then damage = 0 end
|
||||
|
||||
if skill and skill.type==BattleSkillType.Special then
|
||||
skill.owner.superSkillDamage=damage
|
||||
end
|
||||
--计算血量防护
|
||||
local realDamage=damage
|
||||
--血量防护只会防直接伤害
|
||||
if defRole.bloodShield and skill then
|
||||
realDamage=math.abs(defRole.bloodShield:CountBloodValue(damage,atkRole))
|
||||
-- damage=realDamage
|
||||
end
|
||||
--检测历战之躯
|
||||
-- 造成的最终伤害
|
||||
local damagingFunc = function(dmgDeduction)
|
||||
realDamage = realDamage - dmgDeduction
|
||||
damage=realDamage
|
||||
end
|
||||
defRole.Event:DispatchEvent(BattleEventName.CheckLiZhanZhiQu, damagingFunc, atkRole, realDamage, skill, dotType, bCrit, damageType,isDirect)
|
||||
local isImmune=BattleUtil.CheckDamageIsImmune(atkRole,defRole)
|
||||
if isImmune then
|
||||
realDamage=0
|
||||
damage=0
|
||||
end
|
||||
--御甲过滤后的伤害只会处理扣血 by: wangzhenxing shihongyi 2021/09/27
|
||||
local finalDmg = defRole.data:SubValue(RoleDataName.Hp,realDamage)
|
||||
if finalDmg >= 0 then
|
||||
if defRole:GetRoleData(RoleDataName.Hp) <= 0 and not defRole:IsDead() then
|
||||
defRole:SetDead(damage)
|
||||
defRole.Event:DispatchEvent(BattleEventName.RoleDead, atkRole)
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.RoleKill, defRole,skill)
|
||||
--BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoleDead, defRole, atkRole,skill,dotType)
|
||||
end
|
||||
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.RoleDamage, defRole, damage, bCrit, finalDmg, damageType, dotType, skill)
|
||||
defRole.Event:DispatchEvent(BattleEventName.RoleBeDamaged, atkRole, damage, bCrit, finalDmg, damageType, dotType, skill,isImmune)
|
||||
--BattleLogic.Event:DispatchEvent(BattleEventName.RoleDamage, atkRole, defRole, damage, bCrit, finalDmg, damageType, dotType, skill)
|
||||
--BattleLogic.Event:DispatchEvent(BattleEventName.RoleBeDamaged, defRole, atkRole, damage, bCrit, finalDmg, damageType, dotType, skill)
|
||||
if bCrit then
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.RoleCrit, defRole, damage, bCrit, finalDmg, damageType, skill)
|
||||
defRole.Event:DispatchEvent(BattleEventName.RoleBeCrit, atkRole, damage, bCrit, finalDmg, damageType, skill)
|
||||
end
|
||||
if skill then
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
|
||||
defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
|
||||
--如果目标是主燃烧目标 or 目标身上有燃烧效果
|
||||
if atkRole.curMainTarget==defRole or BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT,function(buff) return buff.damageType == 1 end) then
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.HitRoleInBurn,skill,defRole)
|
||||
end
|
||||
end
|
||||
--如果不是技能带的伤害,并且是直接伤害就,,,,,
|
||||
--用于处理不触发特性并且是直接伤害的伤害 isDirect 暂时先为bool值,后期可根据需求做修改扩展 by:王振兴 2020/10/12 16:18
|
||||
if isDirect and not skill then
|
||||
--atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
|
||||
defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- 战斗记录用
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.RecordDamage, atkRole, defRole, damage)
|
||||
--
|
||||
BattleLogManager.Log(
|
||||
"Final Damage",
|
||||
"acamp", atkRole.camp,
|
||||
"apos", atkRole.position,
|
||||
"tcamp", defRole.camp,
|
||||
"tpos", defRole.position,
|
||||
"damage", damage,
|
||||
"dotType", tostring(dotType)
|
||||
)
|
||||
return damage
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -184,7 +184,7 @@ function this:BindEvent()
|
|||
this:ClosePanel()
|
||||
end)
|
||||
--筛选按钮
|
||||
for i = 0, 4 do
|
||||
for i = 0, 5 do
|
||||
Util.AddOnceClick(tabs[i], function()
|
||||
if i == proId then
|
||||
proId=ProIdConst.All
|
||||
|
@ -270,8 +270,8 @@ function this:OnOpen(_panelType,...)
|
|||
this.formTip:SetActive(false)
|
||||
this.tips:SetActive(false)
|
||||
this.empty:SetActive(false)
|
||||
|
||||
this.opView = require(this.PanelOptionView[_panelType])
|
||||
LogError("paneltype==".._panelType)
|
||||
this.opView.Init(this, ...)
|
||||
parameter = ...
|
||||
this.SetCurFormationIndex(this.opView:GetFormationIndex())
|
||||
|
@ -1269,19 +1269,22 @@ function this.SetOneKeyGo()
|
|||
end
|
||||
for k, v in ipairs(heros) do
|
||||
local curSingleherodata = HeroManager.GetSingleHeroData(v.dynamicId)
|
||||
if not upHeroSidTable[curSingleherodata.id] then
|
||||
if #this.choosedList < 6 then
|
||||
for n = 1, #posArr do
|
||||
upHeroSidTable[curSingleherodata.id] = curSingleherodata.id
|
||||
table.insert(this.choosedList, {heroId = v.dynamicId, position=posArr[n]})
|
||||
if this.opView.AddHeroToTeam then
|
||||
this.opView.AddHeroToTeam(v.dynamicId, posArr[n], this.curFormationIndex)
|
||||
if curSingleherodata.changeProId~=5 then
|
||||
if not upHeroSidTable[curSingleherodata.id] then
|
||||
if #this.choosedList < 6 then
|
||||
for n = 1, #posArr do
|
||||
upHeroSidTable[curSingleherodata.id] = curSingleherodata.id
|
||||
table.insert(this.choosedList, {heroId = v.dynamicId, position=posArr[n]})
|
||||
if this.opView.AddHeroToTeam then
|
||||
this.opView.AddHeroToTeam(v.dynamicId, posArr[n], this.curFormationIndex)
|
||||
end
|
||||
table.remove(posArr,n)
|
||||
break
|
||||
end
|
||||
table.remove(posArr,n)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
this.SetCardsData()
|
||||
this.OnClickTabBtn(proId,false,false)
|
||||
|
|
Loading…
Reference in New Issue