Commit 7f0106d7db9864b93f8fea63a74a5aee41498d64

Authored by liuzujun
2 parents 98be031a 0ed985c5

Merge branch 'tr/develop' of 120.26.43.151:wasteland/server into tr/develop

Showing 1 changed file with 19 additions and 10 deletions   Show diff stats
src/actions/ActivityAction.lua
... ... @@ -1242,10 +1242,9 @@ end
1242 1242 function _M.newSignRpc(agent, data)
1243 1243 local role = agent.role
1244 1244 local msg = MsgPack.unpack(data)
1245   - local actid = msg.actid
1246   - local index = msg.index
1247 1245  
1248   - if not role.activity:isOpenById(actid, "NewSign") then return 1 end
  1246 + local open, actId = role.activity:isOpen("NewSign")
  1247 + if not open then return 1 end
1249 1248  
1250 1249 local actData = role.activity:getActData("NewSign")
1251 1250 if (actData[0] or 0) < index then
... ... @@ -1255,16 +1254,26 @@ function _M.newSignRpc(agent, data)
1255 1254 return 3
1256 1255 end
1257 1256  
1258   - local actCfg = csvdb["activity_signInCsv"][actid]
  1257 + local actCfg = csvdb["activity_signInCsv"][actId]
1259 1258 if not actCfg then return 4 end
1260   - actCfg = actCfg[index]
1261   - if not actCfg then return 5 end
1262 1259  
1263   - actData[index] = 1
1264   - role.activity:updateActData("NewSign", actData)
  1260 + local sumDay = actData[0] or 0
  1261 + local award = {}
  1262 + for k, data in pairs(actCfg) do
  1263 + if not actData[data.id] and data.id <= sumDay then
  1264 + for id, value in pairs(data.reward:toNumMap()) do
  1265 + award[id] = (award[id] or 0) + value
  1266 + end
  1267 + actData[data.id] = 1
  1268 + end
  1269 + end
  1270 +
  1271 + local reward, change
  1272 + if next(award) then
  1273 + role.activity:updateActData("NewSign", actData)
  1274 + reward, change = role:award(award, {log = {desc = "newSign", int1 = actId, int2 = sumDay}})
  1275 + end
1265 1276  
1266   - local award = actCfg.reward:toNumMap()
1267   - local reward, change = role:award(award, {log = {desc = "newSign", int1 = actid, int2 = index}})
1268 1277 SendPacket(actionCodes.Activity_newSignRpc, MsgPack.pack(role:packReward(reward, change)))
1269 1278 return true
1270 1279 end
... ...