Commit a5c44c41a4a373aa17ce78a175bfe8d7830ee163

Authored by liuzujun
2 parents 4bd3095f 95065b5b

Merge branch 'develop' of 120.26.43.151:wasteland/server into develop

Showing 2 changed files with 11 additions and 3 deletions   Show diff stats
src/adv/AdvPassive.lua
... ... @@ -119,6 +119,7 @@ Passive.AFTER_ROUND = 27 --经过 x回合时
119 119 Passive.GET_BUFF = 28 --获得指定buff
120 120 Passive.OPEN_BLOCK = 29 --翻开格子
121 121 Passive.OPEN_MONSTER = 30 --翻开怪物
  122 +Passive.PLAYER_BUFF = 31 --玩家获得buff
122 123  
123 124  
124 125 -- 不同的开启条件
... ... @@ -180,6 +181,7 @@ PassiveCondFactory[Passive.GET_BUFF] = function(_Passive)
180 181 end
181 182 end
182 183 end
  184 +PassiveCondFactory[Passive.PLAYER_BUFF] = PassiveCondFactory[Passive.GET_BUFF]
183 185  
184 186  
185 187 PassiveCondFactory[Passive.BORN_ONCE] = function(_Passive)
... ... @@ -304,7 +306,8 @@ function Passive:canEffect(effType, effValue)
304 306 end
305 307 --禁用被动技
306 308 local count = self.owner:getDisablePassiveCount()
307   - if count and (count == 0 or self.owner:getPassiveIdx(self) <= count) then
  309 + local idx = self.owner:getPassiveIdx(self)
  310 + if count and idx and (count == 0 or idx <= count) then
308 311 return
309 312 end
310 313 return true
... ...
src/adv/AdvPlayer.lua
... ... @@ -115,10 +115,13 @@ end
115 115 function BaseObject:getPassiveIdx(passive)
116 116 for idx, passive_ in ipairs(self.passives) do
117 117 if passive_ == passive then
118   - return idx
  118 + if passive.passiveData.dispel ~= 1 then
  119 + return idx
  120 + end
  121 + return
119 122 end
120 123 end
121   - return 999
  124 + return
122 125 end
123 126  
124 127 function BaseObject:getDisablePassiveCount()
... ... @@ -667,6 +670,7 @@ function Player:effectBattleBuff()
667 670 for _, buff in ipairs(self.buffs) do
668 671 if not buff:isHide() and (buff:getType() == Buff.BATTLE_BUFF or buff:getType() == Buff.BATTLE_PASSIVE) then
669 672 buff:effect()
  673 + buff:uncover()
670 674 end
671 675 end
672 676 end
... ... @@ -692,6 +696,7 @@ function Player:addBuff(buffId, releaser)
692 696 self.battle.player:attrChangeCondBuffCheck(2, buffId)
693 697 self.battle.adv:checkAchievement(self.battle.adv.AchievType.GetBuff, 1, buffId)
694 698 self.battle.adv:pushBackEvent(AdvBackEventType.Buff, {buffId = buffId})
  699 + self.battle:triggerPassive(Passive.PLAYER_BUFF, {buffId = buffId})
695 700 end
696 701 return status
697 702 end
... ...