From f6c4010add229c47f234747a48d1f0e65e42dafe Mon Sep 17 00:00:00 2001 From: Fang Date: Fri, 22 Sep 2023 16:47:54 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B3=A2=E6=AC=A1=E9=94=A6=E6=A0=87?= =?UTF-8?q?=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/bi_report.lua | 7 + lua/app/common/data_manager.lua | 11 + lua/app/common/event_manager.lua | 1 + lua/app/common/module_manager.lua | 2 + lua/app/common/pay_manager.lua | 6 + lua/app/global/global_const.lua | 1 + lua/app/module/activity/tourn_wave.meta | 8 + .../activity/tourn_wave/tourn_wave_const.lua | 30 + .../tourn_wave/tourn_wave_const.lua.meta | 10 + .../tourn_wave/tourn_wave_manager.lua | 127 ++++ .../tourn_wave/tourn_wave_manager.lua.meta | 10 + lua/app/module/maincity/maincity_const.lua | 1 + .../cell/fourteen_day_gift_cell.lua | 8 +- lua/app/ui/activity/tourn_wave.meta | 8 + lua/app/ui/activity/tourn_wave/cell.meta | 8 + .../cell/tourn_wave_bounty_cell.lua | 62 ++ .../cell/tourn_wave_bounty_cell.lua.meta | 10 + .../tourn_wave/cell/tourn_wave_gift_cell.lua | 56 ++ .../cell/tourn_wave_gift_cell.lua.meta | 10 + .../tourn_wave/cell/tourn_wave_rank_cell.lua | 61 ++ .../cell/tourn_wave_rank_cell.lua.meta | 10 + .../cell/tourn_wave_rank_reward_cell.lua | 61 ++ .../cell/tourn_wave_rank_reward_cell.lua.meta | 10 + .../tourn_wave/tourn_wave_bounty_comp.lua | 110 ++++ .../tourn_wave_bounty_comp.lua.meta | 10 + .../tourn_wave/tourn_wave_gift_comp.lua | 28 + .../tourn_wave/tourn_wave_gift_comp.lua.meta | 10 + .../tourn_wave/tourn_wave_rank_comp.lua | 204 +++++++ .../tourn_wave/tourn_wave_rank_comp.lua.meta | 10 + .../ui/activity/tourn_wave/tourn_wave_ui.lua | 201 ++++++ .../tourn_wave/tourn_wave_ui.lua.meta | 10 + .../cell/side_bar_tourn_wave_cell.lua | 46 ++ .../cell/side_bar_tourn_wave_cell.lua.meta | 10 + .../fourteen_day/fourteen_day_data.lua | 2 +- lua/app/userdata/activity/tourn_arena.meta | 8 + lua/app/userdata/activity/tourn_wave.meta | 8 + .../activity/tourn_wave/tourn_wave_data.lua | 571 ++++++++++++++++++ .../tourn_wave/tourn_wave_data.lua.meta | 10 + 38 files changed, 1751 insertions(+), 5 deletions(-) create mode 100644 lua/app/module/activity/tourn_wave.meta create mode 100644 lua/app/module/activity/tourn_wave/tourn_wave_const.lua create mode 100644 lua/app/module/activity/tourn_wave/tourn_wave_const.lua.meta create mode 100644 lua/app/module/activity/tourn_wave/tourn_wave_manager.lua create mode 100644 lua/app/module/activity/tourn_wave/tourn_wave_manager.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave.meta create mode 100644 lua/app/ui/activity/tourn_wave/cell.meta create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua create mode 100644 lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua.meta create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua create mode 100644 lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua.meta create mode 100644 lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua create mode 100644 lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua.meta create mode 100644 lua/app/userdata/activity/tourn_arena.meta create mode 100644 lua/app/userdata/activity/tourn_wave.meta create mode 100644 lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua create mode 100644 lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua.meta diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua index c71f98de..fafa56a1 100644 --- a/lua/app/common/bi_report.lua +++ b/lua/app/common/bi_report.lua @@ -169,6 +169,11 @@ BIReport.ITEM_GET_TYPE = { RUNES_QUENCHING = "RuneQuenching", RUNES_AUTO_QUENCHING = "RuneAutoQuenching", RUNES_GIFT = "RuneGift", + TOURN_WAVE_BOUNTY_REWARD = "TournWaveBountyReward", + TOURN_WAVE_BOUNTY_LEVEL = "TournWaveBountyLevel", + TOURN_WAVE_RANK_REWARD = "TournWaveRankReward", + TOURN_WAVE_GIFT = "TournWaveGift", + TOURN_ARENA_GIFT = "TournArenaGift", FULL_MOON_TASK = "FullMoonTask", FULL_MOON_TASK_PROG_REWARD = "FullMoonTaskProgReward", FULL_MOON_SKIN_CHALLENGE_REWARD = "FullMoonSkinChallengeReward", @@ -256,6 +261,8 @@ BIReport.GIFT_TYPE = { FULL_MOON_NEW_HERO_GIFT = "FullMoonNewHeroGift", FULL_MOON_SKIN_GIFT = "FullMoonSkinGift", RUNES_GIFT = "RunesGift", + TOURN_WAVE_GIFT = "TournWaveGift", + TOURN_ARENA_GIFT = "TournArenaGift", } BIReport.COIN_TYPE = { diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua index ff1269f5..1e9732c4 100644 --- a/lua/app/common/data_manager.lua +++ b/lua/app/common/data_manager.lua @@ -34,6 +34,7 @@ function DataManager:init() self:initManager("ShopData", "app/userdata/shop/shop_data") self:initManager("SummonData", "app/userdata/summon/summon_data") self:initManager("FullMoonData", "app/userdata/activity/full_moon/full_moon_data") + self:initManager("TournWaveData", "app/userdata/activity/tourn_wave/tourn_wave_data") self:initManager("AIHelperData", "app/userdata/game_setting/ai_helper_data") self:initManager("HeroFundData", "app/userdata/activity/hero_fund/hero_fund_data") self:initManager("ActBossRushData", "app/userdata/activity/act_boss_rush/act_boss_rush_data") @@ -123,6 +124,7 @@ function DataManager:clear() self.ShopData:clear() self.SummonData:clear() self.FullMoonData:clear() + self.TournWaveData:clear() -- 任务数据最后清理 self.TaskData:clear() self.AIHelperData:clear() @@ -535,6 +537,11 @@ DataManager.activityOpenFunc = { ModuleManager.FullMoonManager:reqActData() ModuleManager.FullMoonManager:initTimer() end, + [5] = function(params) + DataManager.TournWaveData:setActStatus(params) + ModuleManager.TournWaveManager:reqActData() + ModuleManager.TournWaveManager:initTimer() + end, } DataManager.waitOpenActivity = { @@ -551,6 +558,10 @@ DataManager.waitOpenActivity = { DataManager.FullMoonData:setActStatus(params) ModuleManager.FullMoonManager:initTimer() end, + [5] = function(params) + DataManager.TournWaveData:setActStatus(params) + ModuleManager.TournWaveManager:initTimer() + end, } return DataManager \ No newline at end of file diff --git a/lua/app/common/event_manager.lua b/lua/app/common/event_manager.lua index 5c17961e..e9165573 100644 --- a/lua/app/common/event_manager.lua +++ b/lua/app/common/event_manager.lua @@ -63,6 +63,7 @@ EventManager.CUSTOM_EVENT = { DUNGEON_ARMOR_TO_TARGET_ID = "DUNGEON_ARMOR_TO_TARGET_ID", ACTIVITY_SUMMER_END = "ACTIVITY_SUMMER_END", ACTIVITY_FULL_MOON_END = "ACTIVITY_FULL_MOON_END", + ACTIVITY_TOURN_WAVE_END = "ACTIVITY_TOURN_WAVE_END", MAIN_UI_CHECK_SIDE_BAR = "MAIN_UI_CHECK_SIDE_BAR", FORMATION_CHANGE = "FORMATION_CHANGE", BATTLE_REBIRTH = "BATTLE_REBIRTH", diff --git a/lua/app/common/module_manager.lua b/lua/app/common/module_manager.lua index 505fa1f3..404ad486 100644 --- a/lua/app/common/module_manager.lua +++ b/lua/app/common/module_manager.lua @@ -79,6 +79,8 @@ local MODULE_PATHS = { FourteenDayManager = "app/module/activity/fourteen_day/fourteen_day_manager", -- 圆月活动 FullMoonManager = "app/module/activity/full_moon/full_moon_manager", + -- 波次锦标赛活动 + TournWaveManager = "app/module/activity/tourn_wave/tourn_wave_manager", -- 符文副本 DungeonRuneManager = "app/module/dungeon_rune/dungeon_rune_manager", -- 梦魇酒馆 diff --git a/lua/app/common/pay_manager.lua b/lua/app/common/pay_manager.lua index 674e7119..fd5bbe16 100644 --- a/lua/app/common/pay_manager.lua +++ b/lua/app/common/pay_manager.lua @@ -32,6 +32,8 @@ PayManager.PURCHARSE_ACT_TYPE = { FULL_MOON_NEW_HERO_GIFT = 19, FULL_MOON_SKIN_GIFT = 20, RUNES_GIFT = 21, + TOURN_WAVE_GIFT = 23, + TOURN_ARENA_GIFT = 24, } PayManager.PURCHARSE_TYPE_CONFIG = { @@ -66,6 +68,8 @@ PayManager.BI_ITEM_GET_TYPE = { [PayManager.PURCHARSE_ACT_TYPE.FULL_MOON_NEW_HERO_GIFT] = BIReport.ITEM_GET_TYPE.FULL_MOON_NEW_HERO_GIFT, [PayManager.PURCHARSE_ACT_TYPE.FULL_MOON_SKIN_GIFT] = BIReport.ITEM_GET_TYPE.FULL_MOON_SKIN_GIFT, [PayManager.PURCHARSE_ACT_TYPE.RUNES_GIFT] = BIReport.ITEM_GET_TYPE.RUNES_GIFT, + [PayManager.PURCHARSE_ACT_TYPE.TOURN_WAVE_GIFT] = BIReport.ITEM_GET_TYPE.TOURN_WAVE_GIFT, + [PayManager.PURCHARSE_ACT_TYPE.TOURN_ARENA_GIFT] = BIReport.ITEM_GET_TYPE.TOURN_ARENA_GIFT, }, [PayManager.PURCHARSE_TYPE.ACT_GOLD_PIG] = BIReport.ITEM_GET_TYPE.GOLD_PIG, [PayManager.PURCHARSE_TYPE.MALL_TREASURE] = BIReport.ITEM_GET_TYPE.MALL_TREASURE, @@ -97,6 +101,8 @@ PayManager.BI_GIFT_TYPE = { [PayManager.PURCHARSE_ACT_TYPE.FULL_MOON_NEW_HERO_GIFT] = BIReport.GIFT_TYPE.FULL_MOON_NEW_HERO_GIFT, [PayManager.PURCHARSE_ACT_TYPE.FULL_MOON_SKIN_GIFT] = BIReport.GIFT_TYPE.FULL_MOON_SKIN_GIFT, [PayManager.PURCHARSE_ACT_TYPE.RUNES_GIFT] = BIReport.GIFT_TYPE.RUNES_GIFT, + [PayManager.PURCHARSE_ACT_TYPE.TOURN_WAVE_GIFT] = BIReport.GIFT_TYPE.TOURN_WAVE_GIFT, + [PayManager.PURCHARSE_ACT_TYPE.TOURN_ARENA_GIFT] = BIReport.GIFT_TYPE.TOURN_ARENA_GIFT, }, [PayManager.PURCHARSE_TYPE.ACT_GOLD_PIG] = BIReport.GIFT_TYPE.GOLD_PIG, [PayManager.PURCHARSE_TYPE.MALL_TREASURE] = BIReport.GIFT_TYPE.MALL_TREASURE, diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua index 136ce72d..807f05f6 100644 --- a/lua/app/global/global_const.lua +++ b/lua/app/global/global_const.lua @@ -24,6 +24,7 @@ local CONST_PATHS = { FourteenDayConst = "app/module/activity/fourteen_day/fourteen_day_const", DungeonRuneConst = "app/module/dungeon_rune/dungeon_rune_const", FullMoonConst = "app/module/activity/full_moon/full_moon_const", + TournWaveConst = "app/module/activity/tourn_wave/tourn_wave_const", } if EDITOR_MODE then diff --git a/lua/app/module/activity/tourn_wave.meta b/lua/app/module/activity/tourn_wave.meta new file mode 100644 index 00000000..e0716506 --- /dev/null +++ b/lua/app/module/activity/tourn_wave.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b9001279852c1a4ca2b3596edbcc576 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/module/activity/tourn_wave/tourn_wave_const.lua b/lua/app/module/activity/tourn_wave/tourn_wave_const.lua new file mode 100644 index 00000000..662f7694 --- /dev/null +++ b/lua/app/module/activity/tourn_wave/tourn_wave_const.lua @@ -0,0 +1,30 @@ +local TournWaveConst = {} + +-- 界面 +TournWaveConst.PANEL_TYPE = { + BOUNTY = 1, + RANK = 2, + GIFT = 3, +} + +-- 战令档位 +TournWaveConst.BOUNTY_GRADE_TYPE = { + FREE = 0, + PAY1 = 1, + PAY2 = 2, +} + +-- 战令礼包id +TournWaveConst.BOUNTY_GIFT_ID_1 = 230102 +TournWaveConst.BOUNTY_GIFT_ID_2 = 230202 + +TournWaveConst.GIFT_IDS = { + 230302, + 230402, + 230502, + 230602, + 230702, + 230802, +} + +return TournWaveConst \ No newline at end of file diff --git a/lua/app/module/activity/tourn_wave/tourn_wave_const.lua.meta b/lua/app/module/activity/tourn_wave/tourn_wave_const.lua.meta new file mode 100644 index 00000000..54a4b3b2 --- /dev/null +++ b/lua/app/module/activity/tourn_wave/tourn_wave_const.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b16d29c98a6455245aeeb8e6941c3625 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua b/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua new file mode 100644 index 00000000..c59ccdaa --- /dev/null +++ b/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua @@ -0,0 +1,127 @@ +local TournWaveManager = class("TournWaveManager", BaseModule) + +function TournWaveManager:showActMainUI() + UIManager:showUI("app/ui/activity/tourn_wave/tourn_wave_ui") +end + +-- 初始化计时器 +function TournWaveManager:initTimer() + self:unscheduleGlobal(self.actSid) + + if DataManager.TournWaveData:isActiveTime() then + Logger.logHighlight("波次锦标赛活动结束倒计时:"..DataManager.TournWaveData:getEndRemainTime()) + self.actSid = self:performWithDelayGlobal(function() + Logger.logHighlight("波次锦标赛活动结束") + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.ACTIVITY_TOURN_WAVE_END) + end, DataManager.TournWaveData:getEndRemainTime()) + elseif DataManager.TournWaveData:getStartRemainTime() > 0 then + Logger.logHighlight("波次锦标赛活动开始倒计时:"..DataManager.TournWaveData:getStartRemainTime()) + self.actSid = self:performWithDelayGlobal(function() + Logger.logHighlight("波次锦标赛活动开始") + self:reqActData() + end, DataManager.TournWaveData:getStartRemainTime()) + end +end + +-- 购买活动战令 +function TournWaveManager:buyBounty(giftId) + PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT) +end + +-- 请求活动数据 +function TournWaveManager:reqActData() + if not DataManager.TournWaveData:isOpen() then + return + end + if not DataManager.TournWaveData:isActiveTime() then + return + end + if self.isReqActData then + return + end + + self.isReqActData = true + self:sendMessage(ProtoMsgType.FromMsgEnum.TournWaveDataReq, {}, {}, self.rspActData, nil) +end + +function TournWaveManager:rspActData(result) + self.isReqActData = false + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournWaveData:onGetActData(result.tourn_wave) + end +end + +-- 请求战令奖励 +function TournWaveManager:reqBountyReward(id, grade) + self:sendMessage(ProtoMsgType.FromMsgEnum.TournWaveBountyClaimReq, {id = id, grade = grade}, {}, self.rspBountyReward, BIReport.ITEM_GET_TYPE.TOURN_WAVE_BOUNTY_REWARD) +end + +function TournWaveManager:rspBountyReward(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournWaveData:onReceivedBountyReward(result.success_id_grade) + + GFunc.showRewardBox(result.rewards) + end +end + +-- 购买战令等级 +function TournWaveManager:reqBuyBountyLevel() + local cost = DataManager.TournWaveData:getBuyBountyLevelCost() + local costId = GFunc.getRewardId(cost) + local costNum = GFunc.getRewardNum(cost) + if not GFunc.checkCost(costId, costNum, true) then + return + end + local params ={ + titleTx = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_TITLE), + content = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_COUNTENT), + boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL, + showToday = GConst.MESSAGE_BOX_SHOW_TODAY.ACTIVITY_BUY_LEVEL, + costId = costId, + costNum = costNum, + okFunc = function() + local id = DataManager.TournWaveData:getBountyCfgByLevel(DataManager.TournWaveData:getBountyLevel() + 1).id + -- Logger.logHighlight("购买战令等级:"..id) + self:sendMessage(ProtoMsgType.FromMsgEnum.TournWaveBountyClaimByDiamondReq, {id = id}, {}, self.rspBuyBountyLevel, BIReport.ITEM_GET_TYPE.TOURN_WAVE_BOUNTY_LEVEL) + end, + } + GFunc.showMessageBox(params) +end + +function TournWaveManager:rspBuyBountyLevel(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournWaveData:onBoughtBountyLevel() + end +end + +-- 获取排行榜数据 +function TournWaveManager:reqRankList(turn) + if turn == self.isReqRankList then + return + end + + self.isReqRankList = turn + self:sendMessage(ProtoMsgType.FromMsgEnum.TournWaveRankReq, {turn = turn}, {}, self.rspRankList, nil) +end + +function TournWaveManager:rspRankList(result) + self.isReqRankList = nil + DataManager.TournWaveData:setInReset(false) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournWaveData:onGetRankData(result.reqData.turn, result.ranks, result.score, result.own_rank) + end +end + +-- 领取排行榜奖励 +function TournWaveManager:reqRankReward() + self:sendMessage(ProtoMsgType.FromMsgEnum.TournWaveRankClaimRewardReq, {}, {}, self.rspRankReward, BIReport.ITEM_GET_TYPE.TOURN_WAVE_RANK_REWARD) +end + +function TournWaveManager:rspRankReward(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournWaveData:onReceivedRankReward() + GFunc.showRewardBox(result.rewards) + end +end + +return TournWaveManager \ No newline at end of file diff --git a/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua.meta b/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua.meta new file mode 100644 index 00000000..e9136a71 --- /dev/null +++ b/lua/app/module/activity/tourn_wave/tourn_wave_manager.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 96146863570985640a1597f0ab1dbd55 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/maincity/maincity_const.lua b/lua/app/module/maincity/maincity_const.lua index 0d293c36..5e7b90cb 100644 --- a/lua/app/module/maincity/maincity_const.lua +++ b/lua/app/module/maincity/maincity_const.lua @@ -37,6 +37,7 @@ MainCityConst.LEFT_SIDE_BARS = { "app/ui/main_city/cell/side_bar_seven_days_cell", "app/ui/main_city/cell/side_bar_activity_cell", "app/ui/main_city/cell/side_bar_full_moon_cell", + "app/ui/main_city/cell/side_bar_tourn_wave_cell", -- gm放最后一个 "app/ui/main_city/cell/side_bar_gm_cell" } diff --git a/lua/app/ui/activity/fourteen_day/cell/fourteen_day_gift_cell.lua b/lua/app/ui/activity/fourteen_day/cell/fourteen_day_gift_cell.lua index d81ebe95..ac898d28 100644 --- a/lua/app/ui/activity/fourteen_day/cell/fourteen_day_gift_cell.lua +++ b/lua/app/ui/activity/fourteen_day/cell/fourteen_day_gift_cell.lua @@ -1,6 +1,6 @@ -local FourteenDayExchangeCell = class("FourteenDayExchangeCell", BaseCell) +local FourteenDayGiftCell = class("FourteenDayGiftCell", BaseCell) -function FourteenDayExchangeCell:init() +function FourteenDayGiftCell:init() local uiMap = self:getUIMap() self.txLimit = uiMap["fourteen_day_gift_cell.tx_limit"] @@ -19,7 +19,7 @@ function FourteenDayExchangeCell:init() end) end -function FourteenDayExchangeCell:refresh(id) +function FourteenDayGiftCell:refresh(id) self.id = id local cfg = DataManager.ShopData:getActGiftConfig()[self.id] local time = DataManager.FourteenDayData:getGiftRemainTime(self.id) @@ -53,4 +53,4 @@ function FourteenDayExchangeCell:refresh(id) self.txBuy:setText(buyStr) end -return FourteenDayExchangeCell \ No newline at end of file +return FourteenDayGiftCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave.meta b/lua/app/ui/activity/tourn_wave.meta new file mode 100644 index 00000000..8ca0493a --- /dev/null +++ b/lua/app/ui/activity/tourn_wave.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 840201af24820dd4387b1ebf46520230 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/ui/activity/tourn_wave/cell.meta b/lua/app/ui/activity/tourn_wave/cell.meta new file mode 100644 index 00000000..18677e99 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb3773d108d0c7c46b23ba556dec5723 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua new file mode 100644 index 00000000..d6a2b1f6 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua @@ -0,0 +1,62 @@ +local TournWaveBountyCell = class("TournWaveBountyCell", BaseCell) + +function TournWaveBountyCell:init() + local uiMap = self:getUIMap() + self.txLevel = uiMap["tourn_wave_bounty_cell.level.tx_level"] + self.rewardCell1 = uiMap["tourn_wave_bounty_cell.reward_cell_1"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + self.rewardCell2 = uiMap["tourn_wave_bounty_cell.reward_cell_2"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + self.rewardCell3 = uiMap["tourn_wave_bounty_cell.reward_cell_3"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) +end + +function TournWaveBountyCell:refresh(level, id) + self.id = id + self.txLevel:setText(DataManager.TournWaveData:getLevelTotalScore(level)) + + local isGet + + isGet = DataManager.TournWaveData:isReceivedBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE) + self.rewardCell1:refreshByConfig(DataManager.TournWaveData:getBountyGradeReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE), isGet, isGet) + self.rewardCell1:showLock(not DataManager.TournWaveData:isBountyGradeUnlock(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE)) + if DataManager.TournWaveData:canGetBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE) then + self.rewardCell1.baseObject:addRedPoint(50, 50, 0.6) + self.rewardCell1:addClickListener(function() + self:onClickReward(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE) + end) + else + self.rewardCell1.baseObject:removeRedPoint() + self.rewardCell1:addClickListener(nil) + end + + isGet = DataManager.TournWaveData:isReceivedBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1) + self.rewardCell2:refreshByConfig(DataManager.TournWaveData:getBountyGradeReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1), isGet, isGet) + self.rewardCell2:showLock(not DataManager.TournWaveData:isBountyGradeUnlock(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1)) + if DataManager.TournWaveData:canGetBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1) then + self.rewardCell2.baseObject:addRedPoint(50, 50, 0.6) + self.rewardCell2:addClickListener(function() + self:onClickReward(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1) + end) + else + self.rewardCell2.baseObject:removeRedPoint() + self.rewardCell2:addClickListener(nil) + end + + isGet = DataManager.TournWaveData:isReceivedBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2) + self.rewardCell3:refreshByConfig(DataManager.TournWaveData:getBountyGradeReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2), isGet, isGet) + self.rewardCell3:showLock(not DataManager.TournWaveData:isBountyGradeUnlock(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2)) + if DataManager.TournWaveData:canGetBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2) then + self.rewardCell3.baseObject:addRedPoint(50, 50, 0.6) + self.rewardCell3:addClickListener(function() + self:onClickReward(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2) + end) + else + self.rewardCell3.baseObject:removeRedPoint() + self.rewardCell3:addClickListener(nil) + end +end + +-- 领取奖励 +function TournWaveBountyCell:onClickReward(grade) + ModuleManager.TournWaveManager:reqBountyReward(self.id, grade) +end + +return TournWaveBountyCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua.meta b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua.meta new file mode 100644 index 00000000..7855158c --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0aba106b0cea72f43bb5fe476d750402 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua new file mode 100644 index 00000000..67398365 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua @@ -0,0 +1,56 @@ +local TournWaveGiftCell = class("TournWaveGiftCell", BaseCell) + +function TournWaveGiftCell:init() + local uiMap = self:getUIMap() + + self.txLimit = uiMap["tourn_wave_gift_cell.tx_limit"] + self.txBuy = uiMap["tourn_wave_gift_cell.tx_buy"] + self.imgOff = uiMap["tourn_wave_gift_cell.off_img"] + self.txOff = uiMap["tourn_wave_gift_cell.off_img.tx_off"] + self.rewards = {} + for i = 1, 3 do + table.insert(self.rewards, uiMap["tourn_wave_gift_cell.reward_cell_"..i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end + + self:addClickListener(function() + if DataManager.TournWaveData:getGiftRemainTime(self.id) > 0 then + PayManager:purchasePackage(self.id, PayManager.PURCHARSE_TYPE.ACT_GIFT) + end + end) +end + +function TournWaveGiftCell:refresh(id) + self.id = id + local cfg = DataManager.ShopData:getActGiftConfig()[self.id] + local time = DataManager.TournWaveData:getGiftRemainTime(self.id) + + self.txLimit:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, time)) + + for idx, reward in ipairs(self.rewards) do + if cfg.reward[idx] then + reward:setVisible(true) + reward:refreshByConfig(cfg.reward[idx]) + else + reward:setVisible(false) + end + end + + local buyStr + if cfg.recharge_id then + self.baseObject:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_bg_6") + self.imgOff:setActive(true) + self.txOff:setText(cfg.value .. "%") + buyStr = GFunc.getFormatPrice(cfg.recharge_id) + else + self.baseObject:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_bg_5") + self.imgOff:setActive(false) + buyStr = I18N:getGlobalText(I18N.GlobalConst.STR_FREE) + end + + if time <= 0 then + buyStr = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20) + end + self.txBuy:setText(buyStr) +end + +return TournWaveGiftCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua.meta b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua.meta new file mode 100644 index 00000000..febde932 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 08a1c923b2c92e0478372680efbdce07 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua new file mode 100644 index 00000000..d378cb9b --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua @@ -0,0 +1,61 @@ +local TournWaveRankCell = class("TournWaveRankCell", BaseCell) + +local RANK_IMG = {"act_ranking_1", "act_ranking_2", "act_ranking_3"} +local BG = {"common_bg_8", "common_bg_9", "common_bg_10", "common_bg_11"} + +function TournWaveRankCell:init() + local uiMap = self:getUIMap() + + self.txRank = uiMap["tourn_wave_rank_cell.tx_rank"] + self.imgRank = uiMap["tourn_wave_rank_cell.img_rank"] + self.playerHeadCell = uiMap["tourn_wave_rank_cell.player_head_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + self.txName = uiMap["tourn_wave_rank_cell.tx_name"] + self.txScore = uiMap["tourn_wave_rank_cell.tx_score"] + self.rewards = uiMap["tourn_wave_rank_cell.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.rewardCells = {} + for i = 1, 3 do + table.insert(self.rewardCells, uiMap["tourn_wave_rank_cell.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end +end + +function TournWaveRankCell:refresh(rank, info) + self.playerHeadCell:refresh(info.avatar, info.avatar_frame) + local name = info.name + if name == nil or #name == 0 then + name = I18N:getGlobalText(I18N.GlobalConst.NEW_PLAYER) + end + self.txName:setText(name) + self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_16)..":"..info.score) + + if BG[rank] then + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[rank]) + else + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[4]) + end + + if RANK_IMG[rank] then + self.imgRank:setActive(true) + self.imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_IMG[rank]) + self.txRank:setText(GConst.EMPTY_STRING) + else + self.imgRank:setActive(false) + if info.score > 0 then + self.txRank:setText(rank) + else + self.txRank:setText("--") + end + end + + local rewards = DataManager.TournWaveData:getRewardByRank(rank) + for index, cell in ipairs(self.rewardCells) do + if rewards[index] then + cell:setVisible(true) + cell:refreshByConfig(rewards[index]) + else + cell:setVisible(false) + end + end + self.rewards:RefreshLayout() +end + +return TournWaveRankCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua.meta b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua.meta new file mode 100644 index 00000000..5396e915 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8cd3744c1d41e3449b5a254f46c48b86 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua new file mode 100644 index 00000000..82462c11 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua @@ -0,0 +1,61 @@ +local TournWaveRankRewardCell = class("TournWaveRankRewardCell", BaseCell) + +local RANK_IMG = {"act_ranking_1", "act_ranking_2", "act_ranking_3"} +local BG = {"common_bg_8", "common_bg_9", "common_bg_10", "common_bg_11"} + +function TournWaveRankRewardCell:init() + local uiMap = self:getUIMap() + + self.txRank = uiMap["tourn_wave_rank_reward_cell.tx_rank"] + self.imgRank = uiMap["tourn_wave_rank_reward_cell.img_rank"] + self.rewards = uiMap["tourn_wave_rank_reward_cell.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.rewardCells = {} + for i = 1, 3 do + table.insert(self.rewardCells, uiMap["tourn_wave_rank_reward_cell.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end +end + +function TournWaveRankRewardCell:refresh(index) + local info = DataManager.TournWaveData:getRankCfgByIndex(index) + local ranking1 = info.ranking[1] + local ranking2 = info.ranking[2] + + if BG[ranking1] then + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[ranking1]) + else + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[4]) + end + + if RANK_IMG[ranking1] then + self.imgRank:setActive(true) + self.imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_IMG[ranking1]) + self.txRank:setText(GConst.EMPTY_STRING) + else + self.imgRank:setActive(false) + local rankStr = ranking1 .. "-" + if ranking2 then + rankStr = rankStr .. ranking2 + else + rankStr = rankStr .. "-" + end + if ranking1 == ranking2 then + rankStr = ranking1 + end + if index == #DataManager.TournWaveData:getRankIdList() then + rankStr = ranking1 .. "+" + end + self.txRank:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_23, rankStr)) + end + + for index, cell in ipairs(self.rewardCells) do + if info.reward[index] then + cell:setVisible(true) + cell:refreshByConfig(info.reward[index]) + else + cell:setVisible(false) + end + end + self.rewards:RefreshLayout() +end + +return TournWaveRankRewardCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua.meta b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua.meta new file mode 100644 index 00000000..1eab447b --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 967b65025941ddd469069a4d210fc121 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua b/lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua new file mode 100644 index 00000000..cf9e3095 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua @@ -0,0 +1,110 @@ +local TournWaveBountyComp = class("TournWaveBountyComp", LuaComponent) + +function TournWaveBountyComp:init() + local uiMap = self:getUIMap() + self.txDesc = uiMap["bounty_panel.tx_desc"] + self.btnHelp = uiMap["bounty_panel.tx_desc.btn_help"] + self.txFree = uiMap["bounty_panel.title.free.tx_free"] + self.txCurWave = uiMap["bounty_panel.title.cur_level.tx_level"] + -- 档位1 + self.txBuyed1 = uiMap["bounty_panel.title.buy1.tx_buyed"] + self.btnBuy1 = uiMap["bounty_panel.title.buy1.btn_buy"] + self.txBuy1 = uiMap["bounty_panel.title.buy1.btn_buy.tx_buy"] + -- 档位2 + self.txBuyed2 = uiMap["bounty_panel.title.buy2.tx_buyed"] + self.btnBuy2 = uiMap["bounty_panel.title.buy2.btn_buy"] + self.txBuy2 = uiMap["bounty_panel.title.buy2.btn_buy.tx_buy"] + + self.scrollrectComp = uiMap["bounty_panel.list_bounty"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.progLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog"] + self.imgProgLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER) + self.maskLevel = uiMap["bounty_panel.list_bounty.viewport.content.mask_img"] + self.lineLevel = uiMap["bounty_panel.list_bounty.viewport.content.line"] + self.btnBuyLevel = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level"] + self.txBuyLevelNum = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.tx_num"] + self.imgBuyLevelIcon = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.icon"] + + self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_DESC_1)) + self.txFree:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE)) + self.txBuyed1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20)) + self.txBuyed2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20)) + + self.bountyIdList = DataManager.TournWaveData:getBountyIdList() + self.scrollrectComp:addInitCallback(function() + self.maskLevel:getTransform():SetAsLastSibling() + self.lineLevel:getTransform():SetAsLastSibling() + return "app/ui/activity/tourn_wave/cell/tourn_wave_bounty_cell" + end) + self.scrollrectComp:addRefreshCallback(function(index, cell) + cell:refresh(index, self.bountyIdList[index]) + end) + self.scrollrectComp:clearCells() + self.scrollrectComp:refillCells(DataManager.TournWaveData:getBountyMaxLevel()) + + self.btnHelp:addClickListener(function() + local params = { + type = GConst.TipsConst.HELP_TIPS_TYPE.ARENA, + title = I18N:getGlobalText(I18N.GlobalConst.COLLECTION_DESC_11), + desc = I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_HELP_1), + } + ModuleManager.TipsManager:showHelpTips(params) + end) + self.btnBuy1:addClickListener(function() + ModuleManager.TournWaveManager:buyBounty(GConst.TournWaveConst.BOUNTY_GIFT_ID_1) + end) + self.btnBuy2:addClickListener(function() + ModuleManager.TournWaveManager:buyBounty(GConst.TournWaveConst.BOUNTY_GIFT_ID_2) + end) + self.btnBuyLevel:addClickListener(function() + ModuleManager.TournWaveManager:reqBuyBountyLevel() + end) + self:bind(DataManager.TournWaveData, "isDirty", function() + self:refresh(true) + end) + self:bind(DataManager.ShopData, "isDirty", function() + self:refresh(true) + end) +end + +function TournWaveBountyComp:refresh(notUpdatePos) + self.btnBuyLevel:setActive(DataManager.TournWaveData:canBuyBountyLevel()) + self.txCurWave:setText(DataManager.TournWaveData:getBountyTotalScore()) + + -- 档位展示 + self.btnBuy1:setActive(not DataManager.TournWaveData:isBountyGradeUnlock(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1)) + self.btnBuy2:setActive(not DataManager.TournWaveData:isBountyGradeUnlock(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2)) + + local gift1 = DataManager.TournWaveData:getBountyGradeGiftCfg(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1) + local gift2 = DataManager.TournWaveData:getBountyGradeGiftCfg(GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2) + self.txBuy1:setText(GFunc.getFormatPrice(gift1.recharge_id)) + self.txBuy2:setText(GFunc.getFormatPrice(gift2.recharge_id)) + self.txBuyLevelNum:setText(GFunc.getRewardNum(DataManager.TournWaveData:getBuyBountyLevelCost())) + GFunc.centerImgAndTx(self.imgBuyLevelIcon, self.txBuyLevelNum, 5) + + -- 等级列表 + local maxLevel = DataManager.TournWaveData:getBountyMaxLevel() + local curLevel = DataManager.TournWaveData:getBountyLevel() + local topRecoveryOffset = self.scrollrectComp:getTopRecoveryOffset() + local downRecoveryOffset = self.scrollrectComp:getDownRecoveryOffset() + local cellHeight = self.scrollrectComp:getCellHeight() + if curLevel >= maxLevel then + self.lineLevel:setVisible(false) + else + self.lineLevel:setVisible(true) + self.lineLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight) + end + self.progLevel:setAnchoredPositionY((topRecoveryOffset + downRecoveryOffset) / 2 - cellHeight / 2 - 10) + self.progLevel:setSizeDeltaY(cellHeight * (maxLevel - 1)) + + self.imgProgLevel.value = DataManager.TournWaveData:getBountyTotalScore() / DataManager.TournWaveData:getLevelTotalScore(#DataManager.TournWaveData:getBountyIdList()) + self.maskLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight) + self.maskLevel:setSizeDeltaY(cellHeight * maxLevel + GConst.UI_SCREEN_HEIGHT) + self.scrollrectComp:updateAllCell() + + if not notUpdatePos then + local rewardLevel = DataManager.TournWaveData:getFirstCanGetBountyRewardLevel() + self.scrollrectComp:moveToIndex(rewardLevel or curLevel) + end +end + +return TournWaveBountyComp \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua.meta b/lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua.meta new file mode 100644 index 00000000..bfd0fe98 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_bounty_comp.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a89a4c596ad402b448d81442cc26026f +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua b/lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua new file mode 100644 index 00000000..d5297006 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua @@ -0,0 +1,28 @@ +local TournWaveGiftComp = class("TournWaveGiftComp", LuaComponent) + +function TournWaveGiftComp:init() + local uiMap = self:getUIMap() + self.scrollrectComp = uiMap["gift_panel.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + + self.scrollrectComp:addInitCallback(function() + return "app/ui/activity/tourn_wave/cell/tourn_wave_gift_cell" + end) + self.scrollrectComp:addRefreshCallback(function(index, cell) + cell:refresh(self.giftList[index].id) + end) + + self:bind(DataManager.TournWaveData, "isDirty", function() + self:refresh() + end) + self:bind(DataManager.ShopData, "isDirty", function() + self:refresh() + end) +end + +function TournWaveGiftComp:refresh() + self.giftList = DataManager.TournWaveData:getGiftIdsSort() + self.scrollrectComp:clearCells() + self.scrollrectComp:refillCells(#self.giftList) +end + +return TournWaveGiftComp \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua.meta b/lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua.meta new file mode 100644 index 00000000..2fb749a4 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_gift_comp.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: cff71edf36f45d74d849b0c5ebc13b7c +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua b/lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua new file mode 100644 index 00000000..8a03e04b --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua @@ -0,0 +1,204 @@ +local TournWaveRankComp = class("TournWaveRankComp", LuaComponent) + +local SHOW_TYPE = { + CUR_RANK = 1, + LAST_RANK = 2, + REWARD = 3, +} + +local RANK_IMG = {"act_ranking_1", "act_ranking_2", "act_ranking_3"} + +function TournWaveRankComp:onClose() + if self.countdownSid then + self.baseObject:unscheduleGlobal(self.countdownSid) + self.countdownSid = nil + end +end + +function TournWaveRankComp:init() + local uiMap = self:getUIMap() + + self.txEmpty = uiMap["rank_panel.tx_empty"] + self.btnHelp = uiMap["rank_panel.btn_help"] + self.btns = uiMap["rank_panel.btns"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.btnCur = uiMap["rank_panel.btns.btn_cur"] + self.txCur = uiMap["rank_panel.btns.btn_cur.tx_cur"] + self.btnLast = uiMap["rank_panel.btns.btn_last"] + self.txLast = uiMap["rank_panel.btns.btn_last.tx_last"] + self.btnReward = uiMap["rank_panel.btns.btn_reward"] + self.txReward = uiMap["rank_panel.btns.btn_reward.tx_reward"] + self.txCountdown = uiMap["rank_panel.tx_countdown"] + self.listRewardComp = uiMap["rank_panel.list_reward"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.listRankComp = uiMap["rank_panel.list_rank"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + -- 自己排名 + self.imgRank = uiMap["rank_panel.my_rank.img_rank"] + self.txRank = uiMap["rank_panel.my_rank.tx_rank"] + self.txName = uiMap["rank_panel.my_rank.tx_name"] + self.txScore = uiMap["rank_panel.my_rank.tx_score"] + self.playerHeadCell = uiMap["rank_panel.my_rank.player_head_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + self.rewards = uiMap["rank_panel.my_rank.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.rewardCells = {} + for i = 1, 3 do + table.insert(self.rewardCells, uiMap["rank_panel.my_rank.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end + + self.txEmpty:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_8)) + self.txCur:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_BTN_1)) + self.txLast:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_BTN_2)) + self.txReward:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_BTN_3)) + self:refreshCountdown() + + self.listRankComp:addInitCallback(function() + return "app/ui/activity/tourn_wave/cell/tourn_wave_rank_cell" + end) + self.listRankComp:addRefreshCallback(function(index, cell) + cell:refresh(index, self.rankDataList[index]) + end) + self.listRewardComp:addInitCallback(function() + return "app/ui/activity/tourn_wave/cell/tourn_wave_rank_reward_cell" + end) + self.listRewardComp:addRefreshCallback(function(index, cell) + cell:refresh(index) + end) + + self.btnHelp:addClickListener(function() + local params = { + type = GConst.TipsConst.HELP_TIPS_TYPE.ARENA, + title = I18N:getGlobalText(I18N.GlobalConst.COLLECTION_DESC_11), + desc = I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_HELP_2), + } + ModuleManager.TipsManager:showHelpTips(params) + end) + self.btnCur:addClickListener(function() + ModuleManager.TournWaveManager:reqRankList(DataManager.TournWaveData:getCurRankStep()) + self:refresh(SHOW_TYPE.CUR_RANK) + end) + self.btnLast:addClickListener(function() + ModuleManager.TournWaveManager:reqRankList(DataManager.TournWaveData:getCurRankStep() - 1) + self:refresh(SHOW_TYPE.LAST_RANK) + end) + self.btnReward:addClickListener(function() + self:refresh(SHOW_TYPE.REWARD) + end) + self:bind(DataManager.TournWaveData, "isDirty", function() + self:refresh() + end) +end + +function TournWaveRankComp:refresh(showType) + self.showType = showType or self.showType or SHOW_TYPE.CUR_RANK + + self.btnCur:setSprite(GConst.ATLAS_PATH.COMMON, self.showType == SHOW_TYPE.CUR_RANK and "common_board_130" or "common_board_134") + self.btnLast:setSprite(GConst.ATLAS_PATH.COMMON, self.showType == SHOW_TYPE.LAST_RANK and "common_board_130" or "common_board_134") + self.btnReward:setSprite(GConst.ATLAS_PATH.COMMON, self.showType == SHOW_TYPE.REWARD and "common_board_130" or "common_board_134") + + local curStep = DataManager.TournWaveData:getCurRankStep() + + self.btnLast:setActive(curStep > 1) + self.btns:RefreshLayout() + + if self.showType == SHOW_TYPE.CUR_RANK then + self:showRankList(curStep) + self:showSelfRank(curStep) + elseif self.showType == SHOW_TYPE.LAST_RANK then + local lastStep = curStep - 1 + self:showRankList(lastStep) + self:showSelfRank(lastStep) + elseif self.showType == SHOW_TYPE.REWARD then + self:showRankReward() + self:showSelfRank(curStep) + end +end + +-- 展示自己排名 +function TournWaveRankComp:showSelfRank(step) + local rank = DataManager.TournWaveData:getSelfRank(step) + local score = DataManager.TournWaveData:getSelfScore(step) + + if score > 0 then + if RANK_IMG[rank] then + self.imgRank:setActive(true) + self.imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_IMG[rank]) + self.txRank:setText(GConst.EMPTY_STRING) + else + self.imgRank:setActive(false) + self.txRank:setText(rank) + end + else + self.imgRank:setActive(false) + self.txRank:setText("--") + end + self.playerHeadCell:refresh() + self.txName:setText(DataManager.PlayerData:getNickname()) + self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_16)..":"..score) + + local rewards = DataManager.TournWaveData:getRewardByRank(rank) + for index, cell in ipairs(self.rewardCells) do + if score > 0 and rewards[index] then + cell:setVisible(true) + cell:refreshByConfig(rewards[index]) + if step ~= DataManager.TournWaveData:getCurRankStep() and DataManager.TournWaveData:isReachRankReward() then + cell.baseObject:addRedPoint(50, 50, 0.6) + cell:addClickListener(function() + ModuleManager.TournWaveManager:reqRankReward() + end) + else + cell.baseObject:removeRedPoint() + cell:addClickListener(nil) + end + else + cell:setVisible(false) + end + end + self.rewards:RefreshLayout() +end + +-- 展示榜单 +function TournWaveRankComp:showRankList(step) + self.listRankComp:getBaseObject():setActive(true) + self.listRewardComp:getBaseObject():setActive(false) + + self.rankDataList = DataManager.TournWaveData:getRankListData(step) + if self.rankDataList == nil then + self.rankDataList = {} + end + self.listRankComp:clearCells() + self.listRankComp:refillCells(#self.rankDataList) + self.txEmpty:setActive(#self.rankDataList <= 0) +end + +-- 展示排行榜奖励 +function TournWaveRankComp:showRankReward() + self.listRankComp:getBaseObject():setActive(false) + self.listRewardComp:getBaseObject():setActive(true) + self.txEmpty:setActive(false) + + self.rankIdList = DataManager.TournWaveData:getRankIdList() + self.listRewardComp:clearCells() + self.listRewardComp:refillCells(#self.rankIdList) +end + +-- 刷新倒计时 +function TournWaveRankComp:refreshCountdown() + if self.countdownSid then + self.baseObject:unscheduleGlobal(self.countdownSid) + end + + local str = DataManager.TournWaveData:isFinalDay() and I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_DESC_3) or I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_DESC_2) + + self.txCountdown:setText(str .. Time:formatNumTimeStr(DataManager.TournWaveData:getCurRankStepRemainTime())) + self.countdownSid = self.baseObject:scheduleGlobal(function() + local time = DataManager.TournWaveData:getCurRankStepRemainTime() + if time >= 0 then + self.txCountdown:setText(str .. Time:formatNumTimeStr(time)) + else + if self.showType == SHOW_TYPE.CUR_RANK then + ModuleManager.TournWaveManager:reqRankList(DataManager.TournWaveData:getCurRankStep()) + elseif self.showType == SHOW_TYPE.LAST_RANK then + ModuleManager.TournWaveManager:reqRankList(DataManager.TournWaveData:getCurRankStep() - 1) + end + end + end, 1) +end + +return TournWaveRankComp \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua.meta b/lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua.meta new file mode 100644 index 00000000..d996fef2 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_rank_comp.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f1a089a3d69cb5c43954d024f28ce4e8 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua b/lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua new file mode 100644 index 00000000..6e68d62b --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua @@ -0,0 +1,201 @@ +local TournWaveUI = class("TournWaveUI", BaseUI) + +local COMP_BOUNTY = "app/ui/activity/tourn_wave/tourn_wave_bounty_comp" +local COMP_RANK = "app/ui/activity/tourn_wave/tourn_wave_rank_comp" +local COMP_GIFT = "app/ui/activity/tourn_wave/tourn_wave_gift_comp" + +function TournWaveUI:isFullScreen() + return false +end + +function TournWaveUI:getPrefabPath() + return "assets/prefabs/ui/activity/tourn_wave/tourn_wave_ui.prefab" +end + +function TournWaveUI:onPressBackspace() + self:closeUI() +end + +function TournWaveUI:onClose() + if self.compRank ~= nil then + self.compRank:refresh() + end + if self.countdownSid then + self.txCountdown:unscheduleGlobal(self.countdownSid) + end +end + +function TournWaveUI:ctor(param) + if param then + self.panelType = param + else + self.panelType = GConst.TournWaveConst.PANEL_TYPE.BOUNTY -- 默认进入任务页签 + end +end + +function TournWaveUI:onLoadRootComplete() + local uiMap = self.root:genAllChildren() + + -- 通用 + self.txTitle = uiMap["tourn_wave_ui.common.img_title.tx_title"] + self.btnClose = uiMap["tourn_wave_ui.common.btn_close"] + self.bg = uiMap["tourn_wave_ui.common.bg"] + self.countdown = uiMap["tourn_wave_ui.common.countdown"] + self.txCountdown = uiMap["tourn_wave_ui.common.countdown.tx_countdown"] + -- 子界面 + self.bountyPanel = uiMap["tourn_wave_ui.bounty_panel"] + self.rankPanel = uiMap["tourn_wave_ui.rank_panel"] + self.giftPanel = uiMap["tourn_wave_ui.gift_panel"] + -- 战令标签 + self.btnBounty = uiMap["tourn_wave_ui.common.btns.btn_bounty"] + self.txBounty1 = uiMap["tourn_wave_ui.common.btns.btn_bounty.tx_btn"] + self.txBounty2 = uiMap["tourn_wave_ui.common.btns.btn_bounty.select.tx_select"] + self.selectBounty = uiMap["tourn_wave_ui.common.btns.btn_bounty.select"] + -- 排行榜标签 + self.btnRank = uiMap["tourn_wave_ui.common.btns.btn_rank"] + self.txRank1 = uiMap["tourn_wave_ui.common.btns.btn_rank.tx_btn"] + self.txRank2 = uiMap["tourn_wave_ui.common.btns.btn_rank.select.tx_select"] + self.selectRank = uiMap["tourn_wave_ui.common.btns.btn_rank.select"] + -- 礼包标签 + self.btnGift = uiMap["tourn_wave_ui.common.btns.btn_gift"] + self.txGift1 = uiMap["tourn_wave_ui.common.btns.btn_gift.tx_btn"] + self.txGift2 = uiMap["tourn_wave_ui.common.btns.btn_gift.select.tx_select"] + self.selectGift = uiMap["tourn_wave_ui.common.btns.btn_gift.select"] + + self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_TITLE)) + self.txBounty1:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC)) + self.txBounty2:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC)) + self.txRank1:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_5)) + self.txRank2:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_5)) + self.txGift1:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_4)) + self.txGift2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_4)) + + self.btnBounty:addClickListener(function() + self.panelType = GConst.TournWaveConst.PANEL_TYPE.BOUNTY + self:onRefresh() + end) + self.btnRank:addClickListener(function() + self.panelType = GConst.TournWaveConst.PANEL_TYPE.RANK + self:onRefresh() + end) + self.btnGift:addClickListener(function() + self.panelType = GConst.TournWaveConst.PANEL_TYPE.GIFT + self:onRefresh() + end) + self.btnClose:addClickListener(function() + self:closeUI() + end) + self:addEventListener(EventManager.CUSTOM_EVENT.ACTIVITY_TOURN_WAVE_END, function() + self:closeUI() + end) + self:bind(DataManager.TournWaveData, "isDirty", function() + -- 检查更新数据 + if DataManager.TournWaveData:getIsInReset() and self.panelType == GConst.TournWaveConst.PANEL_TYPE.RANK then + self:onRefresh() + else + self:refreshRedPoint() + end + end) +end + +function TournWaveUI:onRefresh() + -- 倒计时 + if self.countdownSid then + self.txCountdown:unscheduleGlobal(self.countdownSid) + end + self.txCountdown:setText(Time:formatNumTimeStr(DataManager.TournWaveData:getEndRemainTime())) + self.countdownSid = self.txCountdown:scheduleGlobal(function() + local time = DataManager.TournWaveData:getEndRemainTime() + if time >= 0 then + self.txCountdown:setText(Time:formatNumTimeStr(time)) + end + end, 1) + + if self.panelType == GConst.TournWaveConst.PANEL_TYPE.BOUNTY then + self:showBountyInfo() + elseif self.panelType == GConst.TournWaveConst.PANEL_TYPE.RANK then + self:showRankInfo() + elseif self.panelType == GConst.TournWaveConst.PANEL_TYPE.GIFT then + self:showGiftInfo() + end + self:refreshRedPoint() +end + +-- 刷新标签红点 +function TournWaveUI:refreshRedPoint() + if DataManager.TournWaveData:hasBountyRedPoint() then + self.btnBounty:addRedPoint(-75, -5, 0.6) + else + self.btnBounty:removeRedPoint() + end + if DataManager.TournWaveData:hasRankRedPoint() then + self.btnRank:addRedPoint(-75, -5, 0.6) + else + self.btnRank:removeRedPoint() + end + if DataManager.TournWaveData:hasGiftRedPoint() then + self.btnGift:addRedPoint(-75, -5, 0.6) + else + self.btnGift:removeRedPoint() + end +end + +function TournWaveUI:showBountyInfo() + self.bountyPanel:setActive(true) + self.selectBounty:setActive(true) + self.rankPanel:setActive(false) + self.selectRank:setActive(false) + self.giftPanel:setActive(false) + self.selectGift:setActive(false) + self.countdown:setActive(true) + self.bg:setActive(true) + + if not self.compBounty then + self.bountyPanel:initPrefabHelper() + self.bountyPanel:genAllChildren() + self.compBounty = self.bountyPanel:addLuaComponent(COMP_BOUNTY) + end + + self.compBounty:refresh() +end + +function TournWaveUI:showRankInfo() + self.bountyPanel:setActive(false) + self.selectBounty:setActive(false) + self.rankPanel:setActive(true) + self.selectRank:setActive(true) + self.giftPanel:setActive(false) + self.selectGift:setActive(false) + self.countdown:setActive(false) + self.bg:setActive(false) + + ModuleManager.TournWaveManager:reqRankList(DataManager.TournWaveData:getCurRankStep()) + if not self.compRank then + self.rankPanel:initPrefabHelper() + self.rankPanel:genAllChildren() + self.compRank = self.rankPanel:addLuaComponent(COMP_RANK) + end + + self.compRank:refresh() +end + +function TournWaveUI:showGiftInfo() + self.bountyPanel:setActive(false) + self.selectBounty:setActive(false) + self.rankPanel:setActive(false) + self.selectRank:setActive(false) + self.giftPanel:setActive(true) + self.selectGift:setActive(true) + self.countdown:setActive(true) + self.bg:setActive(false) + + if not self.compGift then + self.giftPanel:initPrefabHelper() + self.giftPanel:genAllChildren() + self.compGift = self.giftPanel:addLuaComponent(COMP_GIFT) + end + + self.compGift:refresh() +end + +return TournWaveUI \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua.meta b/lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua.meta new file mode 100644 index 00000000..9a235a03 --- /dev/null +++ b/lua/app/ui/activity/tourn_wave/tourn_wave_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c3c48b9494daada49a21717ce70dd4a8 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua b/lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua new file mode 100644 index 00000000..66330b9b --- /dev/null +++ b/lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua @@ -0,0 +1,46 @@ +local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell" +local SideBarTournWaveCell = class("SideBarTournWaveCell", SideBarBaseCellComp) + +function SideBarTournWaveCell:getModuleKey() + return ModuleManager.MODULE_KEY.ACTIVITY +end + +function SideBarTournWaveCell:getIsOpen() + return DataManager.TournWaveData:isOpen() and DataManager.TournWaveData:isActiveTime() +end + +function SideBarTournWaveCell:getSpineName() + return "ui_main_btn_act_fullmoon" +end + +function SideBarTournWaveCell:onClick() + ModuleManager.TournWaveManager:showActMainUI() +end + +function SideBarTournWaveCell:getIsShowRedPoint() + return DataManager.TournWaveData:hasEntryRedPoint() +end + +function SideBarTournWaveCell:onRefresh() + self.timeBg:setVisible(true) + self:_refreshTime() +end + +function SideBarTournWaveCell:updateTime() + if self:getIsOpen() then + self:_refreshTime() + else + self:closeBtn() + end +end + +function SideBarTournWaveCell:_refreshTime() + local remainTime = DataManager.TournWaveData:getEndRemainTime() + if remainTime >= 0 then + self.timeTx:setText(GFunc.getTimeStr(remainTime)) + else + self.timeTx:setText("00:00:00") + end +end + +return SideBarTournWaveCell \ No newline at end of file diff --git a/lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua.meta new file mode 100644 index 00000000..22d57ac9 --- /dev/null +++ b/lua/app/ui/main_city/cell/side_bar_tourn_wave_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2a27a3856b8ae854a867d2264ee54a70 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/userdata/activity/fourteen_day/fourteen_day_data.lua b/lua/app/userdata/activity/fourteen_day/fourteen_day_data.lua index 0767ba9e..690dc809 100644 --- a/lua/app/userdata/activity/fourteen_day/fourteen_day_data.lua +++ b/lua/app/userdata/activity/fourteen_day/fourteen_day_data.lua @@ -624,7 +624,7 @@ end function FourteenDayData:getGiftRemainTime(giftId) if self:isFreeGift(giftId) then local giftData = DataManager.ShopData:getActGiftDetailData(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId) - if giftData and giftData.latest_buy_at then + if giftData and giftData.buy_count > 0 and giftData.latest_buy_at then if Time:getBeginningOfOneDay(Time:getServerTime()) == Time:getBeginningOfOneDay(giftData.latest_buy_at // 1000) then return 0 end diff --git a/lua/app/userdata/activity/tourn_arena.meta b/lua/app/userdata/activity/tourn_arena.meta new file mode 100644 index 00000000..5e1c9e09 --- /dev/null +++ b/lua/app/userdata/activity/tourn_arena.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a333fbe6fb2c2ed43aac6d319fb913fa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/userdata/activity/tourn_wave.meta b/lua/app/userdata/activity/tourn_wave.meta new file mode 100644 index 00000000..0b8cef7c --- /dev/null +++ b/lua/app/userdata/activity/tourn_wave.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ef93c36d00ed70449ca5eddabc0d378 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua b/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua new file mode 100644 index 00000000..8ec145af --- /dev/null +++ b/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua @@ -0,0 +1,571 @@ +local TournWaveData = class("TournWaveData", BaseData) + +function TournWaveData:ctor() + self.data.isDirty = false + + self.bountyLevel = 1 + self.bountyExp = 0 + self.bountyCollected = {} + self.rankStep = 1 + self.rankStepEndTime = 0 + self.rankCollected = {} +end + +function TournWaveData:clear() + DataManager:unregisterTryOpenFunc("TournWaveData") + DataManager:unregisterCrossDayFunc("TournWaveData") +end + +-- 设置活动数据 +function TournWaveData:setActStatus(data) + data = data or GConst.EMPTY_TABLE + + self.actId = data.id + self.startTime = GFunc.formatTimeStep(data.start_at) + self.endTime = GFunc.formatTimeStep(data.end_at) + + if EDITOR_MODE then + Logger.logHighlight("波次锦标赛活动开启时间:") + Logger.printTable(data) + end + + if not self:isOpen() then + -- 活动开启 + DataManager:registerTryOpenFunc("TournWaveData", function() + if not self:isOpen() then + return + end + if not self:isActiveTime() then + return + end + + DataManager:unregisterTryOpenFunc("TournWaveData") + ModuleManager.TournWaveManager:reqActData() + end) + end +end + +-- 获取活动数据成功 +function TournWaveData:onGetActData(data) + data = data or GConst.EMPTY_TABLE + if EDITOR_MODE then + Logger.logHighlight("波次锦标赛活动数据:") + Logger.printTable(data) + end + + -- 战令 + self.bountyLevel = data.level + self.bountyExp = data.exp + self.bountyCollected = data.collected + -- 排行榜 + self.rankStep = data.present_turn + self.rankStepEndTime = GFunc.formatTimeStep(data.turn_end_at) + self.rankCollected = data.rank_reward_claimed + + -- 跨天 + DataManager:registerCrossDayFunc("TournWaveData", function() + if not self:isOpen() then + return + end + if not self:isActiveTime() then + return + end + + self.ranks = nil + self:setInReset(true) + self:initTaskListener() + self:setDirty() + end) + + self:initTaskListener() + self:setDirty() +end + +function TournWaveData:initTaskListener() + if not self:isOpen() then + return + end + if not self:isActiveTime() then + ModuleManager.TaskManager:unRegisterAllModuleTask("TournWaveData") + return + end + + ModuleManager.TaskManager:registerTask("TournWaveData", GConst.TaskConst.TASK_TYPE.X_BATTLE_PASS_WAVE, function(count) + self:addWaveCount(count) + end) +end + +function TournWaveData:setInReset(isInReset) + self.isInReset = isInReset +end + +function TournWaveData:getIsInReset() + return self.isInReset +end + +function TournWaveData:setDirty() + self.data.isDirty = not self.data.isDirty +end + +function TournWaveData:isOpen() + if GFunc.isShenhe() then + return false + end + if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then + return false + end + return true +end + +-- 是否在活动配置时间内 +function TournWaveData:isActiveTime() + if self.startTime == nil or self.startTime <= 0 then + return false + end + if self.endTime == nil or self.endTime <= 0 then + return false + end + return Time:getServerTime() >= self.startTime and Time:getServerTime() <= self.endTime +end + +-- 获取活动开启剩余时间(秒) +function TournWaveData:getStartRemainTime() + if self.startTime == nil or self.startTime <= 0 then + return 0 + end + return self.startTime - Time:getServerTime() +end + +-- 获取活动结束剩余时间(秒) +function TournWaveData:getEndRemainTime() + if self.endTime == nil or self.endTime <= 0 then + return 0 + end + return self.endTime - Time:getServerTime() +end + +-- 当前为活动第几天 +function TournWaveData:getActDay() + local days = Time:getDistanceDays(self.startTime) + if days < 0 then + days = -days + end + return days + 1 +end + +-- 是否有入口红点 +function TournWaveData:hasEntryRedPoint() + return self:hasBountyRedPoint() or self:hasRankRedPoint() or self:hasGiftRedPoint() +end + +-- 战令-------------------------------------------------------------------------------------------------- + +-- 是否有战令红点 +function TournWaveData:hasBountyRedPoint() + if self:getFirstCanGetBountyRewardLevel() ~= nil then + return true + end + + return false +end + +-- 获取首个可领取奖励的战令等级 +function TournWaveData:getFirstCanGetBountyRewardLevel() + local curLevel = self:getBountyLevel() + + for level, data in ipairs(self:getBountyIdList()) do + if level > curLevel then + break + end + + if self:canGetBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE) then + return true + end + if self:canGetBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1) then + return true + end + if self:canGetBountyReward(level, GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2) then + return true + end + end + + return nil +end + +-- +function TournWaveData:getBountyIdList() + if not self.bountyIdList then + self.bountyIdList = GFunc.getTable(DataManager:getActivityBountyLevelByActId(self.actId) or {}) + table.sort(self.bountyIdList, function(a, b) + return a < b + end) + end + return self.bountyIdList +end + +-- 获取对应等级的配置 +function TournWaveData:getBountyCfgByLevel(level) + return ConfigManager:getConfig("activity_bounty_level")[self:getBountyIdList()[level]] +end + +-- 获取战令档位礼包配置 +function TournWaveData:getBountyGradeGiftCfg(gradeType) + if gradeType == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1 then + return DataManager.ShopData:getActGiftConfig()[GConst.TournWaveConst.BOUNTY_GIFT_ID_1] + elseif gradeType == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2 then + return DataManager.ShopData:getActGiftConfig()[GConst.TournWaveConst.BOUNTY_GIFT_ID_2] + end +end + +-- 战令档位是否已解锁 +function TournWaveData:isBountyGradeUnlock(grade) + if grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE then + return true + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1 then + return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournWaveConst.BOUNTY_GIFT_ID_1) > 0 + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2 then + return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournWaveConst.BOUNTY_GIFT_ID_2) > 0 + end + return false +end + +-- 战令最大等级 +function TournWaveData:getBountyMaxLevel() + return #self:getBountyIdList() +end + +-- 获取当前战令等级 +function TournWaveData:getBountyLevel() + if self.bountyLevel <= self:getBountyMaxLevel() then + return self.bountyLevel + else + return self:getBountyMaxLevel() + end +end + +-- 获取当前等级战令积分 +function TournWaveData:getBountyLevelScore() + return self.bountyExp +end + +-- 获取当前总波次 +function TournWaveData:getBountyTotalScore() + local total = self:getBountyLevelScore() + + for l = 1, self:getBountyLevel() - 1 do + total = total + (self:getBountyCfgByLevel(l).exp or 0) + end + + return total +end + +-- 获取等级所需总积分 +function TournWaveData:getLevelTotalScore(level) + local total = 0 + + if level > 1 then + for l = 1, level - 1 do + total = total + (self:getBountyCfgByLevel(l).exp or 0) + end + end + + return total +end + +-- 获取当前升级所需总积分 +function TournWaveData:getBountyUpgradeScore() + return self:getBountyCfgByLevel(self:getBountyLevel()).exp or 0 +end + +-- 是否满足购买战令等级的条件 +function TournWaveData:canBuyBountyLevel() + if self:getBountyLevel() >= self:getBountyMaxLevel() then + return false + end + + local lastDay = Time:getDistanceDays(self.endTime) + if lastDay < 0 then + lastDay = -lastDay + end + return self:getActDay() >= lastDay +end + +-- 购买战令等级的消耗 +function TournWaveData:getBuyBountyLevelCost() + return GFunc.getConstReward("activity_bounty_cost") +end + +-- 获取战令档位奖励 +function TournWaveData:getBountyGradeReward(level, grade) + local cfg = self:getBountyCfgByLevel(level) + local result + if cfg then + if grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE then + result = cfg.reward + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1 then + result = cfg.reward_pro + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2 then + result = cfg.reward_pro_max + end + end + return result +end + +-- 战令奖励可领取 +function TournWaveData:canGetBountyReward(level, grade) + return self:isReachBountyReward(level, grade) and not self:isReceivedBountyReward(level, grade) +end + +-- 战令奖励是否满足领取条件 +function TournWaveData:isReachBountyReward(level, grade) + local curLevel = self:getBountyLevel() + if curLevel >= level then + return self:isBountyGradeUnlock(grade) + else + return false + end +end + +-- 战令奖励是否已领取 +function TournWaveData:isReceivedBountyReward(level, grade) + local id = self:getBountyIdList()[level] + if self.bountyCollected[id] == nil then + return false + end + + if grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE then + return self.bountyCollected[id].normal + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1 then + return self.bountyCollected[id].superior + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2 then + return self.bountyCollected[id].superior_max + end +end + +-- 战令奖励领取成功 +function TournWaveData:onReceivedBountyReward(successMap) + Logger.logHighlight("战令奖励领取成功") + Logger.printTable(successMap) + for id, grade in pairs(successMap) do + if self.bountyCollected[id] == nil then + self.bountyCollected[id] = {} + end + + if grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.FREE then + self.bountyCollected[id].normal = true + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY1 then + self.bountyCollected[id].superior = true + elseif grade == GConst.TournWaveConst.BOUNTY_GRADE_TYPE.PAY2 then + self.bountyCollected[id].superior_max = true + end + end + + self:setDirty() +end + +-- 解锁战令等级成功 +function TournWaveData:onBoughtBountyLevel() + self.bountyLevel = self.bountyLevel + 1 + self:setDirty() +end + +-- 战令波次改变 +function TournWaveData:addWaveCount(count) + self.bountyExp = self.bountyExp + count + + local upExp = self:getBountyUpgradeScore() + if upExp > 0 and self.bountyExp >= upExp then + self.bountyExp = self.bountyExp - upExp + self.bountyLevel = self.bountyLevel + 1 + end + + self:setDirty() +end + +-- 排行榜-------------------------------------------------------------------------------------------------- + +-- 是否有排行榜红点 +function TournWaveData:hasRankRedPoint() + for rank, id in ipairs(self:getRankIdList()) do + if self:isReachRankReward(rank) and not self:isReceivedRankReward(rank) then + return true + end + end + + return false +end + +-- +function TournWaveData:getRankIdList() + if not self.rankIdList then + self.rankIdList = GFunc.getTable(DataManager:getActivityRankByActId(self.actId) or {}) + table.sort(self.rankIdList, function(a, b) + return a < b + end) + end + return self.rankIdList +end + +-- 获取排行榜的配置 +function TournWaveData:getRankCfgByIndex(index) + return ConfigManager:getConfig("activity_rank")[self:getRankIdList()[index]] +end + +-- 是否是最后一次分组 +function TournWaveData:isFinalDay() + return self:getEndRemainTime() <= 86400 +end + +-- 获取当前排行榜阶段 +function TournWaveData:getCurRankStep() + return self.rankStep +end + +-- 获取排名相应的奖励 +function TournWaveData:getRewardByRank(rank) + for index, id in ipairs(self:getRankIdList()) do + local cfg = ConfigManager:getConfig("activity_rank")[id] + if rank >= cfg.ranking[1] and rank <= cfg.ranking[2] then + return cfg.reward + end + end + return nil +end + +-- 获取当前排行榜阶段剩余时间 +function TournWaveData:getCurRankStepRemainTime() + return self.rankStepEndTime - Time:getServerTime() +end + +-- 获取排行榜数据 +function TournWaveData:getRankListData(step) + if self.ranks == nil then + return nil + end + + return self.ranks[step] and self.ranks[step].ranks or {} +end + +-- 获取自己的排名 +function TournWaveData:getSelfRank(step) + if self.ranks == nil or self.ranks[step] == nil then + return 0 + end + + return self.ranks[step].ownRank +end + +-- 获取自己的积分 +function TournWaveData:getSelfScore(step) + if self.ranks == nil or self.ranks[step] == nil then + return 0 + end + + return self.ranks[step].ownSorce +end + +-- 是否满足段位奖励条件 +function TournWaveData:isReachRankReward() + if self:getCurRankStep() == 1 then + return false + end + + local lastRank = self:getSelfRank(self:getCurRankStep() - 1) + if lastRank and lastRank <= 0 then + return false + end + return not self:isReceivedRankReward() +end + +-- 是否已领取段位奖励 +function TournWaveData:isReceivedRankReward() + if self:getCurRankStep() == 1 then + return false + end + + local received = self.rankCollected[self:getCurRankStep() - 1] + return received ~= nil and received or false +end + +-- 获取排行榜数据成功 +function TournWaveData:onGetRankData(step, ranks, score, ownRank) + if self.ranks == nil then + self.ranks = {} + end + self.ranks[step] = {ownRank = ownRank, ownSorce = score, ranks = ranks} + + self:setDirty() +end + +-- 领取排名奖励成功 +function TournWaveData:onReceivedRankReward() + self.rankCollected[self:getCurRankStep() - 1] = true + + self:setDirty() +end + + +-- 礼包--------------------------------------------------------------------------------------------------- + +-- 是否有礼包红点 +function TournWaveData:hasGiftRedPoint() + local ids = GConst.TournWaveConst.GIFT_IDS + for index, id in pairs(ids) do + if self:isFreeGift(id) and self:getGiftRemainTime(id) > 0 then + return true + end + end + + return false +end + +-- 获取礼包配置 +function TournWaveData:getGiftCfg(giftId) + return DataManager.ShopData:getActGiftConfig()[giftId] +end + +-- 是否是免费礼包 +function TournWaveData:isFreeGift(id) + return DataManager.ShopData:getActGiftConfig()[id].recharge_id == nil +end + +-- 获取礼包id列表 +function TournWaveData:getGiftIdsSort() + local result = {} + local ids = GConst.TournWaveConst.GIFT_IDS + for index, id in ipairs(ids) do + local sort = id + 10000000000 + + if self:isFreeGift(id) then + sort = sort - 10000000 + end + + if self:getGiftRemainTime(id) > 0 then + sort = sort - 10000 + end + table.insert(result, {id = id, sort = sort}) + end + + table.sort(result, function (a, b) + return a.sort < b.sort + end) + + return result +end + +-- 礼包剩余购买次数 +function TournWaveData:getGiftRemainTime(giftId) + if self:isFreeGift(giftId) then + local giftData = DataManager.ShopData:getActGiftDetailData(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId) + if giftData and giftData.buy_count > 0 and giftData.latest_buy_at then + if Time:getBeginningOfOneDay(Time:getServerTime()) == Time:getBeginningOfOneDay(giftData.latest_buy_at // 1000) then + return 0 + end + end + return 1 + else + return DataManager.ShopData:getGiftRemainBuyNum(giftId) + end +end + +return TournWaveData \ No newline at end of file diff --git a/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua.meta b/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua.meta new file mode 100644 index 00000000..56c052b1 --- /dev/null +++ b/lua/app/userdata/activity/tourn_wave/tourn_wave_data.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 788cab35c3ef4184386df9d940a38560 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} From 327cffeb5618854fcc70f65146f7a5c0a667f0b6 Mon Sep 17 00:00:00 2001 From: Fang Date: Fri, 22 Sep 2023 18:16:32 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=AB=9E=E6=8A=80=E5=9C=BA=E9=94=A6?= =?UTF-8?q?=E6=A0=87=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/bi_report.lua | 3 + lua/app/common/data_manager.lua | 11 + lua/app/common/event_manager.lua | 2 + lua/app/common/module_manager.lua | 3 + lua/app/global/global_const.lua | 1 + lua/app/module/activity/tourn_arena.meta | 8 + .../tourn_arena/tourn_arena_const.lua | 30 + .../tourn_arena/tourn_arena_const.lua.meta | 10 + .../tourn_arena/tourn_arena_manager.lua | 133 +++++ .../tourn_arena/tourn_arena_manager.lua.meta | 10 + lua/app/module/arena/arena_manager.lua | 1 + lua/app/module/maincity/maincity_const.lua | 1 + lua/app/ui/activity/tourn_arena.meta | 8 + lua/app/ui/activity/tourn_arena/cell.meta | 8 + .../cell/tourn_arena_bounty_cell.lua | 62 ++ .../cell/tourn_arena_bounty_cell.lua.meta | 10 + .../cell/tourn_arena_gift_cell.lua | 56 ++ .../cell/tourn_arena_gift_cell.lua.meta | 10 + .../cell/tourn_arena_rank_cell.lua | 61 ++ .../cell/tourn_arena_rank_cell.lua.meta | 10 + .../cell/tourn_arena_rank_reward_cell.lua | 61 ++ .../tourn_arena_rank_reward_cell.lua.meta | 10 + .../tourn_arena/tourn_arena_bounty_comp.lua | 99 ++++ .../tourn_arena_bounty_comp.lua.meta | 10 + .../tourn_arena/tourn_arena_gift_comp.lua | 28 + .../tourn_arena_gift_comp.lua.meta | 10 + .../tourn_arena/tourn_arena_rank_comp.lua | 204 +++++++ .../tourn_arena_rank_comp.lua.meta | 10 + .../activity/tourn_arena/tourn_arena_ui.lua | 210 +++++++ .../tourn_arena/tourn_arena_ui.lua.meta | 10 + .../cell/side_bar_tourn_arena_cell.lua | 46 ++ .../cell/side_bar_tourn_arena_cell.lua.meta | 10 + .../activity/tourn_arena/tourn_arena_data.lua | 540 ++++++++++++++++++ .../tourn_arena/tourn_arena_data.lua.meta | 10 + 34 files changed, 1696 insertions(+) create mode 100644 lua/app/module/activity/tourn_arena.meta create mode 100644 lua/app/module/activity/tourn_arena/tourn_arena_const.lua create mode 100644 lua/app/module/activity/tourn_arena/tourn_arena_const.lua.meta create mode 100644 lua/app/module/activity/tourn_arena/tourn_arena_manager.lua create mode 100644 lua/app/module/activity/tourn_arena/tourn_arena_manager.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena.meta create mode 100644 lua/app/ui/activity/tourn_arena/cell.meta create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua create mode 100644 lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua.meta create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua create mode 100644 lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua.meta create mode 100644 lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua create mode 100644 lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua.meta create mode 100644 lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua create mode 100644 lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua.meta diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua index fafa56a1..2c572a4e 100644 --- a/lua/app/common/bi_report.lua +++ b/lua/app/common/bi_report.lua @@ -173,6 +173,9 @@ BIReport.ITEM_GET_TYPE = { TOURN_WAVE_BOUNTY_LEVEL = "TournWaveBountyLevel", TOURN_WAVE_RANK_REWARD = "TournWaveRankReward", TOURN_WAVE_GIFT = "TournWaveGift", + TOURN_ARENA_BOUNTY_REWARD = "TournArenaBountyReward", + TOURN_ARENA_BOUNTY_LEVEL = "TournArenaBountyLevel", + TOURN_ARENA_RANK_REWARD = "TournArenaRankReward", TOURN_ARENA_GIFT = "TournArenaGift", FULL_MOON_TASK = "FullMoonTask", FULL_MOON_TASK_PROG_REWARD = "FullMoonTaskProgReward", diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua index 1e9732c4..b773b5a9 100644 --- a/lua/app/common/data_manager.lua +++ b/lua/app/common/data_manager.lua @@ -35,6 +35,7 @@ function DataManager:init() self:initManager("SummonData", "app/userdata/summon/summon_data") self:initManager("FullMoonData", "app/userdata/activity/full_moon/full_moon_data") self:initManager("TournWaveData", "app/userdata/activity/tourn_wave/tourn_wave_data") + self:initManager("TournArenaData", "app/userdata/activity/tourn_arena/tourn_arena_data") self:initManager("AIHelperData", "app/userdata/game_setting/ai_helper_data") self:initManager("HeroFundData", "app/userdata/activity/hero_fund/hero_fund_data") self:initManager("ActBossRushData", "app/userdata/activity/act_boss_rush/act_boss_rush_data") @@ -125,6 +126,7 @@ function DataManager:clear() self.SummonData:clear() self.FullMoonData:clear() self.TournWaveData:clear() + self.TournArenaData:clear() -- 任务数据最后清理 self.TaskData:clear() self.AIHelperData:clear() @@ -542,6 +544,11 @@ DataManager.activityOpenFunc = { ModuleManager.TournWaveManager:reqActData() ModuleManager.TournWaveManager:initTimer() end, + [6] = function(params) + DataManager.TournArenaData:setActStatus(params) + ModuleManager.TournArenaManager:reqActData() + ModuleManager.TournArenaManager:initTimer() + end, } DataManager.waitOpenActivity = { @@ -562,6 +569,10 @@ DataManager.waitOpenActivity = { DataManager.TournWaveData:setActStatus(params) ModuleManager.TournWaveManager:initTimer() end, + [6] = function(params) + DataManager.TournArenaData:setActStatus(params) + ModuleManager.TournArenaManager:initTimer() + end, } return DataManager \ No newline at end of file diff --git a/lua/app/common/event_manager.lua b/lua/app/common/event_manager.lua index e9165573..8317bab4 100644 --- a/lua/app/common/event_manager.lua +++ b/lua/app/common/event_manager.lua @@ -47,6 +47,7 @@ EventManager.CUSTOM_EVENT = { ARENA_RECORD_SUCCESS = "ARENA_RECORD_SUCCESS",-- 战报获取成功 ARENA_RANK_SUCCESS = "ARENA_RANK_SUCCESS",-- 排行榜获取成功 ARENA_AD_BOX_SUCCESS = "ARENA_AD_BOX_SUCCESS",-- ad宝箱获取成功 + ARENA_BATTLE_SETTLEMENT = "ARENA_BATTLE_SETTLEMENT",-- 竞技场战斗结算 -- 图鉴 COLLECTION_CLICK_GET_POINT = "COLLECTION_CLICK_GET_POINT", -- 装备 @@ -64,6 +65,7 @@ EventManager.CUSTOM_EVENT = { ACTIVITY_SUMMER_END = "ACTIVITY_SUMMER_END", ACTIVITY_FULL_MOON_END = "ACTIVITY_FULL_MOON_END", ACTIVITY_TOURN_WAVE_END = "ACTIVITY_TOURN_WAVE_END", + ACTIVITY_TOURN_ARENA_END = "ACTIVITY_TOURN_ARENA_END", MAIN_UI_CHECK_SIDE_BAR = "MAIN_UI_CHECK_SIDE_BAR", FORMATION_CHANGE = "FORMATION_CHANGE", BATTLE_REBIRTH = "BATTLE_REBIRTH", diff --git a/lua/app/common/module_manager.lua b/lua/app/common/module_manager.lua index 404ad486..4900ebd3 100644 --- a/lua/app/common/module_manager.lua +++ b/lua/app/common/module_manager.lua @@ -81,6 +81,8 @@ local MODULE_PATHS = { FullMoonManager = "app/module/activity/full_moon/full_moon_manager", -- 波次锦标赛活动 TournWaveManager = "app/module/activity/tourn_wave/tourn_wave_manager", + -- 竞技场锦标赛活动 + TournArenaManager = "app/module/activity/tourn_arena/tourn_arena_manager", -- 符文副本 DungeonRuneManager = "app/module/dungeon_rune/dungeon_rune_manager", -- 梦魇酒馆 @@ -141,6 +143,7 @@ function ModuleManager:init() ModuleManager.DailyChallengeManager:init() ModuleManager.PlayerManager:init() ModuleManager.SkinManager:init() + ModuleManager.TournArenaManager:init() end -- 功能是否开启 diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua index 807f05f6..894e95fa 100644 --- a/lua/app/global/global_const.lua +++ b/lua/app/global/global_const.lua @@ -25,6 +25,7 @@ local CONST_PATHS = { DungeonRuneConst = "app/module/dungeon_rune/dungeon_rune_const", FullMoonConst = "app/module/activity/full_moon/full_moon_const", TournWaveConst = "app/module/activity/tourn_wave/tourn_wave_const", + TournArenaConst = "app/module/activity/tourn_arena/tourn_arena_const", } if EDITOR_MODE then diff --git a/lua/app/module/activity/tourn_arena.meta b/lua/app/module/activity/tourn_arena.meta new file mode 100644 index 00000000..e4564094 --- /dev/null +++ b/lua/app/module/activity/tourn_arena.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a51eb4f4ea887b4fb3681027bf8e553 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/module/activity/tourn_arena/tourn_arena_const.lua b/lua/app/module/activity/tourn_arena/tourn_arena_const.lua new file mode 100644 index 00000000..7f317d36 --- /dev/null +++ b/lua/app/module/activity/tourn_arena/tourn_arena_const.lua @@ -0,0 +1,30 @@ +local TournArenaConst = {} + +-- 界面 +TournArenaConst.PANEL_TYPE = { + BOUNTY = 1, + RANK = 2, + GIFT = 3, +} + +-- 战令档位 +TournArenaConst.BOUNTY_GRADE_TYPE = { + FREE = 0, + PAY1 = 1, + PAY2 = 2, +} + +-- 战令礼包id +TournArenaConst.BOUNTY_GIFT_ID_1 = 240102 +TournArenaConst.BOUNTY_GIFT_ID_2 = 240202 + +TournArenaConst.GIFT_IDS = { + 240302, + 240402, + 240502, + 240602, + 240702, + 240802, +} + +return TournArenaConst \ No newline at end of file diff --git a/lua/app/module/activity/tourn_arena/tourn_arena_const.lua.meta b/lua/app/module/activity/tourn_arena/tourn_arena_const.lua.meta new file mode 100644 index 00000000..0dfcb7b5 --- /dev/null +++ b/lua/app/module/activity/tourn_arena/tourn_arena_const.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fcf392b8e24fe79459d4bb5f8eb0c5d7 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua b/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua new file mode 100644 index 00000000..8693c47f --- /dev/null +++ b/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua @@ -0,0 +1,133 @@ +local TournArenaManager = class("TournArenaManager", BaseModule) + +function TournArenaManager:init() + self:addEventListener(EventManager.CUSTOM_EVENT.ARENA_BATTLE_SETTLEMENT, function(isWin) + self:reqActData() + end) +end + +function TournArenaManager:showActMainUI() + UIManager:showUI("app/ui/activity/tourn_arena/tourn_arena_ui") +end + +-- 初始化计时器 +function TournArenaManager:initTimer() + self:unscheduleGlobal(self.actSid) + + if DataManager.TournArenaData:isActiveTime() then + Logger.logHighlight("竞技场锦标赛活动结束倒计时:"..DataManager.TournArenaData:getEndRemainTime()) + self.actSid = self:performWithDelayGlobal(function() + Logger.logHighlight("竞技场锦标赛活动结束") + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.ACTIVITY_TOURN_ARENA_END) + end, DataManager.TournArenaData:getEndRemainTime()) + elseif DataManager.TournArenaData:getStartRemainTime() > 0 then + Logger.logHighlight("竞技场锦标赛活动开始倒计时:"..DataManager.TournArenaData:getStartRemainTime()) + self.actSid = self:performWithDelayGlobal(function() + Logger.logHighlight("竞技场锦标赛活动开始") + self:reqActData() + end, DataManager.TournArenaData:getStartRemainTime()) + end +end + +-- 购买活动战令 +function TournArenaManager:buyBounty(giftId) + PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT) +end + +-- 请求活动数据 +function TournArenaManager:reqActData() + if not DataManager.TournArenaData:isOpen() then + return + end + if not DataManager.TournArenaData:isActiveTime() then + return + end + if self.isReqActData then + return + end + + self.isReqActData = true + self:sendMessage(ProtoMsgType.FromMsgEnum.TournArenaDataReq, {}, {}, self.rspActData, nil) +end + +function TournArenaManager:rspActData(result) + self.isReqActData = false + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournArenaData:onGetActData(result.tourn_arena) + end +end + +-- 请求战令奖励 +function TournArenaManager:reqBountyReward(id, grade) + self:sendMessage(ProtoMsgType.FromMsgEnum.TournArenaBountyClaimReq, {id = id, grade = grade}, {}, self.rspBountyReward, BIReport.ITEM_GET_TYPE.TOURN_ARENA_BOUNTY_REWARD) +end + +function TournArenaManager:rspBountyReward(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournArenaData:onReceivedBountyReward(result.success_id_grade) + + GFunc.showRewardBox(result.rewards) + end +end + +-- 购买战令等级 +function TournArenaManager:reqBuyBountyLevel() + local cost = DataManager.TournArenaData:getBuyBountyLevelCost() + local costId = GFunc.getRewardId(cost) + local costNum = GFunc.getRewardNum(cost) + if not GFunc.checkCost(costId, costNum, true) then + return + end + local params ={ + titleTx = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_TITLE), + content = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_COUNTENT), + boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL, + showToday = GConst.MESSAGE_BOX_SHOW_TODAY.ACTIVITY_BUY_LEVEL, + costId = costId, + costNum = costNum, + okFunc = function() + local id = DataManager.TournArenaData:getBountyCfgByLevel(DataManager.TournArenaData:getBountyLevel() + 1).id + -- Logger.logHighlight("购买战令等级:"..id) + self:sendMessage(ProtoMsgType.FromMsgEnum.TournArenaBountyClaimByDiamondReq, {id = id}, {}, self.rspBuyBountyLevel, BIReport.ITEM_GET_TYPE.TOURN_ARENA_BOUNTY_LEVEL) + end, + } + GFunc.showMessageBox(params) +end + +function TournArenaManager:rspBuyBountyLevel(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournArenaData:onBoughtBountyLevel() + end +end + +-- 获取排行榜数据 +function TournArenaManager:reqRankList(turn) + if turn == self.isReqRankList then + return + end + + self.isReqRankList = turn + self:sendMessage(ProtoMsgType.FromMsgEnum.TournArenaRankReq, {turn = turn}, {}, self.rspRankList, nil) +end + +function TournArenaManager:rspRankList(result) + self.isReqRankList = nil + DataManager.TournArenaData:setInReset(false) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournArenaData:onGetRankData(result.reqData.turn, result.ranks, result.score, result.own_rank) + end +end + +-- 领取排行榜奖励 +function TournArenaManager:reqRankReward() + self:sendMessage(ProtoMsgType.FromMsgEnum.TournArenaRankClaimRewardReq, {}, {}, self.rspRankReward, BIReport.ITEM_GET_TYPE.TOURN_ARENA_RANK_REWARD) +end + +function TournArenaManager:rspRankReward(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + DataManager.TournArenaData:onReceivedRankReward() + GFunc.showRewardBox(result.rewards) + end +end + +return TournArenaManager \ No newline at end of file diff --git a/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua.meta b/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua.meta new file mode 100644 index 00000000..940f76ea --- /dev/null +++ b/lua/app/module/activity/tourn_arena/tourn_arena_manager.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c3b14de198ed03f42b62c82328c27519 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/arena/arena_manager.lua b/lua/app/module/arena/arena_manager.lua index 10047321..eec4643a 100644 --- a/lua/app/module/arena/arena_manager.lua +++ b/lua/app/module/arena/arena_manager.lua @@ -149,6 +149,7 @@ function ArenaManager:rspSettlement(result) end end ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_ARENA_CHALLENGE) + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.ARENA_BATTLE_SETTLEMENT, result.settlement.win) --bi上报 local winRate = result.total_win_count / (result.total_win_count + result.total_lose_count) diff --git a/lua/app/module/maincity/maincity_const.lua b/lua/app/module/maincity/maincity_const.lua index 5e7b90cb..e4b05296 100644 --- a/lua/app/module/maincity/maincity_const.lua +++ b/lua/app/module/maincity/maincity_const.lua @@ -38,6 +38,7 @@ MainCityConst.LEFT_SIDE_BARS = { "app/ui/main_city/cell/side_bar_activity_cell", "app/ui/main_city/cell/side_bar_full_moon_cell", "app/ui/main_city/cell/side_bar_tourn_wave_cell", + "app/ui/main_city/cell/side_bar_tourn_arena_cell", -- gm放最后一个 "app/ui/main_city/cell/side_bar_gm_cell" } diff --git a/lua/app/ui/activity/tourn_arena.meta b/lua/app/ui/activity/tourn_arena.meta new file mode 100644 index 00000000..940dcb21 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0db3ebc134726304cb0a40fd23ab52b8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/ui/activity/tourn_arena/cell.meta b/lua/app/ui/activity/tourn_arena/cell.meta new file mode 100644 index 00000000..7e6af678 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6fdea40bf29965944b9ae4c5184361b1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua new file mode 100644 index 00000000..100d63f2 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua @@ -0,0 +1,62 @@ +local TournArenaBountyCell = class("TournArenaBountyCell", BaseCell) + +function TournArenaBountyCell:init() + local uiMap = self:getUIMap() + self.txLevel = uiMap["tourn_arena_bounty_cell.level.tx_level"] + self.rewardCell1 = uiMap["tourn_arena_bounty_cell.reward_cell_1"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + self.rewardCell2 = uiMap["tourn_arena_bounty_cell.reward_cell_2"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + self.rewardCell3 = uiMap["tourn_arena_bounty_cell.reward_cell_3"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL) +end + +function TournArenaBountyCell:refresh(level, id) + self.id = id + self.txLevel:setText(DataManager.TournArenaData:getLevelTotalScore(level)) + + local isGet + + isGet = DataManager.TournArenaData:isReceivedBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE) + self.rewardCell1:refreshByConfig(DataManager.TournArenaData:getBountyGradeReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE), isGet, isGet) + self.rewardCell1:showLock(not DataManager.TournArenaData:isBountyGradeUnlock(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE)) + if DataManager.TournArenaData:canGetBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE) then + self.rewardCell1.baseObject:addRedPoint(50, 50, 0.6) + self.rewardCell1:addClickListener(function() + self:onClickReward(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE) + end) + else + self.rewardCell1.baseObject:removeRedPoint() + self.rewardCell1:addClickListener(nil) + end + + isGet = DataManager.TournArenaData:isReceivedBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1) + self.rewardCell2:refreshByConfig(DataManager.TournArenaData:getBountyGradeReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1), isGet, isGet) + self.rewardCell2:showLock(not DataManager.TournArenaData:isBountyGradeUnlock(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1)) + if DataManager.TournArenaData:canGetBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1) then + self.rewardCell2.baseObject:addRedPoint(50, 50, 0.6) + self.rewardCell2:addClickListener(function() + self:onClickReward(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1) + end) + else + self.rewardCell2.baseObject:removeRedPoint() + self.rewardCell2:addClickListener(nil) + end + + isGet = DataManager.TournArenaData:isReceivedBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2) + self.rewardCell3:refreshByConfig(DataManager.TournArenaData:getBountyGradeReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2), isGet, isGet) + self.rewardCell3:showLock(not DataManager.TournArenaData:isBountyGradeUnlock(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2)) + if DataManager.TournArenaData:canGetBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2) then + self.rewardCell3.baseObject:addRedPoint(50, 50, 0.6) + self.rewardCell3:addClickListener(function() + self:onClickReward(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2) + end) + else + self.rewardCell3.baseObject:removeRedPoint() + self.rewardCell3:addClickListener(nil) + end +end + +-- 领取奖励 +function TournArenaBountyCell:onClickReward(grade) + ModuleManager.TournArenaManager:reqBountyReward(self.id, grade) +end + +return TournArenaBountyCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua.meta b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua.meta new file mode 100644 index 00000000..d9f8c6aa --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ede94bb5b293fd84487866bda65bc97e +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua new file mode 100644 index 00000000..d940d631 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua @@ -0,0 +1,56 @@ +local TournArenaGiftCell = class("TournArenaGiftCell", BaseCell) + +function TournArenaGiftCell:init() + local uiMap = self:getUIMap() + + self.txLimit = uiMap["tourn_arena_gift_cell.tx_limit"] + self.txBuy = uiMap["tourn_arena_gift_cell.tx_buy"] + self.imgOff = uiMap["tourn_arena_gift_cell.off_img"] + self.txOff = uiMap["tourn_arena_gift_cell.off_img.tx_off"] + self.rewards = {} + for i = 1, 3 do + table.insert(self.rewards, uiMap["tourn_arena_gift_cell.reward_cell_"..i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end + + self:addClickListener(function() + if DataManager.TournArenaData:getGiftRemainTime(self.id) > 0 then + PayManager:purchasePackage(self.id, PayManager.PURCHARSE_TYPE.ACT_GIFT) + end + end) +end + +function TournArenaGiftCell:refresh(id) + self.id = id + local cfg = DataManager.ShopData:getActGiftConfig()[self.id] + local time = DataManager.TournArenaData:getGiftRemainTime(self.id) + + self.txLimit:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, time)) + + for idx, reward in ipairs(self.rewards) do + if cfg.reward[idx] then + reward:setVisible(true) + reward:refreshByConfig(cfg.reward[idx]) + else + reward:setVisible(false) + end + end + + local buyStr + if cfg.recharge_id then + self.baseObject:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_bg_6") + self.imgOff:setActive(true) + self.txOff:setText(cfg.value .. "%") + buyStr = GFunc.getFormatPrice(cfg.recharge_id) + else + self.baseObject:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_bg_5") + self.imgOff:setActive(false) + buyStr = I18N:getGlobalText(I18N.GlobalConst.STR_FREE) + end + + if time <= 0 then + buyStr = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20) + end + self.txBuy:setText(buyStr) +end + +return TournArenaGiftCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua.meta b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua.meta new file mode 100644 index 00000000..f39234fd --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 88465b50d54bb764eaa2aa91a489e08d +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua new file mode 100644 index 00000000..d1f7438b --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua @@ -0,0 +1,61 @@ +local TournArenaRankCell = class("TournArenaRankCell", BaseCell) + +local RANK_IMG = {"act_ranking_1", "act_ranking_2", "act_ranking_3"} +local BG = {"common_bg_8", "common_bg_9", "common_bg_10", "common_bg_11"} + +function TournArenaRankCell:init() + local uiMap = self:getUIMap() + + self.txRank = uiMap["tourn_arena_rank_cell.tx_rank"] + self.imgRank = uiMap["tourn_arena_rank_cell.img_rank"] + self.playerHeadCell = uiMap["tourn_arena_rank_cell.player_head_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + self.txName = uiMap["tourn_arena_rank_cell.tx_name"] + self.txScore = uiMap["tourn_arena_rank_cell.tx_score"] + self.rewards = uiMap["tourn_arena_rank_cell.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.rewardCells = {} + for i = 1, 3 do + table.insert(self.rewardCells, uiMap["tourn_arena_rank_cell.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end +end + +function TournArenaRankCell:refresh(rank, info) + self.playerHeadCell:refresh(info.avatar, info.avatar_frame) + local name = info.name + if name == nil or #name == 0 then + name = I18N:getGlobalText(I18N.GlobalConst.NEW_PLAYER) + end + self.txName:setText(name) + self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_16)..":"..info.score) + + if BG[rank] then + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[rank]) + else + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[4]) + end + + if RANK_IMG[rank] then + self.imgRank:setActive(true) + self.imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_IMG[rank]) + self.txRank:setText(GConst.EMPTY_STRING) + else + self.imgRank:setActive(false) + if info.score > 0 then + self.txRank:setText(rank) + else + self.txRank:setText("--") + end + end + + local rewards = DataManager.TournArenaData:getRewardByRank(rank) + for index, cell in ipairs(self.rewardCells) do + if rewards[index] then + cell:setVisible(true) + cell:refreshByConfig(rewards[index]) + else + cell:setVisible(false) + end + end + self.rewards:RefreshLayout() +end + +return TournArenaRankCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua.meta b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua.meta new file mode 100644 index 00000000..57fc98b8 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0701b2f9d5a616241b15a566c048cbf5 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua new file mode 100644 index 00000000..6990a9d3 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua @@ -0,0 +1,61 @@ +local TournArenaRankRewardCell = class("TournArenaRankRewardCell", BaseCell) + +local RANK_IMG = {"act_ranking_1", "act_ranking_2", "act_ranking_3"} +local BG = {"common_bg_8", "common_bg_9", "common_bg_10", "common_bg_11"} + +function TournArenaRankRewardCell:init() + local uiMap = self:getUIMap() + + self.txRank = uiMap["tourn_arena_rank_reward_cell.tx_rank"] + self.imgRank = uiMap["tourn_arena_rank_reward_cell.img_rank"] + self.rewards = uiMap["tourn_arena_rank_reward_cell.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.rewardCells = {} + for i = 1, 3 do + table.insert(self.rewardCells, uiMap["tourn_arena_rank_reward_cell.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end +end + +function TournArenaRankRewardCell:refresh(index) + local info = DataManager.TournArenaData:getRankCfgByIndex(index) + local ranking1 = info.ranking[1] + local ranking2 = info.ranking[2] + + if BG[ranking1] then + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[ranking1]) + else + self.baseObject:setSprite(GConst.ATLAS_PATH.COMMON, BG[4]) + end + + if RANK_IMG[ranking1] then + self.imgRank:setActive(true) + self.imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_IMG[ranking1]) + self.txRank:setText(GConst.EMPTY_STRING) + else + self.imgRank:setActive(false) + local rankStr = ranking1 .. "-" + if ranking2 then + rankStr = rankStr .. ranking2 + else + rankStr = rankStr .. "-" + end + if ranking1 == ranking2 then + rankStr = ranking1 + end + if index == #DataManager.TournArenaData:getRankIdList() then + rankStr = ranking1 .. "+" + end + self.txRank:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_23, rankStr)) + end + + for index, cell in ipairs(self.rewardCells) do + if info.reward[index] then + cell:setVisible(true) + cell:refreshByConfig(info.reward[index]) + else + cell:setVisible(false) + end + end + self.rewards:RefreshLayout() +end + +return TournArenaRankRewardCell \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua.meta b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua.meta new file mode 100644 index 00000000..1b0d26b7 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 39da646b9dfd3154ea5eb18ea98c12d7 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua b/lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua new file mode 100644 index 00000000..21398357 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua @@ -0,0 +1,99 @@ +local TournArenaBountyComp = class("TournArenaBountyComp", LuaComponent) + +function TournArenaBountyComp:init() + local uiMap = self:getUIMap() + self.txDesc = uiMap["bounty_panel.tx_desc"] + self.txFree = uiMap["bounty_panel.title.free.tx_free"] + self.txCurScore = uiMap["bounty_panel.title.cur_level.tx_level"] + -- 档位1 + self.txBuyed1 = uiMap["bounty_panel.title.buy1.tx_buyed"] + self.btnBuy1 = uiMap["bounty_panel.title.buy1.btn_buy"] + self.txBuy1 = uiMap["bounty_panel.title.buy1.btn_buy.tx_buy"] + -- 档位2 + self.txBuyed2 = uiMap["bounty_panel.title.buy2.tx_buyed"] + self.btnBuy2 = uiMap["bounty_panel.title.buy2.btn_buy"] + self.txBuy2 = uiMap["bounty_panel.title.buy2.btn_buy.tx_buy"] + + self.scrollrectComp = uiMap["bounty_panel.list_bounty"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.progLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog"] + self.imgProgLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER) + self.maskLevel = uiMap["bounty_panel.list_bounty.viewport.content.mask_img"] + self.lineLevel = uiMap["bounty_panel.list_bounty.viewport.content.line"] + self.btnBuyLevel = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level"] + self.txBuyLevelNum = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.tx_num"] + self.imgBuyLevelIcon = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.icon"] + + self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_ARENEA_DESC_1)) + self.txFree:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE)) + self.txBuyed1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20)) + self.txBuyed2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20)) + + self.bountyIdList = DataManager.TournArenaData:getBountyIdList() + self.scrollrectComp:addInitCallback(function() + self.maskLevel:getTransform():SetAsLastSibling() + self.lineLevel:getTransform():SetAsLastSibling() + return "app/ui/activity/tourn_arena/cell/tourn_arena_bounty_cell" + end) + self.scrollrectComp:addRefreshCallback(function(index, cell) + cell:refresh(index, self.bountyIdList[index]) + end) + self.scrollrectComp:clearCells() + self.scrollrectComp:refillCells(DataManager.TournArenaData:getBountyMaxLevel()) + + self.btnBuy1:addClickListener(function() + ModuleManager.TournArenaManager:buyBounty(GConst.TournArenaConst.BOUNTY_GIFT_ID_1) + end) + self.btnBuy2:addClickListener(function() + ModuleManager.TournArenaManager:buyBounty(GConst.TournArenaConst.BOUNTY_GIFT_ID_2) + end) + self.btnBuyLevel:addClickListener(function() + ModuleManager.TournArenaManager:reqBuyBountyLevel() + end) + self:bind(DataManager.TournArenaData, "isDirty", function() + self:refresh(true) + end) + self:bind(DataManager.ShopData, "isDirty", function() + self:refresh(true) + end) +end + +function TournArenaBountyComp:refresh(notUpdatePos) + self.btnBuyLevel:setActive(DataManager.TournArenaData:canBuyBountyLevel()) + self.txCurScore:setText(DataManager.TournArenaData:getBountyTotalScore()) + + -- 档位展示 + self.btnBuy1:setActive(not DataManager.TournArenaData:isBountyGradeUnlock(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1)) + self.btnBuy2:setActive(not DataManager.TournArenaData:isBountyGradeUnlock(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2)) + + local gift1 = DataManager.TournArenaData:getBountyGradeGiftCfg(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1) + local gift2 = DataManager.TournArenaData:getBountyGradeGiftCfg(GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2) + self.txBuy1:setText(GFunc.getFormatPrice(gift1.recharge_id)) + self.txBuy2:setText(GFunc.getFormatPrice(gift2.recharge_id)) + self.txBuyLevelNum:setText(GFunc.getRewardNum(DataManager.TournArenaData:getBuyBountyLevelCost())) + GFunc.centerImgAndTx(self.imgBuyLevelIcon, self.txBuyLevelNum, 5) + + -- 等级列表 + local maxLevel = DataManager.TournArenaData:getBountyMaxLevel() + local curLevel = DataManager.TournArenaData:getBountyLevel() + local topRecoveryOffset = self.scrollrectComp:getTopRecoveryOffset() + local downRecoveryOffset = self.scrollrectComp:getDownRecoveryOffset() + local cellHeight = self.scrollrectComp:getCellHeight() + if curLevel >= maxLevel then + self.lineLevel:setVisible(false) + else + self.lineLevel:setVisible(true) + self.lineLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight) + end + self.progLevel:setAnchoredPositionY((topRecoveryOffset + downRecoveryOffset) / 2 - cellHeight / 2 - 10) + self.progLevel:setSizeDeltaY(cellHeight * (maxLevel - 1)) + self.imgProgLevel.value = DataManager.TournArenaData:getBountyTotalScore() / DataManager.TournArenaData:getLevelTotalScore(#DataManager.TournArenaData:getBountyIdList()) + self.maskLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight) + self.maskLevel:setSizeDeltaY(cellHeight * maxLevel + GConst.UI_SCREEN_HEIGHT) + self.scrollrectComp:updateAllCell() + if not notUpdatePos then + local rewardLevel = DataManager.TournArenaData:getFirstCanGetBountyRewardLevel() + self.scrollrectComp:moveToIndex(rewardLevel or curLevel) + end +end + +return TournArenaBountyComp \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua.meta b/lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua.meta new file mode 100644 index 00000000..881da977 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_bounty_comp.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: add50f9a8e4e59c438d243609ebb1951 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua b/lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua new file mode 100644 index 00000000..59cb482d --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua @@ -0,0 +1,28 @@ +local TournArenaGiftComp = class("TournArenaGiftComp", LuaComponent) + +function TournArenaGiftComp:init() + local uiMap = self:getUIMap() + self.scrollrectComp = uiMap["gift_panel.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + + self.scrollrectComp:addInitCallback(function() + return "app/ui/activity/tourn_arena/cell/tourn_arena_gift_cell" + end) + self.scrollrectComp:addRefreshCallback(function(index, cell) + cell:refresh(self.giftList[index].id) + end) + + self:bind(DataManager.TournArenaData, "isDirty", function() + self:refresh() + end) + self:bind(DataManager.ShopData, "isDirty", function() + self:refresh() + end) +end + +function TournArenaGiftComp:refresh() + self.giftList = DataManager.TournArenaData:getGiftIdsSort() + self.scrollrectComp:clearCells() + self.scrollrectComp:refillCells(#self.giftList) +end + +return TournArenaGiftComp \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua.meta b/lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua.meta new file mode 100644 index 00000000..b14dc28f --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_gift_comp.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b6ea3f91f034273478a904f0ca403424 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua b/lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua new file mode 100644 index 00000000..2f58403c --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua @@ -0,0 +1,204 @@ +local TournArenaRankComp = class("TournArenaRankComp", LuaComponent) + +local SHOW_TYPE = { + CUR_RANK = 1, + LAST_RANK = 2, + REWARD = 3, +} + +local RANK_IMG = {"act_ranking_1", "act_ranking_2", "act_ranking_3"} + +function TournArenaRankComp:onClose() + if self.countdownSid then + self.baseObject:unscheduleGlobal(self.countdownSid) + self.countdownSid = nil + end +end + +function TournArenaRankComp:init() + local uiMap = self:getUIMap() + + self.txEmpty = uiMap["rank_panel.tx_empty"] + self.btnHelp = uiMap["rank_panel.btn_help"] + self.btns = uiMap["rank_panel.btns"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.btnCur = uiMap["rank_panel.btns.btn_cur"] + self.txCur = uiMap["rank_panel.btns.btn_cur.tx_cur"] + self.btnLast = uiMap["rank_panel.btns.btn_last"] + self.txLast = uiMap["rank_panel.btns.btn_last.tx_last"] + self.btnReward = uiMap["rank_panel.btns.btn_reward"] + self.txReward = uiMap["rank_panel.btns.btn_reward.tx_reward"] + self.txCountdown = uiMap["rank_panel.tx_countdown"] + self.listRewardComp = uiMap["rank_panel.list_reward"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.listRankComp = uiMap["rank_panel.list_rank"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + -- 自己排名 + self.imgRank = uiMap["rank_panel.my_rank.img_rank"] + self.txRank = uiMap["rank_panel.my_rank.tx_rank"] + self.txName = uiMap["rank_panel.my_rank.tx_name"] + self.txScore = uiMap["rank_panel.my_rank.tx_score"] + self.playerHeadCell = uiMap["rank_panel.my_rank.player_head_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + self.rewards = uiMap["rank_panel.my_rank.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT) + self.rewardCells = {} + for i = 1, 3 do + table.insert(self.rewardCells, uiMap["rank_panel.my_rank.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)) + end + + self.txEmpty:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_8)) + self.txCur:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_BTN_1)) + self.txLast:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_BTN_2)) + self.txReward:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_BTN_3)) + self:refreshCountdown() + + self.listRankComp:addInitCallback(function() + return "app/ui/activity/tourn_arena/cell/tourn_arena_rank_cell" + end) + self.listRankComp:addRefreshCallback(function(index, cell) + cell:refresh(index, self.rankDataList[index]) + end) + self.listRewardComp:addInitCallback(function() + return "app/ui/activity/tourn_arena/cell/tourn_arena_rank_reward_cell" + end) + self.listRewardComp:addRefreshCallback(function(index, cell) + cell:refresh(index) + end) + + self.btnHelp:addClickListener(function() + local params = { + type = GConst.TipsConst.HELP_TIPS_TYPE.ARENA, + title = I18N:getGlobalText(I18N.GlobalConst.COLLECTION_DESC_11), + desc = I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_ARENEA_HELP), + } + ModuleManager.TipsManager:showHelpTips(params) + end) + self.btnCur:addClickListener(function() + ModuleManager.TournArenaManager:reqRankList(DataManager.TournArenaData:getCurRankStep()) + self:refresh(SHOW_TYPE.CUR_RANK) + end) + self.btnLast:addClickListener(function() + ModuleManager.TournArenaManager:reqRankList(DataManager.TournArenaData:getCurRankStep() - 1) + self:refresh(SHOW_TYPE.LAST_RANK) + end) + self.btnReward:addClickListener(function() + self:refresh(SHOW_TYPE.REWARD) + end) + self:bind(DataManager.TournArenaData, "isDirty", function() + self:refresh() + end) +end + +function TournArenaRankComp:refresh(showType) + self.showType = showType or self.showType or SHOW_TYPE.CUR_RANK + + self.btnCur:setSprite(GConst.ATLAS_PATH.COMMON, self.showType == SHOW_TYPE.CUR_RANK and "common_board_130" or "common_board_134") + self.btnLast:setSprite(GConst.ATLAS_PATH.COMMON, self.showType == SHOW_TYPE.LAST_RANK and "common_board_130" or "common_board_134") + self.btnReward:setSprite(GConst.ATLAS_PATH.COMMON, self.showType == SHOW_TYPE.REWARD and "common_board_130" or "common_board_134") + + local curStep = DataManager.TournArenaData:getCurRankStep() + + self.btnLast:setActive(curStep > 1) + self.btns:RefreshLayout() + + if self.showType == SHOW_TYPE.CUR_RANK then + self:showRankList(curStep) + self:showSelfRank(curStep) + elseif self.showType == SHOW_TYPE.LAST_RANK then + local lastStep = curStep - 1 + self:showRankList(lastStep) + self:showSelfRank(lastStep) + elseif self.showType == SHOW_TYPE.REWARD then + self:showRankReward() + self:showSelfRank(curStep) + end +end + +-- 展示自己排名 +function TournArenaRankComp:showSelfRank(step) + local rank = DataManager.TournArenaData:getSelfRank(step) + local score = DataManager.TournArenaData:getSelfScore(step) + + if score > 0 then + if RANK_IMG[rank] then + self.imgRank:setActive(true) + self.imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_IMG[rank]) + self.txRank:setText(GConst.EMPTY_STRING) + else + self.imgRank:setActive(false) + self.txRank:setText(rank) + end + else + self.imgRank:setActive(false) + self.txRank:setText("--") + end + self.playerHeadCell:refresh() + self.txName:setText(DataManager.PlayerData:getNickname()) + self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_16)..":"..score) + + local rewards = DataManager.TournArenaData:getRewardByRank(rank) + for index, cell in ipairs(self.rewardCells) do + if score > 0 and rewards[index] then + cell:setVisible(true) + cell:refreshByConfig(rewards[index]) + if step ~= DataManager.TournArenaData:getCurRankStep() and DataManager.TournArenaData:isReachRankReward() then + cell.baseObject:addRedPoint(50, 50, 0.6) + cell:addClickListener(function() + ModuleManager.TournArenaManager:reqRankReward() + end) + else + cell.baseObject:removeRedPoint() + cell:addClickListener(nil) + end + else + cell:setVisible(false) + end + end + self.rewards:RefreshLayout() +end + +-- 展示榜单 +function TournArenaRankComp:showRankList(step) + self.listRankComp:getBaseObject():setActive(true) + self.listRewardComp:getBaseObject():setActive(false) + + self.rankDataList = DataManager.TournArenaData:getRankListData(step) + if self.rankDataList == nil then + self.rankDataList = {} + end + self.listRankComp:clearCells() + self.listRankComp:refillCells(#self.rankDataList) + self.txEmpty:setActive(#self.rankDataList <= 0) +end + +-- 展示排行榜奖励 +function TournArenaRankComp:showRankReward() + self.listRankComp:getBaseObject():setActive(false) + self.listRewardComp:getBaseObject():setActive(true) + self.txEmpty:setActive(false) + + self.rankIdList = DataManager.TournArenaData:getRankIdList() + self.listRewardComp:clearCells() + self.listRewardComp:refillCells(#self.rankIdList) +end + +-- 刷新倒计时 +function TournArenaRankComp:refreshCountdown() + if self.countdownSid then + self.baseObject:unscheduleGlobal(self.countdownSid) + end + + local str = DataManager.TournArenaData:isFinalDay() and I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_DESC_3) or I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_WAVE_DESC_2) + + self.txCountdown:setText(str .. Time:formatNumTimeStr(DataManager.TournArenaData:getCurRankStepRemainTime())) + self.countdownSid = self.baseObject:scheduleGlobal(function() + local time = DataManager.TournArenaData:getCurRankStepRemainTime() + if time >= 0 then + self.txCountdown:setText(str .. Time:formatNumTimeStr(time)) + else + if self.showType == SHOW_TYPE.CUR_RANK then + ModuleManager.TournArenaManager:reqRankList(DataManager.TournArenaData:getCurRankStep()) + elseif self.showType == SHOW_TYPE.LAST_RANK then + ModuleManager.TournArenaManager:reqRankList(DataManager.TournArenaData:getCurRankStep() - 1) + end + end + end, 1) +end + +return TournArenaRankComp \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua.meta b/lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua.meta new file mode 100644 index 00000000..bf19c44b --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_rank_comp.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 423848385560f3d49a0d5861ef04b564 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua b/lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua new file mode 100644 index 00000000..e9c983b3 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua @@ -0,0 +1,210 @@ +local TournArenaUI = class("TournArenaUI", BaseUI) + +local COMP_BOUNTY = "app/ui/activity/tourn_arena/tourn_arena_bounty_comp" +local COMP_RANK = "app/ui/activity/tourn_arena/tourn_arena_rank_comp" +local COMP_GIFT = "app/ui/activity/tourn_arena/tourn_arena_gift_comp" + +function TournArenaUI:isFullScreen() + return false +end + +function TournArenaUI:getPrefabPath() + return "assets/prefabs/ui/activity/tourn_arena/tourn_arena_ui.prefab" +end + +function TournArenaUI:onPressBackspace() + self:closeUI() +end + +function TournArenaUI:onClose() + if self.compRank ~= nil then + self.compRank:refresh() + end + if self.countdownSid then + self.txCountdown:unscheduleGlobal(self.countdownSid) + end +end + +function TournArenaUI:ctor(param) + if param then + self.panelType = param + else + self.panelType = GConst.TournArenaConst.PANEL_TYPE.BOUNTY -- 默认进入任务页签 + end +end + +function TournArenaUI:onLoadRootComplete() + local uiMap = self.root:genAllChildren() + + -- 通用 + self.txTitle = uiMap["tourn_arena_ui.common.img_title.tx_title"] + self.btnClose = uiMap["tourn_arena_ui.common.btn_close"] + self.bg = uiMap["tourn_arena_ui.common.bg"] + self.countdown = uiMap["tourn_arena_ui.common.countdown"] + self.txCountdown = uiMap["tourn_arena_ui.common.countdown.tx_countdown"] + self.spineTitle = uiMap["tourn_arena_ui.common.spine_title"] + -- 子界面 + self.bountyPanel = uiMap["tourn_arena_ui.bounty_panel"] + self.rankPanel = uiMap["tourn_arena_ui.rank_panel"] + self.giftPanel = uiMap["tourn_arena_ui.gift_panel"] + -- 战令标签 + self.btnBounty = uiMap["tourn_arena_ui.common.btns.btn_bounty"] + self.txBounty1 = uiMap["tourn_arena_ui.common.btns.btn_bounty.tx_btn"] + self.txBounty2 = uiMap["tourn_arena_ui.common.btns.btn_bounty.select.tx_select"] + self.selectBounty = uiMap["tourn_arena_ui.common.btns.btn_bounty.select"] + -- 排行榜标签 + self.btnRank = uiMap["tourn_arena_ui.common.btns.btn_rank"] + self.txRank1 = uiMap["tourn_arena_ui.common.btns.btn_rank.tx_btn"] + self.txRank2 = uiMap["tourn_arena_ui.common.btns.btn_rank.select.tx_select"] + self.selectRank = uiMap["tourn_arena_ui.common.btns.btn_rank.select"] + -- 礼包标签 + self.btnGift = uiMap["tourn_arena_ui.common.btns.btn_gift"] + self.txGift1 = uiMap["tourn_arena_ui.common.btns.btn_gift.tx_btn"] + self.txGift2 = uiMap["tourn_arena_ui.common.btns.btn_gift.select.tx_select"] + self.selectGift = uiMap["tourn_arena_ui.common.btns.btn_gift.select"] + + self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_TOURN_ARENEA_TITLE)) + self.txBounty1:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC)) + self.txBounty2:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC)) + self.txRank1:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_5)) + self.txRank2:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_5)) + self.txGift1:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_4)) + self.txGift2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_4)) + + self.spineTitle:getSkeletonGraphic().enabled = false + self.spineTitle:loadAssetAsync("ui_act_tourn_arena_title", function() + self.spineTitle:getSkeletonGraphic().enabled = true + self.spineTitle:playAnimComplete("animation", false, true, function() + self.spineTitle:playAnim("idle", true, true, true) + end, true) + end, false) + + self.btnBounty:addClickListener(function() + self.panelType = GConst.TournArenaConst.PANEL_TYPE.BOUNTY + self:onRefresh() + end) + self.btnRank:addClickListener(function() + self.panelType = GConst.TournArenaConst.PANEL_TYPE.RANK + self:onRefresh() + end) + self.btnGift:addClickListener(function() + self.panelType = GConst.TournArenaConst.PANEL_TYPE.GIFT + self:onRefresh() + end) + self.btnClose:addClickListener(function() + self:closeUI() + end) + self:addEventListener(EventManager.CUSTOM_EVENT.ACTIVITY_TOURN_ARENA_END, function() + self:closeUI() + end) + self:bind(DataManager.TournArenaData, "isDirty", function() + -- 检查更新数据 + if DataManager.TournArenaData:getIsInReset() and self.panelType == GConst.TournArenaConst.PANEL_TYPE.RANK then + self:onRefresh() + else + self:refreshRedPoint() + end + end) +end + +function TournArenaUI:onRefresh() + -- 倒计时 + if self.countdownSid then + self.txCountdown:unscheduleGlobal(self.countdownSid) + end + self.txCountdown:setText(Time:formatNumTimeStr(DataManager.TournArenaData:getEndRemainTime())) + self.countdownSid = self.txCountdown:scheduleGlobal(function() + local time = DataManager.TournArenaData:getEndRemainTime() + if time >= 0 then + self.txCountdown:setText(Time:formatNumTimeStr(time)) + end + end, 1) + + if self.panelType == GConst.TournArenaConst.PANEL_TYPE.BOUNTY then + self:showBountyInfo() + elseif self.panelType == GConst.TournArenaConst.PANEL_TYPE.RANK then + self:showRankInfo() + elseif self.panelType == GConst.TournArenaConst.PANEL_TYPE.GIFT then + self:showGiftInfo() + end + self:refreshRedPoint() +end + +-- 刷新标签红点 +function TournArenaUI:refreshRedPoint() + if DataManager.TournArenaData:hasBountyRedPoint() then + self.btnBounty:addRedPoint(75, 5, 0.6) + else + self.btnBounty:removeRedPoint() + end + if DataManager.TournArenaData:hasRankRedPoint() then + self.btnRank:addRedPoint(75, 5, 0.6) + else + self.btnRank:removeRedPoint() + end + if DataManager.TournArenaData:hasGiftRedPoint() then + self.btnGift:addRedPoint(75, 5, 0.6) + else + self.btnGift:removeRedPoint() + end +end + +function TournArenaUI:showBountyInfo() + self.bountyPanel:setActive(true) + self.selectBounty:setActive(true) + self.rankPanel:setActive(false) + self.selectRank:setActive(false) + self.giftPanel:setActive(false) + self.selectGift:setActive(false) + self.countdown:setActive(true) + self.bg:setActive(true) + + if not self.compBounty then + self.bountyPanel:initPrefabHelper() + self.bountyPanel:genAllChildren() + self.compBounty = self.bountyPanel:addLuaComponent(COMP_BOUNTY) + end + + self.compBounty:refresh() +end + +function TournArenaUI:showRankInfo() + self.bountyPanel:setActive(false) + self.selectBounty:setActive(false) + self.rankPanel:setActive(true) + self.selectRank:setActive(true) + self.giftPanel:setActive(false) + self.selectGift:setActive(false) + self.countdown:setActive(false) + self.bg:setActive(false) + + ModuleManager.TournArenaManager:reqRankList(DataManager.TournArenaData:getCurRankStep()) + if not self.compRank then + self.rankPanel:initPrefabHelper() + self.rankPanel:genAllChildren() + self.compRank = self.rankPanel:addLuaComponent(COMP_RANK) + end + + self.compRank:refresh() +end + +function TournArenaUI:showGiftInfo() + self.bountyPanel:setActive(false) + self.selectBounty:setActive(false) + self.rankPanel:setActive(false) + self.selectRank:setActive(false) + self.giftPanel:setActive(true) + self.selectGift:setActive(true) + self.countdown:setActive(true) + self.bg:setActive(false) + + if not self.compGift then + self.giftPanel:initPrefabHelper() + self.giftPanel:genAllChildren() + self.compGift = self.giftPanel:addLuaComponent(COMP_GIFT) + end + + self.compGift:refresh() +end + +return TournArenaUI \ No newline at end of file diff --git a/lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua.meta b/lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua.meta new file mode 100644 index 00000000..d5cc5ea5 --- /dev/null +++ b/lua/app/ui/activity/tourn_arena/tourn_arena_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c29f7f21d2c22f74db078cffc8100e42 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua b/lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua new file mode 100644 index 00000000..ece116e9 --- /dev/null +++ b/lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua @@ -0,0 +1,46 @@ +local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell" +local SideBarTournArenaCell = class("SideBarTournArenaCell", SideBarBaseCellComp) + +function SideBarTournArenaCell:getModuleKey() + return ModuleManager.MODULE_KEY.ACTIVITY +end + +function SideBarTournArenaCell:getIsOpen() + return DataManager.TournArenaData:isOpen() and DataManager.TournArenaData:isActiveTime() +end + +function SideBarTournArenaCell:getSpineName() + return "ui_main_btn_act_fullmoon" +end + +function SideBarTournArenaCell:onClick() + ModuleManager.TournArenaManager:showActMainUI() +end + +function SideBarTournArenaCell:getIsShowRedPoint() + return DataManager.TournArenaData:hasEntryRedPoint() +end + +function SideBarTournArenaCell:onRefresh() + self.timeBg:setVisible(true) + self:_refreshTime() +end + +function SideBarTournArenaCell:updateTime() + if self:getIsOpen() then + self:_refreshTime() + else + self:closeBtn() + end +end + +function SideBarTournArenaCell:_refreshTime() + local remainTime = DataManager.TournArenaData:getEndRemainTime() + if remainTime >= 0 then + self.timeTx:setText(GFunc.getTimeStr(remainTime)) + else + self.timeTx:setText("00:00:00") + end +end + +return SideBarTournArenaCell \ No newline at end of file diff --git a/lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua.meta new file mode 100644 index 00000000..32cc2986 --- /dev/null +++ b/lua/app/ui/main_city/cell/side_bar_tourn_arena_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fbea87ac611b43747bf41d2ca95b29cd +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua b/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua new file mode 100644 index 00000000..ffa73f26 --- /dev/null +++ b/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua @@ -0,0 +1,540 @@ +local TournArenaData = class("TournArenaData", BaseData) + +function TournArenaData:ctor() + self.data.isDirty = false + + self.bountyLevel = 1 + self.bountyExp = 0 + self.bountyCollected = {} + self.rankStep = 1 + self.rankStepEndTime = 0 + self.rankCollected = {} +end + +function TournArenaData:clear() + DataManager:unregisterTryOpenFunc("TournArenaData") + DataManager:unregisterCrossDayFunc("TournArenaData") +end + +-- 设置活动数据 +function TournArenaData:setActStatus(data) + data = data or GConst.EMPTY_TABLE + + self.actId = data.id + self.startTime = GFunc.formatTimeStep(data.start_at) + self.endTime = GFunc.formatTimeStep(data.end_at) + + if EDITOR_MODE then + Logger.logHighlight("竞技场锦标赛活动开启时间:") + Logger.printTable(data) + end + + if not self:isOpen() then + -- 活动开启 + DataManager:registerTryOpenFunc("TournArenaData", function() + if not self:isOpen() then + return + end + if not self:isActiveTime() then + return + end + + DataManager:unregisterTryOpenFunc("TournArenaData") + ModuleManager.TournArenaManager:reqActData() + end) + end +end + +-- 获取活动数据成功 +function TournArenaData:onGetActData(data) + data = data or GConst.EMPTY_TABLE + if EDITOR_MODE then + Logger.logHighlight("竞技场锦标赛活动数据:") + Logger.printTable(data) + end + + -- 战令 + self.bountyLevel = data.level + self.bountyExp = data.exp + self.bountyCollected = data.collected + -- 排行榜 + self.rankStep = data.present_turn + self.rankStepEndTime = GFunc.formatTimeStep(data.turn_end_at) + self.rankCollected = data.rank_reward_claimed + + -- 跨天 + DataManager:registerCrossDayFunc("TournArenaData", function() + if not self:isOpen() then + return + end + if not self:isActiveTime() then + return + end + + self.ranks = nil + self:setInReset(true) + self:setDirty() + end) + + self:setDirty() +end + +function TournArenaData:setInReset(isInReset) + self.isInReset = isInReset +end + +function TournArenaData:getIsInReset() + return self.isInReset +end + +function TournArenaData:setDirty() + self.data.isDirty = not self.data.isDirty +end + +function TournArenaData:isOpen() + if GFunc.isShenhe() then + return false + end + if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then + return false + end + return true +end + +-- 是否在活动配置时间内 +function TournArenaData:isActiveTime() + if self.startTime == nil or self.startTime <= 0 then + return false + end + if self.endTime == nil or self.endTime <= 0 then + return false + end + return Time:getServerTime() >= self.startTime and Time:getServerTime() <= self.endTime +end + +-- 获取活动开启剩余时间(秒) +function TournArenaData:getStartRemainTime() + if self.startTime == nil or self.startTime <= 0 then + return 0 + end + return self.startTime - Time:getServerTime() +end + +-- 获取活动结束剩余时间(秒) +function TournArenaData:getEndRemainTime() + if self.endTime == nil or self.endTime <= 0 then + return 0 + end + return self.endTime - Time:getServerTime() +end + +-- 当前为活动第几天 +function TournArenaData:getActDay() + local days = Time:getDistanceDays(self.startTime) + if days < 0 then + days = -days + end + return days + 1 +end + +-- 是否有入口红点 +function TournArenaData:hasEntryRedPoint() + return self:hasBountyRedPoint() or self:hasRankRedPoint() or self:hasGiftRedPoint() +end + +-- 战令-------------------------------------------------------------------------------------------------- + +-- 是否有战令红点 +function TournArenaData:hasBountyRedPoint() + if self:getFirstCanGetBountyRewardLevel() ~= nil then + return true + end + + return false +end + +-- 获取首个可领取奖励的战令等级 +function TournArenaData:getFirstCanGetBountyRewardLevel() + local curLevel = self:getBountyLevel() + + for level, data in ipairs(self:getBountyIdList()) do + if level > curLevel then + break + end + + if self:canGetBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE) then + return true + end + if self:canGetBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1) then + return true + end + if self:canGetBountyReward(level, GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2) then + return true + end + end + + return nil +end + +-- +function TournArenaData:getBountyIdList() + if not self.bountyIdList then + self.bountyIdList = GFunc.getTable(DataManager:getActivityBountyLevelByActId(self.actId) or {}) + table.sort(self.bountyIdList, function(a, b) + return a < b + end) + end + return self.bountyIdList +end + +-- 获取对应等级的配置 +function TournArenaData:getBountyCfgByLevel(level) + return ConfigManager:getConfig("activity_bounty_level")[self:getBountyIdList()[level]] +end + +-- 获取战令档位礼包配置 +function TournArenaData:getBountyGradeGiftCfg(gradeType) + if gradeType == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1 then + return DataManager.ShopData:getActGiftConfig()[GConst.TournArenaConst.BOUNTY_GIFT_ID_1] + elseif gradeType == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2 then + return DataManager.ShopData:getActGiftConfig()[GConst.TournArenaConst.BOUNTY_GIFT_ID_2] + end +end + +-- 战令档位是否已解锁 +function TournArenaData:isBountyGradeUnlock(grade) + if grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE then + return true + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1 then + return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournArenaConst.BOUNTY_GIFT_ID_1) > 0 + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2 then + return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.TournArenaConst.BOUNTY_GIFT_ID_2) > 0 + end + return false +end + +-- 战令最大等级 +function TournArenaData:getBountyMaxLevel() + return #self:getBountyIdList() +end + +-- 获取当前战令等级 +function TournArenaData:getBountyLevel() + if self.bountyLevel <= self:getBountyMaxLevel() then + return self.bountyLevel + else + return self:getBountyMaxLevel() + end +end + +-- 获取当前等级战令积分 +function TournArenaData:getBountyLevelScore() + return self.bountyExp +end + +-- 获取当前总积分 +function TournArenaData:getBountyTotalScore() + local total = self:getBountyLevelScore() + + for l = 1, self:getBountyLevel() - 1 do + total = total + (self:getBountyCfgByLevel(l).exp or 0) + end + + return total +end + +-- 获取等级所需总积分 +function TournArenaData:getLevelTotalScore(level) + local total = 0 + + if level > 1 then + for l = 1, level - 1 do + total = total + (self:getBountyCfgByLevel(l).exp or 0) + end + end + + return total +end + +-- 获取当前升级所需总积分 +function TournArenaData:getBountyUpgradeScore() + return self:getBountyCfgByLevel(self:getBountyLevel()).exp or 0 +end + +-- 是否满足购买战令等级的条件 +function TournArenaData:canBuyBountyLevel() + if self:getBountyLevel() >= self:getBountyMaxLevel() then + return false + end + + local lastDay = Time:getDistanceDays(self.endTime) + if lastDay < 0 then + lastDay = -lastDay + end + return self:getActDay() >= lastDay +end + +-- 购买战令等级的消耗 +function TournArenaData:getBuyBountyLevelCost() + return GFunc.getConstReward("activity_bounty_cost") +end + +-- 获取战令档位奖励 +function TournArenaData:getBountyGradeReward(level, grade) + local cfg = self:getBountyCfgByLevel(level) + local result + if cfg then + if grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE then + result = cfg.reward + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1 then + result = cfg.reward_pro + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2 then + result = cfg.reward_pro_max + end + end + return result +end + +-- 战令奖励可领取 +function TournArenaData:canGetBountyReward(level, grade) + return self:isReachBountyReward(level, grade) and not self:isReceivedBountyReward(level, grade) +end + +-- 战令奖励是否满足领取条件 +function TournArenaData:isReachBountyReward(level, grade) + local curLevel = self:getBountyLevel() + if curLevel >= level then + return self:isBountyGradeUnlock(grade) + else + return false + end +end + +-- 战令奖励是否已领取 +function TournArenaData:isReceivedBountyReward(level, grade) + local id = self:getBountyIdList()[level] + if self.bountyCollected[id] == nil then + return false + end + + if grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE then + return self.bountyCollected[id].normal + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1 then + return self.bountyCollected[id].superior + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2 then + return self.bountyCollected[id].superior_max + end +end + +-- 战令奖励领取成功 +function TournArenaData:onReceivedBountyReward(successMap) + for id, grade in pairs(successMap) do + if self.bountyCollected[id] == nil then + self.bountyCollected[id] = {} + end + + if grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.FREE then + self.bountyCollected[id].normal = true + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY1 then + self.bountyCollected[id].superior = true + elseif grade == GConst.TournArenaConst.BOUNTY_GRADE_TYPE.PAY2 then + self.bountyCollected[id].superior_max = true + end + end + + self:setDirty() +end + +-- 解锁战令等级成功 +function TournArenaData:onBoughtBountyLevel() + self.bountyLevel = self.bountyLevel + 1 + self:setDirty() +end + +-- 排行榜-------------------------------------------------------------------------------------------------- + +-- 是否有排行榜红点 +function TournArenaData:hasRankRedPoint() + for rank, id in ipairs(self:getRankIdList()) do + if self:isReachRankReward(rank) and not self:isReceivedRankReward(rank) then + return true + end + end + + return false +end + +-- +function TournArenaData:getRankIdList() + if not self.rankIdList then + self.rankIdList = GFunc.getTable(DataManager:getActivityRankByActId(self.actId) or {}) + table.sort(self.rankIdList, function(a, b) + return a < b + end) + end + return self.rankIdList +end + +-- 获取排行榜的配置 +function TournArenaData:getRankCfgByIndex(index) + return ConfigManager:getConfig("activity_rank")[self:getRankIdList()[index]] +end + +-- 是否是最后一次分组 +function TournArenaData:isFinalDay() + return self:getEndRemainTime() <= 86400 +end + +-- 获取当前排行榜阶段 +function TournArenaData:getCurRankStep() + return self.rankStep +end + +-- 获取排名相应的奖励 +function TournArenaData:getRewardByRank(rank) + for index, id in ipairs(self:getRankIdList()) do + local cfg = ConfigManager:getConfig("activity_rank")[id] + if rank >= cfg.ranking[1] and rank <= cfg.ranking[2] then + return cfg.reward + end + end + return nil +end + +-- 获取当前排行榜阶段剩余时间 +function TournArenaData:getCurRankStepRemainTime() + return self.rankStepEndTime - Time:getServerTime() +end + +-- 获取排行榜数据 +function TournArenaData:getRankListData(step) + if self.ranks == nil then + return nil + end + + return self.ranks[step] and self.ranks[step].ranks or {} +end + +-- 获取自己的排名 +function TournArenaData:getSelfRank(step) + if self.ranks == nil or self.ranks[step] == nil then + return 0 + end + + return self.ranks[step].ownRank +end + +-- 获取自己的积分 +function TournArenaData:getSelfScore(step) + if self.ranks == nil or self.ranks[step] == nil then + return 0 + end + + return self.ranks[step].ownSorce +end + +-- 是否满足段位奖励条件 +function TournArenaData:isReachRankReward() + if self:getCurRankStep() == 1 then + return false + end + + local lastRank = self:getSelfRank(self:getCurRankStep() - 1) + if lastRank and lastRank <= 0 then + return false + end + return not self:isReceivedRankReward() +end + +-- 是否已领取段位奖励 +function TournArenaData:isReceivedRankReward() + if self:getCurRankStep() == 1 then + return false + end + + local received = self.rankCollected[self:getCurRankStep() - 1] + return received ~= nil and received or false +end + +-- 获取排行榜数据成功 +function TournArenaData:onGetRankData(step, ranks, score, ownRank) + if self.ranks == nil then + self.ranks = {} + end + self.ranks[step] = {ownRank = ownRank, ownSorce = score, ranks = ranks} + + self:setDirty() +end + +-- 领取排名奖励成功 +function TournArenaData:onReceivedRankReward() + self.rankCollected[self:getCurRankStep() - 1] = true + + self:setDirty() +end + + +-- 礼包--------------------------------------------------------------------------------------------------- + +-- 是否有礼包红点 +function TournArenaData:hasGiftRedPoint() + local ids = GConst.TournArenaConst.GIFT_IDS + for index, id in pairs(ids) do + if self:isFreeGift(id) and self:getGiftRemainTime(id) > 0 then + return true + end + end + + return false +end + +-- 获取礼包配置 +function TournArenaData:getGiftCfg(giftId) + return DataManager.ShopData:getActGiftConfig()[giftId] +end + +-- 是否是免费礼包 +function TournArenaData:isFreeGift(id) + return DataManager.ShopData:getActGiftConfig()[id].recharge_id == nil +end + +-- 获取礼包id列表 +function TournArenaData:getGiftIdsSort() + local result = {} + local ids = GConst.TournArenaConst.GIFT_IDS + for index, id in ipairs(ids) do + local sort = id + 10000000000 + + if self:isFreeGift(id) then + sort = sort - 10000000 + end + + if self:getGiftRemainTime(id) > 0 then + sort = sort - 10000 + end + table.insert(result, {id = id, sort = sort}) + end + + table.sort(result, function (a, b) + return a.sort < b.sort + end) + + return result +end + +-- 礼包剩余购买次数 +function TournArenaData:getGiftRemainTime(giftId) + if self:isFreeGift(giftId) then + local giftData = DataManager.ShopData:getActGiftDetailData(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId) + if giftData and giftData.buy_count > 0 and giftData.latest_buy_at then + if Time:getBeginningOfOneDay(Time:getServerTime()) == Time:getBeginningOfOneDay(giftData.latest_buy_at // 1000) then + return 0 + end + end + return 1 + else + return DataManager.ShopData:getGiftRemainBuyNum(giftId) or 0 + end +end + +return TournArenaData \ No newline at end of file diff --git a/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua.meta b/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua.meta new file mode 100644 index 00000000..a253e759 --- /dev/null +++ b/lua/app/userdata/activity/tourn_arena/tourn_arena_data.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c33e1d5bdb494e84cab9ccd418e3083f +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} From 344aacd348dc2b2c5b9b64a960ecc24d9b00ab44 Mon Sep 17 00:00:00 2001 From: Fang Date: Mon, 25 Sep 2023 17:37:38 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/config/act_gift.lua | 563 +++++- lua/app/config/activity.lua | 12 +- lua/app/config/activity_bounty_level.lua | 1680 ++++++++++++++++- lua/app/config/activity_rank.lua | 352 +++- lua/app/config/activity_tourn_arena_point.lua | 54 + .../activity_tourn_arena_point.lua.meta | 10 + lua/app/config/const.lua | 20 +- .../localization_global_const.lua | 12 + lua/app/config/skill.lua | 13 +- lua/app/config/skill_rogue.lua | 3 - lua/app/config/strings/cn/global.lua | 12 + lua/app/config/strings/cn/skill_rogue.lua | 2 +- lua/app/config/strings/en/skill_rogue.lua | 4 +- lua/app/config/strings/es/skill_rogue.lua | 4 +- lua/app/config/strings/id/skill_rogue.lua | 4 +- lua/app/config/strings/ja/skill_rogue.lua | 4 +- lua/app/config/strings/ko/chapter.lua | 2 +- lua/app/config/strings/ko/skill_rogue.lua | 4 +- lua/app/config/strings/pt/skill_rogue.lua | 4 +- lua/app/config/strings/th/skill_rogue.lua | 4 +- lua/app/config/strings/vi/skill_rogue.lua | 4 +- lua/app/config/strings/zh/skill_rogue.lua | 4 +- 22 files changed, 2626 insertions(+), 145 deletions(-) create mode 100644 lua/app/config/activity_tourn_arena_point.lua create mode 100644 lua/app/config/activity_tourn_arena_point.lua.meta diff --git a/lua/app/config/act_gift.lua b/lua/app/config/act_gift.lua index 7e130db1..3ee3f191 100644 --- a/lua/app/config/act_gift.lua +++ b/lua/app/config/act_gift.lua @@ -1785,7 +1785,7 @@ local act_gift = { 40, 60 }, - ["recharge_id"]=8, + ["recharge_id"]=10, ["reward"]={ { ["type"]=1, @@ -1808,8 +1808,8 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1003, ["id_for_nothing"]="VwhcAA==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=60, + ["num_for_nothing"]="UAg=" } }, ["time_type"]=1, @@ -1823,7 +1823,7 @@ local act_gift = { 60, 80 }, - ["recharge_id"]=8, + ["recharge_id"]=10, ["reward"]={ { ["type"]=1, @@ -1846,8 +1846,8 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1003, ["id_for_nothing"]="VwhcAA==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=60, + ["num_for_nothing"]="UAg=" } }, ["time_type"]=1, @@ -1861,7 +1861,7 @@ local act_gift = { 80, 100 }, - ["recharge_id"]=12, + ["recharge_id"]=13, ["reward"]={ { ["type"]=1, @@ -1876,24 +1876,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1002, ["id_for_nothing"]="VwhcAQ==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1003, ["id_for_nothing"]="VwhcAA==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1004, ["id_for_nothing"]="VwhcBw==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" } }, ["time_type"]=1, @@ -1907,7 +1907,7 @@ local act_gift = { 100, 120 }, - ["recharge_id"]=12, + ["recharge_id"]=13, ["reward"]={ { ["type"]=1, @@ -1922,24 +1922,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1002, ["id_for_nothing"]="VwhcAQ==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1003, ["id_for_nothing"]="VwhcAA==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1004, ["id_for_nothing"]="VwhcBw==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" } }, ["time_type"]=1, @@ -1953,7 +1953,7 @@ local act_gift = { 120, 140 }, - ["recharge_id"]=13, + ["recharge_id"]=15, ["reward"]={ { ["type"]=1, @@ -1968,24 +1968,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1003, ["id_for_nothing"]="VwhcAA==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1004, ["id_for_nothing"]="VwhcBw==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1005, ["id_for_nothing"]="VwhcBg==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" } }, ["time_type"]=1, @@ -1999,7 +1999,7 @@ local act_gift = { 140, 160 }, - ["recharge_id"]=13, + ["recharge_id"]=15, ["reward"]={ { ["type"]=1, @@ -2014,24 +2014,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1003, ["id_for_nothing"]="VwhcAA==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1004, ["id_for_nothing"]="VwhcBw==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1005, ["id_for_nothing"]="VwhcBg==", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" } }, ["time_type"]=1, @@ -2045,7 +2045,7 @@ local act_gift = { 160, 180 }, - ["recharge_id"]=15, + ["recharge_id"]=17, ["reward"]={ { ["type"]=1, @@ -2060,24 +2060,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1004, ["id_for_nothing"]="VwhcBw==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1005, ["id_for_nothing"]="VwhcBg==", - ["num"]=100, - ["num_for_nothing"]="Vwhc" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1006, ["id_for_nothing"]="VwhcBQ==", - ["num"]=80, - ["num_for_nothing"]="Xgg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" } }, ["time_type"]=1, @@ -2091,7 +2091,7 @@ local act_gift = { 180, 200 }, - ["recharge_id"]=15, + ["recharge_id"]=17, ["reward"]={ { ["type"]=1, @@ -2106,24 +2106,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=1004, ["id_for_nothing"]="VwhcBw==", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1005, ["id_for_nothing"]="VwhcBg==", - ["num"]=100, - ["num_for_nothing"]="Vwhc" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=1006, ["id_for_nothing"]="VwhcBQ==", - ["num"]=80, - ["num_for_nothing"]="Xgg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" } }, ["time_type"]=1, @@ -2213,7 +2213,7 @@ local act_gift = { 40, 60 }, - ["recharge_id"]=12, + ["recharge_id"]=13, ["reward"]={ { ["type"]=1, @@ -2236,8 +2236,8 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=40, ["id_for_nothing"]="Ugg=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=60, + ["num_for_nothing"]="UAg=" } }, ["time_type"]=1, @@ -2251,7 +2251,7 @@ local act_gift = { 60, 80 }, - ["recharge_id"]=12, + ["recharge_id"]=13, ["reward"]={ { ["type"]=1, @@ -2274,8 +2274,8 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=40, ["id_for_nothing"]="Ugg=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=60, + ["num_for_nothing"]="UAg=" } }, ["time_type"]=1, @@ -2289,7 +2289,7 @@ local act_gift = { 80, 100 }, - ["recharge_id"]=14, + ["recharge_id"]=15, ["reward"]={ { ["type"]=1, @@ -2304,24 +2304,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=39, ["id_for_nothing"]="VQE=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=40, ["id_for_nothing"]="Ugg=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=41, ["id_for_nothing"]="Ugk=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" } }, ["time_type"]=1, @@ -2335,7 +2335,7 @@ local act_gift = { 100, 120 }, - ["recharge_id"]=14, + ["recharge_id"]=15, ["reward"]={ { ["type"]=1, @@ -2350,24 +2350,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=39, ["id_for_nothing"]="VQE=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=40, ["id_for_nothing"]="Ugg=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=41, ["id_for_nothing"]="Ugk=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=80, + ["num_for_nothing"]="Xgg=" } }, ["time_type"]=1, @@ -2381,7 +2381,7 @@ local act_gift = { 120, 140 }, - ["recharge_id"]=15, + ["recharge_id"]=16, ["reward"]={ { ["type"]=1, @@ -2396,24 +2396,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=40, ["id_for_nothing"]="Ugg=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=41, ["id_for_nothing"]="Ugk=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=42, ["id_for_nothing"]="Ugo=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" } }, ["time_type"]=1, @@ -2427,7 +2427,7 @@ local act_gift = { 140, 160 }, - ["recharge_id"]=15, + ["recharge_id"]=16, ["reward"]={ { ["type"]=1, @@ -2442,24 +2442,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=40, ["id_for_nothing"]="Ugg=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=41, ["id_for_nothing"]="Ugk=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=42, ["id_for_nothing"]="Ugo=", - ["num"]=60, - ["num_for_nothing"]="UAg=" + ["num"]=100, + ["num_for_nothing"]="Vwhc" } }, ["time_type"]=1, @@ -2473,7 +2473,7 @@ local act_gift = { 160, 180 }, - ["recharge_id"]=17, + ["recharge_id"]=18, ["reward"]={ { ["type"]=1, @@ -2488,24 +2488,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=41, ["id_for_nothing"]="Ugk=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=42, ["id_for_nothing"]="Ugo=", - ["num"]=100, - ["num_for_nothing"]="Vwhc" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=43, ["id_for_nothing"]="Ugs=", - ["num"]=80, - ["num_for_nothing"]="Xgg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" } }, ["time_type"]=1, @@ -2519,7 +2519,7 @@ local act_gift = { 180, 200 }, - ["recharge_id"]=17, + ["recharge_id"]=18, ["reward"]={ { ["type"]=1, @@ -2534,24 +2534,24 @@ local act_gift = { ["type_for_nothing"]="Vw==", ["id"]=41, ["id_for_nothing"]="Ugk=", - ["num"]=40, - ["num_for_nothing"]="Ugg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=42, ["id_for_nothing"]="Ugo=", - ["num"]=100, - ["num_for_nothing"]="Vwhc" + ["num"]=120, + ["num_for_nothing"]="Vwpc" }, { ["type"]=1, ["type_for_nothing"]="Vw==", ["id"]=43, ["id_for_nothing"]="Ugs=", - ["num"]=80, - ["num_for_nothing"]="Xgg=" + ["num"]=120, + ["num_for_nothing"]="Vwpc" } }, ["time_type"]=1, @@ -5722,11 +5722,378 @@ local act_gift = { [220202]={ ["type"]=22, ["recharge_id"]=12, - ["limit"]=1, ["value"]=1800 + }, + [230102]={ + ["type"]=23, + ["recharge_id"]=12, + ["time_type"]=2, + ["limit"]=1, + ["value"]=3000 + }, + [230202]={ + ["type"]=23, + ["recharge_id"]=12, + ["time_type"]=2, + ["limit"]=1, + ["value"]=3000 + }, + [230302]={ + ["type"]=23, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=30000, + ["num_for_nothing"]="VQhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + } + } + }, + [230402]={ + ["type"]=23, + ["recharge_id"]=12, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=30000, + ["num_for_nothing"]="VQhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=3001, + ["num_for_nothing"]="VQhcAg==" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [230502]={ + ["type"]=23, + ["recharge_id"]=12, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=30000, + ["num_for_nothing"]="VQhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=3002, + ["num_for_nothing"]="VQhcAQ==" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [230602]={ + ["type"]=23, + ["recharge_id"]=12, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=30000, + ["num_for_nothing"]="VQhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=3003, + ["num_for_nothing"]="VQhcAA==" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [230702]={ + ["type"]=23, + ["recharge_id"]=12, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=30000, + ["num_for_nothing"]="VQhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=3004, + ["num_for_nothing"]="VQhcBw==" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [230802]={ + ["type"]=23, + ["recharge_id"]=12, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=30000, + ["num_for_nothing"]="VQhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=3005, + ["num_for_nothing"]="VQhcBg==" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [240102]={ + ["type"]=24, + ["recharge_id"]=13, + ["time_type"]=2, + ["limit"]=1, + ["value"]=3000 + }, + [240202]={ + ["type"]=24, + ["recharge_id"]=13, + ["time_type"]=2, + ["limit"]=1, + ["value"]=3000 + }, + [240302]={ + ["type"]=24, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=1500, + ["num_for_nothing"]="Vw1cAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=42002, + ["num_for_nothing"]="UgpcA2c=" + } + } + }, + [240402]={ + ["type"]=24, + ["recharge_id"]=13, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=1500, + ["num_for_nothing"]="Vw1cAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=42003, + ["num_for_nothing"]="UgpcA2Y=" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [240502]={ + ["type"]=24, + ["recharge_id"]=13, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=1500, + ["num_for_nothing"]="Vw1cAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=42004, + ["num_for_nothing"]="UgpcA2E=" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [240602]={ + ["type"]=24, + ["recharge_id"]=13, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=1500, + ["num_for_nothing"]="Vw1cAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=42005, + ["num_for_nothing"]="UgpcA2A=" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [240702]={ + ["type"]=24, + ["recharge_id"]=13, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=1500, + ["num_for_nothing"]="Vw1cAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=42006, + ["num_for_nothing"]="UgpcA2M=" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 + }, + [240802]={ + ["type"]=24, + ["recharge_id"]=13, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=1500, + ["num_for_nothing"]="Vw1cAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=42007, + ["num_for_nothing"]="UgpcA2I=" + } + }, + ["time_type"]=2, + ["limit"]=5, + ["value"]=3000 } } local config = { -data=act_gift,count=118 +data=act_gift,count=134 } return config \ No newline at end of file diff --git a/lua/app/config/activity.lua b/lua/app/config/activity.lua index 6ff89502..398d7a96 100644 --- a/lua/app/config/activity.lua +++ b/lua/app/config/activity.lua @@ -28,9 +28,19 @@ local activity = { ["act_type"]=3, ["start_time"]="2023-10-9 00:00:00", ["end_time"]="2023-10-17 00:00:00" + }, + [706]={ + ["act_type"]=5, + ["start_time"]="2023-10-16 00:00:00", + ["end_time"]="2023-10-24 00:00:00" + }, + [806]={ + ["act_type"]=6, + ["start_time"]="2023-10-30 00:00:00", + ["end_time"]="2023-11-7 00:00:00" } } local config = { -data=activity,count=6 +data=activity,count=8 } return config \ No newline at end of file diff --git a/lua/app/config/activity_bounty_level.lua b/lua/app/config/activity_bounty_level.lua index 5e5caf39..4230d447 100644 --- a/lua/app/config/activity_bounty_level.lua +++ b/lua/app/config/activity_bounty_level.lua @@ -3803,9 +3803,1687 @@ local activity_bounty_level = { ["num"]=3, ["num_for_nothing"]="VQ==" } + }, + [601]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [602]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [603]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [604]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [605]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [606]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [607]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [608]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=50, + ["num_for_nothing"]="Uwg=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [609]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [610]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [611]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=15, + ["num_for_nothing"]="Vw0=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + } + }, + [612]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [613]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [614]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [615]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=18, + ["id_for_nothing"]="VwA=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [616]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [617]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [618]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=50, + ["num_for_nothing"]="Uwg=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [619]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [620]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [621]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=15, + ["num_for_nothing"]="Vw0=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + } + }, + [622]={ + ["act_id"]=706, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [623]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [624]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [625]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=18, + ["id_for_nothing"]="VwA=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [626]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [627]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [628]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=50, + ["num_for_nothing"]="Uwg=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [629]={ + ["act_id"]=706, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [630]={ + ["act_id"]=706, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [701]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [702]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [703]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [704]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [705]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [706]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [707]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [708]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=50, + ["num_for_nothing"]="Uwg=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [709]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [710]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [711]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=15, + ["num_for_nothing"]="Vw0=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + } + }, + [712]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [713]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [714]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [715]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=18, + ["id_for_nothing"]="VwA=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [716]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [717]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [718]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=50, + ["num_for_nothing"]="Uwg=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [719]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [720]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [721]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=15, + ["num_for_nothing"]="Vw0=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=3, + ["id_for_nothing"]="VQ==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + } + }, + [722]={ + ["act_id"]=806, + ["exp"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [723]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [724]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=13, + ["id_for_nothing"]="Vws=", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + }, + [725]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=18, + ["id_for_nothing"]="VwA=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + }, + [726]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=2000, + ["num_for_nothing"]="VAhcAw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=3000, + ["num_for_nothing"]="VQhcAw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=5000, + ["num_for_nothing"]="UwhcAw==" + } + }, + [727]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=8, + ["id_for_nothing"]="Xg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=9, + ["id_for_nothing"]="Xw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [728]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=50, + ["num_for_nothing"]="Uwg=" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [729]={ + ["act_id"]=806, + ["exp"]=40, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=10, + ["id_for_nothing"]="Vwg=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [730]={ + ["act_id"]=806, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=11, + ["id_for_nothing"]="Vwk=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + ["reward_pro"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + }, + ["reward_pro_max"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=34004, + ["id_for_nothing"]="VQxcA2E=", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } } } local config = { -data=activity_bounty_level,count=136 +data=activity_bounty_level,count=196 } return config \ No newline at end of file diff --git a/lua/app/config/activity_rank.lua b/lua/app/config/activity_rank.lua index ca64c2ba..11103eef 100644 --- a/lua/app/config/activity_rank.lua +++ b/lua/app/config/activity_rank.lua @@ -348,9 +348,359 @@ local activity_rank = { ["num_for_nothing"]="VAg=" } } + }, + [301]={ + ["act_id"]=706, + ["ranking"]={ + 1, + 1 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=1200, + ["num_for_nothing"]="VwpcAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=47, + ["id_for_nothing"]="Ug8=", + ["num"]=6, + ["num_for_nothing"]="UA==" + } + } + }, + [302]={ + ["act_id"]=706, + ["ranking"]={ + 2, + 2 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=1000, + ["num_for_nothing"]="VwhcAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=47, + ["id_for_nothing"]="Ug8=", + ["num"]=5, + ["num_for_nothing"]="Uw==" + } + } + }, + [303]={ + ["act_id"]=706, + ["ranking"]={ + 3, + 3 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=800, + ["num_for_nothing"]="Xghc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=47, + ["id_for_nothing"]="Ug8=", + ["num"]=4, + ["num_for_nothing"]="Ug==" + } + } + }, + [304]={ + ["act_id"]=706, + ["ranking"]={ + 4, + 10 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=600, + ["num_for_nothing"]="UAhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + } + }, + [305]={ + ["act_id"]=706, + ["ranking"]={ + 11, + 50 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=400, + ["num_for_nothing"]="Ughc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + } + }, + [306]={ + ["act_id"]=706, + ["ranking"]={ + 51, + 500 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + } + }, + [307]={ + ["act_id"]=706, + ["ranking"]={ + 501, + 99999999 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=200, + ["num_for_nothing"]="VAhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + } + } + }, + [401]={ + ["act_id"]=806, + ["ranking"]={ + 1, + 1 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=1200, + ["num_for_nothing"]="VwpcAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=47, + ["id_for_nothing"]="Ug8=", + ["num"]=6, + ["num_for_nothing"]="UA==" + } + } + }, + [402]={ + ["act_id"]=806, + ["ranking"]={ + 2, + 2 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=1000, + ["num_for_nothing"]="VwhcAw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=47, + ["id_for_nothing"]="Ug8=", + ["num"]=5, + ["num_for_nothing"]="Uw==" + } + } + }, + [403]={ + ["act_id"]=806, + ["ranking"]={ + 3, + 3 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=800, + ["num_for_nothing"]="Xghc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=47, + ["id_for_nothing"]="Ug8=", + ["num"]=4, + ["num_for_nothing"]="Ug==" + } + } + }, + [404]={ + ["act_id"]=806, + ["ranking"]={ + 4, + 10 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=600, + ["num_for_nothing"]="UAhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=3, + ["num_for_nothing"]="VQ==" + } + } + }, + [405]={ + ["act_id"]=806, + ["ranking"]={ + 11, + 50 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=400, + ["num_for_nothing"]="Ughc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=2, + ["num_for_nothing"]="VA==" + } + } + }, + [406]={ + ["act_id"]=806, + ["ranking"]={ + 51, + 500 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=300, + ["num_for_nothing"]="VQhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + } + }, + [407]={ + ["act_id"]=806, + ["ranking"]={ + 501, + 99999999 + }, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=200, + ["num_for_nothing"]="VAhc" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=20, + ["num_for_nothing"]="VAg=" + } + } } } local config = { -data=activity_rank,count=14 +data=activity_rank,count=28 } return config \ No newline at end of file diff --git a/lua/app/config/activity_tourn_arena_point.lua b/lua/app/config/activity_tourn_arena_point.lua new file mode 100644 index 00000000..cc8d1bc7 --- /dev/null +++ b/lua/app/config/activity_tourn_arena_point.lua @@ -0,0 +1,54 @@ +local activity_tourn_arena_point = { + [1]={ + ["point_win"]=2, + ["point_lose"]=1 + }, + [2]={ + ["point_win"]=4, + ["point_lose"]=2 + }, + [3]={ + ["point_win"]=6, + ["point_lose"]=3 + }, + [4]={ + ["point_win"]=8, + ["point_lose"]=4 + }, + [5]={ + ["point_win"]=10, + ["point_lose"]=5 + }, + [6]={ + ["point_win"]=12, + ["point_lose"]=6 + }, + [7]={ + ["point_win"]=14, + ["point_lose"]=7 + }, + [8]={ + ["point_win"]=16, + ["point_lose"]=8 + }, + [9]={ + ["point_win"]=18, + ["point_lose"]=9 + }, + [10]={ + ["point_win"]=20, + ["point_lose"]=10 + }, + [11]={ + ["point_win"]=22, + ["point_lose"]=11 + }, + [12]={ + ["point_win"]=24, + ["point_lose"]=12 + } +} +local config = { +data=activity_tourn_arena_point,count=12 +} +return config \ No newline at end of file diff --git a/lua/app/config/activity_tourn_arena_point.lua.meta b/lua/app/config/activity_tourn_arena_point.lua.meta new file mode 100644 index 00000000..71571f7a --- /dev/null +++ b/lua/app/config/activity_tourn_arena_point.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3e83ace12d9f46c4b8aef7f8f3521dcc +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/config/const.lua b/lua/app/config/const.lua index 99cbd95c..c1cdbe9a 100644 --- a/lua/app/config/const.lua +++ b/lua/app/config/const.lua @@ -508,24 +508,14 @@ local const = { ["num_for_nothing"]="Vwg=" } }, - ["activity_skin_fight_id_1"]={ - ["value"]=4104 + ["act_tourn_rank_free"]={ + ["value"]=90 }, - ["activity_skin_fight_id_2"]={ - ["value"]=4204 - }, - ["activity_skin_fight_reward"]={ - ["reward"]={ - ["type"]=1, - ["type_for_nothing"]="Vw==", - ["id"]=2, - ["id_for_nothing"]="VA==", - ["num"]=50, - ["num_for_nothing"]="Uwg=" - } + ["act_tourn_rank_pay"]={ + ["value"]=10 } } local config = { -data=const,count=105 +data=const,count=104 } return config \ No newline at end of file diff --git a/lua/app/config/localization/localization_global_const.lua b/lua/app/config/localization/localization_global_const.lua index b1fb99f6..42f7356c 100644 --- a/lua/app/config/localization/localization_global_const.lua +++ b/lua/app/config/localization/localization_global_const.lua @@ -620,6 +620,18 @@ local LocalizationGlobalConst = RUNES_QLT_6 = "RUNES_QLT_6", RUNES_QLT_7 = "RUNES_QLT_7", RUNES_QLT_8 = "RUNES_QLT_8", + ACT_TOURN_WAVE_TITLE = "ACT_TOURN_WAVE_TITLE", + ACT_TOURN_WAVE_DESC_1 = "ACT_TOURN_WAVE_DESC_1", + ACT_TOURN_WAVE_DESC_2 = "ACT_TOURN_WAVE_DESC_2", + ACT_TOURN_WAVE_DESC_3 = "ACT_TOURN_WAVE_DESC_3", + ACT_TOURN_WAVE_HELP_1 = "ACT_TOURN_WAVE_HELP_1", + ACT_TOURN_WAVE_HELP_2 = "ACT_TOURN_WAVE_HELP_2", + ACT_TOURN_WAVE_BTN_1 = "ACT_TOURN_WAVE_BTN_1", + ACT_TOURN_WAVE_BTN_2 = "ACT_TOURN_WAVE_BTN_2", + ACT_TOURN_WAVE_BTN_3 = "ACT_TOURN_WAVE_BTN_3", + ACT_TOURN_ARENEA_TITLE = "ACT_TOURN_ARENEA_TITLE", + ACT_TOURN_ARENEA_DESC_1 = "ACT_TOURN_ARENEA_DESC_1", + ACT_TOURN_ARENEA_HELP = "ACT_TOURN_ARENEA_HELP", } return LocalizationGlobalConst \ No newline at end of file diff --git a/lua/app/config/skill.lua b/lua/app/config/skill.lua index fcf5854f..5ba2a4bd 100644 --- a/lua/app/config/skill.lua +++ b/lua/app/config/skill.lua @@ -3854,7 +3854,6 @@ local skill = { }, [2400421]={ ["position"]=2, - ["combo_position"]=1, ["effect_type"]=2, ["trigger"]=5, ["effect"]={ @@ -3893,6 +3892,7 @@ local skill = { 2 } }, + ["combo_position"]=2, ["effect_type"]=2, ["trigger"]=5, ["effect"]={ @@ -5553,7 +5553,7 @@ local skill = { { { ["type"]="state", - ["attr"]="vulnerable", + ["attr"]="frozen", ["op"]=">", ["v"]=0, ["side"]=2 @@ -5566,14 +5566,15 @@ local skill = { 1 } }, + ["combo_position"]=3, ["effect_type"]=2, ["trigger"]=5, ["effect"]={ { - ["type"]="bleed", - ["num"]=3500, - ["ratio"]=1000, - ["round"]=2 + ["type"]="hurt_green", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=0 } }, ["obj"]=2 diff --git a/lua/app/config/skill_rogue.lua b/lua/app/config/skill_rogue.lua index 66e44502..0a6541e0 100644 --- a/lua/app/config/skill_rogue.lua +++ b/lua/app/config/skill_rogue.lua @@ -3358,9 +3358,6 @@ local skill_rogue = { ["icon"]="244" }, [3400303]={ - ["buff_id"]={ - "bleed" - }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, diff --git a/lua/app/config/strings/cn/global.lua b/lua/app/config/strings/cn/global.lua index 9117571b..7482bd58 100644 --- a/lua/app/config/strings/cn/global.lua +++ b/lua/app/config/strings/cn/global.lua @@ -620,6 +620,18 @@ local localization_global = ["RUNES_QLT_6"] = "A", ["RUNES_QLT_7"] = "S", ["RUNES_QLT_8"] = "SS", + ["ACT_TOURN_WAVE_TITLE"] = "丛林大探险", + ["ACT_TOURN_WAVE_DESC_1"] = "累积副本通关波次,可获得战令奖励!", + ["ACT_TOURN_WAVE_DESC_2"] = "距离下次分组:", + ["ACT_TOURN_WAVE_DESC_3"] = "距离结算:", + ["ACT_TOURN_WAVE_HELP_1"] = "活动期间,通关以下副本波次,可获得战令奖励:\n1. 主线章节 \n2. 主线挑战 \n3. 活动关卡", + ["ACT_TOURN_WAVE_HELP_2"] = "排行榜积分:\n活动期间,通关主线章节、主线挑战、活动关卡的波次,每次可获得{0}积分,排行榜根据积分进行排行。\n注意:活动最后1天,通关波次不再计入积分,仅展示排名。\n\n 排行榜分组规则:\n活动开启后,每2天进行一次分组,根据玩家在2天内的积分数进行排名,冒险家们可于第3天在“上轮排行榜”中,领取排行奖励。", + ["ACT_TOURN_WAVE_BTN_1"] = "当前排行榜", + ["ACT_TOURN_WAVE_BTN_2"] = "上轮排行榜", + ["ACT_TOURN_WAVE_BTN_3"] = "排行榜奖励", + ["ACT_TOURN_ARENEA_TITLE"] = "帝国锦标赛", + ["ACT_TOURN_ARENEA_DESC_1"] = "参与竞技场,可获得战令奖励!", + ["ACT_TOURN_ARENEA_HELP"] = " 排行榜积分:\n活动期间,参与竞技场,根据排位及战斗结果,可获得若干积分,排行榜根据积分进行排行。\n\n 青铜2:胜利{0}分,失败{1}分;\n 青铜1:胜利{0}分,失败{1}分;\n 白银4:胜利{0}分,失败{1}分;\n 白银3:胜利{0}分,失败{1}分;\n 白银2:胜利{0}分,失败{1}分;\n 白银1:胜利{0}分,失败{1}分;\n 黄金5:胜利{0}分,失败{1}分;\n 黄金4:胜利{0}分,失败{1}分;\n 黄金3:胜利{0}分,失败{1}分;\n 黄金2:胜利{0}分,失败{1}分;\n 黄金1:胜利{0}分,失败{1}分;\n\n注意:活动最后1天,参与竞技场不再计入积分,仅展示排名。\n\n 排行榜分组规则:\n活动开启后,每2天进行一次分组,根据玩家在2天内的积分数进行排名,冒险家们可于第3天在“上轮排行榜”中,领取排行奖励。", } return localization_global \ No newline at end of file diff --git a/lua/app/config/strings/cn/skill_rogue.lua b/lua/app/config/strings/cn/skill_rogue.lua index c6903b2c..0e2f6d72 100644 --- a/lua/app/config/strings/cn/skill_rogue.lua +++ b/lua/app/config/strings/cn/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="绝命啃咬消除的元素提供技能能量*2。" }, [3400303]={ - ["desc"]="Combo:忍者菲尔普攻易伤敌人有10%概率附加流血效果,2回合。" + ["desc"]="Combo:忍者菲尔普攻对冻结敌人额外增伤。" }, [3400304]={ ["desc"]="绝命啃咬使用时本次普攻伤害提升。" diff --git a/lua/app/config/strings/en/skill_rogue.lua b/lua/app/config/strings/en/skill_rogue.lua index ebe621d8..46f3708c 100644 --- a/lua/app/config/strings/en/skill_rogue.lua +++ b/lua/app/config/strings/en/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="Skill energy provided by Elements cleared by Lethal Bite *2." }, [3400303]={ - ["desc"]="Combo: Ninja Phil's normal attacks on Vulnerable have a 10% of chance to inflict Bleed for 2 turns." + ["desc"]="Combo: Ninja Phil's normal attacks deal increased damage to Frozen enemies." }, [3400304]={ ["desc"]="When Lethal Bite is used, normal attack damage increases for this turn." @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="Take This can inflict Bleed for 2 turns." }, [2400406]={ - ["desc"]="Combo: Lee's normal attacks deal increased damage to Cold and Bleeding enemies." + ["desc"]="Combo: Lee's normal attacks deal increased damage to Cold and Burn enemies." }, [2400407]={ ["desc"]="The chance of Stun inflicted by Take This increases to 10% for +1 turn." diff --git a/lua/app/config/strings/es/skill_rogue.lua b/lua/app/config/strings/es/skill_rogue.lua index 041321a6..573c0a59 100644 --- a/lua/app/config/strings/es/skill_rogue.lua +++ b/lua/app/config/strings/es/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="Energía de habilidad ofrecida por elementos eliminados por Mordedura Fatal *2." }, [3400303]={ - ["desc"]="Combo: el ATQ común de Ninja Phil a enemigos vulnerables tiene un 10% de chance de aplicar Sangrado durante 2 rondas." + ["desc"]="Combo: el ATQ común de Ninja Phil aumenta el daño extra a enemigos Congelado." }, [3400304]={ ["desc"]="Al usar Mordedura Fatal, el daño de este ataque común aumenta." @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="Ah-dah puede aplicar Sangrado durante 2 rondas." }, [2400406]={ - ["desc"]="Combo: ataque común de Lee causa daño adicional a los enemigos con Escarcha y Sangrados." + ["desc"]="Combo: ataque común de Lee causa daño adicional a los enemigos con Escarcha y Quemadura." }, [2400407]={ ["desc"]="Aumenta el chance de Vértigo aplicado por Ah-dah a 10% durante +1 ronda." diff --git a/lua/app/config/strings/id/skill_rogue.lua b/lua/app/config/strings/id/skill_rogue.lua index 40bc5d41..b57974f9 100644 --- a/lua/app/config/strings/id/skill_rogue.lua +++ b/lua/app/config/strings/id/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="Energi skill yang diberikan oleh elemen dan dibersihkan Gigitan Maut *2." }, [3400303]={ - ["desc"]="Combo: ATK Normal Ninja Phil pada Rentan memiliki 10% peluang untuk memberikan Berdarah selama 2 giliran." + ["desc"]="Combo: ATK Normal Ninja Phil memberikan peningkatan DMG pada musuh yang Freeze." }, [3400304]={ ["desc"]="DMG ATK normal akan meningkat pada giliran ini saat Gigitan Maut digunakan." @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="Ah, bertarung! menyebabkan berdarah selama 2 giliran." }, [2400406]={ - ["desc"]="Combo: ATK normal Lee memberikan peningkatan DMG pada musuh Freeze dan Bleed." + ["desc"]="Combo: ATK normal Lee memberikan peningkatan DMG pada musuh Freeze dan Scorch." }, [2400407]={ ["desc"]="Peluang Stun yang ditimbulkan Ah, bertarung! meningkat menjadi 10% selama +1 putaran." diff --git a/lua/app/config/strings/ja/skill_rogue.lua b/lua/app/config/strings/ja/skill_rogue.lua index 0842c978..26f75f03 100644 --- a/lua/app/config/strings/ja/skill_rogue.lua +++ b/lua/app/config/strings/ja/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="「リーサルバイト」が消す元素のスキルエネルギー*2。" }, [3400303]={ - ["desc"]="ヒット:「忍者フィルの通常攻撃」は10%の確率で被ダメージアップ状態の敵に2ターン出血効果を付与する。" + ["desc"]="ヒット:「忍者フィルの通常攻撃」は凍結状態の敵に与えるダメージが増加する。" }, [3400304]={ ["desc"]="「リーサルバイト」を発動すると、今回の通常攻撃のダメージがアップ。" @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="「喰らえ!」は敵に2ターン出血効果を付与できる。" }, [2400406]={ - ["desc"]="ヒット:李の通常攻撃は凍傷と出血状態の敵にダメージが50%アップ。" + ["desc"]="ヒット:李の通常攻撃は凍傷と⽕傷状態の敵にダメージが50%アップ。" }, [2400407]={ ["desc"]="「喰らえ!」のスタン効果の確率は10%に増加し、ターン数が+1。" diff --git a/lua/app/config/strings/ko/chapter.lua b/lua/app/config/strings/ko/chapter.lua index 7ec95c8b..a7e5a0b3 100644 --- a/lua/app/config/strings/ko/chapter.lua +++ b/lua/app/config/strings/ko/chapter.lua @@ -81,7 +81,7 @@ local chapter = { ["name"]="27. 악마의 도시 동쪽 거리" }, [28]={ - ["name"]="29. 악마의 도시 센터" + ["name"]="28. 악마의 도시 센터" }, [29]={ ["name"]="29. 악마의 도시 진입로" diff --git a/lua/app/config/strings/ko/skill_rogue.lua b/lua/app/config/strings/ko/skill_rogue.lua index 801c96e6..3165e7db 100644 --- a/lua/app/config/strings/ko/skill_rogue.lua +++ b/lua/app/config/strings/ko/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="필사적인 물기로 소멸한 원소가 제공하는 스킬 에너지 2배" }, [3400303]={ - ["desc"]="Combo: 닌자 필이 부상 상태인 적에게 일반 공격을 가하면 2턴 동안 10% 확률로 출혈 효과를 부여합니다." + ["desc"]="Combo: 닌자 필이 의 일반 공격이 동결 효과의 적에게 추가 피해를 입힙니다." }, [3400304]={ ["desc"]="필사적인 물기를 사용하면 이번 턴의 일반 공격 대미지가 증가합니다." @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="아뵤! 2턴 동안 출혈효과를 부여합니다." }, [2400406]={ - ["desc"]="Combo: 리의 일반 공격은 서리 또는 출혈 상태인 적에게 추가 피해를 입힙니다." + ["desc"]="Combo: 리의 일반 공격은 서리 또는 버닝 효과 상태인 적에게 추가 피해를 입힙니다." }, [2400407]={ ["desc"]="아뵤! 가 기절 효과를 부여할 확률이 10%로 증가하며 턴 횟수 +1" diff --git a/lua/app/config/strings/pt/skill_rogue.lua b/lua/app/config/strings/pt/skill_rogue.lua index af7cb057..124508df 100644 --- a/lua/app/config/strings/pt/skill_rogue.lua +++ b/lua/app/config/strings/pt/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="Os elementos eliminados pela Mordida Desesperada fornecem energia de habilidade*2." }, [3400303]={ - ["desc"]="Combo: o ataque básico de Ninja Phill tem 10% de chance de infligir sangramento por 2 turnos a inimigos vulneráveis." + ["desc"]="Combo: o ataque básico de Ninja Phill serve para aumentar o dano extra a inimigos Congelado." }, [3400304]={ ["desc"]="O dano deste ataque básico aumenta quando Mordida Desesperada é usada." @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="Ah-dah! pode sangrar o alvo por 2 rodadas." }, [2400406]={ - ["desc"]="Combo: o ataque básico de Lee causa dano extra aos inimigos gélidos e sangrentos." + ["desc"]="Combo: o ataque básico de Lee causa dano extra aos inimigos Gélidos e Conflagração." }, [2400407]={ ["desc"]="Aumenta a 10% a chance de acionamento do atordoamento de Ah-dah! com +1 rodada de duração." diff --git a/lua/app/config/strings/th/skill_rogue.lua b/lua/app/config/strings/th/skill_rogue.lua index 82514674..b2684448 100644 --- a/lua/app/config/strings/th/skill_rogue.lua +++ b/lua/app/config/strings/th/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="ธาตุที่กำจัดโดยขย้ำดับชีพเสนอพลังงานสกิล*2" }, [3400303]={ - ["desc"]="Combo: การโจมตีทั่วไปของนินจาฟิลโดนศัตรูอ่อนแอจะมีโอกาส 10% เพิ่มเอฟเฟกต์เลือดไหล 2 รอบ" + ["desc"]="Combo: การโจมตีทั่วไปของนินจาฟิลสร้างดาเมจเพิ่มเติมให้กับศัตรูแช่แข็ง" }, [3400304]={ ["desc"]="เมื่อใช้ขย้ำดับชีพ เพิ่มดาเมจโจมตีทั่วไปครั้งนี้" @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="อ่า ต้า! จะเพิ่มเอฟเฟกต์เลือดไหล 2 รอบ" }, [2400406]={ - ["desc"]="คอมโบ: การโจมตีทั่วไปของหลี่จะสร้างดาเมจเพิ่มเติมให้กับศัตรูฟรอสต์และเลือดไหล" + ["desc"]="คอมโบ: การโจมตีทั่วไปของหลี่จะสร้างดาเมจเพิ่มเติมให้กับศัตรูฟรอสต์และเผาไหม้" }, [2400407]={ ["desc"]="โอกาสเอฟเฟกต์มึนงงที่เพิ่มโดยอ่า ต้า!เพิ่มขึ้นถึง10% จำนวนรอบ+1" diff --git a/lua/app/config/strings/vi/skill_rogue.lua b/lua/app/config/strings/vi/skill_rogue.lua index 0f5389b5..1bdcb7b2 100644 --- a/lua/app/config/strings/vi/skill_rogue.lua +++ b/lua/app/config/strings/vi/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="Cung cấp Năng Lượng Kỹ Năng*2 nguyên tố do Gặm Cắn Chí Mạng xua tan." }, [3400303]={ - ["desc"]="Combo: Ninja Phil đánh thường kẻ địch Trọng Thương có 10% kèm Mất Máu, 2 hiệp." + ["desc"]="Combo: Ninja Phil đánh thường gây thêm sát thương lên kẻ địch Đóng Băng." }, [3400304]={ ["desc"]="Khi dùng Gặm Cắn Chí Mạng tăng sát thương đánh thường lần này." @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="Đánh Nào! kèm hiệu quả Mất Máu, 2 hiệp." }, [2400406]={ - ["desc"]="Combo: Lee đánh thường gây thêm ST lên kẻ địch Băng Sương và Mất Máu." + ["desc"]="Combo: Lee đánh thường gây thêm ST lên kẻ địch Băng Sương và Thiêu Đốt." }, [2400407]={ ["desc"]="Đánh Nào! kèm hiệu quả Choáng, TL tăng đến 10%, số hiệp +1." diff --git a/lua/app/config/strings/zh/skill_rogue.lua b/lua/app/config/strings/zh/skill_rogue.lua index 2fcd926b..c8e1e836 100644 --- a/lua/app/config/strings/zh/skill_rogue.lua +++ b/lua/app/config/strings/zh/skill_rogue.lua @@ -789,7 +789,7 @@ local skill_rogue = { ["desc"]="絕命啃咬消除的元素提供技能能量*2。" }, [3400303]={ - ["desc"]="Combo:忍者菲爾普攻易傷敵人有10%機率附帶流血效果,2回合。" + ["desc"]="Combo:忍者菲爾普攻對凍結敵人額外增傷。" }, [3400304]={ ["desc"]="絕命啃咬使用時本次普攻傷害提高。" @@ -894,7 +894,7 @@ local skill_rogue = { ["desc"]="啊,打!可附帶流血效果,2回合。" }, [2400406]={ - ["desc"]="Combo:李普攻對冰霜和流血敵人額外增傷。" + ["desc"]="Combo:李普攻對冰霜和灼燒敵人額外增傷。" }, [2400407]={ ["desc"]="啊,打!附帶的暈眩效果機率提高至10%,回合數+1。" From 607a3ac111ddc696775ca9290a2f2a5b3e93d197 Mon Sep 17 00:00:00 2001 From: Fang Date: Mon, 25 Sep 2023 17:37:47 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/proto/proto_msg_type.lua | 60 ++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/lua/app/proto/proto_msg_type.lua b/lua/app/proto/proto_msg_type.lua index 1a12e977..560b92fd 100644 --- a/lua/app/proto/proto_msg_type.lua +++ b/lua/app/proto/proto_msg_type.lua @@ -39,6 +39,8 @@ local ProtoMsgType = { [606210585] = "DailyChallengeTaskAwardRsp", [613793796] = "WatchADReq", [613795629] = "WatchADRsp", + [629736377] = "TournArenaBountyClaimByDiamondReq", + [629738210] = "TournArenaBountyClaimByDiamondRsp", [697000709] = "FourteenBountyTaskAwardReq", [697002542] = "FourteenBountyTaskAwardRsp", [737107384] = "BuyMallIdleReq", @@ -105,6 +107,8 @@ local ProtoMsgType = { [1666429753] = "MailDeleteRsp", [1690297937] = "SummonReq", [1690299770] = "SummonRsp", + [1729069725] = "TournArenaRankReq", + [1729071558] = "TournArenaRankRsp", [1746317288] = "IdleInfoReq", [1746319121] = "IdleInfoRsp", [1751460231] = "PVPHeroesArrayReq", @@ -116,6 +120,8 @@ local ProtoMsgType = { [1975352438] = "ActivityPVPRankRewardsRsp", [2017336372] = "BossRushSettlementReq", [2017338205] = "BossRushSettlementRsp", + [2018011867] = "TournWaveRankReq", + [2018013700] = "TournWaveRankRsp", [2060508030] = "ChangeAvatarFrameReq", [2060509863] = "ChangeAvatarFrameRsp", [2095612947] = "ChangeNameReq", @@ -182,6 +188,8 @@ local ProtoMsgType = { [2909094887] = "AIHelpUnreadRsp", [2921083100] = "ChapterArmorChallengeSettlementReq", [2921084933] = "ChapterArmorChallengeSettlementRsp", + [2964758488] = "TournWaveBountyClaimReq", + [2964760321] = "TournWaveBountyClaimRsp", [3003864530] = "ActTriggerGiftNtf", [3013273736] = "PVPRankHeroesReq", [3013275569] = "PVPRankHeroesRsp", @@ -234,6 +242,12 @@ local ProtoMsgType = { [3440328467] = "PigLevelUpNtf", [3512214338] = "BossRushPlayerInfoReq", [3512216171] = "BossRushPlayerInfoRsp", + [3531336428] = "TournArenaRankClaimRewardReq", + [3531338261] = "TournArenaRankClaimRewardRsp", + [3533710638] = "TournArenaBountyClaimReq", + [3533712471] = "TournArenaBountyClaimRsp", + [3548077431] = "TournWaveBountyClaimByDiamondReq", + [3548079264] = "TournWaveBountyClaimByDiamondRsp", [3555824176] = "TaskDailyInfoReq", [3555826009] = "TaskDailyInfoRsp", [3597633120] = "BattleSkillRefreshReq", @@ -276,6 +290,10 @@ local ProtoMsgType = { [3904150593] = "GMRsp", [3933875617] = "ChapterStartReq", [3933877450] = "ChapterStartRsp", + [3966736054] = "TournWaveRankClaimRewardReq", + [3966737887] = "TournWaveRankClaimRewardRsp", + [3980802711] = "TournArenaDataReq", + [3980804544] = "TournArenaDataRsp", [3991710133] = "FullMoonRewardClaimReq", [3991711966] = "FullMoonRewardClaimRsp", [4010728288] = "ChapterRuneBuySliverReq", @@ -302,6 +320,8 @@ local ProtoMsgType = { [4195652624] = "TriggerWeaponArmorGiftRsp", [4256333947] = "ExistReq", [4256335780] = "ExistRsp", + [4269744853] = "TournWaveDataReq", + [4269746686] = "TournWaveDataRsp", }, FromMsgToId = { FullMoonCustomGiftChooseReq = 5949102, @@ -343,6 +363,8 @@ local ProtoMsgType = { DailyChallengeTaskAwardRsp = 606210585, WatchADReq = 613793796, WatchADRsp = 613795629, + TournArenaBountyClaimByDiamondReq = 629736377, + TournArenaBountyClaimByDiamondRsp = 629738210, FourteenBountyTaskAwardReq = 697000709, FourteenBountyTaskAwardRsp = 697002542, BuyMallIdleReq = 737107384, @@ -409,6 +431,8 @@ local ProtoMsgType = { MailDeleteRsp = 1666429753, SummonReq = 1690297937, SummonRsp = 1690299770, + TournArenaRankReq = 1729069725, + TournArenaRankRsp = 1729071558, IdleInfoReq = 1746317288, IdleInfoRsp = 1746319121, PVPHeroesArrayReq = 1751460231, @@ -420,6 +444,8 @@ local ProtoMsgType = { ActivityPVPRankRewardsRsp = 1975352438, BossRushSettlementReq = 2017336372, BossRushSettlementRsp = 2017338205, + TournWaveRankReq = 2018011867, + TournWaveRankRsp = 2018013700, ChangeAvatarFrameReq = 2060508030, ChangeAvatarFrameRsp = 2060509863, ChangeNameReq = 2095612947, @@ -486,6 +512,8 @@ local ProtoMsgType = { AIHelpUnreadRsp = 2909094887, ChapterArmorChallengeSettlementReq = 2921083100, ChapterArmorChallengeSettlementRsp = 2921084933, + TournWaveBountyClaimReq = 2964758488, + TournWaveBountyClaimRsp = 2964760321, ActTriggerGiftNtf = 3003864530, PVPRankHeroesReq = 3013273736, PVPRankHeroesRsp = 3013275569, @@ -538,6 +566,12 @@ local ProtoMsgType = { PigLevelUpNtf = 3440328467, BossRushPlayerInfoReq = 3512214338, BossRushPlayerInfoRsp = 3512216171, + TournArenaRankClaimRewardReq = 3531336428, + TournArenaRankClaimRewardRsp = 3531338261, + TournArenaBountyClaimReq = 3533710638, + TournArenaBountyClaimRsp = 3533712471, + TournWaveBountyClaimByDiamondReq = 3548077431, + TournWaveBountyClaimByDiamondRsp = 3548079264, TaskDailyInfoReq = 3555824176, TaskDailyInfoRsp = 3555826009, BattleSkillRefreshReq = 3597633120, @@ -580,6 +614,10 @@ local ProtoMsgType = { GMRsp = 3904150593, ChapterStartReq = 3933875617, ChapterStartRsp = 3933877450, + TournWaveRankClaimRewardReq = 3966736054, + TournWaveRankClaimRewardRsp = 3966737887, + TournArenaDataReq = 3980802711, + TournArenaDataRsp = 3980804544, FullMoonRewardClaimReq = 3991710133, FullMoonRewardClaimRsp = 3991711966, ChapterRuneBuySliverReq = 4010728288, @@ -606,6 +644,8 @@ local ProtoMsgType = { TriggerWeaponArmorGiftRsp = 4195652624, ExistReq = 4256333947, ExistRsp = 4256335780, + TournWaveDataReq = 4269744853, + TournWaveDataRsp = 4269746686, }, FromMsgEnum = { FullMoonCustomGiftChooseReq = "FullMoonCustomGiftChooseReq", @@ -647,6 +687,8 @@ local ProtoMsgType = { DailyChallengeTaskAwardRsp = "DailyChallengeTaskAwardRsp", WatchADReq = "WatchADReq", WatchADRsp = "WatchADRsp", + TournArenaBountyClaimByDiamondReq = "TournArenaBountyClaimByDiamondReq", + TournArenaBountyClaimByDiamondRsp = "TournArenaBountyClaimByDiamondRsp", FourteenBountyTaskAwardReq = "FourteenBountyTaskAwardReq", FourteenBountyTaskAwardRsp = "FourteenBountyTaskAwardRsp", BuyMallIdleReq = "BuyMallIdleReq", @@ -713,6 +755,8 @@ local ProtoMsgType = { MailDeleteRsp = "MailDeleteRsp", SummonReq = "SummonReq", SummonRsp = "SummonRsp", + TournArenaRankReq = "TournArenaRankReq", + TournArenaRankRsp = "TournArenaRankRsp", IdleInfoReq = "IdleInfoReq", IdleInfoRsp = "IdleInfoRsp", PVPHeroesArrayReq = "PVPHeroesArrayReq", @@ -724,6 +768,8 @@ local ProtoMsgType = { ActivityPVPRankRewardsRsp = "ActivityPVPRankRewardsRsp", BossRushSettlementReq = "BossRushSettlementReq", BossRushSettlementRsp = "BossRushSettlementRsp", + TournWaveRankReq = "TournWaveRankReq", + TournWaveRankRsp = "TournWaveRankRsp", ChangeAvatarFrameReq = "ChangeAvatarFrameReq", ChangeAvatarFrameRsp = "ChangeAvatarFrameRsp", ChangeNameReq = "ChangeNameReq", @@ -790,6 +836,8 @@ local ProtoMsgType = { AIHelpUnreadRsp = "AIHelpUnreadRsp", ChapterArmorChallengeSettlementReq = "ChapterArmorChallengeSettlementReq", ChapterArmorChallengeSettlementRsp = "ChapterArmorChallengeSettlementRsp", + TournWaveBountyClaimReq = "TournWaveBountyClaimReq", + TournWaveBountyClaimRsp = "TournWaveBountyClaimRsp", ActTriggerGiftNtf = "ActTriggerGiftNtf", PVPRankHeroesReq = "PVPRankHeroesReq", PVPRankHeroesRsp = "PVPRankHeroesRsp", @@ -842,6 +890,12 @@ local ProtoMsgType = { PigLevelUpNtf = "PigLevelUpNtf", BossRushPlayerInfoReq = "BossRushPlayerInfoReq", BossRushPlayerInfoRsp = "BossRushPlayerInfoRsp", + TournArenaRankClaimRewardReq = "TournArenaRankClaimRewardReq", + TournArenaRankClaimRewardRsp = "TournArenaRankClaimRewardRsp", + TournArenaBountyClaimReq = "TournArenaBountyClaimReq", + TournArenaBountyClaimRsp = "TournArenaBountyClaimRsp", + TournWaveBountyClaimByDiamondReq = "TournWaveBountyClaimByDiamondReq", + TournWaveBountyClaimByDiamondRsp = "TournWaveBountyClaimByDiamondRsp", TaskDailyInfoReq = "TaskDailyInfoReq", TaskDailyInfoRsp = "TaskDailyInfoRsp", BattleSkillRefreshReq = "BattleSkillRefreshReq", @@ -884,6 +938,10 @@ local ProtoMsgType = { GMRsp = "GMRsp", ChapterStartReq = "ChapterStartReq", ChapterStartRsp = "ChapterStartRsp", + TournWaveRankClaimRewardReq = "TournWaveRankClaimRewardReq", + TournWaveRankClaimRewardRsp = "TournWaveRankClaimRewardRsp", + TournArenaDataReq = "TournArenaDataReq", + TournArenaDataRsp = "TournArenaDataRsp", FullMoonRewardClaimReq = "FullMoonRewardClaimReq", FullMoonRewardClaimRsp = "FullMoonRewardClaimRsp", ChapterRuneBuySliverReq = "ChapterRuneBuySliverReq", @@ -910,6 +968,8 @@ local ProtoMsgType = { TriggerWeaponArmorGiftRsp = "TriggerWeaponArmorGiftRsp", ExistReq = "ExistReq", ExistRsp = "ExistRsp", + TournWaveDataReq = "TournWaveDataReq", + TournWaveDataRsp = "TournWaveDataRsp", }, }