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