diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index ff1c6374c7..2a696f2f6c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -5209,6 +5209,7 @@ local passivityList = { [249] = function(role, args,id,judge) local f1 = args[1] local round = 0 + local isKill =false -- 释放技能后 local onRoleHit = function(target,damage, bCrit, finalDmg, damageType, skill) if skill and not skill.isTriggerJudge and judge==1 then @@ -5218,16 +5219,11 @@ local passivityList = { if skill and BattleUtil.ChecklistIsContainValue(skill.triggerPassivityId,id) then return end - local curRound=BattleLogic.GetCurRound() - --每个回合只会生效一次 - if curRound>round then - round=curRound - else - return - end + if target:IsDead() and not BattleUtil.CheckIsNoDead(target) then - local buff = Buff.Create(role, BuffName.PropertyChange, 1, RoleDataName.Crit, f1, CountTypeName.Add) - role:AddBuff(buff) + -- local buff = Buff.Create(role, BuffName.PropertyChange, 1, RoleDataName.Crit, f1, CountTypeName.Add) + -- role:AddBuff(buff) + isKill = true if skill then --skill.isTriggePassivity=true table.insert(skill.triggerPassivityId,id) @@ -5235,6 +5231,26 @@ local passivityList = { end end role.Event:AddEvent(BattleEventName.RoleHit, onRoleHit) + + local onRoundChange=function(round2) + if round2==round+1 and isKill then + role.mustCrit=true + else + role.mustCrit=false + isKill=false + end + round=round2 + end + + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onRoundChange) + + + local onRoundStart=function(round2) + isKill=false + end + + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundStart, onRoundStart) + end, -- 直接伤害每次击杀目标增加自身伤害[a]%,[b]改变,可叠加持续至战斗结束 重写132 一次技能只触发一次被动