Commit 4bd3095fd64333da15a48b603a76764a4b50848c

Authored by liuzujun
1 parent ce42bb03

英雄帖任务bug

src/actions/ActivityAction.lua
... ... @@ -222,11 +222,11 @@ function _M.actPaySignRpc(agent, data)
222 222 return true
223 223 end
224 224  
225   -function _M.actCalendaActRpc(agent, data)
  225 +function _M.actCalendaTaskRpc(agent, data)
226 226 local role = agent.role
227 227 local msg = MsgPack.unpack(data)
228 228 local taskId = msg.id
229   - local calTask = role:getProperty("CalTask")
  229 + local calTask = role:getProperty("calTask") or {}
230 230 local record = calTask["r"] or {}
231 231 local flag = record[taskId] or 0
232 232 if flag == 1 then return 1 end
... ... @@ -235,18 +235,20 @@ function _M.actCalendaActRpc(agent, data)
235 235 if not open then return 2 end
236 236 if not actData then return 3 end
237 237  
238   - local taskCfg = csvdb["activity_taskCsv"][taskId]
239   - if not taskCfg then return 4 end
240   - if taskCfg.key ~= actData.condition then return 5 end
  238 + local taskList = csvdb["activity_taskCsv"][actData.condition]
  239 + if not taskList then return 4 end
  240 + local taskCfg = taskList[taskId]
  241 + if not taskCfg then return 5 end
  242 + if taskCfg.key ~= actData.condition then return 6 end
241 243  
242   - if (calTask[taskId] or 0) < taskCfg.condition1 then return 6 end
  244 + if (calTask[taskId] or 0) < taskCfg.condition1 then return 7 end
243 245  
244 246 record[taskId] = 1
245 247 calTask["r"] = record
246 248  
247   - role:updateProperty({field = "CalTask", value = calTask})
  249 + role:updateProperty({field = "calTask", value = calTask})
248 250  
249   - local reward, change = role:award(taskCfg.reward, {log = {desc = "CalendaTask"}})
  251 + local reward, change = role:award(taskCfg.reward, {log = {desc = "calendaTask"}})
250 252  
251 253 role:log("activity", {
252 254 activity_id = taskId, -- 活动ID(或活动指定任务的ID)
... ... @@ -255,6 +257,7 @@ function _M.actCalendaActRpc(agent, data)
255 257 })
256 258  
257 259 SendPacket(actionCodes.Activity_actCalendaTaskRpc, MsgPack.pack(role:packReward(reward, change)))
  260 + return true
258 261 end
259 262  
260 263 return _M
261 264 \ No newline at end of file
... ...
1   -Subproject commit 9bb26cfdb11f81dbfe6abbc468b44ca9f814deb2
  1 +Subproject commit d54c7ca07fd397022166b38b58b80a78f339f592
... ...
src/models/RoleLog.lua
... ... @@ -81,6 +81,7 @@ local ItemReason = {
81 81 birth = 1006, -- 出生奖励
82 82 actSign = 1007, -- 活动签到
83 83 actPaySign = 1008, -- 活动付费签到
  84 + calendaTask = 1009, -- 英雄帖
84 85  
85 86 -- 餐厅
86 87 greenHourse = 1101, -- 食材获得
... ...
src/models/RoleTask.lua
... ... @@ -604,7 +604,6 @@ function RoleTask.bind(Role)
604 604 if k == cid then
605 605 for id, cfg in pairs(taskList) do
606 606 if cfg.type == mainType then
607   - dump(cfg)
608 607 if subType == 1 then -- 增加数值
609 608 calTask[id] = (calTask[id] or 0) + param1
610 609 elseif subType == 2 then -- 直接赋值
... ... @@ -620,7 +619,7 @@ function RoleTask.bind(Role)
620 619 end
621 620 end
622 621 end
623   - if calTask[id] < count then
  622 + if (calTask[id] or 0) < count then
624 623 calTask[id] = count
625 624 end
626 625 elseif cfg.type == 5 then -- 英雄等级收集进度
... ... @@ -644,7 +643,6 @@ function RoleTask.bind(Role)
644 643 calTask[id] = count
645 644 end
646 645 elseif cfg.type == 18 then -- 挂机累计收获id,y个
647   - dump(param1)
648 646 for rid, v in pairs(param1) do
649 647 if cfg.condition2 == rid then
650 648 calTask[id] = (calTask[id] or 0) + v
... ... @@ -656,7 +654,7 @@ function RoleTask.bind(Role)
656 654 local rcount = 0
657 655 for _,uid in pairs(hero:getRunes()) do
658 656 if uid > 0 then
659   - local runeData = self.owner.runeBag[uid]
  657 + local runeData = self.runeBag[uid]
660 658 if runeData then
661 659 local csvData = csvdb["runeCsv"][runeData:getProperty("type")][runeData:getProperty("id")]
662 660  
... ...