Commit 3df73a9e5175feaa65d287138c96f804f6e45950

Authored by zhouhaihai
1 parent c992c911

复兴奖励

src/actions/RoleAction.lua
@@ -697,15 +697,44 @@ function _M.achiveRpc(agent, data) @@ -697,15 +697,44 @@ function _M.achiveRpc(agent, data)
697 end 697 end
698 698
699 local reward = role:award(achiveTask.reward) 699 local reward = role:award(achiveTask.reward)
700 -  
701 role:changeUpdates({ 700 role:changeUpdates({
702 { type = "achiveV", field = taskId, value = skynet.timex() } 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 SendPacket(actionCodes.Role_achiveRpc, MsgPack.pack({reward = reward})) 732 SendPacket(actionCodes.Role_achiveRpc, MsgPack.pack({reward = reward}))
706 return true 733 return true
707 end 734 end
708 735
  736 +
  737 +
709 function _M.chatRpc(agent, data) 738 function _M.chatRpc(agent, data)
710 local role = agent.role 739 local role = agent.role
711 local roleId = role:getProperty("id") 740 local roleId = role:getProperty("id")
@@ -646,7 +646,9 @@ function Adv:over(success, rewardRatio, overType) @@ -646,7 +646,9 @@ function Adv:over(success, rewardRatio, overType)
646 local addScore = 0 646 local addScore = 0
647 for itemId, count in pairs(reward) do 647 for itemId, count in pairs(reward) do
648 local itemCsv = csvdb["itemCsv"][itemId] 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 addScore = addScore + count * itemCsv.advScore 652 addScore = addScore + count * itemCsv.advScore
651 else 653 else
652 reward[itemId] = math.ceil(count * rewardRatio / 100) 654 reward[itemId] = math.ceil(count * rewardRatio / 100)
src/adv/AdvPlayer.lua
@@ -619,7 +619,7 @@ function Player:changeSp(value, cType) @@ -619,7 +619,7 @@ function Player:changeSp(value, cType)
619 end 619 end
620 620
621 -- 重新计算 魔法上限 621 -- 重新计算 魔法上限
622 -function BaseObject:reSetSpMax() 622 +function Player:reSetSpMax()
623 self.spMax = self._spMax 623 self.spMax = self._spMax
624 local change = self:getCommonBuffEffect(Buff.SP_MAX_CHANGE) 624 local change = self:getCommonBuffEffect(Buff.SP_MAX_CHANGE)
625 self.spMax = math.ceil((self.spMax + change[0]) * (1 + change[1])) 625 self.spMax = math.ceil((self.spMax + change[0]) * (1 + change[1]))
src/models/Role.lua
@@ -263,6 +263,7 @@ function Role:data() @@ -263,6 +263,7 @@ function Role:data()
263 advElChapter = self.advElChapter, 263 advElChapter = self.advElChapter,
264 advOverTime = self.advOverTime, 264 advOverTime = self.advOverTime,
265 advAFGet = self:getProperty("advAFGet"), 265 advAFGet = self:getProperty("advAFGet"),
  266 + advAFOpen = self:getProperty("advAFOpen"),
266 advAFWear = self:getProperty("advAFWear"), 267 advAFWear = self:getProperty("advAFWear"),
267 advDrawB = self:getProperty("advDrawB"), 268 advDrawB = self:getProperty("advDrawB"),
268 advShop = self:getProperty("advShop"), 269 advShop = self:getProperty("advShop"),
src/rdsscripts/insertEmail.lua
@@ -2,8 +2,8 @@ local EMAIL_LIMIT = KEYS[1] @@ -2,8 +2,8 @@ local EMAIL_LIMIT = KEYS[1]
2 local roleId = KEYS[2] 2 local roleId = KEYS[2]
3 local emailId = KEYS[3] or 0 3 local emailId = KEYS[3] or 0
4 local createTime = KEYS[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 local title = KEYS[7] or "" 7 local title = KEYS[7] or ""
8 local stitle = KEYS[8] or "" 8 local stitle = KEYS[8] or ""
9 local content = KEYS[9] or "" 9 local content = KEYS[9] or ""
@@ -27,8 +27,8 @@ redis.call("HMSET", string.format("email:%d:%d", roleId, id), @@ -27,8 +27,8 @@ redis.call("HMSET", string.format("email:%d:%d", roleId, id),
27 "emailId", emailId, 27 "emailId", emailId,
28 "status", "0", 28 "status", "0",
29 "createtime", createTime, 29 "createtime", createTime,
30 - "contentPms", con,  
31 - "rewardPms", att, 30 + "contentPms", contentPms,
  31 + "rewardPms", rewardPms,
32 "title", title, 32 "title", title,
33 "stitle", stitle, 33 "stitle", stitle,
34 "content", content, 34 "content", content,
src/shared/redisproxy.lua
@@ -51,8 +51,8 @@ function redisproxy:insertEmail(params) @@ -51,8 +51,8 @@ function redisproxy:insertEmail(params)
51 roleId = params.roleId, 51 roleId = params.roleId,
52 emailId = params.emailId, 52 emailId = params.emailId,
53 createtime = params.createtime or skynet.timex(), 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 title = params.title or "", 56 title = params.title or "",
57 stitle = params.stitle or "", 57 stitle = params.stitle or "",
58 content = params.content or "", 58 content = params.content or "",
@@ -60,7 +60,7 @@ function redisproxy:insertEmail(params) @@ -60,7 +60,7 @@ function redisproxy:insertEmail(params)
60 } 60 }
61 self:runScripts("insertEmail", 10, EMAIL_LIMIT, 61 self:runScripts("insertEmail", 10, EMAIL_LIMIT,
62 pms.roleId, pms.emailId, pms.createtime, 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 return true 64 return true
65 end 65 end
66 66