Commit 3df73a9e5175feaa65d287138c96f804f6e45950
1 parent
c992c911
复兴奖励
Showing
6 changed files
with
42 additions
and
10 deletions
Show diff stats
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") |
src/adv/Adv.lua
| @@ -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 |