Commit 3df73a9e5175feaa65d287138c96f804f6e45950

Authored by zhouhaihai
1 parent c992c911

复兴奖励

src/actions/RoleAction.lua
... ... @@ -697,15 +697,44 @@ function _M.achiveRpc(agent, data)
697 697 end
698 698  
699 699 local reward = role:award(achiveTask.reward)
700   -
701 700 role:changeUpdates({
702 701 { type = "achiveV", field = taskId, value = skynet.timex() }
703 702 })
  703 +
  704 + -- 复兴奖励
  705 + if csvdb["achievement_groupCsv"][achiveTask.group].bookmark == 3 then
  706 + local overCount = 0
  707 + for tId, status in pairs(achiveV) do
  708 + local tData = csvdb["achievementCsv"][tId]
  709 + if tData then
  710 + local groupData = csvdb["achievement_groupCsv"][tData.group]
  711 + if groupData.bookmark == 3 then
  712 + overCount = overCount + 1
  713 + end
  714 + end
  715 + end
  716 +
  717 + for level, pData in pairs(csvdb["achievement_rewardCsv"]) do
  718 + if pData.request == overCount then
  719 + -- 发放奖励
  720 + redisproxy:insertEmail({
  721 + roleId = role:getProperty("id"),
  722 + emailId = 101,
  723 + attachments = pData.reward,
  724 + contentPms = {pData.level},
  725 + })
  726 + elseif pData.request > newP then
  727 + break
  728 + end
  729 + end
  730 + end
704 731  
705 732 SendPacket(actionCodes.Role_achiveRpc, MsgPack.pack({reward = reward}))
706 733 return true
707 734 end
708 735  
  736 +
  737 +
709 738 function _M.chatRpc(agent, data)
710 739 local role = agent.role
711 740 local roleId = role:getProperty("id")
... ...
src/adv/Adv.lua
... ... @@ -646,7 +646,9 @@ function Adv:over(success, rewardRatio, overType)
646 646 local addScore = 0
647 647 for itemId, count in pairs(reward) do
648 648 local itemCsv = csvdb["itemCsv"][itemId]
649   - if itemCsv.type == ItemType.AdvItem then
  649 + if not itemCsv then
  650 + print("ERROR: no itemId in ItemCsv : ", itemId)
  651 + elseif itemCsv.type == ItemType.AdvItem then
650 652 addScore = addScore + count * itemCsv.advScore
651 653 else
652 654 reward[itemId] = math.ceil(count * rewardRatio / 100)
... ...
src/adv/AdvPlayer.lua
... ... @@ -619,7 +619,7 @@ function Player:changeSp(value, cType)
619 619 end
620 620  
621 621 -- 重新计算 魔法上限
622   -function BaseObject:reSetSpMax()
  622 +function Player:reSetSpMax()
623 623 self.spMax = self._spMax
624 624 local change = self:getCommonBuffEffect(Buff.SP_MAX_CHANGE)
625 625 self.spMax = math.ceil((self.spMax + change[0]) * (1 + change[1]))
... ...
src/models/Role.lua
... ... @@ -263,6 +263,7 @@ function Role:data()
263 263 advElChapter = self.advElChapter,
264 264 advOverTime = self.advOverTime,
265 265 advAFGet = self:getProperty("advAFGet"),
  266 + advAFOpen = self:getProperty("advAFOpen"),
266 267 advAFWear = self:getProperty("advAFWear"),
267 268 advDrawB = self:getProperty("advDrawB"),
268 269 advShop = self:getProperty("advShop"),
... ...
src/rdsscripts/insertEmail.lua
... ... @@ -2,8 +2,8 @@ local EMAIL_LIMIT = KEYS[1]
2 2 local roleId = KEYS[2]
3 3 local emailId = KEYS[3] or 0
4 4 local createTime = KEYS[4]
5   -local con = KEYS[5] or cmsgpack.pack({})
6   -local att = KEYS[6] or cmsgpack.pack({})
  5 +local contentPms = KEYS[5] or cmsgpack.pack({})
  6 +local rewardPms = KEYS[6] or cmsgpack.pack({})
7 7 local title = KEYS[7] or ""
8 8 local stitle = KEYS[8] or ""
9 9 local content = KEYS[9] or ""
... ... @@ -27,8 +27,8 @@ redis.call("HMSET", string.format("email:%d:%d", roleId, id),
27 27 "emailId", emailId,
28 28 "status", "0",
29 29 "createtime", createTime,
30   - "contentPms", con,
31   - "rewardPms", att,
  30 + "contentPms", contentPms,
  31 + "rewardPms", rewardPms,
32 32 "title", title,
33 33 "stitle", stitle,
34 34 "content", content,
... ...
src/shared/redisproxy.lua
... ... @@ -51,8 +51,8 @@ function redisproxy:insertEmail(params)
51 51 roleId = params.roleId,
52 52 emailId = params.emailId,
53 53 createtime = params.createtime or skynet.timex(),
54   - con = params.con or {},
55   - att = params.att or {},
  54 + contentPms = params.contentPms or {},
  55 + rewardPms = params.rewardPms or {},
56 56 title = params.title or "",
57 57 stitle = params.stitle or "",
58 58 content = params.content or "",
... ... @@ -60,7 +60,7 @@ function redisproxy:insertEmail(params)
60 60 }
61 61 self:runScripts("insertEmail", 10, EMAIL_LIMIT,
62 62 pms.roleId, pms.emailId, pms.createtime,
63   - MsgPack.pack(pms.con), MsgPack.pack(pms.att), pms.title, pms.stitle, pms.content, pms.attachments)
  63 + MsgPack.pack(pms.contentPms), MsgPack.pack(pms.rewardPms), pms.title, pms.stitle, pms.content, pms.attachments)
64 64 return true
65 65 end
66 66  
... ...