From 04b84e1e7f490d76a701cd187a5e34ccfe1f3b87 Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Fri, 30 Oct 2020 14:33:20 +0800 Subject: [PATCH] 被动 --- src/adv/AdvPassive.lua | 10 +++++++++- src/adv/AdvPlayer.lua | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/adv/AdvPassive.lua b/src/adv/AdvPassive.lua index 4229a7b..6529fee 100644 --- a/src/adv/AdvPassive.lua +++ b/src/adv/AdvPassive.lua @@ -120,7 +120,7 @@ Passive.GET_BUFF = 28 --获得指定buff Passive.OPEN_BLOCK = 29 --翻开格子 Passive.OPEN_MONSTER = 30 --翻开怪物 Passive.PLAYER_BUFF = 31 --玩家获得buff - +Passive.PLAYER_BUFF_CLASSIFY = 35 -- 获得指定标签的buff -- 不同的开启条件 local PassiveCondFactory = {} @@ -183,6 +183,14 @@ PassiveCondFactory[Passive.GET_BUFF] = function(_Passive) end PassiveCondFactory[Passive.PLAYER_BUFF] = PassiveCondFactory[Passive.GET_BUFF] +PassiveCondFactory[Passive.PLAYER_BUFF_CLASSIFY] = function(_Passive) + _Passive._trigger = function(self, params) + if params.classify:sismember(self.passiveData.value) then + return true + end + end +end + PassiveCondFactory[Passive.BORN_ONCE] = function(_Passive) _Passive._afterRound = function(self) diff --git a/src/adv/AdvPlayer.lua b/src/adv/AdvPlayer.lua index 56ea2b5..2088219 100644 --- a/src/adv/AdvPlayer.lua +++ b/src/adv/AdvPlayer.lua @@ -163,7 +163,8 @@ function BaseObject:addBuff(buffId, releaser) table.insert(self.buffs, buff) buff:createAfter() end - self:triggerPassive(Passive.GET_BUFF, {buffId = buffId}) + self:triggerPassive(Passive.GET_BUFF, {trigger = releaser, buffId = buffId}) + self:triggerPassive(Passive.PLAYER_BUFF_CLASSIFY, {trigger = releaser, classify = buffData.classify}) return true end -- libgit2 0.21.2