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,6 +59,14 @@ local BuffFactory = {
59 self.owner:hurt(-value, self.release, {hurtType = 2}) 59 self.owner:hurt(-value, self.release, {hurtType = 2})
60 end 60 end
61 end 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 _Buff._effectValue = function(self) 70 _Buff._effectValue = function(self)
63 return self._changeV 71 return self._changeV
64 end 72 end
@@ -161,15 +169,12 @@ local BuffFactory = { @@ -161,15 +169,12 @@ local BuffFactory = {
161 [Buff.CLEAR_BUFF] = function(_Buff) 169 [Buff.CLEAR_BUFF] = function(_Buff)
162 _Buff._init = function(self, data) 170 _Buff._init = function(self, data)
163 self.count = self.buffData.effectValue3 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 if not buff.isDel and self:canEffect(buff.id, buff:getGroup()) then 173 if not buff.isDel and self:canEffect(buff.id, buff:getGroup()) then
169 buff.isDel = true 174 buff.isDel = true
170 self:effect() 175 self:effect()
171 end 176 end
172 - end 177 + end
173 end 178 end
174 _Buff._canEffect = function(self, buffId, buffGroup) 179 _Buff._canEffect = function(self, buffId, buffGroup)
175 local cType, aim = self.buffData.effectValue1, self.buffData.effectValue2 180 local cType, aim = self.buffData.effectValue1, self.buffData.effectValue2
@@ -184,6 +189,10 @@ local BuffFactory = { @@ -184,6 +189,10 @@ local BuffFactory = {
184 local roomNum = self:effect() 189 local roomNum = self:effect()
185 self.owner.battle.adv:openBlockRand(roomNum) 190 self.owner.battle.adv:openBlockRand(roomNum)
186 end 191 end
  192 + _Buff._afterTurn = function(self)
  193 + local roomNum = self:effect()
  194 + self.owner.battle.adv:openBlockRand(roomNum)
  195 + end
187 _Buff._effectValue = function(self) 196 _Buff._effectValue = function(self)
188 return self.buffData.effectValue1 197 return self.buffData.effectValue1
189 end 198 end
@@ -195,6 +204,10 @@ local BuffFactory = { @@ -195,6 +204,10 @@ local BuffFactory = {
195 local value, cType = self:effect() 204 local value, cType = self:effect()
196 self.owner.battle.adv:changePower(value, cType) 205 self.owner.battle.adv:changePower(value, cType)
197 end 206 end
  207 + _Buff._afterTurn = function(self)
  208 + local value, cType = self:effect()
  209 + self.owner.battle.adv:changePower(value, cType)
  210 + end
198 _Buff._effectValue = function(self) 211 _Buff._effectValue = function(self)
199 return self.buffData.effectValue1, self.buffData.effectValue2 212 return self.buffData.effectValue1, self.buffData.effectValue2
200 end 213 end