diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index 58792eb..c2fc2b1 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -679,7 +679,7 @@ local function clickChoose(self, room, block, params) --消灭所有怪 [3] = function() for _, room in pairs(self.rooms) do - for _, block in pairs(self.blocks) do + for _, block in pairs(room.blocks) do if block.event and (block.event.etype == AdvEventType.BOSS or block.event.etype == AdvEventType.Monster) then return end diff --git a/src/adv/AdvBuff.lua b/src/adv/AdvBuff.lua index eae1a99..6362811 100644 --- a/src/adv/AdvBuff.lua +++ b/src/adv/AdvBuff.lua @@ -41,7 +41,7 @@ local BuffFactory = { elseif self.buffData.effectValue1 == 1 then local baseOwner = self.buffData.effectValue4 == 1 and self.owner or self.release local attrs = {[0] = "hp", [1] = "hpMax", [2] = "atk"} - self._changeV = baseOwner[attrs[self.buffData.effectValue3]] * self.buffData.effectValue2 + self._changeV = baseOwner[attrs[self.buffData.effectValue3]] * self.buffData.effectValue2 / 100 end if self._changeV < 0 then self._changeV = -self.release:getHurtValue(-self._changeV) @@ -70,7 +70,7 @@ local BuffFactory = { elseif self.buffData.effectValue1 == 1 then local baseOwner = self.buffData.effectValue4 == 1 and self.owner or self.release local attrs = {[0] = "hp", [1] = "hpMax", [2] = "atk"} - self._changeV = baseOwner[attrs[self.buffData.effectValue3]] * self.buffData.effectValue2 + self._changeV = baseOwner[attrs[self.buffData.effectValue3]] * self.buffData.effectValue2 / 100 end local old = self.owner.hpMax self.owner.hpMax = math.max(1, self.owner.hpMax + self._changeV) diff --git a/src/adv/AdvPlayer.lua b/src/adv/AdvPlayer.lua index 364911d..5f36060 100644 --- a/src/adv/AdvPlayer.lua +++ b/src/adv/AdvPlayer.lua @@ -98,11 +98,12 @@ function BaseObject:getCommonBuffEffect(bType) if not buff.isDel and buff:getType() == bType then local cType, value = buff:effectValue() if cType then - change[cType] = change[cType] + value + effect[cType] = effect[cType] + value count = count + 1 end end end + effect[1] = effect[1] / 100 return effect, count --效果 和生效的buff 个数 end --伤害反弹 @@ -113,7 +114,7 @@ function BaseObject:getBackHurtBuff(isAtk) local cType, value, aType = buff:effectValue() -- aType 0 全部 1 普通攻击 if cType then if aType == 0 or isAtk then - change[cType] = change[cType] + value + effect[cType] = effect[cType] + value end end end @@ -370,7 +371,7 @@ function BaseObject:getDB() for _, passive in ipairs(self.passives) do table.insert(db.passives, passive:getDB()) end - db.buff = {} + db.buffs = {} for _, buff in ipairs(self.buffs) do table.insert(db.buffs, buff:getDB()) end -- libgit2 0.21.2