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