Commit bd378b4ca86028ea24ee1b59b3b0bb56b60f8a7a

Authored by zhouhaihai
2 parents e5378b4c 3df938f9

Merge branch 'develop' into qa

src/actions/GmAction.lua
@@ -356,7 +356,9 @@ function _M.adv(role, pms) @@ -356,7 +356,9 @@ function _M.adv(role, pms)
356 356
357 local advData = csvdb["adv_chapterCsv"][chapterId] 357 local advData = csvdb["adv_chapterCsv"][chapterId]
358 if not advData then return end 358 if not advData then return end
359 - layer = math.min(layer, advData.limitlevel) 359 + if math.floor(chapterId / 100) ~= 2 then
  360 + layer = math.min(layer, advData.limitlevel)
  361 + end
360 local advPass = role:getProperty("advPass") 362 local advPass = role:getProperty("advPass")
361 local addPre 363 local addPre
362 addPre = function(chapterId) 364 addPre = function(chapterId)
@@ -384,13 +386,15 @@ function _M.advt(role, pms) @@ -384,13 +386,15 @@ function _M.advt(role, pms)
384 local layer = tonum(pms.pm2) 386 local layer = tonum(pms.pm2)
385 local advData = csvdb["adv_chapterCsv"][chapterId] 387 local advData = csvdb["adv_chapterCsv"][chapterId]
386 if not advData then return "不存在的章节" end 388 if not advData then return "不存在的章节" end
387 - layer = math.min(layer, advData.limitlevel)  
388 - local advData = role:getAdvData()  
389 389
  390 + local advData = role:getAdvData()
390 if not advData.chapterId then 391 if not advData.chapterId then
391 return "先随便开启一关" 392 return "先随便开启一关"
392 end 393 end
393 - 394 + if not advData:isEndless() then
  395 + layer = math.min(layer, advData.limitlevel)
  396 + end
  397 +
394 _M.adv(role, {pm1 = chapterId, pm2 = layer - 1}) 398 _M.adv(role, {pm1 = chapterId, pm2 = layer - 1})
395 399
396 400
src/actions/HangAction.lua
@@ -202,6 +202,13 @@ function _M.endBattleRpc(agent, data) @@ -202,6 +202,13 @@ function _M.endBattleRpc(agent, data)
202 return true 202 return true
203 end 203 end
204 204
  205 +local function checkLeader(heros, leader)
  206 + if not leader then return end
  207 + for slot, heroId in pairs(heros) do
  208 + if heroId == leader then return true end
  209 + end
  210 +end
  211 +
205 function _M.roleFormatRpc(agent , data) 212 function _M.roleFormatRpc(agent , data)
206 local role = agent.role 213 local role = agent.role
207 local msg = MsgPack.unpack(data) 214 local msg = MsgPack.unpack(data)
@@ -219,6 +226,7 @@ function _M.roleFormatRpc(agent , data) @@ -219,6 +226,7 @@ function _M.roleFormatRpc(agent , data)
219 if level <= 0 then return end 226 if level <= 0 then return end
220 supports[slot] = support 227 supports[slot] = support
221 end 228 end
  229 + if not checkLeader(hangTeam.heros, hangTeam.leader) then return end
222 230
223 table.clear(hangTeam) 231 table.clear(hangTeam)
224 hangTeam.heros = {} 232 hangTeam.heros = {}
@@ -377,7 +385,8 @@ function _M.bonusFormatRpc(agent , data) @@ -377,7 +385,8 @@ function _M.bonusFormatRpc(agent , data)
377 if level <= 0 then return end 385 if level <= 0 then return end
378 supports[slot] = support 386 supports[slot] = support
379 end 387 end
380 - 388 + if not checkLeader(msg.heros, msg.leader) then return end
  389 +
381 table.clear(bTeam) 390 table.clear(bTeam)
382 bTeam.heros = {} 391 bTeam.heros = {}
383 for slot, heroId in pairs(msg.heros) do 392 for slot, heroId in pairs(msg.heros) do
src/actions/HeroAction.lua
@@ -815,7 +815,7 @@ function _M.drawHeroRpc(agent, data) @@ -815,7 +815,7 @@ function _M.drawHeroRpc(agent, data)
815 end 815 end
816 if not fillPoolFunc[rateTypes[rateType]] then return 4 end 816 if not fillPoolFunc[rateTypes[rateType]] then return 4 end
817 if isFloorBack then 817 if isFloorBack then
818 - fillPoolFunc[rateTypes[rateType]](4) -- 保底 818 + fillPoolFunc[rateTypes[rateType]](3) -- 保底 sr 【郑斌】明确
819 else 819 else
820 fillPoolFunc[rateTypes[rateType]]() 820 fillPoolFunc[rateTypes[rateType]]()
821 end 821 end
@@ -825,9 +825,12 @@ function _M.drawHeroRpc(agent, data) @@ -825,9 +825,12 @@ function _M.drawHeroRpc(agent, data)
825 local temp = resultPool[idx] 825 local temp = resultPool[idx]
826 local itemData = csvdb["itemCsv"][temp[1]] 826 local itemData = csvdb["itemCsv"][temp[1]]
827 827
828 - if itemData.type == ItemType.Hero and itemData.quality == 4 then  
829 - ssrCount = ssrCount + 1  
830 - floorHeroCount = 0 828 + if itemData.type == ItemType.Hero then
  829 + if itemData.quality == 4 then
  830 + ssrCount = ssrCount + 1
  831 + elseif itemData.quality == 3 then
  832 + floorHeroCount = 0
  833 + end
831 end 834 end
832 835
833 if itemData.type == ItemType.Hero and role:isHaveHero(itemData.id - ItemStartId.Hero) then 836 if itemData.type == ItemType.Hero and role:isHaveHero(itemData.id - ItemStartId.Hero) then
src/adv/AdvBuff.lua
@@ -237,7 +237,7 @@ local BuffFactory = { @@ -237,7 +237,7 @@ local BuffFactory = {
237 _Buff._init = function(self) 237 _Buff._init = function(self)
238 for _, buff in ipairs(self.owner.buffs) do -- 挂上就清除一下子 238 for _, buff in ipairs(self.owner.buffs) do -- 挂上就清除一下子
239 if not buff.isDel and self:canEffect(buff.id) and not self.isDel then 239 if not buff.isDel and self:canEffect(buff.id) and not self.isDel then
240 - if not buff.isDel and not self.isDel then 240 + while not buff.isDel and not self.isDel do
241 self:effect() 241 self:effect()
242 buff:uncover() 242 buff:uncover()
243 end 243 end