diff --git a/src/adv/AdvBuff.lua b/src/adv/AdvBuff.lua index 5719eb2..215860e 100644 --- a/src/adv/AdvBuff.lua +++ b/src/adv/AdvBuff.lua @@ -262,12 +262,13 @@ function Buff:initByDB(data) end function Buff:battleBegin() + if self.isDel or self.owner.isDead or self.buffData.turn == 0 then return end self.turn = self.buffData.turn - self.ifRoundEnd = self.buffData.turn ~= 0 -- turn类型buff战斗结束后移除 + self.ifRoundEnd = true -- turn类型buff战斗结束后移除 end function Buff:beforeTurn() - if self.isDel or self.owner.isDead then return end + if self.isDel or self.owner.isDead or self.buffData.turn == 0 then return end if self.turnSpace > 0 then return end @@ -277,7 +278,7 @@ function Buff:beforeTurn() end function Buff:afterTurn() - if self.isDel or self.owner.isDead then return end + if self.isDel or self.owner.isDead or self.buffData.turn == 0 then return end if self.turnSpace > 0 then self.turnSpace = self.turnSpace - 1 self:decTurn() @@ -303,7 +304,7 @@ function Buff:decTurn() end function Buff:afterRound() - if self.isDel or self.owner.isDead then return end + if self.isDel or self.owner.isDead or self.buffData.round == 0 then return end if self.roundSpace > 0 then self.roundSpace = self.turnSpace - 1 self:decRound() -- libgit2 0.21.2