Commit 46fff3ffe6e4e0d89ad6cc1042891a95ae046b01
1 parent
27cc6f23
冒险手册
Showing
3 changed files
with
11 additions
and
6 deletions
Show diff stats
src/adv/AdvTask.lua
... | ... | @@ -226,11 +226,13 @@ function AdvTask.bind(Adv) |
226 | 226 | local advAchievChange = {} |
227 | 227 | |
228 | 228 | local function insertChange(chapterId, taskId, value) |
229 | - table.insert(advAchievChange, {type = "advAchiev", field = {chapterId, taskId}, value = value}) | |
229 | + local achievField = AdvCommon.isEndless(chapterId) and "advEAchiev" or "advAchiev" | |
230 | + table.insert(advAchievChange, {type = achievField, field = {chapterId, taskId}, value = value}) | |
230 | 231 | end |
231 | 232 | |
232 | 233 | function Adv:checkAchievement(taskType, count, cond, cond2) |
233 | - local advAchiev = self.owner:getProperty("advAchiev")[self.chapterId] or {} | |
234 | + local achievField = self:isEndless() and "advEAchiev" or "advAchiev" | |
235 | + local advAchiev = self.owner:getProperty(achievField)[self.chapterId] or {} | |
234 | 236 | for taskId , data in pairs(csvdb["adv_achievementCsv"][self.chapterId] or {}) do |
235 | 237 | local oldStatus = advAchiev[taskId] or 0 |
236 | 238 | if oldStatus ~= -1 and data.type == taskType then |
... | ... | @@ -306,7 +308,7 @@ function AdvTask.bind(Adv) |
306 | 308 | if status and status ~= oldStatus then |
307 | 309 | insertChange(self.chapterId, taskId, status) |
308 | 310 | if status == -1 then |
309 | - local ptcount = (self.owner:getProperty("advAchiev")[self.chapterId] or {})[-1] or 0 | |
311 | + local ptcount = (self.owner:getProperty(achievField)[self.chapterId] or {})[-1] or 0 | |
310 | 312 | ptcount = ptcount + data.pt |
311 | 313 | insertChange(self.chapterId, -1, ptcount) |
312 | 314 | end |
... | ... | @@ -331,9 +333,10 @@ function AdvTask.bind(Adv) |
331 | 333 | -- end |
332 | 334 | |
333 | 335 | function Adv:getAchievementReward(chapterId, taskId) |
334 | - local count = (self.owner:getProperty("advAchiev")[chapterId] or {})[-1] or 0 | |
336 | + local achievField = AdvCommon.isEndless(chapterId) and "advEAchiev" or "advAchiev" | |
337 | + local count = (self.owner:getProperty(achievField)[chapterId] or {})[-1] or 0 | |
335 | 338 | local achievData = (csvdb["adv_achievement_rewardCsv"][chapterId] or {})[taskId] |
336 | - local status = ((self.owner:getProperty("advAchiev")[chapterId] or {})["pts"] or {})[taskId] or 0 | |
339 | + local status = ((self.owner:getProperty(achievField)[chapterId] or {})["pts"] or {})[taskId] or 0 | |
337 | 340 | if status == -1 or count < achievData.pt then return end |
338 | 341 | |
339 | 342 | local reward = self.owner:award(achievData.reward) | ... | ... |
src/models/Role.lua
... | ... | @@ -71,6 +71,7 @@ Role.schema = { |
71 | 71 | advDrawB = {"table", {}}, -- 冒险抽奖回馈 {[1] = 0, [2] = 100} -- 池子类型 = 点数 |
72 | 72 | advStoryB = {"table", {}}, -- 冒险故事完成记录 (连锁事件绑定的故事) -- {storyId = 1} |
73 | 73 | advShop = {"table", {}}, -- 冒险內的商店限制购买次数记录 {goodId = count} |
74 | + advEAchiev = {"table", {}}, -- 冒险无尽冒险手册 | |
74 | 75 | |
75 | 76 | --挂机相关 |
76 | 77 | hangPass = {"table", {}}, -- 挂机通过的最大关卡 |
... | ... | @@ -253,6 +254,7 @@ function Role:data() |
253 | 254 | advAFWear = self:getProperty("advAFWear"), |
254 | 255 | advDrawB = self:getProperty("advDrawB"), |
255 | 256 | advShop = self:getProperty("advShop"), |
257 | + advEAchiev = self:getProperty("advEAchiev"), | |
256 | 258 | |
257 | 259 | hangPass = self:getProperty("hangPass"), |
258 | 260 | hangTeam = self:getProperty("hangTeam"), | ... | ... |