Commit d51114bda792fceb51bf57ff74eb206159691718
1 parent
4dc77717
完成需求:每日金币购买
Showing
3 changed files
with
32 additions
and
1 deletions
Show diff stats
src/ProtocolCode.lua
| @@ -42,6 +42,7 @@ actionCodes = { | @@ -42,6 +42,7 @@ actionCodes = { | ||
| 42 | Role_openSpeedUpBoxRpc = 128, | 42 | Role_openSpeedUpBoxRpc = 128, |
| 43 | Role_guideRpc = 129, | 43 | Role_guideRpc = 129, |
| 44 | Role_getRandomNameRpc = 130, | 44 | Role_getRandomNameRpc = 130, |
| 45 | + Role_goldBuyRpc = 131, | ||
| 45 | 46 | ||
| 46 | Adv_startAdvRpc = 151, | 47 | Adv_startAdvRpc = 151, |
| 47 | Adv_startHangRpc = 152, | 48 | Adv_startHangRpc = 152, |
src/actions/RoleAction.lua
| @@ -1005,4 +1005,32 @@ function _M.guideRpc(agent, data) | @@ -1005,4 +1005,32 @@ function _M.guideRpc(agent, data) | ||
| 1005 | return true | 1005 | return true |
| 1006 | end | 1006 | end |
| 1007 | 1007 | ||
| 1008 | +function _M.goldBuyRpc(agent, data) | ||
| 1009 | + local role = agent.role | ||
| 1010 | + local curT = role.dailyData:getProperty("goldBuyT") | ||
| 1011 | + local costD = globalCsv.idle_quickMoney_cost[curT] | ||
| 1012 | + if not costD then | ||
| 1013 | + return 1 | ||
| 1014 | + end | ||
| 1015 | + if costD ~= 0 and not role:checkItemEnough({[ItemId.Diamond] = costD}) then | ||
| 1016 | + return 2 | ||
| 1017 | + end | ||
| 1018 | + local goldC = 0 | ||
| 1019 | + local hangPass = role:getProperty("hangPass") | ||
| 1020 | + for i = 1, 3 do | ||
| 1021 | + if hangPass[i] then | ||
| 1022 | + local carbonData = csvdb["idle_battleCsv"][hangPass[i]] | ||
| 1023 | + goldC = math.max(goldC, carbonData.money * globalCsv.idle_quickMoney_effect) | ||
| 1024 | + end | ||
| 1025 | + end | ||
| 1026 | + if goldC == 0 then | ||
| 1027 | + return 3 | ||
| 1028 | + end | ||
| 1029 | + role.dailyData:updateProperty({field = "goldBuyT", value = curT + 1}) | ||
| 1030 | + role:costItems({[ItemId.Diamond] = costD}, {log = {desc = "goldBuy"}}) | ||
| 1031 | + local reward = role:award({[ItemId.Gold] = goldC}, {log = {desc = "goldBuy"}}) | ||
| 1032 | + SendPacket(actionCodes.Role_goldBuyRpc, MsgPack.pack({reward = reward})) | ||
| 1033 | + return true | ||
| 1034 | +end | ||
| 1035 | + | ||
| 1008 | return _M | 1036 | return _M |
| 1009 | \ No newline at end of file | 1037 | \ No newline at end of file |
src/models/Daily.lua
| @@ -24,7 +24,8 @@ Daily.schema = { | @@ -24,7 +24,8 @@ Daily.schema = { | ||
| 24 | dailySDC = {"table", {}}, -- daily shop diamond count {[id] = count} -- 每日商城购买次数统计 | 24 | dailySDC = {"table", {}}, -- daily shop diamond count {[id] = count} -- 每日商城购买次数统计 |
| 25 | dailySDD = {"table", {}}, -- daily shop diamond disount {[id] = 1} -- 每日商城折扣统计 | 25 | dailySDD = {"table", {}}, -- daily shop diamond disount {[id] = 1} -- 每日商城折扣统计 |
| 26 | 26 | ||
| 27 | - advSupRe = {"number", 0}, -- 冒险支援效果刷新次数 | 27 | + advSupRe = {"number", 0}, -- 冒险支援效果刷新次数 |
| 28 | + goldBuyT = {"number", 0}, -- 金币购买次数 | ||
| 28 | } | 29 | } |
| 29 | 30 | ||
| 30 | function Daily:updateProperty(params) | 31 | function Daily:updateProperty(params) |
| @@ -97,6 +98,7 @@ function Daily:data() | @@ -97,6 +98,7 @@ function Daily:data() | ||
| 97 | dailySDC = self:getProperty("dailySDC"), | 98 | dailySDC = self:getProperty("dailySDC"), |
| 98 | dailySDD = self:getProperty("dailySDD"), | 99 | dailySDD = self:getProperty("dailySDD"), |
| 99 | advSupRe = self:getProperty("advSupRe"), | 100 | advSupRe = self:getProperty("advSupRe"), |
| 101 | + goldBuyT = self:getProperty("goldBuyT"), | ||
| 100 | } | 102 | } |
| 101 | end | 103 | end |
| 102 | 104 |