Commit 7e45c419bca78803a7ce6665baee9e190ad18f38

Authored by suhongyang
1 parent 5b3f595a

现有buff补全战斗内生效逻辑

Showing 1 changed file with 18 additions and 5 deletions   Show diff stats
src/adv/AdvBuff.lua
... ... @@ -59,6 +59,14 @@ local BuffFactory = {
59 59 self.owner:hurt(-value, self.release, {hurtType = 2})
60 60 end
61 61 end
  62 + _Buff._afterTurn = function(self)
  63 + local value = self:effect()
  64 + if value > 0 then
  65 + self.owner:recover(value, self.release)
  66 + elseif value < 0 then
  67 + self.owner:hurt(-value, self.release, {hurtType = 2})
  68 + end
  69 + end
62 70 _Buff._effectValue = function(self)
63 71 return self._changeV
64 72 end
... ... @@ -161,15 +169,12 @@ local BuffFactory = {
161 169 [Buff.CLEAR_BUFF] = function(_Buff)
162 170 _Buff._init = function(self, data)
163 171 self.count = self.buffData.effectValue3
164   - self:_afterRound() -- 挂上就清除一下子
165   - end
166   - _Buff._afterRound = function(self)
167   - for _, buff in ipairs(self.buffs) do
  172 + for _, buff in ipairs(self.buffs) do -- 挂上就清除一下子
168 173 if not buff.isDel and self:canEffect(buff.id, buff:getGroup()) then
169 174 buff.isDel = true
170 175 self:effect()
171 176 end
172   - end
  177 + end
173 178 end
174 179 _Buff._canEffect = function(self, buffId, buffGroup)
175 180 local cType, aim = self.buffData.effectValue1, self.buffData.effectValue2
... ... @@ -184,6 +189,10 @@ local BuffFactory = {
184 189 local roomNum = self:effect()
185 190 self.owner.battle.adv:openBlockRand(roomNum)
186 191 end
  192 + _Buff._afterTurn = function(self)
  193 + local roomNum = self:effect()
  194 + self.owner.battle.adv:openBlockRand(roomNum)
  195 + end
187 196 _Buff._effectValue = function(self)
188 197 return self.buffData.effectValue1
189 198 end
... ... @@ -195,6 +204,10 @@ local BuffFactory = {
195 204 local value, cType = self:effect()
196 205 self.owner.battle.adv:changePower(value, cType)
197 206 end
  207 + _Buff._afterTurn = function(self)
  208 + local value, cType = self:effect()
  209 + self.owner.battle.adv:changePower(value, cType)
  210 + end
198 211 _Buff._effectValue = function(self)
199 212 return self.buffData.effectValue1, self.buffData.effectValue2
200 213 end
... ...