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 |