Commit 37bb46114838055a25ece524933a82e3bf077d6f
1 parent
74f2395e
付费签到,抽卡阶段奖励,探索指令
Showing
10 changed files
with
64 additions
and
28 deletions
Show diff stats
src/GlobalVar.lua
| ... | ... | @@ -275,10 +275,8 @@ CardType = { |
| 275 | 275 | PrivilegeCard = 3, --特权卡 |
| 276 | 276 | GrowFund = 4, --成长助力 |
| 277 | 277 | BattleCard = 5, --赛季卡 |
| 278 | - BattlePassCard_1 = 6, -- 探索指令1 | |
| 279 | - BattlePassCard_2 = 7, -- 探索指令2 | |
| 280 | - BattlePassCard_3 = 8, -- 探索指令3 | |
| 281 | - BattlePassCard_4 = 9, -- 探索指令4 | |
| 278 | + PaySignCard = 6, -- 付费签到卡 | |
| 279 | + BattlePassCard = 7, -- 探索指令 | |
| 282 | 280 | } |
| 283 | 281 | |
| 284 | 282 | HeroQuality = { | ... | ... |
src/ProtocolCode.lua
src/actions/GmAction.lua
| ... | ... | @@ -472,7 +472,7 @@ function _M.test(role, pms) |
| 472 | 472 | local id = tonum(pms.pm1, 0) |
| 473 | 473 | --local hero = require ("actions.HeroAction") |
| 474 | 474 | --hero.unlockPoolRpc({role = role}, MsgPack.pack({type = id})) |
| 475 | - role.storeData:onBattleCardReset() | |
| 475 | + role.storeData:onBuyPaySignCard(100) | |
| 476 | 476 | return "成功" |
| 477 | 477 | end |
| 478 | 478 | ... | ... |
src/actions/HeroAction.lua
| ... | ... | @@ -830,6 +830,7 @@ function _M.drawHeroRpc(agent, data) |
| 830 | 830 | |
| 831 | 831 | local ssrCount = 0 |
| 832 | 832 | local reward = {} |
| 833 | + local logReward = {} | |
| 833 | 834 | for i = 1, drawCount[drawType] do |
| 834 | 835 | floorHeroCount = floorHeroCount + 1 |
| 835 | 836 | local isFloorBack = draw_floor_back_counts and floorHeroCount >= draw_floor_back_counts |
| ... | ... | @@ -855,7 +856,6 @@ function _M.drawHeroRpc(agent, data) |
| 855 | 856 | floorHeroCount = 0 |
| 856 | 857 | end |
| 857 | 858 | |
| 858 | - local logReward = {} | |
| 859 | 859 | if role:isHaveHero(itemData.id - ItemStartId.Hero) then |
| 860 | 860 | local fragId = itemData.id - ItemStartId.Hero |
| 861 | 861 | local heroData = csvdb["unitCsv"][fragId] |
| ... | ... | @@ -876,12 +876,6 @@ function _M.drawHeroRpc(agent, data) |
| 876 | 876 | role:setProperty("floorHero", floorHero) |
| 877 | 877 | end |
| 878 | 878 | |
| 879 | - if btype == 1 or btype == 2 then | |
| 880 | - local repayHero = role:getProperty("repayHero") or 0 | |
| 881 | - repayHero = repayHero + drawCount[drawType] | |
| 882 | - role:updateProperty({field = "repayHero", value = repayHero}) | |
| 883 | - end | |
| 884 | - | |
| 885 | 879 | role:checkTaskEnter("DrawHero", {pool = btype, count = drawCount[drawType]}) |
| 886 | 880 | if ssrCount > 0 then |
| 887 | 881 | role:checkTaskEnter("DrawSSR", {count = ssrCount}) |
| ... | ... | @@ -898,6 +892,36 @@ function _M.drawHeroRpc(agent, data) |
| 898 | 892 | gacha_cnt = floorHeroCount, |
| 899 | 893 | }) |
| 900 | 894 | SendPacket(actionCodes.Hero_drawHeroRpc, MsgPack.pack({reward = reward})) -- 这个 reward 是数组 |
| 895 | + | |
| 896 | + if btype == 1 or btype == 2 then | |
| 897 | + -- 达到一定次数,给响应奖励 | |
| 898 | + local oldVal = role:getProperty("repayHero") or 0 | |
| 899 | + local newVal = oldVal + drawCount[drawType] | |
| 900 | + local drawCardReward, val = role:getDrawCardExtraReward(oldVal, newVal) | |
| 901 | + print(drawCardReward) | |
| 902 | + -- 空字符穿代表直接给英雄 走以前repayHeroRpc | |
| 903 | + if drawCardReward == "" then | |
| 904 | + local id = math.randWeight(csvdb["build_giftCsv"], "pool_1") | |
| 905 | + | |
| 906 | + local r = {} | |
| 907 | + local itemData = csvdb["itemCsv"][id] | |
| 908 | + if itemData.type == ItemType.Hero and role:isHaveHero(itemData.id - ItemStartId.Hero) then | |
| 909 | + local fragId = itemData.id - ItemStartId.Hero | |
| 910 | + local heroData = csvdb["unitCsv"][fragId] | |
| 911 | + local count = globalCsv.draw_unit_tofragment[heroData.rare] | |
| 912 | + role:award({[fragId] = count}, {log = {desc = "drawHeroExtraReward"}}) | |
| 913 | + r = {id = fragId, count = count, from = id, fcount = 1} | |
| 914 | + else | |
| 915 | + role:award({[id] = 1}, {log = {desc = "drawHeroExtraReward"}}) | |
| 916 | + r = {id = id, count = 1} | |
| 917 | + end | |
| 918 | + SendPacket(actionCodes.Hero_drawHeroExtraRewardNtf, MsgPack.pack({reward = r})) | |
| 919 | + elseif drawCardReward and drawCardReward ~= "" then | |
| 920 | + role:award(drawCardReward, {log = {desc = "drawHeroExtraReward", int1 = oldVal, int2 = newVal}}) | |
| 921 | + SendPacket(actionCodes.Hero_drawHeroExtraRewardNtf, MsgPack.pack({reward = drawCardReward:toNumMap()})) | |
| 922 | + end | |
| 923 | + role:updateProperty({field = "repayHero", value = val}) | |
| 924 | + end | |
| 901 | 925 | return true |
| 902 | 926 | end |
| 903 | 927 | ... | ... |
src/actions/StoreAction.lua
| ... | ... | @@ -384,7 +384,7 @@ function _M.getExploreCommandRewardRpc(agent, data) |
| 384 | 384 | local id = msg.id -- 探索id |
| 385 | 385 | local subId = msg.subId -- 领取的阶段id |
| 386 | 386 | |
| 387 | - local tab_name = "reward_battlepass_" .. id .. "Csv" | |
| 387 | + local tab_name = "reward_levelpass" .. id .. "Csv" | |
| 388 | 388 | local config = csvdb[tab_name][id] |
| 389 | 389 | if not config then return end |
| 390 | 390 | |
| ... | ... | @@ -408,7 +408,7 @@ function _M.getExploreCommandRewardRpc(agent, data) |
| 408 | 408 | return 3 |
| 409 | 409 | end |
| 410 | 410 | |
| 411 | - if not role:checkHangPass(config.carbonId) then | |
| 411 | + if not role:checkHangPass(config.level) then | |
| 412 | 412 | return 4 |
| 413 | 413 | end |
| 414 | 414 | ... | ... |
src/models/Activity.lua
| ... | ... | @@ -404,9 +404,9 @@ function Activity:getPaySignReward() |
| 404 | 404 | |
| 405 | 405 | local diffDay = diffFromOpen() + 1 |
| 406 | 406 | |
| 407 | - local curData = self.activity:getActData("PaySignIn") | |
| 407 | + local curData = self:getActData("PaySignIn") | |
| 408 | 408 | local reward, change = {} |
| 409 | - for day, csvData in ipairs(csvdb["pay_signInCsv"]) do | |
| 409 | + for day, csvData in pairs(csvdb["pay_signInCsv"]) do | |
| 410 | 410 | if day <= diffDay then |
| 411 | 411 | if not curData[day] then |
| 412 | 412 | curData[day] = 1 | ... | ... |
src/models/RoleLog.lua
src/models/RolePlugin.lua
| ... | ... | @@ -1451,12 +1451,9 @@ function RolePlugin.bind(Role) |
| 1451 | 1451 | self:gainDiamond({count = diamondCount, isRecharge = true, log = {desc = "recharge", int1 = id}}) |
| 1452 | 1452 | elseif rechargeData.shop == 2 then --通行证商店 |
| 1453 | 1453 | reward, _ = self:award(rechargeData.itemFirst, {isRecharge = true, log = {desc = "recharge", int1 = id}}) |
| 1454 | - self.storeData:onBuyCard(rechargeData.type, rechargeData.time) | |
| 1454 | + self.storeData:onBuyCard(rechargeData.type, rechargeData.time, rechargeData.id) | |
| 1455 | 1455 | elseif rechargeData.shop == 3 then -- 礼包商店 |
| 1456 | 1456 | reward, _ = self:award(rechargeData.itemFirst, {isRecharge = true, log = {desc = "recharge", int1 = id}}) |
| 1457 | - elseif rechargeData.shop == 4 then -- 付费签到 | |
| 1458 | - reward, _ = self:award(rechargeData.itemFirst, {isRecharge = true, log = {desc = "recharge", int1 = id}}) | |
| 1459 | - self.storeData:onBuyPaySignCard(rechargeData.time) | |
| 1460 | 1457 | else |
| 1461 | 1458 | skynet.error("invalid recharge shop type " .. id) |
| 1462 | 1459 | return 3 |
| ... | ... | @@ -1535,6 +1532,21 @@ function RolePlugin.bind(Role) |
| 1535 | 1532 | self:updateProperty({field = "newerGuide", value = "9999=1"}) |
| 1536 | 1533 | end |
| 1537 | 1534 | end |
| 1535 | + | |
| 1536 | + -- 抽卡阶段奖励 | |
| 1537 | + function Role:getDrawCardExtraReward(oldVal, newVal) | |
| 1538 | + local reward = nil | |
| 1539 | + local maxCount = 0 | |
| 1540 | + for k, v in pairs(csvdb["build_extraRewardCsv"]) do | |
| 1541 | + if oldVal < k and newVal >= k then | |
| 1542 | + reward = v["reward"] or "" | |
| 1543 | + end | |
| 1544 | + maxCount = k > maxCount and k or maxCount | |
| 1545 | + end | |
| 1546 | + | |
| 1547 | + return reward, (newVal >= maxCount and newVal - maxCount or newVal) | |
| 1548 | + end | |
| 1549 | + | |
| 1538 | 1550 | end |
| 1539 | 1551 | |
| 1540 | 1552 | return RolePlugin |
| 1541 | 1553 | \ No newline at end of file | ... | ... |
src/models/Store.lua
| ... | ... | @@ -163,7 +163,7 @@ function Store:getGearExchangeCoef() |
| 163 | 163 | end |
| 164 | 164 | |
| 165 | 165 | -- 购买通行证 |
| 166 | -function Store:onBuyCard(type, duration) | |
| 166 | +function Store:onBuyCard(type, duration, id) | |
| 167 | 167 | local timeNow = skynet.timex() |
| 168 | 168 | if type == CardType.NormalMonthCard then |
| 169 | 169 | if self:isMonthCardExpire() then |
| ... | ... | @@ -189,9 +189,10 @@ function Store:onBuyCard(type, duration) |
| 189 | 189 | self:updateProperty({field = "growFund", value = 1}) |
| 190 | 190 | elseif type == CardType.BattleCard then |
| 191 | 191 | self:updateProperty({field = "battleCard", value = 1}) |
| 192 | - elseif type == CardType.BattlePassCard_1 or type == CardType.BattlePassCard_2 or | |
| 193 | - type == CardType.BattlePassCard_3 or type == CardType.BattlePassCard_4 then | |
| 194 | - local index = type - CardType.BattlePassCard_1 + 1 | |
| 192 | + elseif type == CardType.PaySignCard then | |
| 193 | + self:onBuyPaySignCard(duration) | |
| 194 | + elseif type == CardType.BattlePassCard then | |
| 195 | + local index = id - 400 -- 401:初级 402:中级 403:高级 404:终极 | |
| 195 | 196 | local bpInfo = self:getProperty("bpInfo") or {} |
| 196 | 197 | local info = bpInfo[index] or {} |
| 197 | 198 | info["flag"] = 1 |
| ... | ... | @@ -365,6 +366,7 @@ function Store:onBuyPaySignCard(dur) |
| 365 | 366 | return |
| 366 | 367 | end |
| 367 | 368 | actGoodsFlag[goodsIndex] = 1 |
| 369 | + self.owner:updateProperty({field = "actGoodsFlag", value = actGoodsFlag}) | |
| 368 | 370 | -- 发钱 |
| 369 | 371 | local change |
| 370 | 372 | local reward, curData = self.owner.activity:getPaySignReward() |
| ... | ... | @@ -375,13 +377,11 @@ function Store:onBuyPaySignCard(dur) |
| 375 | 377 | |
| 376 | 378 | self.owner:log("activity", { |
| 377 | 379 | activity_id = 0, -- 活动ID(或活动指定任务的ID) |
| 378 | - activity_type = self.onwer.activity.ActivityType.PaySignIn, -- 活动类型,见活动类型枚举表 | |
| 380 | + activity_type = self.owner.activity.ActivityType.PaySignIn, -- 活动类型,见活动类型枚举表 | |
| 379 | 381 | activity_reward = reward, -- 活动奖励,json格式记录,{'itemid1':123,'itemid2':456,………...} |
| 380 | 382 | }) |
| 381 | 383 | |
| 382 | 384 | SendPacket(actionCodes.Activity_actPaySignRewardNtf, MsgPack.pack(self.owner:packReward(reward, change))) |
| 383 | - | |
| 384 | - self.owner:updateProperty({field = "actGoodsFlag", value = actGoodsFlag}) | |
| 385 | 385 | end |
| 386 | 386 | |
| 387 | 387 | function Store:checkPaySignReward() | ... | ... |