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 | 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 | ... | ... |