Commit 1313eac009b7a8a180713b9c67cf8e56bf8a1ff4
1 parent
cd498e53
冒险的一些bug
Showing
5 changed files
with
30 additions
and
7 deletions
Show diff stats
src/actions/AdvAction.lua
... | ... | @@ -694,13 +694,14 @@ function _M.rankRpc(agent, data) |
694 | 694 | local role = agent.role |
695 | 695 | |
696 | 696 | local list = {} |
697 | - local ids = redisproxy:zrevrange(RANK_ADV, 0 , 99) | |
697 | + local ids = redisproxy:zrevrange(RANK_ADV, 0 , 99, "WITHSCORES") | |
698 | 698 | local redret = {} |
699 | 699 | if ids and next(ids) then |
700 | 700 | redret = redisproxy:pipelining(function (red) |
701 | - for i = 1, #ids do | |
701 | + for i = 1, #ids, 2 do | |
702 | 702 | local roleId = ids[i] |
703 | - table.insert(list, {roleId = tonumber(roleId)}) | |
703 | + local score = tonum(ids[i + 1]) | |
704 | + table.insert(list, {roleId = tonumber(roleId), score = score}) | |
704 | 705 | red:hget(RANK_ADV_INFO, roleId) |
705 | 706 | end |
706 | 707 | end) | ... | ... |
src/adv/Adv.lua
... | ... | @@ -377,6 +377,11 @@ function Adv:initBattle() |
377 | 377 | self.battle:triggerPassive(passiveC[1], passiveC[2]) |
378 | 378 | end |
379 | 379 | self.cachePassiveEvent = {} |
380 | + | |
381 | + -- after init battle | |
382 | + for idx, map in pairs(self.maps) do | |
383 | + map:initBattleAfter() | |
384 | + end | |
380 | 385 | end |
381 | 386 | |
382 | 387 | function Adv:triggerPassive(condType, params) |
... | ... | @@ -1142,6 +1147,7 @@ local function clickLayer(self, room, block, params) |
1142 | 1147 | |
1143 | 1148 | self.maps[mapIdx] = AdvMap.new(self, mapIdx, mapId) |
1144 | 1149 | self.battle:initMapEnemys(mapIdx) |
1150 | + self.maps[mapIdx]:initBattleAfter() | |
1145 | 1151 | self:checkAchievement(Adv.AchievType.EnterILayer, 1, mapId) |
1146 | 1152 | end |
1147 | 1153 | self:backLayer(1) | ... | ... |
src/adv/AdvMap.lua
src/adv/AdvRoom.lua
... | ... | @@ -12,6 +12,7 @@ function Room:ctor(map, roomId, csvData, info, isPath) |
12 | 12 | self.isPath = isPath |
13 | 13 | self.isBossRoom = false -- boss房间 --击败boss 以后重置为false |
14 | 14 | self.isShow = false |
15 | + self.battleAfterCall = {} | |
15 | 16 | |
16 | 17 | self.blocks = {} |
17 | 18 | self:loadBlocks(csvData, info) |
... | ... | @@ -38,10 +39,19 @@ function Room:loadBlocks(csvData, info) |
38 | 39 | end |
39 | 40 | --中继层全部开放 boss 房间 开启所有的地块 |
40 | 41 | if self.map.adv.isRelay or (self.isBossRoom and self.isShow and isFirstOpen) then |
41 | - for _, block in pairs(self.blocks) do | |
42 | - self:openBlock(block) | |
43 | - end | |
42 | + table.insert(self.battleAfterCall, function() | |
43 | + for _, block in pairs(self.blocks) do | |
44 | + self:openBlock(block) | |
45 | + end | |
46 | + end) | |
47 | + end | |
48 | +end | |
49 | + | |
50 | +function Room:initBattleAfter() | |
51 | + for _, callback in ipairs(self.battleAfterCall) do | |
52 | + callback() | |
44 | 53 | end |
54 | + self.battleAfterCall = {} | |
45 | 55 | end |
46 | 56 | |
47 | 57 | function Room:getDB() | ... | ... |
src/adv/AdvTask.lua
... | ... | @@ -137,7 +137,7 @@ function AdvTask.bind(Adv) |
137 | 137 | |
138 | 138 | local item = csvdb["event_dropCsv"][taskData.drop]["range"]:randWeight(true) |
139 | 139 | reward[item[1]] = (reward[item[1]] or 0) + item[2] |
140 | - reward = self.owner:award(reward) | |
140 | + reward = self:award(reward) | |
141 | 141 | |
142 | 142 | self.advTask[taskId] = nil |
143 | 143 | ok = true | ... | ... |