Commit 0ed985c569c07c835bcd512b79403032a2f01e01

Authored by chenyueqi
1 parent c0017f72

先加上,后面再调试

Showing 1 changed file with 19 additions and 10 deletions   Show diff stats
src/actions/ActivityAction.lua
... ... @@ -1107,10 +1107,9 @@ end
1107 1107 function _M.newSignRpc(agent, data)
1108 1108 local role = agent.role
1109 1109 local msg = MsgPack.unpack(data)
1110   - local actid = msg.actid
1111   - local index = msg.index
1112 1110  
1113   - if not role.activity:isOpenById(actid, "NewSign") then return 1 end
  1111 + local open, actId = role.activity:isOpen("NewSign")
  1112 + if not open then return 1 end
1114 1113  
1115 1114 local actData = role.activity:getActData("NewSign")
1116 1115 if (actData[0] or 0) < index then
... ... @@ -1120,16 +1119,26 @@ function _M.newSignRpc(agent, data)
1120 1119 return 3
1121 1120 end
1122 1121  
1123   - local actCfg = csvdb["activity_signInCsv"][actid]
  1122 + local actCfg = csvdb["activity_signInCsv"][actId]
1124 1123 if not actCfg then return 4 end
1125   - actCfg = actCfg[index]
1126   - if not actCfg then return 5 end
1127 1124  
1128   - actData[index] = 1
1129   - role.activity:updateActData("NewSign", actData)
  1125 + local sumDay = actData[0] or 0
  1126 + local award = {}
  1127 + for k, data in pairs(actCfg) do
  1128 + if not actData[data.id] and data.id <= sumDay then
  1129 + for id, value in pairs(data.reward:toNumMap()) do
  1130 + award[id] = (award[id] or 0) + value
  1131 + end
  1132 + actData[data.id] = 1
  1133 + end
  1134 + end
  1135 +
  1136 + local reward, change
  1137 + if next(award) then
  1138 + role.activity:updateActData("NewSign", actData)
  1139 + reward, change = role:award(award, {log = {desc = "newSign", int1 = actId, int2 = sumDay}})
  1140 + end
1130 1141  
1131   - local award = actCfg.reward:toNumMap()
1132   - local reward, change = role:award(award, {log = {desc = "newSign", int1 = actid, int2 = index}})
1133 1142 SendPacket(actionCodes.Activity_newSignRpc, MsgPack.pack(role:packReward(reward, change)))
1134 1143 return true
1135 1144 end
... ...