diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index 9bd258e03c..bfb6623363 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -7184,32 +7184,48 @@ local passivityList = { local onRecordRageChange = function(caster, target, deltaRage,countType,value,lastRage,isBorrow) --如果是精卫借的怒气 2021/10/09 wangzhenxing if isBorrow then - return + return end + + if curRoundAddValue > n1 then + return + end + + if target.camp==role.camp then + return + end + -- LogYellow("312 1") if countType == CountTypeName.Add then -- LogYellow("312 2") local list=BattleLogic.BuffMgr:GetBuff(target) + local endAddNum=0 + local isHave=false for i = 1, #list do local buff=list[i] -- 有连接符 - if BattleLogic.BuffMgr:HasBuff(target, BuffName.Curse, function(buff) return buff.curseType == CurseTypeName.ShareDamage end) then - -- LogYellow("312 3") - if curRoundAddValue <= n1 then - local endAddNum = value - if (curRoundAddValue + endAddNum) > n1 then - endAddNum = n1 - curRoundAddValue + if not isHave then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.Curse, function(buff) return buff.curseType == CurseTypeName.ShareDamage end) then + -- LogYellow("312 3") + if curRoundAddValue <= n1 then + endAddNum = value + if (curRoundAddValue + endAddNum) > n1 then + endAddNum = n1 - curRoundAddValue + end + -- LogYellow("312 4 endAddNum: "..endAddNum) + isHave=true end - -- LogYellow("312 4 endAddNum: "..endAddNum) - curRoundAddValue = curRoundAddValue + endAddNum - BattleUtil.CalRage(role,role,endAddNum,CountTypeName.Add) - return - end + end end end + if isHave and endAddNum>0 then + curRoundAddValue = curRoundAddValue + endAddNum + BattleUtil.CalRage(role,role,endAddNum,CountTypeName.Add) + end end end BattleLogic.Event:AddEvent(BattleEventName.RecordRageChange, onRecordRageChange,nil,nil,role) + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, function(curRound) -- LogYellow("312 5 curRoundAddValue = 0") curRoundAddValue = 0