Commit 46fff3ffe6e4e0d89ad6cc1042891a95ae046b01

Authored by zhouhaihai
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)
... ...
1   -Subproject commit 9a3181fa2f55dd5a1247bfd99f596b0cbc96a828
  1 +Subproject commit bc23b59073a7200db7f84316fa049019f5495796
... ...
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"),
... ...