From 8fc7d1bc518dadebedb93375d64494d30bf1ec33 Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Wed, 29 Jul 2020 20:44:55 +0800 Subject: [PATCH] buff 回合问题 --- src/adv/AdvBattle.lua | 15 ++++++++++++--- src/adv/AdvPlayer.lua | 12 ++++++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/adv/AdvBattle.lua b/src/adv/AdvBattle.lua index 797c1de..25d5f16 100644 --- a/src/adv/AdvBattle.lua +++ b/src/adv/AdvBattle.lua @@ -288,6 +288,15 @@ function Battle:afterRound() return e1.id < e2.id end) + + self.player:afterRound("buffBefore") + for _, enemy in ipairs(self.enemys[mapIdx]) do + enemy:afterRound("buffBefore") + end + for _, build in ipairs(self.builds[mapIdx]) do + build:afterRound("buffBefore") + end + self.player:afterRound("passive") for _, enemy in ipairs(self.enemys[mapIdx]) do enemy:afterRound("passive") @@ -296,12 +305,12 @@ function Battle:afterRound() build:afterRound("passive") end - self.player:afterRound("buff") + self.player:afterRound("buffAfter") for _, enemy in ipairs(self.enemys[mapIdx]) do - enemy:afterRound("buff") + enemy:afterRound("buffAfter") end for _, build in ipairs(self.builds[mapIdx]) do - build:afterRound("buff") + build:afterRound("buffAfter") end diff --git a/src/adv/AdvPlayer.lua b/src/adv/AdvPlayer.lua index 052d68d..729b277 100644 --- a/src/adv/AdvPlayer.lua +++ b/src/adv/AdvPlayer.lua @@ -55,9 +55,17 @@ function BaseObject:afterRound(roundType) for _, passive in ipairs(self.passives) do passive:afterRound(self) end - elseif roundType == "buff" then + elseif roundType == "buffBefore" then for _, buff in ipairs(self.buffs) do - buff:afterRound() + if buff.buffData.intoEffect == 1 then + buff:afterRound() + end + end + elseif roundType == "buffAfter" then + for _, buff in ipairs(self.buffs) do + if buff.buffData.intoEffect == 0 then + buff:afterRound() + end end end end -- libgit2 0.21.2