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,10 +1242,9 @@ end
1242 function _M.newSignRpc(agent, data) 1242 function _M.newSignRpc(agent, data)
1243 local role = agent.role 1243 local role = agent.role
1244 local msg = MsgPack.unpack(data) 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 local actData = role.activity:getActData("NewSign") 1249 local actData = role.activity:getActData("NewSign")
1251 if (actData[0] or 0) < index then 1250 if (actData[0] or 0) < index then
@@ -1255,16 +1254,26 @@ function _M.newSignRpc(agent, data) @@ -1255,16 +1254,26 @@ function _M.newSignRpc(agent, data)
1255 return 3 1254 return 3
1256 end 1255 end
1257 1256
1258 - local actCfg = csvdb["activity_signInCsv"][actid] 1257 + local actCfg = csvdb["activity_signInCsv"][actId]
1259 if not actCfg then return 4 end 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 SendPacket(actionCodes.Activity_newSignRpc, MsgPack.pack(role:packReward(reward, change))) 1277 SendPacket(actionCodes.Activity_newSignRpc, MsgPack.pack(role:packReward(reward, change)))
1269 return true 1278 return true
1270 end 1279 end