Commit cf584618eac255a2b5ca8632c4c3d0fd03b7fadf

Authored by zhouhaihai
1 parent 1be743f3

效果发给客户端

src/adv/AdvBuff.lua
... ... @@ -489,6 +489,7 @@ function Buff:createAfter(layer)
489 489 if self._init then
490 490 self:_init()
491 491 end
  492 + self:pushBackEffect(1)
492 493 end
493 494  
494 495 function Buff:initByDB(data)
... ... @@ -620,11 +621,19 @@ function Buff:canEffect(...)
620 621 return self:_canEffect(...)
621 622 end
622 623  
  624 +function Buff:pushBackEffect(etype)
  625 + local shows = self.buffData.show:toTableArray(true)
  626 + for _, one in ipairs(shows) do
  627 + if one[1] == etype then
  628 + self.owner.battle.adv:pushBackEvent(AdvBackEventType.BuffEffect, {etype = etype, id = self.id, blockId = self.owner.blockId, roomId = self.owner.roomId})
  629 + break
  630 + end
  631 + end
  632 +end
  633 +
623 634 function Buff:effect()
624 635 self:decCount()
625   - if self.buffData.show:sismember(2, " ") then
626   - self.owner.battle.adv:pushBackEvent(AdvBackEventType.BuffEffect, {etype = 2})
627   - end
  636 + self:pushBackEffect(2)
628 637 if self._effectValue then
629 638 return self:_effectValue()
630 639 end
... ... @@ -698,6 +707,8 @@ function Buff:overlay(releaser, data, layer)
698 707 if self._overlay then
699 708 self:_overlay()
700 709 end
  710 +
  711 + self:pushBackEffect(1)
701 712 end
702 713 end
703 714  
... ...
src/adv/AdvPassive.lua
... ... @@ -339,6 +339,7 @@ function Passive:canEffect(effType, effValue)
339 339 end
340 340  
341 341 function Passive:effect(triggerPms)
  342 + local hadEffect = false
342 343 for _, effect in ipairs(self.effects) do
343 344 local effType = effect[1]
344 345 local effValue = effect[2]
... ... @@ -347,10 +348,13 @@ function Passive:effect(triggerPms)
347 348 table.insert(otherPms, effect[i])
348 349 end
349 350 if self:canEffect(effType, effValue) then
  351 + hadEffect = true
350 352 self["effect" .. effType](self, effValue, triggerPms, table.unpack(otherPms))
351 353 end
352 354 end
353   -
  355 + if hadEffect then
  356 + self.owner.battle.adv:pushBackEvent(AdvBackEventType.PassiveEffect, {id = self.id, level = self.level, roomId = self.owner.roomId, blockId = self.owner.blockId})
  357 + end
354 358 if self.count > 0 then
355 359 self.count = self.count < 999 and self.count - 1 or self.count
356 360 self.round = self.passiveData.round
... ... @@ -413,7 +417,6 @@ function Passive:trigger(condType, params) --触发检查
413 417 if self.round and self.round > 0 then -- cd
414 418 return
415 419 end
416   - self.owner.battle.adv:pushBackEvent(AdvBackEventType.PassiveEffect, {show = self.passiveData.show, roomId = self.owner.roomId, blockId = self.owner.blockId })
417 420 self:effect(params)
418 421 end
419 422  
... ...
src/adv/AdvPlayer.lua
... ... @@ -847,10 +847,6 @@ function Player:addBuff(buffId, releaser)
847 847 self.battle.adv:checkAchievement(self.battle.adv.AchievType.GetBuff, 1, buffId)
848 848 self.battle.adv:pushBackEvent(AdvBackEventType.Buff, {buffId = buffId})
849 849 self.battle:triggerPassive(Passive.PLAYER_BUFF, {buffId = buffId})
850   - local buffData = csvdb["adv_map_buffCsv"][buffId]
851   - if buffData and buffData.show:sismember(1, " ") then
852   - self.battle.adv:pushBackEvent(AdvBackEventType.BuffEffect, {etype = 1})
853   - end
854 850 end
855 851 return status
856 852 end
... ...