diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index 0fe09aa..f5b1950 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -58,7 +58,7 @@ function Adv:initByInfo(advInfo) self.maps[id] = AdvMap.new(self, id, map) end - self:initBattle() + self:initBattle(advInfo) end -- 找出level 是否存在中继层 function Adv:isHaveRelay(level, chapterId) @@ -149,7 +149,7 @@ function Adv:initByChapter(params) self.maps = {} self.maps[1] = AdvMap.new(self, 1, mapId, isEnter, isNewRelay) - self:initBattle(true) + self:initBattle(nil) self:initLayerTask() @@ -456,7 +456,7 @@ function Adv:clearAdvUnlockCache() self.cacheUnlock = {} end -function Adv:initBattle(notDb) +function Adv:initBattle(info) self.battle = require("adv.AdvBattle").new(self) for _, passiveC in ipairs(self.cachePassiveEvent or {}) do self.battle:triggerPassive(passiveC[1], passiveC[2]) @@ -468,13 +468,15 @@ function Adv:initBattle(notDb) map:initBattleAfter() end --下层 - if notDb and self.level ~= 1 then + if not info and self.level ~= 1 then self.battle.player:attrChangeCondBuffCheck(1) end -- 初始化 - if notDb then + if not info then self.battle:newBattle() + else + self.battle:loadBattle(info) end end diff --git a/src/adv/AdvBattle.lua b/src/adv/AdvBattle.lua index db4e810..3cbd799 100644 --- a/src/adv/AdvBattle.lua +++ b/src/adv/AdvBattle.lua @@ -466,6 +466,10 @@ function Battle:newBattle() self:setMapAuras(auras) end +function Battle:loadBattle(info) + self.auras = info.auras or {} +end + -- 过了回合 检查光环 function Battle:checkAura() local auras = self:getActiveAuras() @@ -486,7 +490,7 @@ function Battle:checkDiffAuraBuff(oldAuras, newAuras) for aurasId , count in pairs(newAuras) do auras[aurasId] = (auras[aurasId] or 0) + count end - + local buffs = {} for aurasId , count in pairs(auras) do local auraData = csvdb["adv_map_haloCsv"][aurasId] -- libgit2 0.21.2