From c65718119fa6bc9e095100e4d73b4dc9e2b83cb2 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Wed, 6 Sep 2023 18:47:55 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/ui/daily_challenge/cell/task_cell.lua | 4 ++-- lua/app/ui/dungeon_armor/cell/task_cell.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/app/ui/daily_challenge/cell/task_cell.lua b/lua/app/ui/daily_challenge/cell/task_cell.lua index fb72df6a..25696456 100644 --- a/lua/app/ui/daily_challenge/cell/task_cell.lua +++ b/lua/app/ui/daily_challenge/cell/task_cell.lua @@ -1,6 +1,6 @@ local TaskCell = class("TaskCell", BaseCell) -local ICON_BG = {"daily_bg_1", "daily_bg_2"} +local ICON_BG = {"common_board_131", "common_board_132"} local ICON = {"daily_task_1", "daily_task_2"} function TaskCell:refresh(taskInfo, customProgress) @@ -8,7 +8,7 @@ function TaskCell:refresh(taskInfo, customProgress) customProgress = customProgress or 0 local uiMap = self:getUIMap() local icon = complete and ICON_BG[2] or ICON_BG[1] - uiMap["task_cell.task_icon_bg"]:setSprite(GConst.ATLAS_PATH.DAILY_CHALLENGE, icon) + uiMap["task_cell.task_icon_bg"]:setSprite(GConst.ATLAS_PATH.COMMON, icon) icon = complete and ICON[2] or ICON[1] uiMap["task_cell.task_icon"]:setSprite(GConst.ATLAS_PATH.DAILY_CHALLENGE, icon) uiMap["task_cell.desc"]:setText(DataManager.DailyChallengeData:getTaskDesc(taskInfo.task_id, true, customProgress)) diff --git a/lua/app/ui/dungeon_armor/cell/task_cell.lua b/lua/app/ui/dungeon_armor/cell/task_cell.lua index ce019987..9240b313 100644 --- a/lua/app/ui/dungeon_armor/cell/task_cell.lua +++ b/lua/app/ui/dungeon_armor/cell/task_cell.lua @@ -1,12 +1,12 @@ local TaskCell = class("TaskCell", BaseCell) -local ICON_BG = {"dungeon_armor_bg_9", "dungeon_armor_bg_10"} +local ICON_BG = {"common_board_131", "common_board_132"} local ICON = {"dungeon_armor_star_2", "dungeon_armor_star_1"} function TaskCell:refresh(desc, over) local uiMap = self:getUIMap() local icon = over and ICON_BG[2] or ICON_BG[1] - uiMap["task_cell.task_icon_bg"]:setSprite(GConst.ATLAS_PATH.UI_DUGEON_ARMOR, icon) + uiMap["task_cell.task_icon_bg"]:setSprite(GConst.ATLAS_PATH.COMMON, icon) icon = over and ICON[2] or ICON[1] uiMap["task_cell.task_icon"]:setSprite(GConst.ATLAS_PATH.UI_DUGEON_ARMOR, icon) uiMap["task_cell.desc"]:setText(desc) From c0a3356cfda4272650e2be6ad46d01698ab18ff3 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Thu, 7 Sep 2023 19:14:39 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=AC=A6=E6=96=87=E5=89=AF=E6=9C=AC?= =?UTF-8?q?=E4=B8=BB=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/bi_report.lua | 1 + lua/app/common/module_manager.lua | 3 + lua/app/global/global_const.lua | 1 + lua/app/module/battle/battle_const.lua | 2 + lua/app/module/battle/battle_manager.lua | 1 + .../battle_controller_dungeon_rune.lua | 108 +++++++++++++ .../battle_controller_dungeon_rune.lua.meta | 10 ++ lua/app/module/dungeon_rune.meta | 8 + .../dungeon_rune/dungeon_rune_manager.lua | 14 ++ .../dungeon_rune_manager.lua.meta | 10 ++ lua/app/module/item/item_const.lua | 2 + .../ui/currency_bar/cell/currency_cell.lua | 5 + lua/app/ui/dungeon/dungeon_board_cell.lua | 9 +- lua/app/ui/dungeon_rune.meta | 8 + lua/app/ui/dungeon_rune/cell.meta | 8 + .../dungeon_rune/cell/rune_chapter_cell.lua | 89 +++++++++++ .../cell/rune_chapter_cell.lua.meta | 10 ++ .../ui/dungeon_rune/cell/rune_task_cell.lua | 0 .../dungeon_rune/cell/rune_task_cell.lua.meta | 10 ++ .../ui/dungeon_rune/dungeon_rune_main_ui.lua | 143 +++++++++++++++++ .../dungeon_rune_main_ui.lua.meta | 10 ++ .../userdata/dungeon/dungeon_armor_entity.lua | 2 +- lua/app/userdata/dungeon/dungeon_data.lua | 2 + .../userdata/dungeon/dungeon_rune_entity.lua | 151 ++++++++++++++++++ .../dungeon/dungeon_rune_entity.lua.meta | 10 ++ .../dungeon/dungeon_weapon_entity.lua | 2 +- lua/app/userdata/formation/formation_data.lua | 9 ++ 27 files changed, 624 insertions(+), 4 deletions(-) create mode 100644 lua/app/module/battle/controller/battle_controller_dungeon_rune.lua create mode 100644 lua/app/module/battle/controller/battle_controller_dungeon_rune.lua.meta create mode 100644 lua/app/module/dungeon_rune.meta create mode 100644 lua/app/module/dungeon_rune/dungeon_rune_manager.lua create mode 100644 lua/app/module/dungeon_rune/dungeon_rune_manager.lua.meta create mode 100644 lua/app/ui/dungeon_rune.meta create mode 100644 lua/app/ui/dungeon_rune/cell.meta create mode 100644 lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua create mode 100644 lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua.meta create mode 100644 lua/app/ui/dungeon_rune/cell/rune_task_cell.lua create mode 100644 lua/app/ui/dungeon_rune/cell/rune_task_cell.lua.meta create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua.meta create mode 100644 lua/app/userdata/dungeon/dungeon_rune_entity.lua create mode 100644 lua/app/userdata/dungeon/dungeon_rune_entity.lua.meta diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua index 3a6117fe..e596d8a2 100644 --- a/lua/app/common/bi_report.lua +++ b/lua/app/common/bi_report.lua @@ -199,6 +199,7 @@ BIReport.BATTLE_TYPE = { ["6"] = "DungeonWeapon", ["7"] = "DungeonArmor", ["8"] = "ActBossRush", + ["9"] = "DungeonRune", } BIReport.GIFT_TYPE = { diff --git a/lua/app/common/module_manager.lua b/lua/app/common/module_manager.lua index d2dcadbb..684868be 100644 --- a/lua/app/common/module_manager.lua +++ b/lua/app/common/module_manager.lua @@ -75,6 +75,8 @@ local MODULE_PATHS = { ActBossRushManager = "app/module/activity/act_boss_rush/act_boss_rush_manager", -- 新手14天乐 FourteenDayManager = "app/module/activity/fourteen_day/fourteen_day_manager", + -- 符文副本 + DungeonRuneManager = "app/module/dungeon_rune/dungeon_rune_manager", } -- 这里的key对应func_open里的id @@ -106,6 +108,7 @@ ModuleManager.MODULE_KEY = { EQUIP_WEAPON = "equip_weapon_open", -- 武器 EQUIP_ARMOR = "equip_armor_open", -- 防具 SKIN = "skin_open", -- 皮肤 + RUNES_OPEN = "runes_open", -- 符文 } local _moduleMgrs = {} diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua index 36ebca08..f646aa3f 100644 --- a/lua/app/global/global_const.lua +++ b/lua/app/global/global_const.lua @@ -230,6 +230,7 @@ GConst.ATLAS_PATH = { ACT_HEROFUND = "assets/arts/atlas/ui/act_herofund.asset", ACT_BOSS_RUSH = "assets/arts/atlas/ui/act_bossrush.asset", ACT_COMMON = "assets/arts/atlas/ui/act_common.asset", + UI_DUNGEON_RUNE = "assets/arts/atlas/ui/dungeon_rune.asset", } GConst.TOUCH_EVENT = { diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index 3bdf538e..3ce09bb7 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -89,6 +89,7 @@ BattleConst.BATTLE_TYPE = { DUNGEON_WEAPON = "6", DUNGEON_ARMOR = "7", ACT_BOSS_RUSH = "8", + DUNGEON_RUNE = "9", } BattleConst.IS_PVP_BATTLE = { @@ -103,6 +104,7 @@ BattleConst.FORMATION_TYPE = { DUNGEON_WEAPON = "4", -- 武器副本 DUNGEON_ARMOR = "5", -- 支线副本 BOSS_RUSH = "6", -- boss rush + DUNGEON_RUNE = "7", -- 符文副本 } BattleConst.TYPEOF_LUA_COMP = { diff --git a/lua/app/module/battle/battle_manager.lua b/lua/app/module/battle/battle_manager.lua index 319571fe..2288dc30 100644 --- a/lua/app/module/battle/battle_manager.lua +++ b/lua/app/module/battle/battle_manager.lua @@ -15,6 +15,7 @@ local BATTLE_CONTROLLER = { [BattleConst.BATTLE_TYPE.DUNGEON_WEAPON] = "app/module/battle/controller/battle_controller_dungeon_weapon", [BattleConst.BATTLE_TYPE.DUNGEON_ARMOR] = "app/module/battle/controller/battle_controller_dungeon_armor", [BattleConst.BATTLE_TYPE.ACT_BOSS_RUSH] = "app/module/battle/controller/battle_controller_boss_rush", + [BattleConst.BATTLE_TYPE.DUNGEON_RUNE] = "app/module/battle/controller/battle_controller_dungeon_rune", } function BattleManager:showPauseUI(battleType, battleController) diff --git a/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua b/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua new file mode 100644 index 00000000..0528c560 --- /dev/null +++ b/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua @@ -0,0 +1,108 @@ +local BattleController = require "app/module/battle/controller/battle_controller" +local BattleControllerDungeonRune = class("BattleControllerDungeonRune", BattleController) +local BattleConst = GConst.BattleConst +local SIDE_ATK = BattleConst.SIDE_ATK +local SIDE_DEF = BattleConst.SIDE_DEF + +function BattleControllerDungeonRune:getBoardConfig() + return ConfigManager:getConfig("chapter_board_dungeon_rune") +end + +function BattleControllerDungeonRune:getChapterConfig() + return ConfigManager:getConfig("chapter_dungeon_rune") +end + +function BattleControllerDungeonRune:getChapterId() + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + return runeData:getCurFightChapterId() +end + +function BattleControllerDungeonRune:onLoadComplete(...) + -- 处理技能 + local unlockAllSkill = function(side) + local skillPool = self.battleData:getSkillPool(side) + if skillPool then + for elementType, list in pairs(skillPool) do -- 先遍历一下未解锁的技能 + if not self.battleData:isUnlockedSkillElementType(elementType, side) then + local skillEntity = self.battleData:getSkillEntityByElement(elementType, side) + if skillEntity then + local skillId = skillEntity:getUnlockId() + if skillId then + self:dealSelectSkill(skillId, nil, side) + end + end + for _, skillId in ipairs(list) do + self:dealSelectSkill(skillId, nil, side) + end + end + end + self.battleUI:refreshSkill(nil, nil, side) + end + end + unlockAllSkill(SIDE_ATK) + unlockAllSkill(SIDE_DEF) + + BattleController.onLoadComplete(self, ...) +end + +function BattleControllerDungeonRune:controllBattleEnd() + self.combatReport = { + battleType = GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, + wave = self:getWaveIndex(), + victory = self.victory, + } + local atkReport = {} + local teamEntity = self.battleData:getAtkTeam() + local members = teamEntity:getAllMembers() + for k, v in pairs(members) do + local report = { + heroId = v:getId(), + dmg = v:getDamageCount(), + } + table.insert(atkReport, report) + end + self.combatReport.atkReport = atkReport + if not self.victory then + self.combatReport.wave = self.combatReport.wave - 1 + end + ModuleManager.DungeonArmorManager:reqEndChallenge(self.chapterId, self.combatReport, self.taskProgress) +end + +function BattleControllerDungeonRune:postWaveOver(atkDead, isQuit) + local deathType = BIReport.FIGHT_DEATH_TYPE.SURVIVE + local waveEndType = BIReport.FIGHT_WAVE_END_TYPE.WIN + if atkDead then + if self.isBossWave then + deathType = BIReport.FIGHT_DEATH_TYPE.BOSS_FAIL + else + deathType = BIReport.FIGHT_DEATH_TYPE.NORMAL_FAIL + end + waveEndType = BIReport.FIGHT_WAVE_END_TYPE.FAIL + end + + if isQuit then + waveEndType = BIReport.FIGHT_WAVE_END_TYPE.QUIT + end + + local duration = self.waveDurationTime + local totalTime = self.totalDurationTime + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + local startTimes = runeData:getChapterFightCount(self.chapterId) + local isFirstWin = false + if runeData:getPassedMaxId() < self.chapterId and self.victory then + isFirstWin = true + end + + local isFianlStep = self:getWaveIndex() >= self.maxWaveIndex + + BIReport:postFightEnd(GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, self.battleData, self.chapterId, self:getWaveIndex(), duration, totalTime, self.eliminateCount, self.eliminateTotalCount, waveEndType, deathType, startTimes, isFirstWin, isFianlStep, self.maxLinkCount) +end + +function BattleControllerDungeonRune:postFightStart() + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + local startTimes = runeData:getChapterFightCount(self.chapterId) + local unlockMaxChapter = runeData:getPassedMaxId() + 1 + BIReport:postFightBegin(GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, self:getWaveIndex(), self.chapterId, unlockMaxChapter, startTimes) +end + +return BattleControllerDungeonRune \ No newline at end of file diff --git a/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua.meta b/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua.meta new file mode 100644 index 00000000..6c29cb7b --- /dev/null +++ b/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: aa826860d0ee7514cb97e9987cc81970 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/dungeon_rune.meta b/lua/app/module/dungeon_rune.meta new file mode 100644 index 00000000..91257a63 --- /dev/null +++ b/lua/app/module/dungeon_rune.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 653e48d52b890da40841ac8132ae8139 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua new file mode 100644 index 00000000..2e3f3bac --- /dev/null +++ b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua @@ -0,0 +1,14 @@ +local DungeonRuneManager = class("DungeonRuneManager", BaseModule) + +function DungeonRuneManager:showMainUI() + UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_main_ui") +end + +function DungeonRuneManager:showFightUI(id) + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + if not runeData:canFight(id) then + GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.PASS_REQUIRE)) + end +end + +return DungeonRuneManager \ No newline at end of file diff --git a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua.meta b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua.meta new file mode 100644 index 00000000..80c93687 --- /dev/null +++ b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 76e45e325e924d2479fff20458daeea3 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/item/item_const.lua b/lua/app/module/item/item_const.lua index 560531a4..7a87a188 100644 --- a/lua/app/module/item/item_const.lua +++ b/lua/app/module/item/item_const.lua @@ -17,6 +17,8 @@ ItemConst.ITEM_ID_RANDOM_FRAGMENT = 19 ItemConst.ITEM_ID_ARENA_BOUNTY_EXP = 21 ItemConst.ITEM_ID_ARENA_TICKET = 22 ItemConst.ITEM_ID_FOURTEEN_DAY_EXCHANGE = 51 +ItemConst.ITEM_ID_GLOD_WING = 49 +ItemConst.ITEM_ID_SLIVER_WING = 50 ItemConst.ITEM_TYPE = { RES = 1, diff --git a/lua/app/ui/currency_bar/cell/currency_cell.lua b/lua/app/ui/currency_bar/cell/currency_cell.lua index 1edccdd7..80d2d117 100644 --- a/lua/app/ui/currency_bar/cell/currency_cell.lua +++ b/lua/app/ui/currency_bar/cell/currency_cell.lua @@ -52,6 +52,11 @@ function ResourceCell:show(itemId, hideAddImg) ModuleManager.CommerceManager:showBuyArenaTicketUI() end) self.addImg:setVisible(true) + elseif itemId == GConst.ItemConst.ITEM_ID_SLIVER_WING then + self.baseObject:addClickListener(function() + -- ModuleManager.CommerceManager:showBuyArenaTicketUI() + end) + self.addImg:setVisible(true) else self.baseObject:removeClickListener() self.addImg:setVisible(false) diff --git a/lua/app/ui/dungeon/dungeon_board_cell.lua b/lua/app/ui/dungeon/dungeon_board_cell.lua index a8b672e6..158ba427 100644 --- a/lua/app/ui/dungeon/dungeon_board_cell.lua +++ b/lua/app/ui/dungeon/dungeon_board_cell.lua @@ -1,5 +1,11 @@ local DungeonBoardCell = class("DungeonBoardCell", BaseCell) +local HIDE_REWARD_MODULE = { + [ModuleManager.MODULE_KEY.DUNGEON_WEAPON] = true, + [ModuleManager.MODULE_KEY.DUNGEON_ARMOR] = true, + [ModuleManager.MODULE_KEY.RUNES_OPEN] = true, +} + function DungeonBoardCell:init() self.uiMap = self:getUIMap() @@ -95,8 +101,7 @@ function DungeonBoardCell:refreshInfo() end function DungeonBoardCell:refreshRewards() - if self.moduleKey == ModuleManager.MODULE_KEY.DUNGEON_WEAPON or - self.moduleKey == ModuleManager.MODULE_KEY.DUNGEON_ARMOR then + if HIDE_REWARD_MODULE[self.moduleKey] then self.itemReward:getBaseObject():setActive(false) else self.itemReward:getBaseObject():setActive(true) diff --git a/lua/app/ui/dungeon_rune.meta b/lua/app/ui/dungeon_rune.meta new file mode 100644 index 00000000..1ee663b1 --- /dev/null +++ b/lua/app/ui/dungeon_rune.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e72a01d8b6402048b886bf2c7cacf3d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/ui/dungeon_rune/cell.meta b/lua/app/ui/dungeon_rune/cell.meta new file mode 100644 index 00000000..574520f1 --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e148733f22b59274a82b62d49cd69ef0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua new file mode 100644 index 00000000..e692539e --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua @@ -0,0 +1,89 @@ +local RuneChapterCell = class("RuneChapterCell", BaseCell) + +local BG = { + "assets/arts/textures/background/dungeon_rune/dungeon_equip_bg_3.png", + "assets/arts/textures/background/dungeon_rune/dungeon_equip_bg_2.png", + "assets/arts/textures/background/dungeon_rune/dungeon_equip_bg_5.png", +} + +function RuneChapterCell:refresh(id, index, isFinal, chapterListCount) + local uiMap = self:getUIMap() + local bg = uiMap["chapter_cell.bg"] + local touchNode = uiMap["chapter_cell.touch_node"] + if not isFinal then + local bgAsset = BG[2] + local isLeft = index % 2 ~= 0 + if isLeft then + bgAsset = BG[1] + touchNode:setAnchoredPositionX(-190) + else + touchNode:setAnchoredPositionX(190) + end + if chapterListCount - 1 == index then + bgAsset = BG[3] + end + bg:setTexture(bgAsset) + bg:setVisible(chapterListCount ~= index) + end + + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + local maxPassedId = runeData:getPassedMaxId() + local fightBg = uiMap["chapter_cell.touch_node.bg"] + local curBg = uiMap["chapter_cell.touch_node.bg_cur"] + local lightImg = uiMap["chapter_cell.touch_node.img_light"] + local sweep = uiMap["chapter_cell.touch_node.sweep_bg"] + lightImg:setVisible(false) + sweep:setVisible(false) + local passed = false + if runeData:curFight(id) then -- 正在可打的 + curBg:setVisible(true) + fightBg:setVisible(false) + + local layer = uiMap["chapter_cell.touch_node.bg_cur.desc"] + layer:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_6, id)) + else + curBg:setVisible(false) + fightBg:setVisible(true) + + local descMinRound = uiMap["chapter_cell.touch_node.bg.desc_min_round"] + local layer = uiMap["chapter_cell.touch_node.bg.desc"] + layer:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_6, id)) + local lock = uiMap["chapter_cell.touch_node.bg.lock"] + if maxPassedId >= id then -- 已通关的 + passed = true + local canSweep = runeData:canSweep(id) + sweep:setVisible(canSweep) + if canSweep then + uiMap["chapter_cell.touch_node.sweep_bg.tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SMASH)) + end + lock:setVisible(false) + layer:setAnchoredPositionX(0) + lightImg:setVisible(true) + descMinRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, runeData:getChapterPassRound(id))) + else + lock:setVisible(true) + GFunc.centerImgAndTx(lock, layer, 5) + end + end + + if not self.rewardCells then + self.rewardCells = {} + for i = 1, 2 do + self.rewardCells[i] = CellManager:addCellComp(uiMap["chapter_cell.touch_node.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + end + end + + local rewards = runeData:getChapterRewards(id) + for i, cell in ipairs(self.rewardCells) do + if rewards[i] then + cell:refreshByConfig(rewards[i], passed, passed) + end + end +end + +function RuneChapterCell:addClickListener(func) + local uiMap = self:getUIMap() + uiMap["chapter_cell.touch_node"]:addClickListener(func) +end + +return RuneChapterCell \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua.meta b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua.meta new file mode 100644 index 00000000..3a4c5f67 --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c088d6f33138d9f408a31d192f2ece9e +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua b/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua new file mode 100644 index 00000000..e69de29b diff --git a/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua.meta b/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua.meta new file mode 100644 index 00000000..d5dfbc25 --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: da93c46173e2d15498c62350462e5213 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua new file mode 100644 index 00000000..da988362 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua @@ -0,0 +1,143 @@ +local DungeonRuneMainUI = class("DungeonRuneMainUI", BaseUI) + +local RUNE_CHAPTER_CELL = "app/ui/dungeon_rune/cell/rune_chapter_cell" + +function DungeonRuneMainUI:getCurrencyParams() + if self.currencyParams == nil then + self.currencyParams = { + itemIds = { + GConst.ItemConst.ITEM_ID_SLIVER_WING, + GConst.ItemConst.ITEM_ID_GLOD_WING, + }, + showType = GConst.CURRENCY_TYPE.HORIZONTAL + } + end + return self.currencyParams +end + +function DungeonRuneMainUI:onPressBackspace() + self:closeUI() +end + +function DungeonRuneMainUI:getPrefabPath() + return "assets/prefabs/ui/dungeon_rune/dungeon_rune_main_ui.prefab" +end + +function DungeonRuneMainUI:ctor() + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + self.chapterList = {} + self.chapterListCount = 0 + for id, info in ipairs(ConfigManager:getConfig(self.runeData:getConfigName())) do + table.insert(self.chapterList, id) + self.chapterListCount = self.chapterListCount + 1 + end + self.chapterListCount = self.chapterListCount - 1 + self.lastChapterId = table.remove(self.chapterList) + self.targetId = self.runeData:getPassedMaxId() + if self.targetId <= 0 then + self.targetId = 1 + end +end + +function DungeonRuneMainUI:onLoadRootComplete() + self:_display() + self:_addListeners() + self:_bind() +end + +function DungeonRuneMainUI:_display() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_main_ui.banner.btn_formation.tx_ok"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_4)) + uiMap["dungeon_rune_main_ui.banner.btn_rank.tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_10)) + self:refreshScrollrect() + self:refreshFormation() + self:refreshRankBtn() +end + +function DungeonRuneMainUI:_addListeners() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_main_ui.banner.btn_formation"]:addClickListener(function() + ModuleManager.CommonManager:showFormationUI(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE) + end) + + uiMap["dungeon_rune_main_ui.banner.btn_back"]:addClickListener(function() + self:closeUI() + end) +end + +function DungeonRuneMainUI:_bind() + self:bind(self.runeData, "isDirty", function() + self:refreshFormation() + -- self:refreshAllCells() + self:refreshRankBtn() + end) + + self:bind(DataManager.FormationData, "dirty", function() + self:refreshFormation() + end) + + self:bind(DataManager.HeroData, "isDirty", function() + self:refreshFormation() + end) +end + +function DungeonRuneMainUI:refreshFormation() + if not self.formationComp then + local uiMap = self.root:genAllChildren() + self.formationComp = uiMap["dungeon_rune_main_ui.hero_formation_comp"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.HERO_FORMATION_COMP) + end + self.formationComp:refreshByFormation(DataManager.FormationData:getDungeonRuneFormation()) +end + +function DungeonRuneMainUI:refreshRankBtn() + local uiMap = self.root:genAllChildren() + local btn = uiMap["dungeon_rune_main_ui.banner.btn_rank"] + if self.runeData:getRankRp() then + btn:addRedPoint(30, 20, 0.8) + else + btn:removeRedPoint() + end +end + +function DungeonRuneMainUI:refreshScrollrect() + local uiMap = self.root:genAllChildren() + if not self.scrollRect then + self.scrollRect = uiMap["dungeon_rune_main_ui.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.scrollRect:addInitCallback(function() + return RUNE_CHAPTER_CELL + end) + self.scrollRect:addRefreshCallback(function(index, cell) + cell:refresh(self.chapterList[index], index, false, self.chapterListCount) + end) + self.scrollRect:addInitFinishCallback(function(cell) + cell:addClickListener(function() + self:onClickCell(self.chapterList[cell:getIndex()]) + end) + end) + end + self.scrollRect:refillCells(self.chapterListCount, nil, self.targetId) + + local content = uiMap["dungeon_rune_main_ui.scrollrect.viewport.content"] + content:setSizeDeltaY(279 * (self.chapterListCount - 1) + 966) + if not self.lastChapterCell then + self.lastChapterCell = CellManager:addCellComp(uiMap["dungeon_rune_main_ui.scrollrect.viewport.content.last_cell"], RUNE_CHAPTER_CELL) + end + self.lastChapterCell:refresh(self.lastChapterId, nil, true) + self.lastChapterCell:addClickListener(function() + self:onClickCell(self.lastChapterId) + end) +end + +function DungeonRuneMainUI:refreshAllCells() + if not self.scrollRect then + return + end + + self.scrollRect:refreshAll() +end + +function DungeonRuneMainUI:onClickCell(id) + ModuleManager.DungeonRuneManager:showFightUI(id) +end + +return DungeonRuneMainUI \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua.meta b/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua.meta new file mode 100644 index 00000000..d0e4b095 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8354d453e6a43954b9411e730327a55e +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/userdata/dungeon/dungeon_armor_entity.lua b/lua/app/userdata/dungeon/dungeon_armor_entity.lua index 49afb2a5..476d4933 100644 --- a/lua/app/userdata/dungeon/dungeon_armor_entity.lua +++ b/lua/app/userdata/dungeon/dungeon_armor_entity.lua @@ -127,7 +127,7 @@ function DungeonArmorEntity:isNoTotalLimit() return true end -function DungeonBaseEntity:isNotShowLimitCount() +function DungeonArmorEntity:isNotShowLimitCount() return true end diff --git a/lua/app/userdata/dungeon/dungeon_data.lua b/lua/app/userdata/dungeon/dungeon_data.lua index fe5888b1..d9aec2c3 100644 --- a/lua/app/userdata/dungeon/dungeon_data.lua +++ b/lua/app/userdata/dungeon/dungeon_data.lua @@ -5,6 +5,7 @@ local SORT_ORDER = { [ModuleManager.MODULE_KEY.DUNGEON_SHARDS] = 2, [ModuleManager.MODULE_KEY.DUNGEON_WEAPON] = 3, [ModuleManager.MODULE_KEY.DUNGEON_ARMOR] = 4, + [ModuleManager.MODULE_KEY.RUNES_OPEN] = 5, } -- 所有活动副本数据 @@ -98,6 +99,7 @@ function DungeonData:initAllDataClass() self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_SHARDS] = require "app/userdata/dungeon/dungeon_shards_entity":create() self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_ARMOR] = require "app/userdata/dungeon/dungeon_armor_entity":create() self.dataDungeons[ModuleManager.MODULE_KEY.DUNGEON_WEAPON] = require "app/userdata/dungeon/dungeon_weapon_entity":create() + self.dataDungeons[ModuleManager.MODULE_KEY.RUNES_OPEN] = require "app/userdata/dungeon/dungeon_rune_entity":create() if EDITOR_MODE then Logger.logHighlight("星期".. tostring(Time:getWeekByTimeStamp())) diff --git a/lua/app/userdata/dungeon/dungeon_rune_entity.lua b/lua/app/userdata/dungeon/dungeon_rune_entity.lua new file mode 100644 index 00000000..64031e9d --- /dev/null +++ b/lua/app/userdata/dungeon/dungeon_rune_entity.lua @@ -0,0 +1,151 @@ +local DungeonBaseEntity = require "app/userdata/dungeon/dungeon_base_entity" +local DungeonRuneEntity = class("DungeonRuneEntity", DungeonBaseEntity) + +local FUND_AD_REWARD_ID = 1 + +function DungeonRuneEntity:ctor() + self.data.isDirty = false + self.maxPassedId = 0 + self.curday = 1 + self.runeInfo = {} +end + +function DungeonRuneEntity:clear() + self.data.isDirty = false + DataManager:unregisterCrossDayFunc("DungeonRuneEntity") +end + +function DungeonRuneEntity:init(data) + if EDITOR_MODE then + Logger.logHighlight("-----DungeonRuneEntity------") + Logger.printTable(data) + end + + self.totalChallengeCount = data.total_challenge_count + self.maxPassedId = data.max_challenge_id or 0 + self.curday = data.curday + self.runeInfo = data.rune_info or {} + self.heroes = data.heroes or {} + self.rankInfo = {} + self.selfRankInfo = {} + self.lastRankInfo = {} + self.needGetRankReward = false + + DataManager.FormationData:initFormationByType(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE, self.heroes) + + DataManager:registerCrossDayFunc("DungeonRuneEntity", function() + self.curday = self.curday + 1 + if self.curday > 30 then + self.maxPassedId = 0 + self.curday = 1 + self.runeInfo = {} + self.rankInfo = {} + self.selfRankInfo = {} + self.lastRankInfo = {} + self.needGetRankReward = false + end + self:setDirty() + end) +end + +function DungeonRuneEntity:setDirty() + self.data.isDirty = not self.data.isDirty +end + +function DungeonRuneEntity:getModuleKey() + return ModuleManager.MODULE_KEY.RUNES_OPEN +end + +function DungeonRuneEntity:getConfig(chapterId) + return ConfigManager:getConfig(self:getConfigName())[chapterId] +end + +function DungeonRuneEntity:getConfigName() + return "chapter_dungeon_rune" +end + +function DungeonRuneEntity:getTitleString() + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TITLE) +end + +function DungeonRuneEntity:getRuleString() + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_HELP) +end + +function DungeonRuneEntity:getOpenWeekString() + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC) +end + +function DungeonRuneEntity:getBanner() + return "assets/arts/textures/background/dungeon/dungeon_bg_4.png" +end + +function DungeonRuneEntity:getOpenTextColor() + return "#FFFFFF" +end + +function DungeonRuneEntity:isNoTotalLimit() + return true +end + +function DungeonRuneEntity:isNotShowLimitCount() + return true +end + +function DungeonRuneEntity:getIsAllTimeOpen() + return true +end + +function DungeonRuneEntity:onClickFight() + ModuleManager.DungeonRuneManager:showMainUI() +end + +function DungeonRuneEntity:getTodayRemainLimitCount() + return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_GLOD_WING) +end + +function DungeonRuneEntity:getBuySliverWingCost() + if not self.buySliverWingCost then + self.buySliverWingCost = GFunc.getConstReward("dungeon_rune_cost") + end + return self.buySliverWingCost +end + +function DungeonRuneEntity:getPassedMaxId() + return self.maxPassedId +end + +function DungeonRuneEntity:getRankRp() + return true +end + +function DungeonRuneEntity:canSweep(id) + if id > self.maxPassedId then + return false + end + return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SLIVER_WING) > 0 +end + +function DungeonRuneEntity:canFight(id) + if self.maxPassedId + 1 >= id then + return true + end + return false +end + +function DungeonRuneEntity:curFight(id) + return id == self.maxPassedId + 1 +end + +function DungeonRuneEntity:getChapterPassRound(id) + if not self.runeInfo[id] then + return 0 + end + return self.runeInfo[id].round or 0 +end + +function DungeonRuneEntity:getChapterRewards(id) + return self:getConfig(id).first_reward +end + +return DungeonRuneEntity \ No newline at end of file diff --git a/lua/app/userdata/dungeon/dungeon_rune_entity.lua.meta b/lua/app/userdata/dungeon/dungeon_rune_entity.lua.meta new file mode 100644 index 00000000..4c1bbac3 --- /dev/null +++ b/lua/app/userdata/dungeon/dungeon_rune_entity.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b4d7cf896fcc1cd4dbe9ac46426cc9f8 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/userdata/dungeon/dungeon_weapon_entity.lua b/lua/app/userdata/dungeon/dungeon_weapon_entity.lua index 4db7637e..9e77c742 100644 --- a/lua/app/userdata/dungeon/dungeon_weapon_entity.lua +++ b/lua/app/userdata/dungeon/dungeon_weapon_entity.lua @@ -182,7 +182,7 @@ function DungeonWeaponEntity:doCachePassInfo(chapterId, info) self:setDirty() end -function DungeonBaseEntity:getCachePassInfo(chapterId) +function DungeonWeaponEntity:getCachePassInfo(chapterId) if not self.cachePassInfo then self.cachePassInfo = {} end diff --git a/lua/app/userdata/formation/formation_data.lua b/lua/app/userdata/formation/formation_data.lua index 6628b3d7..37cb1a49 100644 --- a/lua/app/userdata/formation/formation_data.lua +++ b/lua/app/userdata/formation/formation_data.lua @@ -127,6 +127,15 @@ function FormationData:getBossRushFormation() return formation end +function FormationData:getDungeonRuneFormation() + local formation = self:getFormation(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE) + if table.nums(formation) <= 0 then + self:setFormation(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE, self:getFormation(GConst.BattleConst.FORMATION_TYPE.STAGE)) -- 如果没有,则用默认关卡 + formation = self:getFormation(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE) + end + return formation +end + function FormationData:getFormation(formationType) local formation = self.formations[formationType] if formation == nil then From a817d25305c668f1018f77583db79fa1c28746cd Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Fri, 8 Sep 2023 18:53:46 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=AC=A6=E6=96=87=E5=89=AF=E6=9C=AC?= 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/event_manager.lua | 1 + lua/app/config/act_gift.lua | 78 +- lua/app/config/activity_full_moon_quest.lua | 61 + .../config/activity_full_moon_quest.lua.meta | 10 + lua/app/config/activity_full_moon_reward.lua | 127 + .../config/activity_full_moon_reward.lua.meta | 10 + lua/app/config/buff.lua | 9 +- lua/app/config/chapter_board_rune.lua | 20006 ++++++++++++++++ lua/app/config/chapter_board_rune.lua.meta | 10 + lua/app/config/chapter_dungeon_rune.lua | 1116 +- lua/app/config/const.lua | 37 +- lua/app/config/dungeon_rune_rank.lua | 40 +- lua/app/config/dungeon_rune_time.lua | 16 + lua/app/config/dungeon_rune_time.lua.meta | 10 + .../localization_global_const.lua | 7 + lua/app/config/monster_chapter.lua | 8 +- lua/app/config/monster_dungeon_rune.lua | 384 +- lua/app/config/skill.lua | 1704 +- lua/app/config/skill_rogue.lua | 8 +- lua/app/config/skin.lua | 2 +- lua/app/config/strings/cn/attr.lua | 34 +- lua/app/config/strings/cn/global.lua | 12 + lua/app/config/strings/cn/hero.lua | 17 +- lua/app/config/strings/cn/skill.lua | 17 +- lua/app/config/strings/cn/skill_rogue.lua | 122 +- lua/app/config/strings/cn/task_type.lua | 11 +- lua/app/config/strings/de/attr.lua | 29 +- lua/app/config/strings/de/hero.lua | 17 +- lua/app/config/strings/de/skill.lua | 17 +- lua/app/config/strings/de/skill_rogue.lua | 122 +- lua/app/config/strings/de/task_type.lua | 11 +- lua/app/config/strings/en/attr.lua | 29 +- lua/app/config/strings/en/hero.lua | 17 +- lua/app/config/strings/en/skill.lua | 17 +- lua/app/config/strings/en/skill_rogue.lua | 122 +- lua/app/config/strings/en/task_type.lua | 11 +- lua/app/config/strings/es/attr.lua | 29 +- lua/app/config/strings/es/hero.lua | 17 +- lua/app/config/strings/es/skill.lua | 17 +- lua/app/config/strings/es/skill_rogue.lua | 122 +- lua/app/config/strings/es/task_type.lua | 11 +- lua/app/config/strings/fr/attr.lua | 29 +- lua/app/config/strings/fr/hero.lua | 17 +- lua/app/config/strings/fr/skill.lua | 17 +- lua/app/config/strings/fr/skill_rogue.lua | 122 +- lua/app/config/strings/fr/task_type.lua | 11 +- lua/app/config/strings/id/attr.lua | 29 +- lua/app/config/strings/id/hero.lua | 17 +- lua/app/config/strings/id/skill.lua | 17 +- lua/app/config/strings/id/skill_rogue.lua | 122 +- lua/app/config/strings/id/task_type.lua | 11 +- lua/app/config/strings/ja/attr.lua | 29 +- lua/app/config/strings/ja/hero.lua | 17 +- lua/app/config/strings/ja/skill.lua | 17 +- lua/app/config/strings/ja/skill_rogue.lua | 122 +- lua/app/config/strings/ja/task_type.lua | 11 +- lua/app/config/strings/ko/attr.lua | 29 +- lua/app/config/strings/ko/hero.lua | 17 +- lua/app/config/strings/ko/skill.lua | 17 +- lua/app/config/strings/ko/skill_rogue.lua | 122 +- lua/app/config/strings/ko/task_type.lua | 11 +- lua/app/config/strings/pt/attr.lua | 29 +- lua/app/config/strings/pt/hero.lua | 17 +- lua/app/config/strings/pt/skill.lua | 17 +- lua/app/config/strings/pt/skill_rogue.lua | 122 +- lua/app/config/strings/pt/task_type.lua | 11 +- lua/app/config/strings/ru/attr.lua | 29 +- lua/app/config/strings/ru/hero.lua | 17 +- lua/app/config/strings/ru/skill.lua | 17 +- lua/app/config/strings/ru/skill_rogue.lua | 122 +- lua/app/config/strings/th/attr.lua | 29 +- lua/app/config/strings/th/hero.lua | 17 +- lua/app/config/strings/th/skill.lua | 17 +- lua/app/config/strings/th/skill_rogue.lua | 122 +- lua/app/config/strings/th/task_type.lua | 11 +- lua/app/config/strings/vi/attr.lua | 29 +- lua/app/config/strings/vi/hero.lua | 17 +- lua/app/config/strings/vi/skill.lua | 17 +- lua/app/config/strings/vi/skill_rogue.lua | 122 +- lua/app/config/strings/vi/task_type.lua | 11 +- lua/app/config/strings/zh/attr.lua | 29 +- lua/app/config/strings/zh/hero.lua | 17 +- lua/app/config/strings/zh/skill.lua | 17 +- lua/app/config/strings/zh/skill_rogue.lua | 122 +- lua/app/config/strings/zh/task_type.lua | 11 +- lua/app/global/global_const.lua | 1 + .../dungeon_rune/dungeon_rune_const.lua | 52 + .../dungeon_rune/dungeon_rune_const.lua.meta | 10 + .../dungeon_rune/dungeon_rune_manager.lua | 125 + lua/app/ui/dungeon_rune/cell/rank_cell.lua | 65 + .../ui/dungeon_rune/cell/rank_cell.lua.meta | 10 + .../cell/rune_battle_task_cell.lua | 11 + .../cell/rune_battle_task_cell.lua.meta | 10 + .../ui/dungeon_rune/cell/rune_task_cell.lua | 38 + .../dungeon_rune_boss_fight_ui.lua | 161 + .../dungeon_rune_boss_fight_ui.lua.meta | 10 + .../ui/dungeon_rune/dungeon_rune_fight_ui.lua | 134 + .../dungeon_rune_fight_ui.lua.meta | 10 + .../ui/dungeon_rune/dungeon_rune_rank_ui.lua | 253 + .../dungeon_rune_rank_ui.lua.meta | 10 + .../dungeon_rune/dungeon_rune_rebirth_ui.lua | 69 + .../dungeon_rune_rebirth_ui.lua.meta | 10 + .../ui/dungeon_rune/dungeon_rune_task_ui.lua | 62 + .../dungeon_rune_task_ui.lua.meta | 10 + .../userdata/dungeon/dungeon_base_entity.lua | 4 + lua/app/userdata/dungeon/dungeon_data.lua | 9 + .../userdata/dungeon/dungeon_rune_entity.lua | 171 +- 108 files changed, 26663 insertions(+), 773 deletions(-) create mode 100644 lua/app/config/activity_full_moon_quest.lua create mode 100644 lua/app/config/activity_full_moon_quest.lua.meta create mode 100644 lua/app/config/activity_full_moon_reward.lua create mode 100644 lua/app/config/activity_full_moon_reward.lua.meta create mode 100644 lua/app/config/chapter_board_rune.lua create mode 100644 lua/app/config/chapter_board_rune.lua.meta create mode 100644 lua/app/config/dungeon_rune_time.lua create mode 100644 lua/app/config/dungeon_rune_time.lua.meta create mode 100644 lua/app/module/dungeon_rune/dungeon_rune_const.lua create mode 100644 lua/app/module/dungeon_rune/dungeon_rune_const.lua.meta create mode 100644 lua/app/ui/dungeon_rune/cell/rank_cell.lua create mode 100644 lua/app/ui/dungeon_rune/cell/rank_cell.lua.meta create mode 100644 lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua create mode 100644 lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua.meta create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua.meta create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua.meta create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua.meta create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua.meta create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua create mode 100644 lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua.meta diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua index e596d8a2..6c49c64b 100644 --- a/lua/app/common/bi_report.lua +++ b/lua/app/common/bi_report.lua @@ -150,6 +150,8 @@ BIReport.ITEM_GET_TYPE = { ACT_FOURTEEN_DAY_TASK = "ActFourteenDayTask", ACT_FOURTEEN_DAY_EXCHANGE = "ActFourteenDayExchange", FOURTEEN_DAY_GIFT = "FourteenDayGift", + DUNGEON_RUNE_START = "DungeonRuneStart", + DUNGEON_RUNE_SWEEP = "DungeonRuneSweep", } BIReport.ADS_CLICK_TYPE = { @@ -162,6 +164,7 @@ BIReport.ADS_CLICK_TYPE = { ARENA_REMATCH = "ArenaRematch", ARENA_AD_BOX = "ArenaAdBox", ARMOR_FUND_AD = "ArmorFundAd", + DUNGEON_RUNE_REBIRTH = "DungeonRuneRebirth", MALL_DAILY = "MallDaily", MALL_DAILY_RESET = "MallDailyReset", diff --git a/lua/app/common/event_manager.lua b/lua/app/common/event_manager.lua index 3a8e4ab6..52ea3a5a 100644 --- a/lua/app/common/event_manager.lua +++ b/lua/app/common/event_manager.lua @@ -62,6 +62,7 @@ EventManager.CUSTOM_EVENT = { ACTIVITY_SUMMER_END = "ACTIVITY_SUMMER_END", MAIN_UI_CHECK_SIDE_BAR = "MAIN_UI_CHECK_SIDE_BAR", FORMATION_CHANGE = "FORMATION_CHANGE", + BATTLE_REBIRTH = "BATTLE_REBIRTH", } -- 此方法不能直接在外部调用,请使用例如BaseUI,BaseModule等封装好的接口 diff --git a/lua/app/config/act_gift.lua b/lua/app/config/act_gift.lua index f3f3f07d..4c3bbb94 100644 --- a/lua/app/config/act_gift.lua +++ b/lua/app/config/act_gift.lua @@ -5076,7 +5076,7 @@ local act_gift = { }, [210102]={ ["type"]=21, - ["recharge_id"]=7, + ["recharge_id"]=5, ["reward"]={ { ["type"]=1, @@ -5104,9 +5104,83 @@ local act_gift = { } }, ["limit"]=5 + }, + [210202]={ + ["type"]=21, + ["recharge_id"]=10, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=150, + ["num_for_nothing"]="Vw1c" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=10000, + ["num_for_nothing"]="VwhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=1000, + ["num_for_nothing"]="VwhcAw==" + } + }, + ["limit"]=5 + }, + [210302]={ + ["type"]=21, + ["recharge_id"]=13, + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=150, + ["num_for_nothing"]="Vw1c" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=10000, + ["num_for_nothing"]="VwhcA2U=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=55, + ["id_for_nothing"]="Uw0=", + ["num"]=1000, + ["num_for_nothing"]="VwhcAw==" + } + }, + ["limit"]=5 + }, + [220102]={ + ["type"]=22, + ["recharge_id"]=11, + ["limit"]=1, + ["value"]=1800 + }, + [220202]={ + ["type"]=22, + ["recharge_id"]=12, + ["limit"]=1, + ["value"]=1800 } } local config = { -data=act_gift,count=114 +data=act_gift,count=118 } return config \ No newline at end of file diff --git a/lua/app/config/activity_full_moon_quest.lua b/lua/app/config/activity_full_moon_quest.lua new file mode 100644 index 00000000..232e7262 --- /dev/null +++ b/lua/app/config/activity_full_moon_quest.lua @@ -0,0 +1,61 @@ +local activity_full_moon_quest = { + [1]={ + ["type"]=40, + ["number"]=1, + ["open_stage"]=0 + }, + [2]={ + ["type"]=1, + ["number"]=10, + ["open_stage"]=0 + }, + [3]={ + ["type"]=5, + ["number"]=100, + ["open_stage"]=0 + }, + [4]={ + ["type"]=41, + ["number"]=50, + ["open_stage"]=12 + }, + [5]={ + ["type"]=38, + ["number"]=10, + ["open_stage"]=8 + }, + [6]={ + ["type"]=39, + ["number"]=10, + ["open_stage"]=10 + }, + [7]={ + ["type"]=30, + ["number"]=3, + ["open_stage"]=5 + }, + [8]={ + ["type"]=19, + ["number"]=30, + ["open_stage"]=0 + }, + [9]={ + ["type"]=12, + ["number"]=6, + ["open_stage"]=0 + }, + [10]={ + ["type"]=11, + ["number"]=30, + ["open_stage"]=0 + }, + [11]={ + ["type"]=42, + ["number"]=10, + ["open_stage"]=12 + } +} +local config = { +data=activity_full_moon_quest,count=11 +} +return config \ No newline at end of file diff --git a/lua/app/config/activity_full_moon_quest.lua.meta b/lua/app/config/activity_full_moon_quest.lua.meta new file mode 100644 index 00000000..a5512c63 --- /dev/null +++ b/lua/app/config/activity_full_moon_quest.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5c90db40ed5e599489d9e1e3ba84a45b +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/config/activity_full_moon_reward.lua b/lua/app/config/activity_full_moon_reward.lua new file mode 100644 index 00000000..59cee37c --- /dev/null +++ b/lua/app/config/activity_full_moon_reward.lua @@ -0,0 +1,127 @@ +local activity_full_moon_reward = { + [101]={ + ["quest"]=3, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=100, + ["num_for_nothing"]="Vwhc" + } + }, + [102]={ + ["quest"]=6, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + } + }, + [103]={ + ["quest"]=9, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=200, + ["num_for_nothing"]="VAhc" + } + }, + [104]={ + ["quest"]=12, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=300, + ["num_for_nothing"]="VQhc" + } + }, + [105]={ + ["quest"]=15, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=400, + ["num_for_nothing"]="Ughc" + } + }, + [106]={ + ["quest"]=18, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=53, + ["id_for_nothing"]="Uws=", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + }, + [107]={ + ["quest"]=21, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=600, + ["num_for_nothing"]="UAhc" + } + }, + [108]={ + ["quest"]=24, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=700, + ["num_for_nothing"]="UQhc" + } + }, + [109]={ + ["quest"]=27, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=800, + ["num_for_nothing"]="Xghc" + } + }, + [110]={ + ["quest"]=30, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=900, + ["num_for_nothing"]="Xwhc" + } + }, + [111]={ + ["quest"]=33, + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5300101, + ["id_for_nothing"]="UwtcA2RRfg==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + } +} +local config = { +data=activity_full_moon_reward,count=11 +} +return config \ No newline at end of file diff --git a/lua/app/config/activity_full_moon_reward.lua.meta b/lua/app/config/activity_full_moon_reward.lua.meta new file mode 100644 index 00000000..157298b3 --- /dev/null +++ b/lua/app/config/activity_full_moon_reward.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 227e65a00ca4e834f9375489a586b270 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/config/buff.lua b/lua/app/config/buff.lua index bc1bbf40..1d56329c 100644 --- a/lua/app/config/buff.lua +++ b/lua/app/config/buff.lua @@ -530,7 +530,7 @@ local buff = { ["id"]=59, ["name"]="first_hand", ["buff_type"]=1, - ["decr"]=1, + ["decr"]=3, ["icon"]="first_hand" }, [60]={ @@ -635,7 +635,8 @@ local buff = { ["id"]=72, ["name"]="death_summon", ["buff_type"]=1, - ["decr"]=3 + ["decr"]=3, + ["icon"]="death_summon" }, [73]={ ["id"]=73, @@ -798,14 +799,14 @@ local buff = { ["name"]="charm", ["buff_type"]=7, ["decr"]=2, - ["icon"]="self_heal" + ["icon"]="charm" }, [88]={ ["id"]=88, ["name"]="immune", ["buff_type"]=7, ["decr"]=1, - ["icon"]="ocean_shield1" + ["icon"]="immune" } } local keys = { diff --git a/lua/app/config/chapter_board_rune.lua b/lua/app/config/chapter_board_rune.lua new file mode 100644 index 00000000..b9675822 --- /dev/null +++ b/lua/app/config/chapter_board_rune.lua @@ -0,0 +1,20006 @@ +local chapter_board_rune = { + [1]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [2]={ + ["board"]={ + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [3]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [4]={ + ["board"]={ + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [5]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + } + } + }, + [6]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 2, + 3 + }, + { + 0, + 5 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [7]={ + ["board"]={ + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [8]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [9]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 7, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 7, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [10]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 7, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [11]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [12]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [13]={ + ["board"]={ + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 1 + }, + { + 2, + 2 + }, + { + 2, + 3 + }, + { + 2, + 4 + }, + { + 2, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + } + } + }, + [14]={ + ["board"]={ + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 4, + 4 + }, + { + 4, + 5 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + } + } + }, + [15]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 5, + 3 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 2, + 0 + }, + { + 5, + 3 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + } + } + }, + [16]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 4, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 5, + 2 + }, + { + 5, + 4 + }, + { + 5, + 2 + }, + { + 5, + 4 + }, + { + 5, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 5, + 2 + }, + { + 14, + 0 + }, + { + 5, + 2 + }, + { + 5, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + } + } + }, + [17]={ + ["board"]={ + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 2, + 0 + }, + { + 5, + 3 + }, + { + 3, + 0 + }, + { + 5, + 3 + }, + { + 5, + 5 + }, + { + 3, + 0 + }, + { + 5, + 5 + }, + { + 2, + 0 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 14, + 0 + }, + { + 5, + 4 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 1, + 0 + } + } + }, + [18]={ + ["board"]={ + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 4, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 5, + 1 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 5, + 1 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 2 + }, + { + 5, + 2 + }, + { + 14, + 0 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 2 + }, + { + 5, + 2 + }, + { + 5, + 1 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 1, + 0 + } + } + }, + [19]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 4, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 4, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 5, + 1 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 1, + 0 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 3 + }, + { + 14, + 0 + }, + { + 5, + 1 + }, + { + 5, + 3 + }, + { + 5, + 1 + } + } + }, + [20]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 5, + 2 + }, + { + 5, + 2 + }, + { + 5, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [21]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + } + } + }, + [22]={ + ["board"]={ + { + 1, + 0 + }, + { + 5, + 2 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 5, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 5, + 2 + }, + { + 2, + 0 + }, + { + 5, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 5, + 2 + }, + { + 2, + 0 + }, + { + 5, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 5, + 2 + }, + { + 2, + 0 + }, + { + 5, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 5, + 2 + }, + { + 14, + 0 + }, + { + 5, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 2 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + } + } + }, + [23]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 4, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 4, + 3 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 4, + 3 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 4, + 5 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [24]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 2, + 0 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [25]={ + ["board"]={ + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 5, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 5, + 3 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 5, + 4 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 5, + 3 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 5, + 4 + }, + { + 1, + 0 + } + } + }, + [26]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 4, + 4 + }, + { + 3, + 0 + }, + { + 4, + 4 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 0, + 0 + }, + { + 4, + 4 + }, + { + 2, + 0 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 2, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 1 + } + } + }, + [27]={ + ["board"]={ + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 1, + 0 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [28]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 4, + 1 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 1 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [29]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 4, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 4, + 2 + }, + { + 0, + 3 + }, + { + 4, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 4, + 3 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + } + } + }, + [30]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + } + } + }, + [31]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 4, + 3 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 4, + 2 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [32]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 0, + 3 + }, + { + 4, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 9, + 0 + }, + { + 4, + 1 + }, + { + 0, + 3 + }, + { + 4, + 2 + }, + { + 9, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 7, + 0 + }, + { + 4, + 1 + }, + { + 0, + 3 + }, + { + 4, + 2 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 7, + 0 + }, + { + 4, + 1 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 7, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 7, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 10, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 11, + 0 + }, + { + 14, + 0 + } + } + }, + [33]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 9, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 10, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + } + } + }, + [34]={ + ["board"]={ + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + } + } + }, + [35]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 4, + 3 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 3, + 0 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [36]={ + ["board"]={ + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + } + } + }, + [37]={ + ["board"]={ + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 1 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 5, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 3 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 5, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 5, + 2 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + } + } + }, + [38]={ + ["board"]={ + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 5, + 5 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 5, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 5, + 5 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 5, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 5, + 5 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 5, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + } + } + }, + [39]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 13, + 1 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 13, + 5 + }, + { + 13, + 1 + }, + { + 13, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [40]={ + ["board"]={ + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 13, + 2 + }, + { + 13, + 1 + }, + { + 13, + 4 + }, + { + 13, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 13, + 2 + }, + { + 13, + 1 + }, + { + 13, + 4 + }, + { + 13, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + } + } + }, + [41]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 13, + 5 + }, + { + 2, + 0 + }, + { + 13, + 5 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 13, + 5 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 13, + 5 + }, + { + 2, + 0 + }, + { + 13, + 2 + }, + { + 2, + 0 + }, + { + 13, + 2 + }, + { + 2, + 0 + }, + { + 13, + 2 + }, + { + 2, + 0 + }, + { + 13, + 2 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + } + } + }, + [42]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 13, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 13, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 13, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 13, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + } + } + }, + [43]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 14, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 13, + 5 + }, + { + 13, + 5 + }, + { + 13, + 5 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [44]={ + ["board"]={ + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 13, + 1 + }, + { + 13, + 3 + }, + { + 13, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 13, + 5 + }, + { + 13, + 5 + }, + { + 13, + 3 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 13, + 5 + }, + { + 13, + 3 + }, + { + 13, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [45]={ + ["board"]={ + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 14, + 0 + }, + { + 13, + 1 + }, + { + 13, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 13, + 4 + }, + { + 13, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 13, + 4 + }, + { + 13, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [46]={ + ["board"]={ + { + 3, + 0 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 13, + 3 + }, + { + 13, + 4 + }, + { + 13, + 5 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 14, + 0 + }, + { + 3, + 0 + } + } + }, + [47]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 21, + 2 + }, + { + 2, + 0 + }, + { + 21, + 4 + }, + { + 2, + 0 + }, + { + 21, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [48]={ + ["board"]={ + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 21, + 5 + }, + { + 2, + 0 + }, + { + 21, + 5 + }, + { + 2, + 0 + }, + { + 21, + 5 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 21, + 5 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [49]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 21, + 3 + }, + { + 2, + 0 + }, + { + 0, + 5 + }, + { + 2, + 0 + }, + { + 21, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 21, + 4 + }, + { + 2, + 0 + }, + { + 21, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 21, + 4 + }, + { + 21, + 5 + }, + { + 21, + 3 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 21, + 5 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + } + } + }, + [50]={ + ["board"]={ + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 9, + 0 + }, + { + 2, + 0 + }, + { + 9, + 0 + }, + { + 2, + 0 + }, + { + 9, + 0 + }, + { + 2, + 0 + }, + { + 9, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 21, + 2 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + } + } + }, + [51]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 3, + 0 + }, + { + 9, + 0 + }, + { + 3, + 0 + }, + { + 9, + 0 + }, + { + 3, + 0 + }, + { + 9, + 0 + }, + { + 3, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 21, + 1 + }, + { + 0, + 0 + }, + { + 21, + 1 + }, + { + 0, + 0 + }, + { + 21, + 1 + }, + { + 0, + 0 + }, + { + 21, + 1 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + }, + { + 0, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 2, + 0 + } + } + }, + [52]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 9, + 0 + }, + { + 21, + 3 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 4 + }, + { + 21, + 4 + }, + { + 11, + 0 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 9, + 0 + }, + { + 1, + 0 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 21, + 3 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 21, + 2 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 21, + 3 + }, + { + 1, + 0 + }, + { + 21, + 1 + }, + { + 21, + 1 + }, + { + 21, + 2 + }, + { + 21, + 1 + }, + { + 21, + 1 + }, + { + 10, + 0 + } + } + }, + [53]={ + ["board"]={ + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 21, + 3 + }, + { + 21, + 5 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 21, + 3 + }, + { + 21, + 5 + }, + { + 3, + 0 + }, + { + 9, + 0 + }, + { + 21, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 21, + 2 + }, + { + 21, + 5 + }, + { + 9, + 0 + }, + { + 21, + 2 + }, + { + 21, + 3 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 21, + 2 + }, + { + 8, + 0 + }, + { + 21, + 1 + }, + { + 21, + 2 + }, + { + 21, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 8, + 0 + }, + { + 3, + 0 + }, + { + 21, + 1 + }, + { + 21, + 2 + }, + { + 21, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 21, + 1 + }, + { + 21, + 2 + }, + { + 8, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 21, + 1 + }, + { + 14, + 0 + }, + { + 1, + 0 + } + } + }, + [54]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 9, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 11, + 0 + }, + { + 21, + 1 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 21, + 2 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 21, + 1 + }, + { + 21, + 1 + }, + { + 21, + 2 + }, + { + 21, + 2 + }, + { + 1, + 0 + } + } + }, + [55]={ + ["board"]={ + { + 18, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 10, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 22, + 2 + }, + { + 0, + 2 + }, + { + 22, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 2 + }, + { + 14, + 0 + }, + { + 22, + 3 + }, + { + 14, + 0 + }, + { + 22, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [56]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 3 + }, + { + 22, + 3 + }, + { + 22, + 2 + }, + { + 22, + 2 + }, + { + 22, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 5 + }, + { + 22, + 4 + }, + { + 22, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [57]={ + ["board"]={ + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 4 + }, + { + 4, + 2 + }, + { + 4, + 5 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 3 + }, + { + 22, + 3 + }, + { + 22, + 3 + }, + { + 22, + 2 + }, + { + 22, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 2 + }, + { + 22, + 1 + }, + { + 22, + 5 + }, + { + 22, + 2 + }, + { + 22, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 22, + 1 + }, + { + 22, + 5 + }, + { + 22, + 2 + }, + { + 14, + 0 + }, + { + 1, + 0 + } + } + }, + [58]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 4, + 4 + }, + { + 4, + 1 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 5 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 22, + 1 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 14, + 0 + }, + { + 22, + 1 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 22, + 1 + }, + { + 22, + 1 + }, + { + 22, + 2 + }, + { + 22, + 2 + }, + { + 22, + 2 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 22, + 1 + }, + { + 22, + 1 + }, + { + 22, + 1 + }, + { + 22, + 1 + }, + { + 19, + 0 + }, + { + 1, + 0 + } + } + }, + [59]={ + ["board"]={ + { + 19, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 4, + 3 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 14, + 0 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 1 + }, + { + 22, + 3 + }, + { + 22, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [60]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 5 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 4, + 2 + }, + { + 22, + 2 + }, + { + 22, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 4, + 1 + }, + { + 22, + 2 + }, + { + 22, + 4 + }, + { + 22, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 22, + 2 + }, + { + 22, + 4 + }, + { + 22, + 4 + } + } + }, + [61]={ + ["board"]={ + { + 18, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 22, + 1 + }, + { + 22, + 3 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 22, + 2 + }, + { + 22, + 4 + }, + { + 18, + 0 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 4 + }, + { + 14, + 0 + }, + { + 22, + 5 + }, + { + 18, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 22, + 1 + }, + { + 22, + 2 + }, + { + 22, + 3 + }, + { + 22, + 4 + } + } + }, + [62]={ + ["board"]={ + { + 22, + 5 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 5 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 2 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 22, + 1 + }, + { + 19, + 0 + }, + { + 22, + 2 + }, + { + 19, + 0 + }, + { + 22, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [63]={ + ["board"]={ + { + 12, + 2 + }, + { + 18, + 0 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 1, + 0 + }, + { + 18, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 18, + 0 + }, + { + 12, + 2 + }, + { + 12, + 2 + }, + { + 19, + 0 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 12, + 2 + }, + { + 12, + 2 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 20, + 0 + }, + { + 1, + 0 + }, + { + 20, + 0 + }, + { + 19, + 0 + }, + { + 12, + 2 + }, + { + 12, + 2 + }, + { + 20, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 20, + 0 + }, + { + 1, + 0 + } + } + }, + [64]={ + ["board"]={ + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 5 + }, + { + 18, + 0 + }, + { + 0, + 5 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 12, + 1 + }, + { + 12, + 1 + }, + { + 12, + 1 + }, + { + 14, + 0 + }, + { + 14, + 0 + }, + { + 12, + 2 + }, + { + 12, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [65]={ + ["board"]={ + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 1 + }, + { + 14, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 12, + 4 + }, + { + 12, + 5 + }, + { + 12, + 5 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 12, + 5 + }, + { + 12, + 5 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [66]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 12, + 2 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 12, + 1 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 12, + 3 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [67]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 11, + 0 + }, + { + 18, + 0 + }, + { + 14, + 0 + }, + { + 18, + 0 + }, + { + 9, + 0 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 10, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [68]={ + ["board"]={ + { + 18, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 5 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 19, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 12, + 5 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 1, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 14, + 0 + }, + { + 19, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [69]={ + ["board"]={ + { + 19, + 0 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 20, + 0 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 4, + 4 + }, + { + 20, + 0 + }, + { + 0, + 0 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 20, + 0 + }, + { + 12, + 4 + }, + { + 20, + 0 + }, + { + 12, + 4 + }, + { + 20, + 0 + }, + { + 12, + 4 + }, + { + 20, + 0 + }, + { + 12, + 4 + }, + { + 14, + 0 + }, + { + 12, + 4 + }, + { + 12, + 4 + }, + { + 12, + 4 + }, + { + 14, + 0 + }, + { + 12, + 4 + } + } + }, + [70]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 19, + 0 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 4, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 2 + }, + { + 4, + 3 + }, + { + 4, + 2 + }, + { + 12, + 2 + }, + { + 0, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 4, + 2 + }, + { + 18, + 0 + }, + { + 19, + 0 + }, + { + 12, + 2 + }, + { + 0, + 0 + }, + { + 18, + 0 + }, + { + 18, + 0 + }, + { + 0, + 0 + }, + { + 12, + 2 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 19, + 0 + }, + { + 18, + 0 + }, + { + 12, + 2 + }, + { + 1, + 0 + }, + { + 18, + 0 + }, + { + 14, + 0 + }, + { + 18, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [71]={ + ["board"]={ + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 11, + 0 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 12, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 11, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 14, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + } + } + }, + [72]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 12, + 3 + }, + { + 0, + 4 + }, + { + 10, + 0 + }, + { + 0, + 5 + }, + { + 11, + 0 + }, + { + 0, + 4 + }, + { + 12, + 3 + }, + { + 4, + 3 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 4, + 3 + }, + { + 12, + 3 + }, + { + 3, + 0 + }, + { + 10, + 0 + }, + { + 0, + 0 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 12, + 3 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 14, + 0 + }, + { + 7, + 0 + }, + { + 10, + 0 + }, + { + 0, + 0 + }, + { + 11, + 0 + }, + { + 7, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + } + } + }, + [73]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 9, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 2, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [74]={ + ["board"]={ + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 9, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 10, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [75]={ + ["board"]={ + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 2, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 9, + 0 + }, + { + 9, + 0 + }, + { + 9, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + } + } + }, + [76]={ + ["board"]={ + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 10, + 0 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 4, + 5 + }, + { + 4, + 5 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 10, + 0 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + } + } + }, + [77]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 11, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 3, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 7, + 0 + }, + { + 1, + 0 + } + } + }, + [78]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 9, + 0 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 4, + 2 + }, + { + 0, + 2 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 4, + 1 + }, + { + 1, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 3, + 0 + }, + { + 2, + 0 + }, + { + 4, + 1 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 4, + 4 + }, + { + 4, + 4 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 2, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + } + } + }, + [79]={ + ["board"]={ + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 24, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 24, + 0 + }, + { + 9, + 0 + }, + { + 1, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 9, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 11, + 0 + }, + { + 24, + 0 + }, + { + 0, + 4 + }, + { + 23, + 3 + }, + { + 23, + 2 + }, + { + 23, + 1 + }, + { + 23, + 5 + }, + { + 1, + 0 + }, + { + 11, + 0 + }, + { + 23, + 4 + }, + { + 23, + 3 + }, + { + 23, + 2 + }, + { + 23, + 1 + }, + { + 23, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 23, + 4 + }, + { + 23, + 3 + }, + { + 23, + 2 + }, + { + 23, + 1 + }, + { + 23, + 5 + } + } + }, + [80]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 23, + 1 + }, + { + 25, + 0 + }, + { + 27, + 2 + }, + { + 27, + 2 + }, + { + 27, + 4 + }, + { + 25, + 0 + }, + { + 23, + 1 + }, + { + 23, + 1 + }, + { + 25, + 0 + }, + { + 27, + 5 + }, + { + 27, + 4 + }, + { + 27, + 4 + }, + { + 25, + 0 + }, + { + 23, + 1 + }, + { + 23, + 1 + }, + { + 25, + 0 + }, + { + 27, + 5 + }, + { + 27, + 5 + }, + { + 27, + 1 + }, + { + 25, + 0 + }, + { + 23, + 1 + }, + { + 23, + 1 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 23, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 23, + 1 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [81]={ + ["board"]={ + { + 1, + 0 + }, + { + 23, + 5 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 25, + 0 + }, + { + 23, + 4 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 25, + 0 + }, + { + 23, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 25, + 0 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 0, + 4 + }, + { + 25, + 0 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [82]={ + ["board"]={ + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 27, + 2 + }, + { + 0, + 4 + }, + { + 27, + 1 + }, + { + 0, + 1 + }, + { + 27, + 1 + }, + { + 0, + 4 + }, + { + 27, + 5 + }, + { + 0, + 4 + }, + { + 27, + 2 + }, + { + 0, + 2 + }, + { + 27, + 1 + }, + { + 0, + 5 + }, + { + 27, + 5 + }, + { + 0, + 4 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 24, + 0 + }, + { + 0, + 3 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 24, + 0 + }, + { + 23, + 3 + }, + { + 23, + 3 + }, + { + 23, + 3 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 14, + 0 + }, + { + 25, + 0 + }, + { + 23, + 3 + }, + { + 23, + 2 + }, + { + 23, + 3 + }, + { + 25, + 0 + }, + { + 14, + 0 + }, + { + 23, + 3 + }, + { + 25, + 0 + }, + { + 23, + 2 + }, + { + 23, + 2 + }, + { + 23, + 2 + }, + { + 25, + 0 + }, + { + 23, + 3 + } + } + }, + [83]={ + ["board"]={ + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 14, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 9, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 23, + 2 + }, + { + 1, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 23, + 2 + }, + { + 23, + 2 + }, + { + 1, + 0 + }, + { + 25, + 0 + }, + { + 24, + 0 + }, + { + 24, + 0 + }, + { + 23, + 1 + }, + { + 23, + 1 + }, + { + 23, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 25, + 0 + }, + { + 23, + 1 + }, + { + 23, + 3 + }, + { + 14, + 0 + }, + { + 1, + 0 + } + } + }, + [84]={ + ["board"]={ + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 24, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 24, + 0 + }, + { + 27, + 3 + }, + { + 27, + 2 + }, + { + 27, + 1 + }, + { + 24, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 27, + 3 + }, + { + 27, + 2 + }, + { + 27, + 1 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 1, + 0 + }, + { + 23, + 1 + }, + { + 23, + 1 + }, + { + 26, + 0 + }, + { + 23, + 2 + }, + { + 23, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [85]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 23, + 5 + }, + { + 24, + 0 + }, + { + 27, + 1 + }, + { + 27, + 2 + }, + { + 27, + 1 + }, + { + 24, + 0 + }, + { + 23, + 5 + }, + { + 23, + 5 + }, + { + 23, + 5 + }, + { + 27, + 3 + }, + { + 27, + 4 + }, + { + 27, + 3 + }, + { + 23, + 5 + }, + { + 23, + 5 + }, + { + 23, + 5 + }, + { + 24, + 0 + }, + { + 27, + 4 + }, + { + 27, + 3 + }, + { + 27, + 4 + }, + { + 24, + 0 + }, + { + 23, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 24, + 0 + }, + { + 14, + 0 + }, + { + 24, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 23, + 5 + }, + { + 23, + 5 + }, + { + 23, + 5 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [86]={ + ["board"]={ + { + 14, + 0 + }, + { + 27, + 1 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 27, + 4 + }, + { + 14, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 27, + 3 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 25, + 0 + }, + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 23, + 2 + }, + { + 23, + 5 + }, + { + 23, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [87]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 29, + 0 + }, + { + 30, + 0 + }, + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 0, + 1 + }, + { + 28, + 0 + }, + { + 29, + 0 + }, + { + 30, + 0 + }, + { + 30, + 0 + }, + { + 30, + 0 + }, + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 5, + 3 + }, + { + 5, + 5 + }, + { + 21, + 3 + }, + { + 21, + 4 + }, + { + 21, + 1 + }, + { + 5, + 2 + }, + { + 5, + 1 + }, + { + 5, + 5 + }, + { + 5, + 3 + }, + { + 21, + 5 + }, + { + 21, + 4 + }, + { + 21, + 2 + }, + { + 5, + 1 + }, + { + 5, + 2 + } + } + }, + [88]={ + ["board"]={ + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 21, + 1 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 21, + 1 + }, + { + 1, + 0 + }, + { + 21, + 1 + }, + { + 21, + 1 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 21, + 1 + }, + { + 21, + 1 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 5, + 5 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 14, + 0 + }, + { + 30, + 0 + }, + { + 5, + 5 + }, + { + 5, + 2 + }, + { + 5, + 5 + }, + { + 30, + 0 + }, + { + 14, + 0 + }, + { + 29, + 0 + }, + { + 30, + 0 + }, + { + 29, + 0 + }, + { + 5, + 5 + }, + { + 29, + 0 + }, + { + 30, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 30, + 0 + }, + { + 29, + 0 + }, + { + 5, + 2 + }, + { + 29, + 0 + }, + { + 30, + 0 + }, + { + 29, + 0 + } + } + }, + [89]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 28, + 0 + }, + { + 5, + 3 + }, + { + 5, + 3 + }, + { + 1, + 0 + }, + { + 21, + 4 + }, + { + 21, + 4 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 21, + 4 + }, + { + 21, + 4 + }, + { + 21, + 4 + }, + { + 21, + 4 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 21, + 4 + }, + { + 21, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [90]={ + ["board"]={ + { + 5, + 5 + }, + { + 5, + 2 + }, + { + 5, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 1 + }, + { + 0, + 0 + }, + { + 9, + 0 + }, + { + 5, + 1 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 0, + 0 + }, + { + 28, + 0 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 5, + 5 + }, + { + 0, + 0 + }, + { + 28, + 0 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 9, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 28, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 28, + 0 + }, + { + 30, + 0 + }, + { + 30, + 0 + }, + { + 30, + 0 + }, + { + 28, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 28, + 0 + }, + { + 14, + 0 + }, + { + 30, + 0 + }, + { + 14, + 0 + }, + { + 28, + 0 + }, + { + 1, + 0 + } + } + }, + [91]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 21, + 1 + }, + { + 21, + 2 + }, + { + 28, + 0 + }, + { + 21, + 3 + }, + { + 21, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 28, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 1 + }, + { + 5, + 2 + }, + { + 14, + 0 + }, + { + 5, + 3 + }, + { + 5, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 5, + 1 + }, + { + 5, + 2 + }, + { + 1, + 0 + }, + { + 5, + 3 + }, + { + 5, + 4 + }, + { + 1, + 0 + } + } + }, + [92]={ + ["board"]={ + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 29, + 0 + }, + { + 5, + 1 + }, + { + 5, + 5 + }, + { + 21, + 2 + }, + { + 0, + 3 + }, + { + 21, + 4 + }, + { + 5, + 2 + }, + { + 5, + 1 + }, + { + 5, + 5 + }, + { + 5, + 1 + }, + { + 21, + 2 + }, + { + 0, + 3 + }, + { + 21, + 4 + }, + { + 5, + 1 + }, + { + 5, + 2 + }, + { + 0, + 0 + }, + { + 5, + 5 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 2 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + } + } + }, + [93]={ + ["board"]={ + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 21, + 2 + }, + { + 9, + 0 + }, + { + 21, + 2 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 21, + 3 + }, + { + 0, + 0 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 1, + 0 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 5, + 4 + }, + { + 14, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 30, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + }, + [94]={ + ["board"]={ + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 29, + 0 + }, + { + 29, + 0 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 28, + 0 + }, + { + 28, + 0 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 1 + }, + { + 5, + 5 + }, + { + 5, + 2 + }, + { + 5, + 2 + }, + { + 5, + 2 + }, + { + 21, + 3 + }, + { + 21, + 3 + }, + { + 21, + 5 + }, + { + 1, + 0 + }, + { + 21, + 5 + }, + { + 21, + 4 + }, + { + 21, + 4 + }, + { + 21, + 1 + }, + { + 1, + 0 + }, + { + 21, + 5 + }, + { + 1, + 0 + }, + { + 21, + 5 + }, + { + 1, + 0 + }, + { + 21, + 2 + }, + { + 21, + 1 + }, + { + 1, + 0 + }, + { + 21, + 5 + }, + { + 14, + 0 + }, + { + 21, + 5 + }, + { + 1, + 0 + }, + { + 21, + 2 + } + } + }, + [95]={ + ["board"]={ + { + 31, + 0 + }, + { + 0, + 2 + }, + { + 0, + 2 + }, + { + 35, + 4 + }, + { + 0, + 5 + }, + { + 0, + 2 + }, + { + 31, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 0, + 5 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 35, + 4 + }, + { + 31, + 0 + }, + { + 35, + 4 + }, + { + 1, + 0 + }, + { + 35, + 4 + }, + { + 31, + 0 + }, + { + 35, + 4 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 1, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 35, + 4 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 35, + 4 + }, + { + 31, + 0 + } + } + }, + [96]={ + ["board"]={ + { + 32, + 0 + }, + { + 32, + 0 + }, + { + 32, + 0 + }, + { + 31, + 0 + }, + { + 32, + 0 + }, + { + 32, + 0 + }, + { + 32, + 0 + }, + { + 32, + 0 + }, + { + 0, + 0 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 0 + }, + { + 32, + 0 + }, + { + 32, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 8, + 0 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 32, + 0 + }, + { + 31, + 0 + }, + { + 0, + 2 + }, + { + 10, + 0 + }, + { + 0, + 3 + }, + { + 11, + 0 + }, + { + 0, + 1 + }, + { + 31, + 0 + }, + { + 14, + 0 + }, + { + 33, + 0 + }, + { + 0, + 3 + }, + { + 9, + 0 + }, + { + 0, + 2 + }, + { + 33, + 0 + }, + { + 14, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 0, + 1 + }, + { + 0, + 2 + }, + { + 0, + 3 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 31, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + } + } + }, + [97]={ + ["board"]={ + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 4 + }, + { + 0, + 4 + }, + { + 4, + 5 + }, + { + 4, + 1 + }, + { + 9, + 0 + }, + { + 32, + 0 + }, + { + 10, + 0 + }, + { + 4, + 1 + }, + { + 4, + 4 + }, + { + 33, + 0 + }, + { + 0, + 0 + }, + { + 32, + 0 + }, + { + 33, + 0 + }, + { + 32, + 0 + }, + { + 0, + 0 + }, + { + 33, + 0 + }, + { + 35, + 3 + }, + { + 0, + 0 + }, + { + 10, + 0 + }, + { + 33, + 0 + }, + { + 11, + 0 + }, + { + 0, + 0 + }, + { + 35, + 3 + }, + { + 35, + 3 + }, + { + 35, + 3 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 35, + 3 + }, + { + 35, + 3 + }, + { + 14, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 33, + 0 + }, + { + 14, + 0 + } + } + }, + [98]={ + ["board"]={ + { + 1, + 0 + }, + { + 4, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 4, + 2 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 4, + 2 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 4, + 4 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 32, + 0 + }, + { + 0, + 4 + }, + { + 0, + 1 + }, + { + 0, + 4 + }, + { + 32, + 0 + }, + { + 0, + 0 + }, + { + 0, + 0 + }, + { + 1, + 0 + }, + { + 35, + 3 + }, + { + 35, + 2 + }, + { + 35, + 4 + }, + { + 1, + 0 + }, + { + 0, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 4, + 2 + }, + { + 35, + 2 + }, + { + 4, + 1 + }, + { + 1, + 0 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 1 + }, + { + 35, + 2 + }, + { + 4, + 2 + }, + { + 4, + 2 + }, + { + 1, + 0 + } + } + }, + [99]={ + ["board"]={ + { + 31, + 0 + }, + { + 0, + 5 + }, + { + 0, + 1 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 1 + }, + { + 31, + 0 + }, + { + 31, + 0 + }, + { + 0, + 3 + }, + { + 0, + 5 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 31, + 0 + }, + { + 35, + 3 + }, + { + 35, + 2 + }, + { + 35, + 1 + }, + { + 35, + 1 + }, + { + 35, + 1 + }, + { + 35, + 2 + }, + { + 35, + 2 + }, + { + 35, + 5 + }, + { + 4, + 5 + }, + { + 4, + 1 + }, + { + 1, + 0 + }, + { + 4, + 1 + }, + { + 4, + 5 + }, + { + 35, + 3 + }, + { + 35, + 1 + }, + { + 4, + 1 + }, + { + 4, + 5 + }, + { + 1, + 0 + }, + { + 4, + 5 + }, + { + 4, + 1 + }, + { + 35, + 2 + }, + { + 35, + 1 + }, + { + 4, + 1 + }, + { + 4, + 5 + }, + { + 4, + 1 + }, + { + 4, + 5 + }, + { + 4, + 1 + }, + { + 35, + 3 + }, + { + 14, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 14, + 0 + } + } + }, + [100]={ + ["board"]={ + { + 1, + 0 + }, + { + 0, + 2 + }, + { + 0, + 4 + }, + { + 0, + 2 + }, + { + 4, + 5 + }, + { + 0, + 2 + }, + { + 35, + 2 + }, + { + 14, + 0 + }, + { + 0, + 4 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 4, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 4 + }, + { + 0, + 5 + }, + { + 0, + 1 + }, + { + 4, + 4 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 3 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 4, + 3 + }, + { + 0, + 3 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 0, + 5 + }, + { + 4, + 5 + }, + { + 0, + 1 + }, + { + 0, + 5 + }, + { + 0, + 5 + }, + { + 14, + 0 + }, + { + 35, + 5 + }, + { + 0, + 5 + }, + { + 4, + 3 + }, + { + 0, + 3 + }, + { + 0, + 3 + }, + { + 0, + 2 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 1, + 0 + }, + { + 4, + 5 + }, + { + 0, + 3 + }, + { + 0, + 4 + }, + { + 1, + 0 + }, + { + 1, + 0 + } + } + } +} +local config = { +data=chapter_board_rune,count=100 +} +return config \ No newline at end of file diff --git a/lua/app/config/chapter_board_rune.lua.meta b/lua/app/config/chapter_board_rune.lua.meta new file mode 100644 index 00000000..a906fbb2 --- /dev/null +++ b/lua/app/config/chapter_board_rune.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b20e2f77ac5696b46ad6551917a95e37 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/config/chapter_dungeon_rune.lua b/lua/app/config/chapter_dungeon_rune.lua index 4dff332d..472b62cc 100644 --- a/lua/app/config/chapter_dungeon_rune.lua +++ b/lua/app/config/chapter_dungeon_rune.lua @@ -2,6 +2,7 @@ local chapter_dungeon_rune = { [1]={ ["season"]=1, ["stage"]=1, + ["chapter_board"]=1, ["scene"]="bg_3", ["block_icon"]="battle_hinder_3", ["chess_board"]="chessboard_1", @@ -75,11 +76,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -104,6 +108,7 @@ local chapter_dungeon_rune = { [2]={ ["season"]=1, ["stage"]=2, + ["chapter_board"]=2, ["scene"]="bg_4", ["block_icon"]="battle_hinder_4", ["chess_board"]="chessboard_1", @@ -175,13 +180,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -206,6 +208,7 @@ local chapter_dungeon_rune = { [3]={ ["season"]=1, ["stage"]=3, + ["chapter_board"]=3, ["scene"]="bg_4", ["block_icon"]="battle_hinder_4", ["chess_board"]="chessboard_1", @@ -278,12 +281,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -308,6 +308,7 @@ local chapter_dungeon_rune = { [4]={ ["season"]=1, ["stage"]=4, + ["chapter_board"]=4, ["scene"]="bg_6", ["block_icon"]="battle_hinder_6", ["chess_board"]="chessboard_2", @@ -380,12 +381,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -410,6 +419,7 @@ local chapter_dungeon_rune = { [5]={ ["season"]=1, ["stage"]=5, + ["chapter_board"]=5, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -481,13 +491,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -512,6 +529,7 @@ local chapter_dungeon_rune = { [6]={ ["season"]=1, ["stage"]=6, + ["chapter_board"]=6, ["scene"]="bg_8", ["block_icon"]="battle_hinder_8", ["chess_board"]="chessboard_2", @@ -585,11 +603,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -614,6 +635,7 @@ local chapter_dungeon_rune = { [7]={ ["season"]=1, ["stage"]=7, + ["chapter_board"]=7, ["scene"]="bg_10", ["block_icon"]="battle_hinder_10", ["chess_board"]="chessboard_2", @@ -685,13 +707,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -716,6 +735,7 @@ local chapter_dungeon_rune = { [8]={ ["season"]=1, ["stage"]=8, + ["chapter_board"]=8, ["scene"]="bg_12", ["block_icon"]="battle_hinder_12", ["chess_board"]="chessboard_2", @@ -788,12 +808,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -818,6 +835,7 @@ local chapter_dungeon_rune = { [9]={ ["season"]=1, ["stage"]=9, + ["chapter_board"]=9, ["scene"]="bg_9", ["block_icon"]="battle_hinder_9", ["chess_board"]="chessboard_2", @@ -890,12 +908,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -920,23 +946,16 @@ local chapter_dungeon_rune = { [10]={ ["season"]=1, ["stage"]=10, + ["chapter_board"]=10, ["scene"]="bg_14", ["block_icon"]="battle_hinder_14", ["chess_board"]="chessboard_1", ["monster"]={ 6308 }, + ["hp"]=681920000, + ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -954,11 +973,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1009, + ["num_for_nothing"]="VwhcCg==" + } } }, [11]={ ["season"]=1, ["stage"]=11, + ["chapter_board"]=11, ["scene"]="bg_19", ["block_icon"]="battle_hinder_19", ["chess_board"]="chessboard_1", @@ -1032,11 +1062,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -1061,6 +1094,7 @@ local chapter_dungeon_rune = { [12]={ ["season"]=1, ["stage"]=12, + ["chapter_board"]=12, ["scene"]="bg_11", ["block_icon"]="battle_hinder_11", ["chess_board"]="chessboard_2", @@ -1132,13 +1166,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -1163,6 +1194,7 @@ local chapter_dungeon_rune = { [13]={ ["season"]=1, ["stage"]=13, + ["chapter_board"]=13, ["scene"]="bg_8", ["block_icon"]="battle_hinder_8", ["chess_board"]="chessboard_2", @@ -1235,12 +1267,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -1265,6 +1294,7 @@ local chapter_dungeon_rune = { [14]={ ["season"]=1, ["stage"]=14, + ["chapter_board"]=14, ["scene"]="bg_9", ["block_icon"]="battle_hinder_9", ["chess_board"]="chessboard_2", @@ -1337,12 +1367,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -1367,6 +1405,7 @@ local chapter_dungeon_rune = { [15]={ ["season"]=1, ["stage"]=15, + ["chapter_board"]=15, ["scene"]="bg_10", ["block_icon"]="battle_hinder_10", ["chess_board"]="chessboard_2", @@ -1438,13 +1477,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -1469,6 +1515,7 @@ local chapter_dungeon_rune = { [16]={ ["season"]=1, ["stage"]=16, + ["chapter_board"]=16, ["scene"]="bg_17", ["block_icon"]="battle_hinder_17", ["chess_board"]="chessboard_1", @@ -1542,11 +1589,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -1571,6 +1621,7 @@ local chapter_dungeon_rune = { [17]={ ["season"]=1, ["stage"]=17, + ["chapter_board"]=17, ["scene"]="bg_21", ["block_icon"]="battle_hinder_21", ["chess_board"]="chessboard_1", @@ -1642,13 +1693,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -1673,6 +1721,7 @@ local chapter_dungeon_rune = { [18]={ ["season"]=1, ["stage"]=18, + ["chapter_board"]=18, ["scene"]="bg_18", ["block_icon"]="battle_hinder_18", ["chess_board"]="chessboard_1", @@ -1745,12 +1794,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -1775,6 +1821,7 @@ local chapter_dungeon_rune = { [19]={ ["season"]=1, ["stage"]=19, + ["chapter_board"]=19, ["scene"]="bg_20", ["block_icon"]="battle_hinder_20", ["chess_board"]="chessboard_1", @@ -1847,12 +1894,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -1877,6 +1932,7 @@ local chapter_dungeon_rune = { [20]={ ["season"]=1, ["stage"]=20, + ["chapter_board"]=20, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -1886,16 +1942,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -1913,11 +1959,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1019, + ["num_for_nothing"]="VwhdCg==" + } } }, [21]={ ["season"]=1, ["stage"]=21, + ["chapter_board"]=21, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -1991,11 +2048,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -2020,6 +2080,7 @@ local chapter_dungeon_rune = { [22]={ ["season"]=1, ["stage"]=22, + ["chapter_board"]=22, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -2091,13 +2152,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -2122,6 +2180,7 @@ local chapter_dungeon_rune = { [23]={ ["season"]=1, ["stage"]=23, + ["chapter_board"]=23, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -2194,12 +2253,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -2224,6 +2280,7 @@ local chapter_dungeon_rune = { [24]={ ["season"]=1, ["stage"]=24, + ["chapter_board"]=24, ["scene"]="bg_22", ["block_icon"]="battle_hinder_22", ["chess_board"]="chessboard_1", @@ -2296,12 +2353,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -2326,6 +2391,7 @@ local chapter_dungeon_rune = { [25]={ ["season"]=1, ["stage"]=25, + ["chapter_board"]=25, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -2397,13 +2463,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -2428,6 +2501,7 @@ local chapter_dungeon_rune = { [26]={ ["season"]=1, ["stage"]=26, + ["chapter_board"]=26, ["scene"]="bg_11", ["block_icon"]="battle_hinder_11", ["chess_board"]="chessboard_2", @@ -2501,11 +2575,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -2530,6 +2607,7 @@ local chapter_dungeon_rune = { [27]={ ["season"]=1, ["stage"]=27, + ["chapter_board"]=27, ["scene"]="bg_17", ["block_icon"]="battle_hinder_17", ["chess_board"]="chessboard_1", @@ -2601,13 +2679,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -2632,6 +2707,7 @@ local chapter_dungeon_rune = { [28]={ ["season"]=1, ["stage"]=28, + ["chapter_board"]=28, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -2704,12 +2780,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -2734,6 +2807,7 @@ local chapter_dungeon_rune = { [29]={ ["season"]=1, ["stage"]=29, + ["chapter_board"]=29, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -2806,12 +2880,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -2836,6 +2918,7 @@ local chapter_dungeon_rune = { [30]={ ["season"]=1, ["stage"]=30, + ["chapter_board"]=30, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -2845,16 +2928,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -2872,11 +2945,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1029, + ["num_for_nothing"]="VwheCg==" + } } }, [31]={ ["season"]=1, ["stage"]=31, + ["chapter_board"]=31, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -2950,11 +3034,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -2979,6 +3066,7 @@ local chapter_dungeon_rune = { [32]={ ["season"]=1, ["stage"]=32, + ["chapter_board"]=32, ["scene"]="bg_26", ["block_icon"]="battle_hinder_26", ["chess_board"]="chessboard_1", @@ -3050,13 +3138,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -3081,6 +3166,7 @@ local chapter_dungeon_rune = { [33]={ ["season"]=1, ["stage"]=33, + ["chapter_board"]=33, ["scene"]="bg_27", ["block_icon"]="battle_hinder_27", ["chess_board"]="chessboard_1", @@ -3153,12 +3239,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -3183,6 +3266,7 @@ local chapter_dungeon_rune = { [34]={ ["season"]=1, ["stage"]=34, + ["chapter_board"]=34, ["scene"]="bg_28", ["block_icon"]="battle_hinder_28", ["chess_board"]="chessboard_1", @@ -3255,12 +3339,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -3285,6 +3377,7 @@ local chapter_dungeon_rune = { [35]={ ["season"]=1, ["stage"]=35, + ["chapter_board"]=35, ["scene"]="bg_29", ["block_icon"]="battle_hinder_30", ["chess_board"]="chessboard_3", @@ -3356,13 +3449,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -3387,6 +3487,7 @@ local chapter_dungeon_rune = { [36]={ ["season"]=1, ["stage"]=36, + ["chapter_board"]=36, ["scene"]="bg_30", ["block_icon"]="battle_hinder_29", ["chess_board"]="chessboard_3", @@ -3460,11 +3561,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -3489,6 +3593,7 @@ local chapter_dungeon_rune = { [37]={ ["season"]=1, ["stage"]=37, + ["chapter_board"]=37, ["scene"]="bg_3", ["block_icon"]="battle_hinder_3", ["chess_board"]="chessboard_1", @@ -3560,13 +3665,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -3591,6 +3693,7 @@ local chapter_dungeon_rune = { [38]={ ["season"]=1, ["stage"]=38, + ["chapter_board"]=38, ["scene"]="bg_11", ["block_icon"]="battle_hinder_11", ["chess_board"]="chessboard_2", @@ -3663,12 +3766,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -3693,6 +3793,7 @@ local chapter_dungeon_rune = { [39]={ ["season"]=1, ["stage"]=39, + ["chapter_board"]=39, ["scene"]="bg_8", ["block_icon"]="battle_hinder_8", ["chess_board"]="chessboard_2", @@ -3765,12 +3866,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -3795,6 +3904,7 @@ local chapter_dungeon_rune = { [40]={ ["season"]=1, ["stage"]=40, + ["chapter_board"]=40, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -3804,16 +3914,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -3831,11 +3931,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1039, + ["num_for_nothing"]="VwhfCg==" + } } }, [41]={ ["season"]=1, ["stage"]=41, + ["chapter_board"]=41, ["scene"]="bg_29", ["block_icon"]="battle_hinder_30", ["chess_board"]="chessboard_3", @@ -3909,11 +4020,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -3938,6 +4052,7 @@ local chapter_dungeon_rune = { [42]={ ["season"]=1, ["stage"]=42, + ["chapter_board"]=42, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -4009,13 +4124,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -4040,6 +4152,7 @@ local chapter_dungeon_rune = { [43]={ ["season"]=1, ["stage"]=43, + ["chapter_board"]=43, ["scene"]="bg_26", ["block_icon"]="battle_hinder_26", ["chess_board"]="chessboard_1", @@ -4112,12 +4225,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -4142,6 +4252,7 @@ local chapter_dungeon_rune = { [44]={ ["season"]=1, ["stage"]=44, + ["chapter_board"]=44, ["scene"]="bg_18", ["block_icon"]="battle_hinder_18", ["chess_board"]="chessboard_1", @@ -4214,12 +4325,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -4244,6 +4363,7 @@ local chapter_dungeon_rune = { [45]={ ["season"]=1, ["stage"]=45, + ["chapter_board"]=45, ["scene"]="bg_28", ["block_icon"]="battle_hinder_28", ["chess_board"]="chessboard_1", @@ -4315,13 +4435,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -4346,6 +4473,7 @@ local chapter_dungeon_rune = { [46]={ ["season"]=1, ["stage"]=46, + ["chapter_board"]=46, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -4419,11 +4547,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -4448,6 +4579,7 @@ local chapter_dungeon_rune = { [47]={ ["season"]=1, ["stage"]=47, + ["chapter_board"]=47, ["scene"]="bg_14", ["block_icon"]="battle_hinder_14", ["chess_board"]="chessboard_1", @@ -4519,13 +4651,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -4550,6 +4679,7 @@ local chapter_dungeon_rune = { [48]={ ["season"]=1, ["stage"]=48, + ["chapter_board"]=48, ["scene"]="bg_26", ["block_icon"]="battle_hinder_26", ["chess_board"]="chessboard_1", @@ -4622,12 +4752,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -4652,6 +4779,7 @@ local chapter_dungeon_rune = { [49]={ ["season"]=1, ["stage"]=49, + ["chapter_board"]=49, ["scene"]="bg_27", ["block_icon"]="battle_hinder_27", ["chess_board"]="chessboard_1", @@ -4724,12 +4852,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -4754,6 +4890,7 @@ local chapter_dungeon_rune = { [50]={ ["season"]=1, ["stage"]=50, + ["chapter_board"]=50, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -4763,16 +4900,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -4790,11 +4917,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1049, + ["num_for_nothing"]="VwhYCg==" + } } }, [51]={ ["season"]=1, ["stage"]=51, + ["chapter_board"]=51, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -4868,11 +5006,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -4897,6 +5038,7 @@ local chapter_dungeon_rune = { [52]={ ["season"]=1, ["stage"]=52, + ["chapter_board"]=52, ["scene"]="bg_22", ["block_icon"]="battle_hinder_22", ["chess_board"]="chessboard_1", @@ -4968,13 +5110,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -4999,6 +5138,7 @@ local chapter_dungeon_rune = { [53]={ ["season"]=1, ["stage"]=53, + ["chapter_board"]=53, ["scene"]="bg_14", ["block_icon"]="battle_hinder_14", ["chess_board"]="chessboard_1", @@ -5071,12 +5211,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -5101,6 +5238,7 @@ local chapter_dungeon_rune = { [54]={ ["season"]=1, ["stage"]=54, + ["chapter_board"]=54, ["scene"]="bg_30", ["block_icon"]="battle_hinder_29", ["chess_board"]="chessboard_3", @@ -5173,12 +5311,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -5203,6 +5349,7 @@ local chapter_dungeon_rune = { [55]={ ["season"]=1, ["stage"]=55, + ["chapter_board"]=55, ["scene"]="bg_28", ["block_icon"]="battle_hinder_28", ["chess_board"]="chessboard_1", @@ -5274,13 +5421,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -5305,6 +5459,7 @@ local chapter_dungeon_rune = { [56]={ ["season"]=1, ["stage"]=56, + ["chapter_board"]=56, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -5378,11 +5533,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -5407,6 +5565,7 @@ local chapter_dungeon_rune = { [57]={ ["season"]=1, ["stage"]=57, + ["chapter_board"]=57, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -5478,13 +5637,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -5509,6 +5665,7 @@ local chapter_dungeon_rune = { [58]={ ["season"]=1, ["stage"]=58, + ["chapter_board"]=58, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -5581,12 +5738,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -5611,6 +5765,7 @@ local chapter_dungeon_rune = { [59]={ ["season"]=1, ["stage"]=59, + ["chapter_board"]=59, ["scene"]="bg_22", ["block_icon"]="battle_hinder_22", ["chess_board"]="chessboard_1", @@ -5683,12 +5838,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -5713,6 +5876,7 @@ local chapter_dungeon_rune = { [60]={ ["season"]=1, ["stage"]=60, + ["chapter_board"]=60, ["scene"]="bg_25", ["block_icon"]="battle_hinder_25", ["chess_board"]="chessboard_3", @@ -5722,16 +5886,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -5749,11 +5903,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1059, + ["num_for_nothing"]="VwhZCg==" + } } }, [61]={ ["season"]=1, ["stage"]=61, + ["chapter_board"]=61, ["scene"]="bg_3", ["block_icon"]="battle_hinder_3", ["chess_board"]="chessboard_1", @@ -5827,11 +5992,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -5856,6 +6024,7 @@ local chapter_dungeon_rune = { [62]={ ["season"]=1, ["stage"]=62, + ["chapter_board"]=62, ["scene"]="bg_4", ["block_icon"]="battle_hinder_4", ["chess_board"]="chessboard_1", @@ -5927,13 +6096,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -5958,6 +6124,7 @@ local chapter_dungeon_rune = { [63]={ ["season"]=1, ["stage"]=63, + ["chapter_board"]=63, ["scene"]="bg_4", ["block_icon"]="battle_hinder_4", ["chess_board"]="chessboard_1", @@ -6030,12 +6197,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -6060,6 +6224,7 @@ local chapter_dungeon_rune = { [64]={ ["season"]=1, ["stage"]=64, + ["chapter_board"]=64, ["scene"]="bg_6", ["block_icon"]="battle_hinder_6", ["chess_board"]="chessboard_2", @@ -6132,12 +6297,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -6162,6 +6335,7 @@ local chapter_dungeon_rune = { [65]={ ["season"]=1, ["stage"]=65, + ["chapter_board"]=65, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -6233,13 +6407,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -6264,6 +6445,7 @@ local chapter_dungeon_rune = { [66]={ ["season"]=1, ["stage"]=66, + ["chapter_board"]=66, ["scene"]="bg_8", ["block_icon"]="battle_hinder_8", ["chess_board"]="chessboard_2", @@ -6337,11 +6519,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -6366,6 +6551,7 @@ local chapter_dungeon_rune = { [67]={ ["season"]=1, ["stage"]=67, + ["chapter_board"]=67, ["scene"]="bg_10", ["block_icon"]="battle_hinder_10", ["chess_board"]="chessboard_2", @@ -6437,13 +6623,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -6468,6 +6651,7 @@ local chapter_dungeon_rune = { [68]={ ["season"]=1, ["stage"]=68, + ["chapter_board"]=68, ["scene"]="bg_12", ["block_icon"]="battle_hinder_12", ["chess_board"]="chessboard_2", @@ -6540,12 +6724,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -6570,6 +6751,7 @@ local chapter_dungeon_rune = { [69]={ ["season"]=1, ["stage"]=69, + ["chapter_board"]=69, ["scene"]="bg_9", ["block_icon"]="battle_hinder_9", ["chess_board"]="chessboard_2", @@ -6642,12 +6824,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -6672,6 +6862,7 @@ local chapter_dungeon_rune = { [70]={ ["season"]=1, ["stage"]=70, + ["chapter_board"]=70, ["scene"]="bg_14", ["block_icon"]="battle_hinder_14", ["chess_board"]="chessboard_1", @@ -6681,16 +6872,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -6708,11 +6889,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1069, + ["num_for_nothing"]="VwhaCg==" + } } }, [71]={ ["season"]=1, ["stage"]=71, + ["chapter_board"]=71, ["scene"]="bg_19", ["block_icon"]="battle_hinder_19", ["chess_board"]="chessboard_1", @@ -6786,11 +6978,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -6815,6 +7010,7 @@ local chapter_dungeon_rune = { [72]={ ["season"]=1, ["stage"]=72, + ["chapter_board"]=72, ["scene"]="bg_11", ["block_icon"]="battle_hinder_11", ["chess_board"]="chessboard_2", @@ -6886,13 +7082,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -6917,6 +7110,7 @@ local chapter_dungeon_rune = { [73]={ ["season"]=1, ["stage"]=73, + ["chapter_board"]=73, ["scene"]="bg_8", ["block_icon"]="battle_hinder_8", ["chess_board"]="chessboard_2", @@ -6989,12 +7183,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -7019,6 +7210,7 @@ local chapter_dungeon_rune = { [74]={ ["season"]=1, ["stage"]=74, + ["chapter_board"]=74, ["scene"]="bg_9", ["block_icon"]="battle_hinder_9", ["chess_board"]="chessboard_2", @@ -7091,12 +7283,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -7121,6 +7321,7 @@ local chapter_dungeon_rune = { [75]={ ["season"]=1, ["stage"]=75, + ["chapter_board"]=75, ["scene"]="bg_10", ["block_icon"]="battle_hinder_10", ["chess_board"]="chessboard_2", @@ -7192,13 +7393,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -7223,6 +7431,7 @@ local chapter_dungeon_rune = { [76]={ ["season"]=1, ["stage"]=76, + ["chapter_board"]=76, ["scene"]="bg_17", ["block_icon"]="battle_hinder_17", ["chess_board"]="chessboard_1", @@ -7296,11 +7505,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -7325,6 +7537,7 @@ local chapter_dungeon_rune = { [77]={ ["season"]=1, ["stage"]=77, + ["chapter_board"]=77, ["scene"]="bg_21", ["block_icon"]="battle_hinder_21", ["chess_board"]="chessboard_1", @@ -7396,13 +7609,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -7427,6 +7637,7 @@ local chapter_dungeon_rune = { [78]={ ["season"]=1, ["stage"]=78, + ["chapter_board"]=78, ["scene"]="bg_18", ["block_icon"]="battle_hinder_18", ["chess_board"]="chessboard_1", @@ -7499,12 +7710,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -7529,6 +7737,7 @@ local chapter_dungeon_rune = { [79]={ ["season"]=1, ["stage"]=79, + ["chapter_board"]=79, ["scene"]="bg_20", ["block_icon"]="battle_hinder_20", ["chess_board"]="chessboard_1", @@ -7601,12 +7810,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -7631,6 +7848,7 @@ local chapter_dungeon_rune = { [80]={ ["season"]=1, ["stage"]=80, + ["chapter_board"]=80, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -7640,16 +7858,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -7667,11 +7875,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1079, + ["num_for_nothing"]="VwhbCg==" + } } }, [81]={ ["season"]=1, ["stage"]=81, + ["chapter_board"]=81, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -7745,11 +7964,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -7774,6 +7996,7 @@ local chapter_dungeon_rune = { [82]={ ["season"]=1, ["stage"]=82, + ["chapter_board"]=82, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -7845,13 +8068,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -7876,6 +8096,7 @@ local chapter_dungeon_rune = { [83]={ ["season"]=1, ["stage"]=83, + ["chapter_board"]=83, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -7948,12 +8169,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -7978,6 +8196,7 @@ local chapter_dungeon_rune = { [84]={ ["season"]=1, ["stage"]=84, + ["chapter_board"]=84, ["scene"]="bg_22", ["block_icon"]="battle_hinder_22", ["chess_board"]="chessboard_1", @@ -8050,12 +8269,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -8080,6 +8307,7 @@ local chapter_dungeon_rune = { [85]={ ["season"]=1, ["stage"]=85, + ["chapter_board"]=85, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -8151,13 +8379,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -8182,6 +8417,7 @@ local chapter_dungeon_rune = { [86]={ ["season"]=1, ["stage"]=86, + ["chapter_board"]=86, ["scene"]="bg_11", ["block_icon"]="battle_hinder_11", ["chess_board"]="chessboard_2", @@ -8255,11 +8491,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -8284,6 +8523,7 @@ local chapter_dungeon_rune = { [87]={ ["season"]=1, ["stage"]=87, + ["chapter_board"]=87, ["scene"]="bg_17", ["block_icon"]="battle_hinder_17", ["chess_board"]="chessboard_1", @@ -8355,13 +8595,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -8386,6 +8623,7 @@ local chapter_dungeon_rune = { [88]={ ["season"]=1, ["stage"]=88, + ["chapter_board"]=88, ["scene"]="bg_23", ["block_icon"]="battle_hinder_23", ["chess_board"]="chessboard_2", @@ -8458,12 +8696,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -8488,6 +8723,7 @@ local chapter_dungeon_rune = { [89]={ ["season"]=1, ["stage"]=89, + ["chapter_board"]=89, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -8560,12 +8796,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -8590,6 +8834,7 @@ local chapter_dungeon_rune = { [90]={ ["season"]=1, ["stage"]=90, + ["chapter_board"]=90, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -8599,16 +8844,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -8626,11 +8861,22 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1089, + ["num_for_nothing"]="VwhUCg==" + } } }, [91]={ ["season"]=1, ["stage"]=91, + ["chapter_board"]=91, ["scene"]="bg_24", ["block_icon"]="battle_hinder_24", ["chess_board"]="chessboard_3", @@ -8704,11 +8950,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -8733,6 +8982,7 @@ local chapter_dungeon_rune = { [92]={ ["season"]=1, ["stage"]=92, + ["chapter_board"]=92, ["scene"]="bg_26", ["block_icon"]="battle_hinder_26", ["chess_board"]="chessboard_1", @@ -8804,13 +9054,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -8835,6 +9082,7 @@ local chapter_dungeon_rune = { [93]={ ["season"]=1, ["stage"]=93, + ["chapter_board"]=93, ["scene"]="bg_27", ["block_icon"]="battle_hinder_27", ["chess_board"]="chessboard_1", @@ -8907,12 +9155,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -8937,6 +9182,7 @@ local chapter_dungeon_rune = { [94]={ ["season"]=1, ["stage"]=94, + ["chapter_board"]=94, ["scene"]="bg_28", ["block_icon"]="battle_hinder_28", ["chess_board"]="chessboard_1", @@ -9009,12 +9255,24 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 + }, + { + 2, + 200 } }, ["first_reward"]={ @@ -9039,6 +9297,7 @@ local chapter_dungeon_rune = { [95]={ ["season"]=1, ["stage"]=95, + ["chapter_board"]=95, ["scene"]="bg_29", ["block_icon"]="battle_hinder_30", ["chess_board"]="chessboard_3", @@ -9110,13 +9369,20 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ + { + 2, + 2, + 1 + }, { 1, + 2, 10 }, { - 2, - 12 + 3, + 0, + 10 } }, ["first_reward"]={ @@ -9141,6 +9407,7 @@ local chapter_dungeon_rune = { [96]={ ["season"]=1, ["stage"]=96, + ["chapter_board"]=96, ["scene"]="bg_30", ["block_icon"]="battle_hinder_29", ["chess_board"]="chessboard_3", @@ -9214,11 +9481,14 @@ local chapter_dungeon_rune = { ["requirement"]={ { 1, - 10 - }, + 1, + 1 + } + }, + ["weights"]={ { - 2, - 12 + 1, + 200 } }, ["first_reward"]={ @@ -9243,6 +9513,7 @@ local chapter_dungeon_rune = { [97]={ ["season"]=1, ["stage"]=97, + ["chapter_board"]=97, ["scene"]="bg_3", ["block_icon"]="battle_hinder_3", ["chess_board"]="chessboard_1", @@ -9314,13 +9585,10 @@ local chapter_dungeon_rune = { ["atk"]=6080000, ["round"]=30, ["requirement"]={ - { - 1, - 10 - }, { 2, - 12 + 2, + 1 } }, ["first_reward"]={ @@ -9345,6 +9613,7 @@ local chapter_dungeon_rune = { [98]={ ["season"]=1, ["stage"]=98, + ["chapter_board"]=98, ["scene"]="bg_11", ["block_icon"]="battle_hinder_11", ["chess_board"]="chessboard_2", @@ -9417,12 +9686,9 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 3, 1, - 10 - }, - { - 2, - 12 + 1 } }, ["first_reward"]={ @@ -9447,6 +9713,7 @@ local chapter_dungeon_rune = { [99]={ ["season"]=1, ["stage"]=99, + ["chapter_board"]=99, ["scene"]="bg_8", ["block_icon"]="battle_hinder_8", ["chess_board"]="chessboard_2", @@ -9519,12 +9786,20 @@ local chapter_dungeon_rune = { ["round"]=30, ["requirement"]={ { + 1, 1, 10 }, { + 1, 2, - 12 + 10 + } + }, + ["weights"]={ + { + 1, + 200 } }, ["first_reward"]={ @@ -9549,6 +9824,7 @@ local chapter_dungeon_rune = { [100]={ ["season"]=1, ["stage"]=100, + ["chapter_board"]=100, ["scene"]="bg_7", ["block_icon"]="battle_hinder_7", ["chess_board"]="chessboard_2", @@ -9558,16 +9834,6 @@ local chapter_dungeon_rune = { ["hp"]=681920000, ["atk"]=6080000, ["round"]=30, - ["requirement"]={ - { - 1, - 10 - }, - { - 2, - 12 - } - }, ["first_reward"]={ { ["type"]=1, @@ -9585,6 +9851,16 @@ local chapter_dungeon_rune = { ["num"]=2000, ["num_for_nothing"]="VAhcAw==" } + }, + ["sweep_reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=1, + ["id_for_nothing"]="Vw==", + ["num"]=1099, + ["num_for_nothing"]="VwhVCg==" + } } } } diff --git a/lua/app/config/const.lua b/lua/app/config/const.lua index e6736f9e..61d527c4 100644 --- a/lua/app/config/const.lua +++ b/lua/app/config/const.lua @@ -447,6 +447,19 @@ local const = { ["dungeon_rune_revival"]={ ["value"]=5 }, + ["dungeon_rune_cost"]={ + ["reward"]={ + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=2, + ["id_for_nothing"]="VA==", + ["num"]=200, + ["num_for_nothing"]="VAhc" + } + }, + ["dungeon_rune_buylimit"]={ + ["value"]=5 + }, ["activity_pvp_time"]={ ["value"]=1 }, @@ -470,11 +483,33 @@ local const = { ["num_for_nothing"]="VAg=" } }, + ["activity_pvp_win_times"]={ + ["value"]=10 + }, + ["activity_pvp_lose_times"]={ + ["value"]=2 + }, ["activity_pvp_bounty_point"]={ ["value"]=10 + }, + ["activity_skin_fight_id_1"]={ + ["value"]=4104 + }, + ["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=" + } } } local config = { -data=const,count=95 +data=const,count=102 } return config \ No newline at end of file diff --git a/lua/app/config/dungeon_rune_rank.lua b/lua/app/config/dungeon_rune_rank.lua index c5d15adf..aef3edb4 100644 --- a/lua/app/config/dungeon_rune_rank.lua +++ b/lua/app/config/dungeon_rune_rank.lua @@ -22,9 +22,7 @@ local dungeon_rune_rank = { ["num"]=200, ["num_for_nothing"]="VAhc" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [2]={ ["season"]=1, @@ -49,9 +47,7 @@ local dungeon_rune_rank = { ["num"]=201, ["num_for_nothing"]="VAhd" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [3]={ ["season"]=1, @@ -76,9 +72,7 @@ local dungeon_rune_rank = { ["num"]=202, ["num_for_nothing"]="VAhe" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [4]={ ["season"]=1, @@ -103,9 +97,7 @@ local dungeon_rune_rank = { ["num"]=203, ["num_for_nothing"]="VAhf" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [5]={ ["season"]=1, @@ -130,9 +122,7 @@ local dungeon_rune_rank = { ["num"]=204, ["num_for_nothing"]="VAhY" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [6]={ ["season"]=1, @@ -157,9 +147,7 @@ local dungeon_rune_rank = { ["num"]=205, ["num_for_nothing"]="VAhZ" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [7]={ ["season"]=1, @@ -184,9 +172,7 @@ local dungeon_rune_rank = { ["num"]=206, ["num_for_nothing"]="VAha" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [8]={ ["season"]=1, @@ -211,9 +197,7 @@ local dungeon_rune_rank = { ["num"]=207, ["num_for_nothing"]="VAhb" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [9]={ ["season"]=1, @@ -238,9 +222,7 @@ local dungeon_rune_rank = { ["num"]=208, ["num_for_nothing"]="VAhU" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } }, [10]={ ["season"]=1, @@ -265,9 +247,7 @@ local dungeon_rune_rank = { ["num"]=209, ["num_for_nothing"]="VAhV" } - }, - ["time_start"]="2023-9-19 00:00:00", - ["time_end"]="2023-10-23 00:00:00" + } } } local config = { diff --git a/lua/app/config/dungeon_rune_time.lua b/lua/app/config/dungeon_rune_time.lua new file mode 100644 index 00000000..5777e387 --- /dev/null +++ b/lua/app/config/dungeon_rune_time.lua @@ -0,0 +1,16 @@ +local dungeon_rune_time = { + [1]={ + ["season"]=1, + ["start_time"]="2023-9-19 00:00:00", + ["end_time"]="2023-10-23 00:00:00" + }, + [2]={ + ["season"]=2, + ["start_time"]="2023-10-23 00:00:00", + ["end_time"]="2023-11-22 00:00:00" + } +} +local config = { +data=dungeon_rune_time,count=2 +} +return config \ No newline at end of file diff --git a/lua/app/config/dungeon_rune_time.lua.meta b/lua/app/config/dungeon_rune_time.lua.meta new file mode 100644 index 00000000..b218185d --- /dev/null +++ b/lua/app/config/dungeon_rune_time.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 25674d56c20c532449e161b993925a2f +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/config/localization/localization_global_const.lua b/lua/app/config/localization/localization_global_const.lua index 0de1e2cb..f1be157a 100644 --- a/lua/app/config/localization/localization_global_const.lua +++ b/lua/app/config/localization/localization_global_const.lua @@ -527,6 +527,13 @@ local LocalizationGlobalConst = DUNGEON_RUNE_TIP_4 = "DUNGEON_RUNE_TIP_4", DUNGEON_RUNE_TIP_5 = "DUNGEON_RUNE_TIP_5", UNFINISHED = "UNFINISHED", + + ["DUNGEON_RUNE_DESC_1"]= "DUNGEON_RUNE_DESC_1", + ["DUNGEON_RUNE_DESC_2"] = "DUNGEON_RUNE_DESC_2", + ["DUNGEON_RUNE_DESC_3"] = "DUNGEON_RUNE_DESC_3", + ["DUNGEON_RUNE_DESC_4"] = "DUNGEON_RUNE_DESC_4", + ["DUNGEON_RUNE_DESC_5"] = "DUNGEON_RUNE_DESC_5", + DUNGEON_RUNE_DESC_6 = "DUNGEON_RUNE_DESC_6", } return LocalizationGlobalConst \ No newline at end of file diff --git a/lua/app/config/monster_chapter.lua b/lua/app/config/monster_chapter.lua index ae1fdfe4..6c78a720 100644 --- a/lua/app/config/monster_chapter.lua +++ b/lua/app/config/monster_chapter.lua @@ -10077,7 +10077,7 @@ local monster_chapter = { ["monster_exp"]=22000 }, [75201]={ - ["monster_base"]=20048, + ["monster_base"]=10072, ["hp"]=134200000, ["atk"]=4910000, ["atk_times"]=3, @@ -10086,11 +10086,7 @@ local monster_chapter = { 20206, 20207 }, - ["skill"]={ - 110002, - 110003 - }, - ["monster_exp"]=22000 + ["monster_exp"]=11000 }, [75301]={ ["monster_base"]=10069, diff --git a/lua/app/config/monster_dungeon_rune.lua b/lua/app/config/monster_dungeon_rune.lua index 32e69090..a7aeb674 100644 --- a/lua/app/config/monster_dungeon_rune.lua +++ b/lua/app/config/monster_dungeon_rune.lua @@ -10,7 +10,7 @@ local monster_dungeon_rune = { 20077, 20078 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [208]={ ["none"]="大史莱姆(黄)", @@ -23,7 +23,7 @@ local monster_dungeon_rune = { 20071, 20072 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [308]={ ["none"]="大史莱姆(蓝)", @@ -36,7 +36,7 @@ local monster_dungeon_rune = { 20074, 20075 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [408]={ ["none"]="大史莱姆(绿)", @@ -49,7 +49,7 @@ local monster_dungeon_rune = { 20068, 20069 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [508]={ ["none"]="盾刀骷髅兵", @@ -62,7 +62,7 @@ local monster_dungeon_rune = { 20026, 20027 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [608]={ ["none"]="盾刀骷髅兵(有头盔)", @@ -75,111 +75,111 @@ local monster_dungeon_rune = { 20113, 20114 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [708]={ ["none"]="哥布林匕首(蓝)", ["monster_base"]=10001, ["hp"]=474020000, ["atk"]=5340000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20001, 20002, 20003 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [808]={ ["none"]="哥布林匕首(紫)", ["monster_base"]=10003, ["hp"]=554250000, ["atk"]=5310000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20007, 20008, 20009 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [908]={ ["none"]="哥布林法师(红)", ["monster_base"]=10008, ["hp"]=298160000, ["atk"]=4390000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20022, 20023, 20024 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [1008]={ ["none"]="哥布林法师(蓝)", ["monster_base"]=10005, ["hp"]=525000000, ["atk"]=5020000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20013, 20014, 20015 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [1108]={ ["none"]="哥布林法师(绿)", ["monster_base"]=10006, ["hp"]=372560000, ["atk"]=4530000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20016, 20017, 20018 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [1208]={ ["none"]="哥布林法师(紫)", ["monster_base"]=10007, ["hp"]=450590000, ["atk"]=5230000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20019, 20020, 20021 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [1308]={ ["none"]="哥布林斧头(红)", ["monster_base"]=10002, ["hp"]=426740000, ["atk"]=4940000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20004, 20005, 20006 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [1408]={ ["none"]="哥布林棍棒(绿)", ["monster_base"]=10004, ["hp"]=391500000, ["atk"]=5410000, - ["atk_times"]=2, + ["atk_times"]=3, ["hurt_skill"]={ 20010, 20011, 20012 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [1508]={ ["none"]="黑色食人花", @@ -192,7 +192,7 @@ local monster_dungeon_rune = { 20146, 20147 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [1608]={ ["none"]="红色蝙蝠恶魔", @@ -205,7 +205,7 @@ local monster_dungeon_rune = { 20152, 20153 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [1708]={ ["none"]="红色恶魔野猪", @@ -218,7 +218,7 @@ local monster_dungeon_rune = { 20149, 20150 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [1808]={ ["none"]="红色蜥蜴剑士", @@ -231,7 +231,7 @@ local monster_dungeon_rune = { 20137, 20138 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [1908]={ ["none"]="红色幽灵恶魔", @@ -244,7 +244,7 @@ local monster_dungeon_rune = { 20161, 20162 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [2008]={ ["none"]="红色蜘蛛", @@ -257,7 +257,7 @@ local monster_dungeon_rune = { 20134, 20135 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [2108]={ ["none"]="黄发剑士", @@ -270,7 +270,7 @@ local monster_dungeon_rune = { 20086, 20087 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [2208]={ ["none"]="火山甲壳虫", @@ -283,7 +283,7 @@ local monster_dungeon_rune = { 20179, 20180 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [2308]={ ["none"]="火山岩石怪", @@ -296,7 +296,7 @@ local monster_dungeon_rune = { 20176, 20177 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [2408]={ ["none"]="剑盾士兵(黄发)", @@ -309,7 +309,7 @@ local monster_dungeon_rune = { 20098, 20099 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [2508]={ ["none"]="剑盾士兵(蓝发)", @@ -322,7 +322,7 @@ local monster_dungeon_rune = { 20101, 20102 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [2608]={ ["none"]="骷髅弓箭手", @@ -335,7 +335,7 @@ local monster_dungeon_rune = { 20110, 20111 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [2708]={ ["none"]="骷髅枪兵", @@ -348,7 +348,7 @@ local monster_dungeon_rune = { 20029, 20030 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [2808]={ ["none"]="骷髅小法师", @@ -361,7 +361,7 @@ local monster_dungeon_rune = { 20116, 20117 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [2908]={ ["none"]="蓝发剑士", @@ -374,7 +374,7 @@ local monster_dungeon_rune = { 20089, 20090 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [3008]={ ["none"]="蓝色蝙蝠恶魔", @@ -387,7 +387,7 @@ local monster_dungeon_rune = { 20119, 20120 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [3108]={ ["none"]="蓝色独眼蝙蝠", @@ -400,7 +400,7 @@ local monster_dungeon_rune = { 20128, 20129 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [3208]={ ["none"]="蓝色恶魔野猪", @@ -413,7 +413,7 @@ local monster_dungeon_rune = { 20122, 20123 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [3308]={ ["none"]="绿色食人花", @@ -426,7 +426,7 @@ local monster_dungeon_rune = { 20143, 20144 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [3408]={ ["none"]="绿色蜥蜴剑士", @@ -439,7 +439,7 @@ local monster_dungeon_rune = { 20140, 20141 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [3508]={ ["none"]="魔都小枪兵(红)", @@ -452,7 +452,7 @@ local monster_dungeon_rune = { 20167, 20168 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [3608]={ ["none"]="魔都小枪兵(紫)", @@ -465,7 +465,7 @@ local monster_dungeon_rune = { 20170, 20171 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [3708]={ ["none"]="女巫师(蓝)", @@ -478,7 +478,7 @@ local monster_dungeon_rune = { 20092, 20093 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [3808]={ ["none"]="女巫师(紫)", @@ -491,7 +491,7 @@ local monster_dungeon_rune = { 20095, 20096 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [3908]={ ["none"]="青绿鬼火", @@ -504,7 +504,7 @@ local monster_dungeon_rune = { 20158, 20159 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [4008]={ ["none"]="人类弓箭手(红)", @@ -517,7 +517,7 @@ local monster_dungeon_rune = { 20104, 20105 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [4108]={ ["none"]="人类弓箭手(绿)", @@ -530,7 +530,7 @@ local monster_dungeon_rune = { 20107, 20108 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [4208]={ ["none"]="人鱼双匕首(红)", @@ -543,7 +543,7 @@ local monster_dungeon_rune = { 20188, 20189 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [4308]={ ["none"]="人鱼双匕首(蓝)", @@ -556,7 +556,7 @@ local monster_dungeon_rune = { 20185, 20186 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [4408]={ ["none"]="兽人大刀兵(红)", @@ -569,7 +569,7 @@ local monster_dungeon_rune = { 20038, 20039 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [4508]={ ["none"]="兽人大刀兵(黄)", @@ -582,7 +582,7 @@ local monster_dungeon_rune = { 20041, 20042 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [4608]={ ["none"]="兽人大刀兵(蓝)", @@ -595,7 +595,7 @@ local monster_dungeon_rune = { 20035, 20036 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [4708]={ ["none"]="兽人大刀兵(绿)", @@ -608,7 +608,7 @@ local monster_dungeon_rune = { 20032, 20033 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [4808]={ ["none"]="兽人盾骨兵(红)", @@ -621,7 +621,7 @@ local monster_dungeon_rune = { 20047, 20048 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [4908]={ ["none"]="兽人盾骨兵(黄)", @@ -634,7 +634,7 @@ local monster_dungeon_rune = { 20050, 20051 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [5008]={ ["none"]="兽人盾骨兵(蓝)", @@ -647,7 +647,7 @@ local monster_dungeon_rune = { 20053, 20054 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [5108]={ ["none"]="兽人盾骨兵(绿)", @@ -660,7 +660,7 @@ local monster_dungeon_rune = { 20044, 20045 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [5208]={ ["none"]="双斧莫西干(红)", @@ -673,7 +673,7 @@ local monster_dungeon_rune = { 20083, 20084 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [5308]={ ["none"]="双斧莫西干(紫)", @@ -686,7 +686,7 @@ local monster_dungeon_rune = { 20080, 20081 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [5408]={ ["none"]="水蜥蜴", @@ -699,7 +699,7 @@ local monster_dungeon_rune = { 20191, 20192 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [5508]={ ["none"]="小史莱姆(红)", @@ -712,7 +712,7 @@ local monster_dungeon_rune = { 20065, 20066 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [5608]={ ["none"]="小史莱姆(黄)", @@ -725,7 +725,7 @@ local monster_dungeon_rune = { 20059, 20060 }, - ["monster_exp"]=22000 + ["monster_exp"]=0 }, [5708]={ ["none"]="小史莱姆(蓝)", @@ -738,7 +738,7 @@ local monster_dungeon_rune = { 20062, 20063 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [5808]={ ["none"]="小史莱姆(绿)", @@ -751,7 +751,7 @@ local monster_dungeon_rune = { 20056, 20057 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [5908]={ ["none"]="紫色独眼蝙蝠", @@ -764,7 +764,7 @@ local monster_dungeon_rune = { 20125, 20126 }, - ["monster_exp"]=26000 + ["monster_exp"]=0 }, [6008]={ ["none"]="紫色鬼火", @@ -777,7 +777,7 @@ local monster_dungeon_rune = { 20155, 20156 }, - ["monster_exp"]=29000 + ["monster_exp"]=0 }, [6108]={ ["none"]="紫色幽灵恶魔", @@ -790,7 +790,7 @@ local monster_dungeon_rune = { 20164, 20165 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [6208]={ ["none"]="紫色蜘蛛", @@ -803,127 +803,211 @@ local monster_dungeon_rune = { 20131, 20132 }, - ["monster_exp"]=25000 + ["monster_exp"]=0 }, [6308]={ ["none"]="深潜者", - ["monster_base"]=30001, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20001, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30165, + 30166, + 30167 + }, + ["skill"]={ + 30169 + }, + ["passive_skill"]={ + 30168 + }, + ["monster_exp"]=0 }, [6408]={ ["none"]="黑山羊幼崽", - ["monster_base"]=30002, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20002, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30170, + 30171, + 30172 + }, + ["skill"]={ + 30173 + }, + ["passive_skill"]={ + 10013 + }, + ["monster_exp"]=0 }, [6508]={ ["none"]="莎布·尼古拉斯", - ["monster_base"]=30003, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20003, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30174, + 30175, + 30176 + }, + ["skill"]={ + 30177, + 30178 + }, + ["monster_exp"]=0 }, [6608]={ ["none"]="奈亚拉托提普", - ["monster_base"]=30004, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20004, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=0, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30179, + 30180, + 30181 + }, + ["skill"]={ + 30182, + 30183, + 30184, + 30185 + }, + ["monster_exp"]=0 }, [6708]={ ["none"]="神秘的兄弟神", - ["monster_base"]=30005, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20005, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30186, + 30187, + 30188 + }, + ["skill"]={ + 30190 + }, + ["passive_skill"]={ + 30189 + }, + ["monster_exp"]=0 }, [6808]={ ["none"]="兰·提戈斯", - ["monster_base"]=30006, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20006, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30191, + 30192, + 30193 + }, + ["skill"]={ + 30195, + 30196 + }, + ["passive_skill"]={ + 30194 + }, + ["monster_exp"]=0 }, [6908]={ ["none"]="克希拉", - ["monster_base"]=30007, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20007, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=0, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30197, + 30198, + 30199 + }, + ["skill"]={ + 30200, + 30201, + 30202, + 30203, + 30204, + 30205, + 30206, + 30207 + }, + ["monster_exp"]=0 }, [7008]={ ["none"]="依德·雅", - ["monster_base"]=30008, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20008, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30208, + 30209, + 30210 + }, + ["skill"]={ + 30212, + 30213, + 30214 + }, + ["passive_skill"]={ + 10013, + 30211 + }, + ["monster_exp"]=0 }, [7108]={ ["none"]="旧日支配者", - ["monster_base"]=30009, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20009, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=0, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30215, + 30216, + 30217 + }, + ["skill"]={ + 30219, + 30220 + }, + ["passive_skill"]={ + 10013, + 10014, + 30218 + }, + ["monster_exp"]=0 }, [7208]={ ["none"]="阿撒托斯", - ["monster_base"]=30010, - ["hp"]=205490000, - ["atk"]=3950000, - ["atk_times"]=3, + ["monster_base"]=20010, + ["hp"]=1463200000, + ["atk"]=1000000, + ["atk_times"]=4, ["hurt_skill"]={ - 20130, - 20131, - 20132 - } + 30221, + 30222, + 30223 + }, + ["skill"]={ + 30225, + 30226, + 30227, + 30228, + 30229 + }, + ["passive_skill"]={ + 10013, + 30224 + }, + ["monster_exp"]=0 } } local config = { diff --git a/lua/app/config/skill.lua b/lua/app/config/skill.lua index 0cdaf193..9580b2f4 100644 --- a/lua/app/config/skill.lua +++ b/lua/app/config/skill.lua @@ -1927,7 +1927,7 @@ local skill = { }, ["fx_self_mirror"]=400126 }, - [1400321]={ + [1400421]={ ["position"]=1, ["effect_type"]=2, ["trigger"]=6, @@ -1941,7 +1941,7 @@ local skill = { }, ["obj"]=2 }, - [1400322]={ + [1400422]={ ["position"]=1, ["buff_condition"]={ { @@ -1973,7 +1973,7 @@ local skill = { }, ["obj"]=2 }, - [1400323]={ + [1400423]={ ["position"]=1, ["effect_type"]=2, ["trigger"]=6, @@ -1987,7 +1987,7 @@ local skill = { }, ["obj"]=2 }, - [1400324]={ + [1400424]={ ["position"]=1, ["effect_type"]=2, ["trigger"]=6, @@ -2001,7 +2001,7 @@ local skill = { }, ["obj"]=1 }, - [1400325]={ + [1400425]={ ["energy"]=8, ["link"]=1, ["position"]=1, @@ -6515,7 +6515,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=10000, ["round"]=1 } @@ -7102,7 +7102,7 @@ local skill = { ["effect"]={ { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -7116,7 +7116,7 @@ local skill = { ["effect"]={ { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -7528,7 +7528,7 @@ local skill = { ["effect"]={ { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -9067,7 +9067,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=10000, ["round"]=1 } @@ -9570,7 +9570,7 @@ local skill = { ["type"]="dec_dmg_red_add", ["num"]=5000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -9587,7 +9587,7 @@ local skill = { ["type"]="dec_dmg_yellow_add", ["num"]=5000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -9604,7 +9604,7 @@ local skill = { ["type"]="dec_dmg_green_add", ["num"]=5000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -9621,7 +9621,7 @@ local skill = { ["type"]="dec_dmg_blue_add", ["num"]=5000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -9638,7 +9638,7 @@ local skill = { ["type"]="dec_dmg_purple_add", ["num"]=5000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -9655,7 +9655,7 @@ local skill = { ["type"]="first_hand", ["num"]=10000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -9672,7 +9672,7 @@ local skill = { ["type"]="counterattack", ["num"]=2500, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1 @@ -9683,7 +9683,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=100000, + ["num"]=125000, ["ratio"]=10000, ["round"]=1 } @@ -10120,7 +10120,7 @@ local skill = { [10027]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -10463,7 +10463,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=10000, ["round"]=1 } @@ -10478,7 +10478,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=100000, + ["num"]=125000, ["ratio"]=10000, ["round"]=1 } @@ -11395,7 +11395,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=100000, + ["num"]=125000, ["ratio"]=10000, ["round"]=1 } @@ -11924,7 +11924,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 } @@ -12131,7 +12131,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=10000, ["round"]=3 } @@ -12162,7 +12162,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 }, @@ -12203,7 +12203,7 @@ local skill = { }, { ["type"]="heal", - ["num"]=100000, + ["num"]=125000, ["ratio"]=10000, ["round"]=1 } @@ -12276,7 +12276,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=2000, ["round"]=1 } @@ -12404,7 +12404,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 } @@ -12470,7 +12470,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=10000, ["round"]=1 } @@ -12549,7 +12549,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=5, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -12561,7 +12561,7 @@ local skill = { [10094]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -12617,7 +12617,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=5, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -12699,7 +12699,7 @@ local skill = { ["type"]="atkp_add", ["num"]=400, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -12756,7 +12756,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 } @@ -12822,7 +12822,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=10000, ["round"]=1 } @@ -12901,7 +12901,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=8, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -12913,7 +12913,7 @@ local skill = { [10105]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -12969,7 +12969,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=8, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13051,7 +13051,7 @@ local skill = { ["type"]="atkp_add", ["num"]=700, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13108,7 +13108,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 } @@ -13174,7 +13174,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=10000, ["round"]=1 } @@ -13253,7 +13253,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=12, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13265,7 +13265,7 @@ local skill = { [10116]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -13321,7 +13321,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=12, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13403,7 +13403,7 @@ local skill = { ["type"]="atkp_add", ["num"]=1000, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13460,7 +13460,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 } @@ -13526,7 +13526,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=10000, ["round"]=1 } @@ -13605,7 +13605,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=15, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13617,7 +13617,7 @@ local skill = { [10127]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -13673,7 +13673,7 @@ local skill = { ["type"]="invincible_shield", ["num"]=15, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13874,7 +13874,7 @@ local skill = { ["type"]="atkp_add", ["num"]=500, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -13935,7 +13935,7 @@ local skill = { }, { ["type"]="self_heal", - ["num"]=50000, + ["num"]=78000, ["ratio"]=10000, ["round"]=2 } @@ -13961,7 +13961,7 @@ local skill = { [10135]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -14011,7 +14011,7 @@ local skill = { }, { ["type"]="self_heal", - ["num"]=50000, + ["num"]=62500, ["ratio"]=10000, ["round"]=2 } @@ -14046,7 +14046,7 @@ local skill = { }, { ["type"]="self_heal", - ["num"]=50000, + ["num"]=62500, ["ratio"]=10000, ["round"]=2 } @@ -14072,7 +14072,7 @@ local skill = { [10138]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -14261,8 +14261,8 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, - ["ratio"]=10000, + ["num"]=12500, + ["ratio"]=2000, ["round"]=1 } }, @@ -21518,7 +21518,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=5000, ["round"]=2 } @@ -21548,7 +21548,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=5000, ["round"]=2 } @@ -21578,7 +21578,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=5000, ["round"]=2 } @@ -23961,6 +23961,1562 @@ local skill = { ["name_act"]="attack03", ["fx_self"]=200098 }, + [30165]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01", + ["fx_self"]=200096 + }, + [30166]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02", + ["fx_self"]=200097 + }, + [30167]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03", + ["fx_self"]=200098 + }, + [30168]={ + ["buff_condition"]={ + { + { + ["type"]="attr", + ["attr"]="hpp", + ["op"]="<", + ["v"]=4000, + ["side"]=1 + }, + { + ["type"]="state", + ["attr"]="dmg_addition_all_add", + ["op"]="=", + ["v"]=0, + ["side"]=1 + } + }, + { + { + ["type"]="attr", + ["attr"]="hpp", + ["op"]="<", + ["v"]=4000, + ["side"]=1 + }, + { + ["type"]="state", + ["attr"]="vulnerable", + ["op"]="=", + ["v"]=0, + ["side"]=1 + } + } + }, + ["condition_rel"]={ + { + 1, + 1 + }, + { + 2, + 1 + } + }, + ["effect_type"]=1, + ["trigger"]=5, + ["effect"]={ + { + ["type"]="dmg_addition_all_add", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=3 + }, + { + ["type"]="vulnerable", + ["num"]=2500, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1 + }, + [30169]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="bleed", + ["num"]=3500, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=3, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30170]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="corrupt", + ["num"]=7500, + ["ratio"]=10000, + ["round"]=2 + }, + { + ["type"]="vulnerable", + ["num"]=2500, + ["ratio"]=3000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01", + ["fx_self"]=200096 + }, + [30171]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="corrupt", + ["num"]=7500, + ["ratio"]=10000, + ["round"]=2 + }, + { + ["type"]="vulnerable", + ["num"]=2500, + ["ratio"]=3000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02", + ["fx_self"]=200097 + }, + [30172]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="corrupt", + ["num"]=7500, + ["ratio"]=10000, + ["round"]=2 + }, + { + ["type"]="vulnerable", + ["num"]=2500, + ["ratio"]=3000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03", + ["fx_self"]=200098 + }, + [30173]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="rebirth", + ["num"]=62500, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=1, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=3, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30174]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="weaken", + ["num"]=2500, + ["ratio"]=1000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01", + ["fx_self"]=200096 + }, + [30175]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="weaken", + ["num"]=2500, + ["ratio"]=1000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02", + ["fx_self"]=200097 + }, + [30176]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="weaken", + ["num"]=2500, + ["ratio"]=1000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03", + ["fx_self"]=200098 + }, + [30177]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="imprison", + ["num"]=0, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["cd"]=7, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30178]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="curse", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["cd"]=7, + ["cd_start"]=3, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30179]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01", + ["fx_self"]=200096 + }, + [30180]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02", + ["fx_self"]=200097 + }, + [30181]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03", + ["fx_self"]=200098 + }, + [30182]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=100000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["cd"]=5, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30183]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="self_heal", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["cd"]=5, + ["cd_start"]=1, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30184]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="charm", + ["num"]=0, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["cd"]=5, + ["cd_start"]=2, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30185]={ + ["skill_type"]=3, + ["skill_type_parameter"]={ + 3, + 4 + }, + ["effect_type"]=1, + ["trigger"]=1, + ["obj"]=2, + ["cd"]=5, + ["cd_start"]=3, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30186]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01", + ["fx_self"]=200096 + }, + [30187]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02", + ["fx_self"]=200097 + }, + [30188]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03", + ["fx_self"]=200098 + }, + [30189]={ + ["effect_type"]=2, + ["trigger"]=3, + ["effect"]={ + { + ["type"]="heal", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=1 + }, + [30190]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="shield", + ["num"]=1000, + ["ratio"]=10000, + ["round"]=3 + }, + { + ["type"]="thorns", + ["num"]=500, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1, + ["cd"]=4, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30191]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01" + }, + [30192]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02" + }, + [30193]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03" + }, + [30194]={ + ["effect_type"]=2, + ["trigger"]=5, + ["effect"]={ + { + ["type"]="heal", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=1 + }, + [30195]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["cd"]=4, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30196]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="heal", + ["num"]=125000, + ["ratio"]=10000, + ["round"]=1 + }, + { + ["type"]="normal_attack_add", + ["num"]=2, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["cd"]=4, + ["cd_start"]=0 + }, + [30197]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01" + }, + [30198]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02" + }, + [30199]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03" + }, + [30200]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="dec_dmg_red_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1, + ["cd"]=11, + ["cd_start"]=0 + }, + [30201]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="dec_dmg_yellow_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1, + ["cd"]=11, + ["cd_start"]=2 + }, + [30202]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="dec_dmg_green_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1, + ["cd"]=11, + ["cd_start"]=4 + }, + [30203]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="dec_dmg_blue_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1, + ["cd"]=11, + ["cd_start"]=6 + }, + [30204]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="dec_dmg_purple_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=1, + ["cd"]=11, + ["cd_start"]=8 + }, + [30205]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="normal_attack_dec", + ["num"]=2, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=2, + ["cd"]=9, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30206]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="burn", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=2, + ["cd"]=9, + ["cd_start"]=3, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30207]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="bleed", + ["num"]=3500, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["obj"]=2, + ["cd"]=9, + ["cd_start"]=6, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30208]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01" + }, + [30209]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02" + }, + [30210]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03" + }, + [30211]={ + ["effect_type"]=2, + ["trigger"]=5, + ["effect"]={ + { + ["type"]="heal", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=1 + }, + [30212]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="shield", + ["num"]=1000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=1, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=4, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30213]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="dec_dmg_all_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=1, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=4, + ["cd_start"]=1, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30214]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="immune", + ["num"]=0, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=1, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=4, + ["cd_start"]=2, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30215]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01" + }, + [30216]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02" + }, + [30217]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03" + }, + [30218]={ + ["effect_type"]=2, + ["trigger"]=2, + ["effect"]={ + { + ["type"]="dec_dmg_all_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=1 + }, + [30219]={ + ["skill_type"]=9, + ["skill_type_parameter"]={ + 12500 + }, + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="imprison", + ["num"]=0, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=5, + ["cd_start"]=0, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30220]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="immune", + ["num"]=0, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=1, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=5, + ["cd_start"]=2, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30221]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000011 + }, + ["name_act"]="attack01" + }, + [30222]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000012 + }, + ["name_act"]="attack02" + }, + [30223]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["skill_position"]={ + 1, + 140 + }, + ["shake_time"]=100, + ["shake_type"]=1, + ["sound_hit"]={ + 1000013 + }, + ["name_act"]="attack03" + }, + [30224]={ + ["effect_type"]=2, + ["trigger"]=2, + ["effect"]={ + { + ["type"]="thorns", + ["num"]=1000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=1 + }, + [30225]={ + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="undead", + ["num"]=0, + ["ratio"]=10000, + ["round"]=2 + }, + { + ["type"]="heal", + ["num"]=125000, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=1, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=4, + ["cd_start"]=2, + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]={ + 10018 + }, + ["name_act"]="skill01", + ["fx_self"]=200099 + }, + [30226]={ + ["skill_type"]=3, + ["skill_type_parameter"]={ + 34, + 2 + }, + ["effect_type"]=1, + ["trigger"]=1, + ["obj"]=2, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=7, + ["cd_start"]=0, + ["name_act"]="skill01" + }, + [30227]={ + ["skill_type"]=3, + ["skill_type_parameter"]={ + 3, + 2 + }, + ["effect_type"]=1, + ["trigger"]=1, + ["obj"]=2, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=8, + ["cd_start"]=1, + ["name_act"]="skill01" + }, + [30228]={ + ["skill_type"]=3, + ["skill_type_parameter"]={ + 12, + 2 + }, + ["effect_type"]=1, + ["trigger"]=1, + ["obj"]=2, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=6, + ["cd_start"]=3, + ["name_act"]="skill01" + }, + [30229]={ + ["skill_type"]=3, + ["skill_type_parameter"]={ + 4, + 2 + }, + ["effect_type"]=1, + ["trigger"]=1, + ["obj"]=2, + ["skill_position"]={ + 2, + 0 + }, + ["cd"]=6, + ["cd_start"]=4, + ["name_act"]="skill01" + }, [40001]={ ["effect_type"]=1, ["trigger"]=1, @@ -26537,7 +28093,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=80000, + ["num"]=100000, ["ratio"]=10000, ["round"]=1 } @@ -26648,7 +28204,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=10000, + ["num"]=12500, ["ratio"]=10000, ["round"]=1 } @@ -26663,7 +28219,7 @@ local skill = { ["effect"]={ { ["type"]="heal", - ["num"]=200000, + ["num"]=250000, ["ratio"]=10000, ["round"]=1 } @@ -27241,7 +28797,7 @@ local skill = { [50086]={ ["skill_type"]=9, ["skill_type_parameter"]={ - 10000 + 12500 }, ["effect_type"]=1, ["trigger"]=1, @@ -27558,7 +29114,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=10000, ["round"]=2 }, @@ -27748,7 +29304,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -27778,7 +29334,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -27808,7 +29364,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -27838,7 +29394,7 @@ local skill = { }, { ["type"]="corrupt", - ["num"]=5000, + ["num"]=7500, ["ratio"]=1000, ["round"]=2 } @@ -28561,7 +30117,7 @@ local skill = { ["type"]="atkp_add", ["num"]=100, ["ratio"]=10000, - ["round"]=999 + ["round"]=0 } }, ["obj"]=1, @@ -28804,7 +30360,7 @@ local skill = { 2, 0 }, - ["cd"]=1, + ["cd"]=2, ["cd_start"]=1, ["name_act"]="skill01" }, @@ -28815,7 +30371,7 @@ local skill = { 0 }, ["cd"]=2, - ["cd_start"]=2, + ["cd_start"]=1, ["name_act"]="skill01" }, [110004]={ @@ -28887,6 +30443,6 @@ local skill = { } } local config = { -data=skill,count=1037 +data=skill,count=1102 } return config \ No newline at end of file diff --git a/lua/app/config/skill_rogue.lua b/lua/app/config/skill_rogue.lua index cab0e182..aed3868e 100644 --- a/lua/app/config/skill_rogue.lua +++ b/lua/app/config/skill_rogue.lua @@ -1526,7 +1526,7 @@ local skill_rogue = { ["effect"]={ { ["type"]="add_skill", - ["num"]=1400321, + ["num"]=1400421, ["ratio"]=10000, ["round"]=1 } @@ -1543,7 +1543,7 @@ local skill_rogue = { ["effect"]={ { ["type"]="add_skill", - ["num"]=1400322, + ["num"]=1400422, ["ratio"]=10000, ["round"]=999 } @@ -1588,7 +1588,7 @@ local skill_rogue = { ["effect"]={ { ["type"]="add_skill", - ["num"]=1400323, + ["num"]=1400423, ["ratio"]=10000, ["round"]=1 } @@ -1605,7 +1605,7 @@ local skill_rogue = { ["effect"]={ { ["type"]="add_skill", - ["num"]=1400324, + ["num"]=1400424, ["ratio"]=10000, ["round"]=1 } diff --git a/lua/app/config/skin.lua b/lua/app/config/skin.lua index 0623439f..692a6c5f 100644 --- a/lua/app/config/skin.lua +++ b/lua/app/config/skin.lua @@ -133,7 +133,7 @@ local skin = { ["model_id"]="p0031", ["qlt"]=1, ["skin_point"]=0, - ["hero_id"]=24003 + ["hero_id"]=24004 }, [32001]={ ["model_id"]="p0001", diff --git a/lua/app/config/strings/cn/attr.lua b/lua/app/config/strings/cn/attr.lua index 8c88007b..69b980c7 100644 --- a/lua/app/config/strings/cn/attr.lua +++ b/lua/app/config/strings/cn/attr.lua @@ -278,6 +278,31 @@ local attr = { ["id"]=56, ["desc"]="生命提升{0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["desc"]="所有伤害提升{0}%", + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["desc"]="所有伤害提升{0}%", + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["desc"]="所有伤害提升{0}%", + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["desc"]="所有伤害提升{0}%", + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["desc"]="所有伤害提升{0}%", + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +362,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/cn/global.lua b/lua/app/config/strings/cn/global.lua index 98fe2f04..ef1a83a2 100644 --- a/lua/app/config/strings/cn/global.lua +++ b/lua/app/config/strings/cn/global.lua @@ -527,6 +527,18 @@ local localization_global = ["DUNGEON_RUNE_TIP_4"] = "血量回复至50%", ["DUNGEON_RUNE_TIP_5"] = "回合数+5!", ["UNFINISHED"] = "未完成", + + ["DUNGEON_RUNE_DESC_1"]= "目标", + ["DUNGEON_RUNE_DESC_2"] = "再次挑战", + ["DUNGEON_RUNE_DESC_3"] = "通关获得", + ["DUNGEON_RUNE_DESC_4"] = "扫荡获得", + ["DUNGEON_RUNE_DESC_5"] = "通关后可扫荡", + ["DUNGEON_RUNE_DESC_6"] = "战绩", + ["DUNGEON_RUNE_DESC_7"] = "狠心拒绝", + ["DUNGEON_RUNE_DESC_8"] = "本赛季", + ["DUNGEON_RUNE_DESC_9"] = "上赛季", + ["DUNGEON_RUNE_DESC_10"] = "最高:{0}", + ["DUNGEON_RUNE_DESC_11"] = "回合数:{0}", } return localization_global \ No newline at end of file diff --git a/lua/app/config/strings/cn/hero.lua b/lua/app/config/strings/cn/hero.lua index 7fd1ca9b..81e43f55 100644 --- a/lua/app/config/strings/cn/hero.lua +++ b/lua/app/config/strings/cn/hero.lua @@ -23,6 +23,9 @@ local hero = { ["name"]="恶魔侍者", ["desc"]="像闪电一样,不停地攻击!!!!" }, + [14004]={ + ["name"]="祥瑞魅狐" + }, [22001]={ ["name"]="刀妹", ["desc"]="剑一出鞘,必要见血。" @@ -47,6 +50,9 @@ local hero = { ["name"]="阿飞", ["desc"]="手中的太刀如龙飞舞那是无与伦比的剑术。" }, + [24004]={ + ["name"]="李" + }, [32001]={ ["name"]="洋葱头", ["desc"]="盾牌只是为了掩饰下一次突刺。" @@ -71,6 +77,9 @@ local hero = { ["name"]="忍者菲尔", ["desc"]="迅猛如风,保护水之王国免受邪恶势力的侵害。" }, + [34004]={ + ["name"]="绿意之刺" + }, [42001]={ ["name"]="冰心", ["desc"]="我的心和我的法术一样冰冷。" @@ -95,6 +104,9 @@ local hero = { ["name"]="月之法师", ["desc"]="在她的月轮双刃下,夜晚的星辰在她的指尖舞动,魔法的月光照亮了她无限的智慧~" }, + [44004]={ + ["name"]="牧魂者" + }, [52001]={ ["name"]="忍者伦", ["desc"]="虽然带的是手里剑,但是最擅长的还是护盾术,忍者伦最大的愿望还是世界和平。" @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="堕落骑士", ["desc"]="曾经王国中最杰出的骑士之一,命运使他堕落成为一名诅咒巨剑的使用者。" + }, + [54004]={ + ["name"]="女武神" } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/cn/skill.lua b/lua/app/config/strings/cn/skill.lua index 9724c5b0..cc55192a 100644 --- a/lua/app/config/strings/cn/skill.lua +++ b/lua/app/config/strings/cn/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="堕落之剑:额外造成一次大量技能伤害,附加腐败效果,1回合。" + }, + [1400420]={ + ["desc"]="九尾祥瑞:将周围4个元素变色,并造成多次大量技能伤害。" + }, + [2400420]={ + ["desc"]="啊,打!:使用后本次伤害提升,并额外造成多次大量技能伤害。" + }, + [3400420]={ + ["desc"]="刺杀艺术:使用后本次伤害提升,并额外造成多次大量技能伤害。" + }, + [4400420]={ + ["desc"]="飞棺降物:额外造成一次技能伤害,附加冰霜效果,1回合。" + }, + [5400420]={ + ["desc"]="武神意志:随机消除3个元素,并造成一次技能伤害。" } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ 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 33cc7e7d..b2abe9f9 100644 --- a/lua/app/config/strings/cn/skill_rogue.lua +++ b/lua/app/config/strings/cn/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="堕落之剑附加的昏睡效果,回合数+1。" + }, + [1400400]={ + ["desc"]="解锁九尾祥瑞:将周围4个元素变色,并造成多次大量技能伤害。" + }, + [1400401]={ + ["desc"]="九尾祥瑞可附加魅惑效果,1回合。" + }, + [1400402]={ + ["desc"]="Combo:祥瑞普攻对流血敌人额外增伤。" + }, + [1400403]={ + ["desc"]="九尾祥瑞周围变色元素+4." + }, + [1400404]={ + ["desc"]="九尾祥瑞附加的魅惑效果,回合数+1。" + }, + [1400405]={ + ["desc"]="九尾祥瑞可为团队附加亢奋效果,2回合。" + }, + [1400406]={ + ["desc"]="祥瑞攻击提升15%。" + }, + [1400407]={ + ["desc"]="九尾祥瑞激活所需能量-2。" + }, + [2400400]={ + ["desc"]="解锁双截龙棍:使用后本次伤害提升,并额外造成多次大量技能伤害。" + }, + [2400401]={ + ["desc"]="双截龙棍技能伤害提升。" + }, + [2400402]={ + ["desc"]="双截龙棍沿+方向可额外消除4格。" + }, + [2400403]={ + ["desc"]="龙哥普攻有5%概率附加眩晕效果,1回合。" + }, + [2400404]={ + ["desc"]="双截龙棍沿X方向可额外消除4格。" + }, + [2400405]={ + ["desc"]="双截龙棍可附加流血效果,2回合。" + }, + [2400406]={ + ["desc"]="Combo:龙哥普攻对冰霜和流血敌人额外增伤。" + }, + [2400407]={ + ["desc"]="双截龙棍附加的眩晕效果概率提高至10%,回合数+1。" + }, + [3400400]={ + ["desc"]="解锁刺杀艺术:使用后本次伤害提升,并额外造成多次大量技能伤害。" + }, + [3400401]={ + ["desc"]="刺杀艺术可恢复一定量生命。" + }, + [3400402]={ + ["desc"]="绿意之刺普攻有10%概率附加中毒效果,2回合。" + }, + [3400403]={ + ["desc"]="刺杀艺术技能伤害提升。" + }, + [3400404]={ + ["desc"]="刺杀艺术恢复生命效果提升。" + }, + [3400405]={ + ["desc"]="绿意之刺每击杀1个敌人,全体生命提升10%。" + }, + [3400406]={ + ["desc"]="绿意之刺沿X方向可额外消除4格。" + }, + [3400407]={ + ["desc"]="绿意之刺链接6个元素及以上时,技能攻击额外释放一次。" + }, + [4400400]={ + ["desc"]="解锁飞棺降物:额外造成一次技能伤害,附加冰霜效果,1回合。" + }, + [4400401]={ + ["desc"]="已逝行者普攻有10%概率附加腐败效果,2回合。" + }, + [4400402]={ + ["desc"]="飞棺降物可附加虚弱效果,2回合。" + }, + [4400403]={ + ["desc"]="飞棺降物附加的冰霜效果,回合数+1。" + }, + [4400404]={ + ["desc"]="Combo:已逝行者普攻对腐败敌人将恢复生命。" + }, + [4400405]={ + ["desc"]="飞棺降物释放后为团队附加重生效果,1回合。" + }, + [4400406]={ + ["desc"]="飞棺降物沿+方向可额外消除8格。" + }, + [4400407]={ + ["desc"]="飞棺降物附加的重生效果恢复能力增强,回合数+1。" + }, + [5400400]={ + ["desc"]="解锁武神意志:随机消除3个元素,并造成一次技能伤害。" + }, + [5400401]={ + ["desc"]="武神意志随机消除元素+2。" + }, + [5400402]={ + ["desc"]="Combo:女武神普攻冰霜敌人有10%概率附加冻结效果,1回合。" + }, + [5400403]={ + ["desc"]="武神意志释放后为团队附加免疫效果,1回合。" + }, + [5400404]={ + ["desc"]="武神意志释放后为团队附加反击效果,2回合。" + }, + [5400405]={ + ["desc"]="武神意志附加的免疫效果,回合数+1。" + }, + [5400406]={ + ["desc"]="女武神普攻附加的冻结效果,回合数+1。" + }, + [5400407]={ + ["desc"]="武神意志释放后为团队附加不死效果,2回合。" } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/cn/task_type.lua b/lua/app/config/strings/cn/task_type.lua index a5173734..3859ce45 100644 --- a/lua/app/config/strings/cn/task_type.lua +++ b/lua/app/config/strings/cn/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="防具升级{0}次" + }, + [40]={ + ["desc"]="购买任意礼包{0}次" + }, + [41]={ + ["desc"]="获得{0}个符文精粹" + }, + [52]={ + ["desc"]="符文洗练{0}次" } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/de/attr.lua b/lua/app/config/strings/de/attr.lua index 42a5443a..0c81d525 100644 --- a/lua/app/config/strings/de/attr.lua +++ b/lua/app/config/strings/de/attr.lua @@ -222,6 +222,26 @@ local attr = { [56]={ ["id"]=56, ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -281,12 +301,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/de/hero.lua b/lua/app/config/strings/de/hero.lua index 79363cfc..773be729 100644 --- a/lua/app/config/strings/de/hero.lua +++ b/lua/app/config/strings/de/hero.lua @@ -16,6 +16,9 @@ local hero = { }, [14003]={ + }, + [14004]={ + }, [22001]={ @@ -34,6 +37,9 @@ local hero = { }, [24003]={ + }, + [24004]={ + }, [32001]={ @@ -52,6 +58,9 @@ local hero = { }, [34003]={ + }, + [34004]={ + }, [42001]={ @@ -70,6 +79,9 @@ local hero = { }, [44003]={ + }, + [44004]={ + }, [52001]={ @@ -88,9 +100,12 @@ local hero = { }, [54003]={ + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/de/skill.lua b/lua/app/config/strings/de/skill.lua index a0df45a0..aa45a9e6 100644 --- a/lua/app/config/strings/de/skill.lua +++ b/lua/app/config/strings/de/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/de/skill_rogue.lua b/lua/app/config/strings/de/skill_rogue.lua index 0c8ed8d3..6881db44 100644 --- a/lua/app/config/strings/de/skill_rogue.lua +++ b/lua/app/config/strings/de/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/de/task_type.lua b/lua/app/config/strings/de/task_type.lua index c087d8bf..d69e809a 100644 --- a/lua/app/config/strings/de/task_type.lua +++ b/lua/app/config/strings/de/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/en/attr.lua b/lua/app/config/strings/en/attr.lua index 34a7d63e..ed21687c 100644 --- a/lua/app/config/strings/en/attr.lua +++ b/lua/app/config/strings/en/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="HP +{0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/en/hero.lua b/lua/app/config/strings/en/hero.lua index 04b485b2..24051206 100644 --- a/lua/app/config/strings/en/hero.lua +++ b/lua/app/config/strings/en/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="Devil Waiter", ["desc"]="Attacking incessantly like lightning!!!!" + }, + [14004]={ + }, [22001]={ ["name"]="Blade Maid", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="Ferris", ["desc"]="The katana in his hand dances like a dragon. That's unparalleled swordsmanship." + }, + [24004]={ + }, [32001]={ ["name"]="Onion", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="Ninja Phil", ["desc"]="Swift as the wind, protecting the Water Kingdom from the evil forces." + }, + [34004]={ + }, [42001]={ ["name"]="Iceheart", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="Lunar Mage", ["desc"]="Beneath her chakram, the stars of the night dance at her fingertips, as the magical moonlight illuminates her boundless wisdom~" + }, + [44004]={ + }, [52001]={ ["name"]="Ninja Lun", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="Fallen Knight", ["desc"]="Once one of the most distinguished knights in the kingdom. Fate turned him into a cursed claymore wielder." + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/en/skill.lua b/lua/app/config/strings/en/skill.lua index 92668834..c3c8c156 100644 --- a/lua/app/config/strings/en/skill.lua +++ b/lua/app/config/strings/en/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="Fallen Sword: Deal one additional hit of massive skill damage and inflict Corruption for 1 turn." + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/en/skill_rogue.lua b/lua/app/config/strings/en/skill_rogue.lua index 832f6c09..644784ee 100644 --- a/lua/app/config/strings/en/skill_rogue.lua +++ b/lua/app/config/strings/en/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="Fallen Sword Drowsy effect lasts +1 turns." + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/en/task_type.lua b/lua/app/config/strings/en/task_type.lua index 8a8c1dab..73f03a9d 100644 --- a/lua/app/config/strings/en/task_type.lua +++ b/lua/app/config/strings/en/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="Upgrade armor {0} times" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/es/attr.lua b/lua/app/config/strings/es/attr.lua index 7cb74e46..305af49a 100644 --- a/lua/app/config/strings/es/attr.lua +++ b/lua/app/config/strings/es/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="HP +{0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/es/hero.lua b/lua/app/config/strings/es/hero.lua index 9fbe554e..64f30304 100644 --- a/lua/app/config/strings/es/hero.lua +++ b/lua/app/config/strings/es/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="Sirviente Diablo", ["desc"]="Ataca incesantemente como un rayo." + }, + [14004]={ + }, [22001]={ ["name"]="Chica con Daga", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="Matón", ["desc"]="La katana que tiene en la mano vuela como un dragón, es una esgrima incomparable." + }, + [24004]={ + }, [32001]={ ["name"]="Cabeza de Cebolla", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="Ninja Phil", ["desc"]="Veloz como viento, y protege el Reino del Agua de las fuerzas del mal." + }, + [34004]={ + }, [42001]={ ["name"]="Alma Glacial", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="Maga Lunar", ["desc"]="Bajo su espada lunar, las estrellas bailan en la punta de sus dedos, y la mágica luz de la luna ilumina su infinita sabiduría." + }, + [44004]={ + }, [52001]={ ["name"]="Ninja Jay", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="Jinete Caído", ["desc"]="Fue uno de los jinetes más distinguidos del reino, pero el destino lo ha corrompido para convertirle en un portador de la enorme espada maldecida." + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/es/skill.lua b/lua/app/config/strings/es/skill.lua index 8a6f77ee..3cf1fa35 100644 --- a/lua/app/config/strings/es/skill.lua +++ b/lua/app/config/strings/es/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="Espada Caída: causa un masivo daño de habilidad adicional, con efecto de Corrupto durante 1 ronda." + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/es/skill_rogue.lua b/lua/app/config/strings/es/skill_rogue.lua index b9142b13..eb600c40 100644 --- a/lua/app/config/strings/es/skill_rogue.lua +++ b/lua/app/config/strings/es/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="El efecto de Dormido aplicado por Espada Caída dura +1 ronda." + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/es/task_type.lua b/lua/app/config/strings/es/task_type.lua index 457a8b13..e7c7499d 100644 --- a/lua/app/config/strings/es/task_type.lua +++ b/lua/app/config/strings/es/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="Mejora armadura {0} veces" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/fr/attr.lua b/lua/app/config/strings/fr/attr.lua index 42a5443a..0c81d525 100644 --- a/lua/app/config/strings/fr/attr.lua +++ b/lua/app/config/strings/fr/attr.lua @@ -222,6 +222,26 @@ local attr = { [56]={ ["id"]=56, ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -281,12 +301,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/fr/hero.lua b/lua/app/config/strings/fr/hero.lua index 79363cfc..773be729 100644 --- a/lua/app/config/strings/fr/hero.lua +++ b/lua/app/config/strings/fr/hero.lua @@ -16,6 +16,9 @@ local hero = { }, [14003]={ + }, + [14004]={ + }, [22001]={ @@ -34,6 +37,9 @@ local hero = { }, [24003]={ + }, + [24004]={ + }, [32001]={ @@ -52,6 +58,9 @@ local hero = { }, [34003]={ + }, + [34004]={ + }, [42001]={ @@ -70,6 +79,9 @@ local hero = { }, [44003]={ + }, + [44004]={ + }, [52001]={ @@ -88,9 +100,12 @@ local hero = { }, [54003]={ + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/fr/skill.lua b/lua/app/config/strings/fr/skill.lua index a0df45a0..aa45a9e6 100644 --- a/lua/app/config/strings/fr/skill.lua +++ b/lua/app/config/strings/fr/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/fr/skill_rogue.lua b/lua/app/config/strings/fr/skill_rogue.lua index 0c8ed8d3..6881db44 100644 --- a/lua/app/config/strings/fr/skill_rogue.lua +++ b/lua/app/config/strings/fr/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/fr/task_type.lua b/lua/app/config/strings/fr/task_type.lua index c087d8bf..d69e809a 100644 --- a/lua/app/config/strings/fr/task_type.lua +++ b/lua/app/config/strings/fr/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/id/attr.lua b/lua/app/config/strings/id/attr.lua index f41a8a68..cc78ead1 100644 --- a/lua/app/config/strings/id/attr.lua +++ b/lua/app/config/strings/id/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="HP +{0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/id/hero.lua b/lua/app/config/strings/id/hero.lua index 38180fc3..022c2b8d 100644 --- a/lua/app/config/strings/id/hero.lua +++ b/lua/app/config/strings/id/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="Pelayan Demon", ["desc"]="Menyerang tanpa henti bagai kilat!!!" + }, + [14004]={ + }, [22001]={ ["name"]="Gadis Pedang", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="Avie", ["desc"]="Katana di tangannya menari-nari seperti naga. Itu adalah ilmu pedang yang tak tertandingi." + }, + [24004]={ + }, [32001]={ ["name"]="Kepala Bawang", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="Ninja Phil", ["desc"]="Secepat angin, melindungi Kerajaan Air dari kekuatan jahat." + }, + [34004]={ + }, [42001]={ ["name"]="Hati Es", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="Penyihir Lunar", ["desc"]="Bintang-bintang malam menari di ujung jari dan di bawah cakramnya, saat cahaya bulan yang ajaib menerangi kebijaksanaannya yang tak terbatas." + }, + [44004]={ + }, [52001]={ ["name"]="Ninja Jay", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="Ksatria Karunia", ["desc"]="Pernah menjadi salah satu ksatria paling terhormat di kerajaan. Takdir mengubahnya menjadi pengguna senjata tanah liat terkutuk." + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/id/skill.lua b/lua/app/config/strings/id/skill.lua index 8a70fb8b..5c900b72 100644 --- a/lua/app/config/strings/id/skill.lua +++ b/lua/app/config/strings/id/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="Pedang Karunia: Memberikan satu serangan tambahan dari DMG skill masif dan memberikan efek Korosi selama 1 giliran." + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/id/skill_rogue.lua b/lua/app/config/strings/id/skill_rogue.lua index 2f2fe45a..415f8aee 100644 --- a/lua/app/config/strings/id/skill_rogue.lua +++ b/lua/app/config/strings/id/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="Efek Kantuk yang melekat pada Ksatria Karunia +1 giliran." + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/id/task_type.lua b/lua/app/config/strings/id/task_type.lua index e6bbdfb7..a800f821 100644 --- a/lua/app/config/strings/id/task_type.lua +++ b/lua/app/config/strings/id/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="Upgrade Armor {0} kali" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ja/attr.lua b/lua/app/config/strings/ja/attr.lua index 1b1ec8be..35083dc7 100644 --- a/lua/app/config/strings/ja/attr.lua +++ b/lua/app/config/strings/ja/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="HPが{0}増加する", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ja/hero.lua b/lua/app/config/strings/ja/hero.lua index 18a407fe..954197ad 100644 --- a/lua/app/config/strings/ja/hero.lua +++ b/lua/app/config/strings/ja/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="デビルウェイター", ["desc"]="稲妻のように、攻撃を止めるな!!!!" + }, + [14004]={ + }, [22001]={ ["name"]="ブレードメイド", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="トビ", ["desc"]="手にした刀は龍の如く舞い、無類の剣技。" + }, + [24004]={ + }, [32001]={ ["name"]="タマネギ", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="忍者フィル", ["desc"]="風のように素早く、邪悪な力から水の王国を守る。" + }, + [34004]={ + }, [42001]={ ["name"]="氷心", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="月の法師", ["desc"]="月の刃の下で、夜の星が彼女の指先で踊り、魔法の月光が彼女の無限の知恵を照らす~" + }, + [44004]={ + }, [52001]={ ["name"]="忍者リン", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="堕落騎士", ["desc"]="かつて王国屈指の騎士であった彼は、運命に呪われ、呪いの剣の使い手となった。" + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ja/skill.lua b/lua/app/config/strings/ja/skill.lua index e24d9af0..8d3bc644 100644 --- a/lua/app/config/strings/ja/skill.lua +++ b/lua/app/config/strings/ja/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="堕落の剣:追加で大ダメージを与えるスキルを1回発動し、敵に1ターン腐敗効果を付与する。" + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ja/skill_rogue.lua b/lua/app/config/strings/ja/skill_rogue.lua index 1f62a4ef..ac42a440 100644 --- a/lua/app/config/strings/ja/skill_rogue.lua +++ b/lua/app/config/strings/ja/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="「堕落の剣」の昏睡効果のターン数が+1。" + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ja/task_type.lua b/lua/app/config/strings/ja/task_type.lua index 0c353a3f..69e2f2a0 100644 --- a/lua/app/config/strings/ja/task_type.lua +++ b/lua/app/config/strings/ja/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="防具を{0}回レベルアップする" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ko/attr.lua b/lua/app/config/strings/ko/attr.lua index aca1bc1d..f48b8c68 100644 --- a/lua/app/config/strings/ko/attr.lua +++ b/lua/app/config/strings/ko/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="HP +{0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ko/hero.lua b/lua/app/config/strings/ko/hero.lua index 8e192e54..e9f101a7 100644 --- a/lua/app/config/strings/ko/hero.lua +++ b/lua/app/config/strings/ko/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="악마 시종", ["desc"]="멈추지 않고 번개처럼 공격하라! ! ! !" + }, + [14004]={ + }, [22001]={ ["name"]="블레이드", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="아피", ["desc"]="손에 들린 태도의 움직임이 용이 춤을 추듯 하니 비할 데 없는 검술의 소유자." + }, + [24004]={ + }, [32001]={ ["name"]="양파 헤드", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="닌자 필", ["desc"]="바람처럼 빠르고 강력하게 물의 왕국을 사악한 세력의 침략으로부터 지켜내리라." + }, + [34004]={ + }, [42001]={ ["name"]="얼음의 심장", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="달의 마법사", ["desc"]="그녀의 달빛 쌍날과 함께 밤하늘의 별들이 그녀의 손끝에서 춤을 추고 마법의 달빛이 그녀의 무한한 지혜를 비춰준다." + }, + [44004]={ + }, [52001]={ ["name"]="닌자 룬", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="타락한 기사", ["desc"]="한때 왕국에서 가장 뛰어난 기사 중 한 명이었지만, 운명은 그를 저주받은 거대한 검의 사용자로 타락시켰다." + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ko/skill.lua b/lua/app/config/strings/ko/skill.lua index c3043b1c..81d77662 100644 --- a/lua/app/config/strings/ko/skill.lua +++ b/lua/app/config/strings/ko/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="타락한 검: 추가로 대량의 스킬 피해를 한 번 입히며 1턴 동안 부패 효과를 부여합니다." + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ko/skill_rogue.lua b/lua/app/config/strings/ko/skill_rogue.lua index c8ae6f7a..71206bce 100644 --- a/lua/app/config/strings/ko/skill_rogue.lua +++ b/lua/app/config/strings/ko/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="타락한 검이 수면 효과를 부여하는 턴의 횟수 +1" + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ko/task_type.lua b/lua/app/config/strings/ko/task_type.lua index ad71bb8a..d6ed3c28 100644 --- a/lua/app/config/strings/ko/task_type.lua +++ b/lua/app/config/strings/ko/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="방어구 업그레이드 {0}회" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/pt/attr.lua b/lua/app/config/strings/pt/attr.lua index d8eded0e..c4461a4c 100644 --- a/lua/app/config/strings/pt/attr.lua +++ b/lua/app/config/strings/pt/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="Aumento de Vida {0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/pt/hero.lua b/lua/app/config/strings/pt/hero.lua index 10854179..27ef5e2b 100644 --- a/lua/app/config/strings/pt/hero.lua +++ b/lua/app/config/strings/pt/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="Serviçal do Demônio", ["desc"]="Atacando sem parar, feito um relâmpago!!!!" + }, + [14004]={ + }, [22001]={ ["name"]="Senhorita dos Gumes", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="Vândalo", ["desc"]="A catana em sua mão dança como um dragão, sua perícia com a espada é inigualável." + }, + [24004]={ + }, [32001]={ ["name"]="Cabeça de Cebola", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="Ninja Phil", ["desc"]="Veloz como o vento, ele protege o Reino da Água das forças do mal." + }, + [34004]={ + }, [42001]={ ["name"]="Alma Glacial", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="Mago da Lua", ["desc"]="Sob suas lâminas da lua cheia, as estrelas da noite dançam nas pontas dos dedos dela, e o luar mágico ilumina sua infinita sabedoria~" + }, + [44004]={ + }, [52001]={ ["name"]="Luninja", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="Cavaleiro Caído", ["desc"]="Em outras épocas ele já foi um dos cavaleiros mais ilustres do reino, mas o destino o corrompeu e fez dele portador da espada larga amaldiçoada." + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/pt/skill.lua b/lua/app/config/strings/pt/skill.lua index 4ce91db1..5b1dd192 100644 --- a/lua/app/config/strings/pt/skill.lua +++ b/lua/app/config/strings/pt/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="Espada Corrompida: Causa uma grande quantidade de dano de habilidade, adiciona efeito de corrupção por 1 rodada." + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/pt/skill_rogue.lua b/lua/app/config/strings/pt/skill_rogue.lua index 6370f96f..00bf95c7 100644 --- a/lua/app/config/strings/pt/skill_rogue.lua +++ b/lua/app/config/strings/pt/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="Duração do efeito de atordoamento acionado pela Espada Corrompida +1 turno." + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/pt/task_type.lua b/lua/app/config/strings/pt/task_type.lua index d8c530b9..d95bb500 100644 --- a/lua/app/config/strings/pt/task_type.lua +++ b/lua/app/config/strings/pt/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="Aprimore Armaduras {0} vezes." + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ru/attr.lua b/lua/app/config/strings/ru/attr.lua index 42a5443a..0c81d525 100644 --- a/lua/app/config/strings/ru/attr.lua +++ b/lua/app/config/strings/ru/attr.lua @@ -222,6 +222,26 @@ local attr = { [56]={ ["id"]=56, ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -281,12 +301,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ru/hero.lua b/lua/app/config/strings/ru/hero.lua index 79363cfc..773be729 100644 --- a/lua/app/config/strings/ru/hero.lua +++ b/lua/app/config/strings/ru/hero.lua @@ -16,6 +16,9 @@ local hero = { }, [14003]={ + }, + [14004]={ + }, [22001]={ @@ -34,6 +37,9 @@ local hero = { }, [24003]={ + }, + [24004]={ + }, [32001]={ @@ -52,6 +58,9 @@ local hero = { }, [34003]={ + }, + [34004]={ + }, [42001]={ @@ -70,6 +79,9 @@ local hero = { }, [44003]={ + }, + [44004]={ + }, [52001]={ @@ -88,9 +100,12 @@ local hero = { }, [54003]={ + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ru/skill.lua b/lua/app/config/strings/ru/skill.lua index a0df45a0..aa45a9e6 100644 --- a/lua/app/config/strings/ru/skill.lua +++ b/lua/app/config/strings/ru/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ru/skill_rogue.lua b/lua/app/config/strings/ru/skill_rogue.lua index 0c8ed8d3..6881db44 100644 --- a/lua/app/config/strings/ru/skill_rogue.lua +++ b/lua/app/config/strings/ru/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/th/attr.lua b/lua/app/config/strings/th/attr.lua index e09c328f..6688b655 100644 --- a/lua/app/config/strings/th/attr.lua +++ b/lua/app/config/strings/th/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="HP เพิ่มขึ้น {0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/th/hero.lua b/lua/app/config/strings/th/hero.lua index 8a271fd1..050e7be9 100644 --- a/lua/app/config/strings/th/hero.lua +++ b/lua/app/config/strings/th/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="คนรับใช้ปีศาจ", ["desc"]="โจมตีต่อเนื่อง รวดเร็วดุจสายฟ้า!!!" + }, + [14004]={ + }, [22001]={ ["name"]="สาวดาบ", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="เฟย", ["desc"]="แกว่งดาบทาชิในมือดุจมังกรร่ายรำ มั่นคือเพลงดาบที่ไร้เทียมทาน" + }, + [24004]={ + }, [32001]={ ["name"]="หัวหอม", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="นินจาฟิล", ["desc"]="ว่องไวดั่งสายลม ปกป้องอาณาจักรแห่งน้ำจากการบุกรุกของกองกำลังชั่วร้าย" + }, + [34004]={ + }, [42001]={ ["name"]="หัวใจน้ำแข็ง", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="นักเวทลูน่า", ["desc"]="ภายใต้ดาบจันทร์เสี้ยวคู่ของเธอ ดวงดาวยามราตรีร่ายรำที่ปลายนิ้วของเธอ แสงจันทร์แห่งเวทมนตร์ส่องสว่างความปัญญาของเธอ~" + }, + [44004]={ + }, [52001]={ ["name"]="นินจาเร็น", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="อัศวินชั่วร้าย", ["desc"]="อดีตเป็นหนึ่งในสิบอัศวินที่โดดเด่นที่สุดในอาณาจักร ฟ้าลิขิตให้เขาตกในบาป จนกลายเป็นผู้ใช้ดาบคำสาป" + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/th/skill.lua b/lua/app/config/strings/th/skill.lua index 3dc41522..0b139b27 100644 --- a/lua/app/config/strings/th/skill.lua +++ b/lua/app/config/strings/th/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="ดาบร่วงหล่น: สร้างดาเมจสกิลมหาศาลเพิ่มเติม 1 ครั้ง เพิ่มเอฟเฟกต์ทุจริต1 รอบ" + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/th/skill_rogue.lua b/lua/app/config/strings/th/skill_rogue.lua index 974569fd..06c945f1 100644 --- a/lua/app/config/strings/th/skill_rogue.lua +++ b/lua/app/config/strings/th/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="เอฟเฟกต์หลับที่เพิ่มโดยดาบร่วงหล่น จำนวนรอบ+1" + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/th/task_type.lua b/lua/app/config/strings/th/task_type.lua index ba8bcb7e..8ee54f77 100644 --- a/lua/app/config/strings/th/task_type.lua +++ b/lua/app/config/strings/th/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="อัปเกรดเกราะ {0} ครั้ง" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/vi/attr.lua b/lua/app/config/strings/vi/attr.lua index 55271917..67b1b469 100644 --- a/lua/app/config/strings/vi/attr.lua +++ b/lua/app/config/strings/vi/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="Tăng {0} HP", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/vi/hero.lua b/lua/app/config/strings/vi/hero.lua index ac4da216..dbf0a29a 100644 --- a/lua/app/config/strings/vi/hero.lua +++ b/lua/app/config/strings/vi/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="Incubus", ["desc"]="Như tia chớp, tấn công liên tục!!!" + }, + [14004]={ + }, [22001]={ ["name"]="Irelia", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="Tobi", ["desc"]="Thanh kiếm trong tay anh ta múa như rồng, đó là kiếm thuật vô song." + }, + [24004]={ + }, [32001]={ ["name"]="Onion", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="Ninja Phil", ["desc"]="Nhanh như gió, hãy bảo vệ Vương Quốc Nước khỏi những thế lực xấu xa." + }, + [34004]={ + }, [42001]={ ["name"]="Frozen Heart", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="Pháp Sư Moon", ["desc"]="Dưới lưỡi kiếm mặt trăng của cô ấy, sao đêm nhảy múa trong tầm tay, và ánh trăng huyền diệu soi sáng trí tuệ vô tận" + }, + [44004]={ + }, [52001]={ ["name"]="Ninja Jay", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="Fallen Knight", ["desc"]="Từng là một Kỵ Sĩ nổi tiếng vương quốc, số phận đã khiến anh trở thành người nắm giữ thanh kiếm nguyền rủa." + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/vi/skill.lua b/lua/app/config/strings/vi/skill.lua index 662f36da..4704950f 100644 --- a/lua/app/config/strings/vi/skill.lua +++ b/lua/app/config/strings/vi/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="Kiếm Sa Đọa: Gây thêm 1 lần nhiều sát thương kỹ năng, kèm Sa Đọa, 1 hiệp." + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/vi/skill_rogue.lua b/lua/app/config/strings/vi/skill_rogue.lua index 2c3b60d6..105878db 100644 --- a/lua/app/config/strings/vi/skill_rogue.lua +++ b/lua/app/config/strings/vi/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="Kiếm Sa Đọa kèm hiệu quả Ngủ Say, số hiệp +1." + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/vi/task_type.lua b/lua/app/config/strings/vi/task_type.lua index 7cd75811..9f929b4d 100644 --- a/lua/app/config/strings/vi/task_type.lua +++ b/lua/app/config/strings/vi/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="Tăng cấp Phòng Cụ {0} lần" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/config/strings/zh/attr.lua b/lua/app/config/strings/zh/attr.lua index 7d1c4067..10f2bed6 100644 --- a/lua/app/config/strings/zh/attr.lua +++ b/lua/app/config/strings/zh/attr.lua @@ -278,6 +278,26 @@ local attr = { ["id"]=56, ["desc"]="生命提高{0}", ["name"]="attr_hp_purple" + }, + [57]={ + ["id"]=57, + ["name"]="attr_all_hurtp_red" + }, + [58]={ + ["id"]=58, + ["name"]="attr_all_hurtp_yellow" + }, + [59]={ + ["id"]=59, + ["name"]="attr_all_hurtp_green" + }, + [60]={ + ["id"]=60, + ["name"]="attr_all_hurtp_blue" + }, + [61]={ + ["id"]=61, + ["name"]="attr_all_hurtp_purple" } } local keys = { @@ -337,12 +357,17 @@ local keys = { ["attr_hp_yellow"]=attr[53], ["attr_hp_green"]=attr[54], ["attr_hp_blue"]=attr[55], - ["attr_hp_purple"]=attr[56] + ["attr_hp_purple"]=attr[56], + ["attr_all_hurtp_red"]=attr[57], + ["attr_all_hurtp_yellow"]=attr[58], + ["attr_all_hurtp_green"]=attr[59], + ["attr_all_hurtp_blue"]=attr[60], + ["attr_all_hurtp_purple"]=attr[61] } } local config = { data=attr, keys=keys, -count=56 +count=61 } return config \ No newline at end of file diff --git a/lua/app/config/strings/zh/hero.lua b/lua/app/config/strings/zh/hero.lua index 21d3ceeb..affcb674 100644 --- a/lua/app/config/strings/zh/hero.lua +++ b/lua/app/config/strings/zh/hero.lua @@ -22,6 +22,9 @@ local hero = { [14003]={ ["name"]="惡魔侍者", ["desc"]="像閃電一樣,不停地攻擊!!!!" + }, + [14004]={ + }, [22001]={ ["name"]="刀妹", @@ -46,6 +49,9 @@ local hero = { [24003]={ ["name"]="阿飛", ["desc"]="手中的太刀如龍飛舞那是無與倫比的劍術。" + }, + [24004]={ + }, [32001]={ ["name"]="洋蔥頭", @@ -70,6 +76,9 @@ local hero = { [34003]={ ["name"]="忍者菲爾", ["desc"]="迅猛如風,保護水之王國免受邪惡勢力的侵害。" + }, + [34004]={ + }, [42001]={ ["name"]="冰心", @@ -94,6 +103,9 @@ local hero = { [44003]={ ["name"]="月之法師", ["desc"]="在她的月輪雙刃下,夜晚的星辰在她的指尖舞動,魔法的月光照亮了她無限的智慧~" + }, + [44004]={ + }, [52001]={ ["name"]="忍者倫", @@ -118,9 +130,12 @@ local hero = { [54003]={ ["name"]="墮落騎士", ["desc"]="曾是王國中最傑出的騎士之一,命運使他墮落成為一名詛咒巨劍的使用者。" + }, + [54004]={ + } } local config = { -data=hero,count=30 +data=hero,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/zh/skill.lua b/lua/app/config/strings/zh/skill.lua index f7c16f3b..32d58e1c 100644 --- a/lua/app/config/strings/zh/skill.lua +++ b/lua/app/config/strings/zh/skill.lua @@ -88,9 +88,24 @@ local skill = { }, [5400320]={ ["desc"]="墮落之劍:額外造成一次大量技能傷害,附帶腐敗效果,1回合。" + }, + [1400420]={ + + }, + [2400420]={ + + }, + [3400420]={ + + }, + [4400420]={ + + }, + [5400420]={ + } } local config = { -data=skill,count=30 +data=skill,count=35 } return config \ No newline at end of file diff --git a/lua/app/config/strings/zh/skill_rogue.lua b/lua/app/config/strings/zh/skill_rogue.lua index dc6e6bb7..eecba4c9 100644 --- a/lua/app/config/strings/zh/skill_rogue.lua +++ b/lua/app/config/strings/zh/skill_rogue.lua @@ -850,9 +850,129 @@ local skill_rogue = { }, [5400307]={ ["desc"]="墮落之劍附帶的昏睡效果,回合數+1。" + }, + [1400400]={ + + }, + [1400401]={ + + }, + [1400402]={ + + }, + [1400403]={ + + }, + [1400404]={ + + }, + [1400405]={ + + }, + [1400406]={ + + }, + [1400407]={ + + }, + [2400400]={ + + }, + [2400401]={ + + }, + [2400402]={ + + }, + [2400403]={ + + }, + [2400404]={ + + }, + [2400405]={ + + }, + [2400406]={ + + }, + [2400407]={ + + }, + [3400400]={ + + }, + [3400401]={ + + }, + [3400402]={ + + }, + [3400403]={ + + }, + [3400404]={ + + }, + [3400405]={ + + }, + [3400406]={ + + }, + [3400407]={ + + }, + [4400400]={ + + }, + [4400401]={ + + }, + [4400402]={ + + }, + [4400403]={ + + }, + [4400404]={ + + }, + [4400405]={ + + }, + [4400406]={ + + }, + [4400407]={ + + }, + [5400400]={ + + }, + [5400401]={ + + }, + [5400402]={ + + }, + [5400403]={ + + }, + [5400404]={ + + }, + [5400405]={ + + }, + [5400406]={ + + }, + [5400407]={ + } } local config = { -data=skill_rogue,count=284 +data=skill_rogue,count=324 } return config \ No newline at end of file diff --git a/lua/app/config/strings/zh/task_type.lua b/lua/app/config/strings/zh/task_type.lua index 76b45c31..33916046 100644 --- a/lua/app/config/strings/zh/task_type.lua +++ b/lua/app/config/strings/zh/task_type.lua @@ -115,9 +115,18 @@ local task_type = { }, [39]={ ["desc"]="防具升級{0}次" + }, + [40]={ + + }, + [41]={ + + }, + [52]={ + } } local config = { -data=task_type,count=39 +data=task_type,count=42 } return config \ No newline at end of file diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua index f646aa3f..a61ad7e6 100644 --- a/lua/app/global/global_const.lua +++ b/lua/app/global/global_const.lua @@ -21,6 +21,7 @@ local CONST_PATHS = { CollectionConst = "app/module/collection/collection_const", ActivityConst = "app/module/activity/activity_const", FourteenDayConst = "app/module/activity/fourteen_day/fourteen_day_const", + DungeonRuneConst = "app/module/dungeon_rune/dungeon_rune_const", } if EDITOR_MODE then diff --git a/lua/app/module/dungeon_rune/dungeon_rune_const.lua b/lua/app/module/dungeon_rune/dungeon_rune_const.lua new file mode 100644 index 00000000..fc9d17b4 --- /dev/null +++ b/lua/app/module/dungeon_rune/dungeon_rune_const.lua @@ -0,0 +1,52 @@ +local BattleConst = GConst.BattleConst +local DungeonRuneConst = {} + +DungeonRuneConst.RANK_MAX_NUM = 50 + +DungeonRuneConst.TASK_TYPE = { + PASS_ROUND = 0, + ELIMINATION_ELEMENT = 1, + BREAK_GRID_TYPE = 2, + KILL_MONSTER = 3 +} + +DungeonRuneConst.TASK_ICON = { + [DungeonRuneConst.TASK_TYPE.PASS_ROUND] = "dungeon_rune_task_7", + [DungeonRuneConst.TASK_TYPE.ELIMINATION_ELEMENT] = { + [BattleConst.ELEMENT_TYPE.RED] = "dungeon_rune_task_4", + [BattleConst.ELEMENT_TYPE.YELLOW] = "dungeon_rune_task_5", + [BattleConst.ELEMENT_TYPE.GREEN] = "dungeon_rune_task_2", + [BattleConst.ELEMENT_TYPE.BLUE] = "dungeon_rune_task_1", + [BattleConst.ELEMENT_TYPE.PURPLE] = "dungeon_rune_task_3", + }, + [DungeonRuneConst.TASK_TYPE.BREAK_GRID_TYPE] = { + [2] = "battle_obstacle_stone_2", + [3] = "battle_obstacle_stone_1", + [4] = "battle_obstacle_vine", + [5] = "battle_obstacle_ice", + [7] = "battle_obstacle_stone_3", + [12] = "battle_obstacle_leaf", + [13] = "battle_obstacle_jelly", + [18] = "battle_obstacle_stump_1", + [19] = "battle_obstacle_stump_2", + [20] = "battle_obstacle_stump_3", + [21] = "battle_obstacle_blister", + [22] = "battle_obstacle_silt", + [23] = "battle_obstacle_poisonous_mist", + [24] = "battle_obstacle_altar_1", + [25] = "battle_obstacle_altar_2", + [26] = "battle_obstacle_altar_3", + [27] = "battle_obstacle_circle", + [28] = "battle_obstacle_stalactite_1", + [29] = "battle_obstacle_stalactite_2", + [30] = "battle_obstacle_stalactite_3", + [31] = "battle_obstacle_lron_1", + [32] = "battle_obstacle_lron_2", + [33] = "battle_obstacle_lron_3", + [34] = "battle_obstacle_lava", + [35] = "battle_obstacle_leaf", + }, + [DungeonRuneConst.TASK_TYPE.KILL_MONSTER] = "dungeon_rune_task_8", +} + +return DungeonRuneConst \ No newline at end of file diff --git a/lua/app/module/dungeon_rune/dungeon_rune_const.lua.meta b/lua/app/module/dungeon_rune/dungeon_rune_const.lua.meta new file mode 100644 index 00000000..51f1fe03 --- /dev/null +++ b/lua/app/module/dungeon_rune/dungeon_rune_const.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c88e1d5421d798f4daa8186bfd7e2512 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua index 2e3f3bac..9cc1038a 100644 --- a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua +++ b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua @@ -9,6 +9,131 @@ function DungeonRuneManager:showFightUI(id) if not runeData:canFight(id) then GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.PASS_REQUIRE)) end + + local params = {id = id} + local isBoss = runeData:isBossChapter(id) + if isBoss then + UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_boss_fight_ui", params) + else + UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_fight_ui", params) + end +end + +function DungeonRuneManager:showTaskUI(id) + local params = {id = id} + UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_task_ui", params) +end + +function DungeonRuneManager:showRebirthUI(adCallback, closeCallback, isHpOver) + UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_rebirth_ui",{adCallback = adCallback, closeCallback = closeCallback, isHpOver = isHpOver}) +end + +function DungeonRuneManager:reqFight(id) + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + if not runeData:canFight(id) then + GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.PASS_REQUIRE)) + return + end + + local passed = runeData:passedChapter(id) + if not passed and not GFunc.checkCost(GConst.ItemConst.ITEM_ID_GLOD_WING, 1, true) then + return + end + + local heroes = {} + local formation = DataManager.FormationData:getDungeonArmorFormation() + for matchType, heroId in pairs(formation) do + if heroId > 0 then + table.insert(heroes, heroId) + end + end + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeStartReq, {id = id, heroes = heroes}, {}, self.rspFight, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_START) +end + +function DungeonRuneManager:rspFight(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + local params = { + atkFormation = {} + } + local formation = DataManager.FormationData:getDungeonRuneFormation() + for elementType, heroId in pairs(formation) do + local heroEntity = DataManager.HeroData:getHeroById(heroId) + if heroEntity then + params.atkFormation[elementType] = heroEntity + end + end + ModuleManager.BattleManager:playBattle(GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, params, function() + UIManager:closeAllUI() + ModuleManager.MaincityManager:showMainCityUI() + self:showMainUI() + end) + end +end + +function DungeonRuneManager:reqFightSettlement(chapterId, combatReport, taskProgress) + local parmas = { + id = chapterId, + win = combatReport.victory, + task_stat = taskProgress, + combatReport = combatReport, + } + self:sendmessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeSettlementReq, parmas, {}, self.rspFightSettlement, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_SETTLEMENT) +end + +function DungeonRuneManager:rspFightSettlement(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + local passId = runeData:getPassedMaxId() + if result.reqData then + runeData:updatePassedMaxId(result.reqData.id, result) + end + -- ModuleManager.BattleManager:showBattleArmorResultUI(GConst.BattleConst.BATTLE_TYPE.DUNGEON_ARMOR, result.rewards, result.reqData.combatReport) + + if passId ~= runeData:getPassedMaxId() then + local data = {} + data.dungeon_progress = DataManager.DungeonData:getDungeonBIStr() + CS.ThinkingAnalytics.ThinkingAnalyticsAPI.UserSet(data) + end + + if result.reqData then + local taskStat = result.reqData.task_stat + if taskStat then + ModuleManager.TaskManager:addFightTaskProgress(taskStat) + end + end + runeData:setDirty() + end +end + +function DungeonRuneManager:reqSweep(id) + if not GFunc.checkCost(GConst.ItemConst.ITEM_ID_SLIVER_WING, 1, true) then + return + end + + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + if not runeData:canSweep(id) then + return + end + + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeFarmReq, {chapter_weapon_id = id}, {}, self.rspSweep, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_SWEEP) +end + +function DungeonRuneManager:rspSweep(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + GFunc.showRewardBox(result.rewards) + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + runeData:setDirty() + end +end + +function DungeonRuneManager:reqRebirth() + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneAdReq, {}, {}, self.rspRebirth) +end + +function DungeonRuneManager:rspRebirth(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.BATTLE_REBIRTH) + end end return DungeonRuneManager \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/cell/rank_cell.lua b/lua/app/ui/dungeon_rune/cell/rank_cell.lua new file mode 100644 index 00000000..7e45a355 --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rank_cell.lua @@ -0,0 +1,65 @@ +local RankCell = class("RankCell", BaseCell) + +local RANK_ICON = { + "act_ranking_1", + "act_ranking_2", + "act_ranking_3" +} + +local RANK_BG = { + "act_ranking_bg_1", + "act_ranking_bg_2", + "act_ranking_bg_3", + "act_ranking_bg_4" +} + +function RankCell:refresh(index, info) + local uiMap = self:getUIMap() + if not self.playerHeadCell then + self.playerHeadCell = CellManager:addCellComp(uiMap["act_rank_cell.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + end + uiMap["act_rank_cell.tx_rank"]:setText(index) + local imgRank = uiMap["act_rank_cell.img_rank"] + if RANK_ICON[index] then + imgRank:setVisible(true) + imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_ICON[index]) + uiMap["act_rank_cell.tx_rank"]:setText(GConst.EMPTY_STRING) + else + imgRank:setVisible(false) + end + + local imgBg = uiMap["act_rank_cell.bg"] + if RANK_BG[index] then + imgBg:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_BG[index]) + else + imgBg:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_BG[4]) + end + + local txName = uiMap["act_rank_cell.tx_name"] + local txWave = uiMap["act_rank_cell.tx_wave"] + local txRound = uiMap["act_rank_cell.tx_round"] + + if info then + txName:setText(info.name) + txWave:setText(info.wave) + txRound:setText(info.round) + self.playerHeadCell:getBaseObject():addClickListener(function() + ModuleManager.ActBossRushManager:reqOtherPlayerInfo(info.id, function(formation) + if not self.playerHeadCell or not self.playerHeadCell:getBaseObject() or self.playerHeadCell:getBaseObject():isDestroyed() then + return + end + ModuleManager.TipsManager:showHeroFormation(self.playerHeadCell:getBaseObject(), formation) + end) + end) + self.playerHeadCell:refresh(info.avatar, info.avatar_frame, false) + else + txName:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_8)) + txWave:setText("--") + txRound:setText("--") + self.playerHeadCell:getBaseObject():addClickListener(nil) + self.playerHeadCell:refresh(3001, 1000, false) -- 默认 + end + +end + +return RankCell \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/cell/rank_cell.lua.meta b/lua/app/ui/dungeon_rune/cell/rank_cell.lua.meta new file mode 100644 index 00000000..822be13c --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rank_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f20246d319f738042a589da98b7edbb7 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua b/lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua new file mode 100644 index 00000000..b580eea4 --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua @@ -0,0 +1,11 @@ +local RuneBattleTaskCell = class("RuneBattleTaskCell", BaseCell) + +function RuneBattleTaskCell:refresh(desc, taskInfo, over) + local uiMap = self:getUIMap() + uiMap["task_cell.desc"]:setText(desc) + uiMap["task_cell.check"]:setVisible(over) + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + uiMap["task_cell.task_icon"]:setSprite(runeData:getConditionIcon(taskInfo)) +end + +return RuneBattleTaskCell \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua.meta b/lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua.meta new file mode 100644 index 00000000..b5914df2 --- /dev/null +++ b/lua/app/ui/dungeon_rune/cell/rune_battle_task_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0b2e9067ce994544dbf16af57c6fadf2 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua b/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua index e69de29b..c8220505 100644 --- a/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua +++ b/lua/app/ui/dungeon_rune/cell/rune_task_cell.lua @@ -0,0 +1,38 @@ +local RuneTaskCell = class("RuneTaskCell", BaseCell) + +local BG = {"common_board_131", "common_board_132"} -- 紫绿 + +function RuneTaskCell:refresh(taskInfo) + local uiMap = self:getUIMap() + local bg = uiMap["rune_task_cell.bg"] + local icon = uiMap["rune_task_cell.icon"] + local point = uiMap["rune_task_cell.point"] + local desc = uiMap["rune_task_cell.desc"] + local taskType = taskInfo[1] + local taskParams1 = taskInfo[2] + local taskParams2 = taskInfo[3] + + local taskNum = 0 + if taskType == GConst.DungeonRuneConst.TASK_TYPE.PASS_ROUND then + taskNum = taskParams1 + else + taskNum = taskParams2 or 0 + end + + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + icon:setSprite(runeData:getConditionIcon(taskInfo)) + + desc:setText(taskNum) + + self:hidePoint(false) +end + +function RuneTaskCell:hidePoint(hide) + local uiMap = self:getUIMap() + local point = uiMap["rune_task_cell.point"] + local desc = uiMap["rune_task_cell.desc"] + point:setVisible(not hide) + desc:setVisible(not hide) +end + +return RuneTaskCell \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua new file mode 100644 index 00000000..222f1ce8 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua @@ -0,0 +1,161 @@ +local DungeonRuneBossFightUI = class("DungeonRuneBossFightUI", BaseUI) + +local RUNE_TASK_CELL = "app/ui/dungeon_rune/cell/rune_task_cell" + +function DungeonRuneBossFightUI:isFullScreen() + return false +end + +function DungeonRuneBossFightUI:getPrefabPath() + return "assets/prefabs/ui/dungeon_rune/dungeon_rune_boss_fight_ui.prefab" +end + +function DungeonRuneBossFightUI:ctor(params) + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + + self.id = params.id +end + +function DungeonRuneBossFightUI:onLoadRootComplete() + self:_display() + self:_addListeners() + self:_bind() +end + +function DungeonRuneBossFightUI:_display() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_boss_fight_ui.bg.title.tx_title"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_6, self.id)) + uiMap["dungeon_rune_boss_fight_ui.bg.btn_again.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_2)) + local spineName, spineScale = self.runeData:getChapterMonsterSpine(self.id) + local spineObject = uiMap["dungeon_rune_boss_fight_ui.bg.banner.ui_spine_obj"] + spineObject:setVisible(false) + spineObject:loadAssetAsync(spineName, function() + spineObject:playAnim("idle", true, true, true) + spineObject:setLocalScale(spineScale, spineScale, spineScale) + spineObject:setVisible(true) + end, true) + + local i18Config = self.runeData:getChapterMonsterI18N(self.id) + uiMap["dungeon_rune_boss_fight_ui.bg.desc_1"]:setText(i18Config.name) + uiMap["dungeon_rune_boss_fight_ui.bg.desc_2"]:setText(i18Config.desc) + + self:refreshTargetInfo() + self:refreshRewardInfo() + self:refreshFightBtn() +end + +function DungeonRuneBossFightUI:_addListeners() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_boss_fight_ui.bg.btn_close"]:addClickListener(function() + self:closeUI() + end) + + uiMap["dungeon_rune_boss_fight_ui.bg.btn"]:addClickListener(function() + local passed = self.runeData:passedChapter(self.id) + if passed then + ModuleManager.DungeonRuneManager:reqSweep(self.id) + else + ModuleManager.DungeonRuneManager:reqFight(self.id) + end + end) + + uiMap["dungeon_rune_boss_fight_ui.bg.btn_again"]:addClickListener(function() + ModuleManager.DungeonRuneManager:reqFight(self.id) + end) +end + +function DungeonRuneBossFightUI:_bind() + self:bind(self.runeData, "isDirty", function() + self:refreshFightBtn() + end) +end + +function DungeonRuneBossFightUI:refreshTargetInfo() + local uiMap = self.root:genAllChildren() + if not self.taskRuneCell then + self.taskRuneCell = CellManager:addCellComp(uiMap["dungeon_rune_boss_fight_ui.bg.banner.rune_task_cell"], RUNE_TASK_CELL) + end + + local chapterCondition = self.runeData:getChapterCondition(self.id) + if chapterCondition[1] then + self.taskRuneCell:refresh(chapterCondition[1]) + self.taskRuneCell:addClickListener(function() + ModuleManager.TipsManager:showDescTips(self.runeData:getConditionDesc(chapterCondition[1]), self.taskRuneCell:getBaseObject()) + end) + end +end + +function DungeonRuneBossFightUI:refreshRewardInfo() + local uiMap = self.root:genAllChildren() + local passed = self.runeData:passedChapter(self.id) + local title = uiMap["dungeon_rune_boss_fight_ui.bg.desc_3"] + + local descPassRound = uiMap["dungeon_rune_boss_fight_ui.bg.desc_4"] + local imgPassIcon = uiMap["dungeon_rune_boss_fight_ui.bg.icon"] + local rewardNode = uiMap["dungeon_rune_boss_fight_ui.bg.reward_node"] + + if not self.rewardCells then + self.rewardCells = {} + for i = 1, 4 do + self.rewardCells[i] = CellManager:addCellComp(uiMap["dungeon_rune_boss_fight_ui.bg.reward_node.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + end + end + + local rewards = self.runeData:getChapterRewards(self.id) + if passed then + title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_4)) + local round = self.runeData:getChapterPassRound(self.id) + descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, round)) + imgPassIcon:setActive(true) + GFunc.centerImgAndTx(imgPassIcon, descPassRound, 5) + rewards = self.runeData:getChapterSweepRewards(self.id) + else + imgPassIcon:setActive(false) + descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_5)) + descPassRound:setAnchoredPositionX(0) + title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_3)) + end + + for index, cell in ipairs(self.rewardCells) do + local reward = rewards[index] + if reward then + cell:refreshByConfig(reward) + cell:getBaseObject():setActive(true) + else + cell:getBaseObject():setActive(false) + end + end + + rewardNode:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() +end + +function DungeonRuneBossFightUI:refreshFightBtn() + local uiMap = self.root:genAllChildren() + local btn = uiMap["dungeon_rune_boss_fight_ui.bg.btn"] + local btnAgain = uiMap["dungeon_rune_boss_fight_ui.bg.btn_again"] + + local icon = uiMap["dungeon_rune_boss_fight_ui.bg.btn.icon"] + local num = uiMap["dungeon_rune_boss_fight_ui.bg.btn.num"] + local desc = uiMap["dungeon_rune_boss_fight_ui.bg.btn.desc"] + + local passed = self.runeData:passedChapter(self.id) + if passed then + desc:setText(I18N:getGlobalText(I18N.GlobalConst.SMASH)) + num:setText(1) + icon:setSprite(ModuleManager.ItemManager:getItemIcon(GConst.ItemConst.ITEM_ID_SLIVER_WING)) + GFunc.centerImgAndTx(icon, num, 5) + btn:setAnchoredPositionX(130) + btnAgain:setActive(true) + btn:setLocalScale(0.9, 0.9, 0.9) + else + desc:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_CHALLENGE)) + num:setText(1) + icon:setSprite(ModuleManager.ItemManager:getItemIcon(GConst.ItemConst.ITEM_ID_GLOD_WING)) + GFunc.centerImgAndTx(icon, num, 5) + btn:setAnchoredPositionX(0) + btnAgain:setActive(false) + btn:setLocalScale(1, 1, 1) + end +end + +return DungeonRuneBossFightUI \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua.meta b/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua.meta new file mode 100644 index 00000000..e38e3278 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 71b109a8c9790d448834c8eb0e079b6b +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua new file mode 100644 index 00000000..00c01bf0 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua @@ -0,0 +1,134 @@ +local DungeonRuneFightUI = class("DungeonRuneFightUI", BaseUI) + +local RUNE_TASK_CELL = "app/ui/dungeon_rune/cell/rune_task_cell" + +function DungeonRuneFightUI:isFullScreen() + return false +end + +function DungeonRuneFightUI:getPrefabPath() + return "assets/prefabs/ui/dungeon_rune/dungeon_rune_fight_ui.prefab" +end + +function DungeonRuneFightUI:ctor(params) + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + + self.id = params.id +end + +function DungeonRuneFightUI:onLoadRootComplete() + self:_display() + self:_addListeners() +end + +function DungeonRuneFightUI:_display() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_fight_ui.bg.title.tx_title"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_6, self.id)) + uiMap["dungeon_rune_fight_ui.bg.desc_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_1)) + self:refreshTargetInfo() + self:refreshRewardInfo() + self:refreshFightBtn() +end + +function DungeonRuneFightUI:_addListeners() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_fight_ui.bg.btn_close"]:addClickListener(function() + self:closeUI() + end) + + uiMap["dungeon_rune_fight_ui.bg.btn"]:addClickListener(function() + ModuleManager.DungeonRuneManager:reqFight(self.id) + end) +end + +function DungeonRuneFightUI:refreshTargetInfo() + local uiMap = self.root:genAllChildren() + if not self.taskRuneCells then + self.taskRuneCells = {} + for i = 1, 4 do + self.taskRuneCells[i] = CellManager:addCellComp(uiMap["dungeon_rune_fight_ui.bg.rune_task_cell_" .. i], RUNE_TASK_CELL) + end + end + + local chapterCondition = self.runeData:getChapterCondition(self.id) + for index, cell in ipairs(self.taskRuneCells) do + local info = chapterCondition[index] + if info then + cell:refresh(info) + cell:getBaseObject():setActive(true) + cell:addClickListener(function() + ModuleManager.TipsManager:showDescTips(self.runeData:getConditionDesc(info), cell:getBaseObject()) + end) + else + cell:getBaseObject():setActive(false) + end + end + uiMap["dungeon_rune_fight_ui.bg.task_node"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() +end + +function DungeonRuneFightUI:refreshRewardInfo() + local uiMap = self.root:genAllChildren() + local passed = self.runeData:passedChapter(self.id) + local descPassRound = uiMap["dungeon_rune_fight_ui.bg.desc_3"] + local imgPassIcon = uiMap["dungeon_rune_fight_ui.bg.icon"] + local rewardNode = uiMap["dungeon_rune_fight_ui.bg.reward_node"] + rewardNode:setActive(not passed) + descPassRound:setVisible(passed) + imgPassIcon:setVisible(passed) + if passed then + local round = self.runeData:getChapterPassRound(self.id) + descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, round)) + GFunc.centerImgAndTx(imgPassIcon, descPassRound, 5) + else + if not self.rewardCells then + self.rewardCells = {} + for i = 1, 4 do + self.rewardCells[i] = CellManager:addCellComp(uiMap["dungeon_rune_fight_ui.bg.reward_node.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + end + end + + local rewards = self.runeData:getChapterRewards(self.id) + for index, cell in ipairs(self.rewardCells) do + local reward = rewards[index] + if reward then + cell:refreshByConfig(reward) + cell:getBaseObject():setActive(true) + else + cell:getBaseObject():setActive(false) + end + end + + rewardNode:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT):RefreshLayout() + end +end + +function DungeonRuneFightUI:refreshFightBtn() + local uiMap = self.root:genAllChildren() + local title = uiMap["dungeon_rune_fight_ui.bg.desc_2"] + + local iconBg = uiMap["dungeon_rune_fight_ui.bg.btn.icon_bg"] + local icon = uiMap["dungeon_rune_fight_ui.bg.btn.icon"] + local num = uiMap["dungeon_rune_fight_ui.bg.btn.num"] + local desc = uiMap["dungeon_rune_fight_ui.bg.btn.desc"] + + local descAgain = uiMap["dungeon_rune_fight_ui.bg.btn.desc_again"] + local passed = self.runeData:passedChapter(self.id) + local notPass = not passed + iconBg:setVisible(notPass) + icon:setVisible(notPass) + num:setVisible(notPass) + desc:setVisible(notPass) + descAgain:setVisible(passed) + if passed then + descAgain:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_2)) + title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_6)) + else + desc:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_CHALLENGE)) + num:setText(1) + icon:setSprite(ModuleManager.ItemManager:getItemIcon(GConst.ItemConst.ITEM_ID_GLOD_WING)) + GFunc.centerImgAndTx(icon, num, 5) + title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_3)) + end +end + +return DungeonRuneFightUI \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua.meta b/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua.meta new file mode 100644 index 00000000..a8cc2f4f --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2af4b972f5eef6245b50e9b61bc9ccb5 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua new file mode 100644 index 00000000..31c64635 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua @@ -0,0 +1,253 @@ +local DungeonRuneRankUI = class("DungeonRuneRankUI", BaseUI) + +local RANK_ICON = { + "act_ranking_1", + "act_ranking_2", + "act_ranking_3" +} +local PAGE_ICON = {"common_menu_1", "common_menu_2"} +local RANK_CELL = "app/ui/dungeon_rune/cell/rank_cell" + +local PAGE_TYPE = { + TODAY = 1, + LAST_DAY = 2, + REWARD = 3, +} + +local PAGE_TX = { + [PAGE_TYPE.LAST_DAY] = I18N.GlobalConst.DUNGEON_RUNE_DESC_9, + [PAGE_TYPE.TODAY] = I18N.GlobalConst.DUNGEON_RUNE_DESC_8, + [PAGE_TYPE.REWARD] = I18N.GlobalConst.ACT_BOSS_RUSH_DESC_22, +} + +function DungeonRuneRankUI:isFullScreen() + return false +end + +function DungeonRuneRankUI:getPrefabPath() + return "assets/prefabs/ui/dungeon_rune/dungeon_rune_rank_ui.prefab" +end + +function DungeonRuneRankUI:ctor() + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) +end + +function DungeonRuneRankUI:onLoadRootComplete() + self:initScrollrect() + self:_display() + self:_addListeners() + self:_bind() + + self:switchPage(PAGE_TYPE.TODAY) + + self:refreshTime() + if self.actCountdownSid then + self:unscheduleGlobal(self.actCountdownSid) + end + self.actCountdownSid = self:scheduleGlobal(function() + self:refreshTime() + end, 1) +end + +function DungeonRuneRankUI:_display() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_rank_ui.bg.title"]:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_5)) + uiMap["dungeon_rune_rank_ui.bg.desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TIP_1)) +end + +function DungeonRuneRankUI:_addListeners() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_rank_ui.bg.close_btn"]:addClickListener(function() + self:closeUI() + end) +end + +function DungeonRuneRankUI:_bind() + self:bind(self.runeData, "isDirty", function() + self:refreshRankNode() + self:refreshMyRankInfo() + self:refreshPages() + end) +end + +function DungeonRuneRankUI:initScrollrect() + if self.scrollRectComp then + return + end + + local uiMap = self.root:genAllChildren() + self.scrollRectComp = uiMap["dungeon_rune_rank_ui.bg.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.scrollRectComp:addInitCallback(function() + return RANK_CELL + end) + self.scrollRectComp:addRefreshCallback(function(index, cell) + local info = self.rankList[index + 3] + cell:refresh(index, info) + end) + self.scrollRectComp:clearCells() + self.scrollRectComp:setTotalCount(0) +end + +function DungeonRuneRankUI:refreshRankNode() + if self.curPage == PAGE_TYPE.LAST_DAY then + self.rankList = self.runeData:getLastRankInfo() + elseif self.curPage == PAGE_TYPE.TODAY then + self.rankList = self.runeData:getCurRankInfo() + else + self.rankList = {} + end + self.scrollRectComp:refillCells(#self.rankList) +end + +function DungeonRuneRankUI:refreshPages() + if not self.pageObjs then + local uiMap = self.root:genAllChildren() + self.pageObjs = {} + for i = 1, 3 do + self.pageObjs[i] = { + page = uiMap["dungeon_rune_rank_ui.bg.page_" .. i], + tx1 = uiMap["dungeon_rune_rank_ui.bg.page_" .. i .. ".tx"], + tx2 = uiMap["dungeon_rune_rank_ui.bg.page_" .. i .. ".tx_hl"], + } + self.pageObjs[i].page:addClickListener(function() + self:switchPage(i) + end) + end + end + for index, objs in ipairs(self.pageObjs) do + if index == self.curPage then + objs.page:setSprite(GConst.ATLAS_PATH.COMMON, PAGE_ICON[1]) + objs.page:setAnchoredPositionY(-56) + objs.tx1:setText(GConst.EMPTY_STRING) + objs.tx2:setText(I18N:getGlobalText(PAGE_TX[index])) + else + objs.page:setSprite(GConst.ATLAS_PATH.COMMON, PAGE_ICON[2]) + objs.page:setAnchoredPositionY(-45) + objs.tx1:setText(I18N:getGlobalText(PAGE_TX[index])) + objs.tx2:setText(GConst.EMPTY_STRING) + end + end + + if self.runeData:canGetRankReward() then + self.pageObjs[3].page:addRedPoint(77, -6.5, 1) + else + self.pageObjs[3].page:removeRedPoint() + end +end + +function DungeonRuneRankUI:switchPage(page) + if self.curPage == page then + return + end + self.curPage = page + self:refreshRankNode() + self:refreshPages() + self:refreshMyRankInfo() +end + +function DungeonRuneRankUI:refreshMyRankInfo() + local info + local canGot = self.runeData:canGetRankReward() + + if self.curPage == PAGE_TYPE.TODAY then + info = self.runeData:getCurRankSelfInfo() + else + info = self.runeData:getLastSelfInfo() + end + + local rank = info and info.rank or 0 + local layer = info and info.wave or 0 + local round = info and info.round or 0 + local uiMap = self.root:genAllChildren() + if not self.playerHeadCell then + self.playerHeadCell = CellManager:addCellComp(uiMap["dungeon_rune_rank_ui.bg.my_node.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + self.selfRewardCells = {} + for i = 1, 3 do + self.selfRewardCells[i] = CellManager:addCellComp(uiMap["dungeon_rune_rank_ui.bg.my_node.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL) + end + end + + self.playerHeadCell:refresh() + uiMap["dungeon_rune_rank_ui.bg.my_node.tx_name"]:setText(DataManager.PlayerData:getNickname()) + local rankObj = uiMap["dungeon_rune_rank_ui.bg.my_node.tx_rank"] + if not rank or rank <= 0 then + rankObj:setText("--") + else + rankObj:setText(rank) + if rank > GConst.DungeonRuneConst.RANK_MAX_NUM then + rankObj:setText(GConst.DungeonRuneConst.RANK_MAX_NUM .. "+") + end + end + + local imgRank = uiMap["dungeon_rune_rank_ui.bg.my_node.img_rank"] + if RANK_ICON[rank] then + imgRank:setVisible(true) + imgRank:setSprite(GConst.ATLAS_PATH.ACT_COMMON, RANK_ICON[rank]) + rankObj:setText(GConst.EMPTY_STRING) + else + imgRank:setVisible(false) + end + + local layerObj = uiMap["dungeon_rune_rank_ui.bg.my_node.tx_max"] + if not layer then + layerObj:setText("--") + else + layerObj:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_10, layer)) + end + + local roundObj = uiMap["dungeon_rune_rank_ui.bg.my_node.tx_round"] + if not round then + roundObj:setText("--") + else + roundObj:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_11, round)) + end + + if self.curPage ~= PAGE_TYPE.REWARD then + layerObj:setVisible(true) + roundObj:setVisible(true) + for index, cell in ipairs(self.selfRewardCells) do + cell:getBaseObject():setActive(false) + end + else + layerObj:setVisible(false) + roundObj:setVisible(false) + + local got = self.runeData:isGotRankReward() + local rewards + if canGot then + rewards = DataManager.ActBossRushData:getRankRewards(rank) + else + info = DataManager.ActBossRushData:getCurRankSelfInfo() + rewards = DataManager.ActBossRushData:getRankRewards(info.rank or 0) + got = false + end + + for index, cell in ipairs(self.selfRewardCells) do + if rewards and rewards[index] then + cell:refreshByConfig(rewards[index], got, got) + cell:getBaseObject():setActive(true) + if canGot then + cell:showFrameAnimation() + cell:addClickListener(function() + ModuleManager.ActBossRushManager:reqRankReward() + end) + else + cell:hideFrameAnimation() + cell:addClickListener(nil) + end + else + cell:getBaseObject():setActive(false) + end + end + end +end + +function DungeonRuneRankUI:refreshTime() + local uiMap = self.root:genAllChildren() + local remainTime = self.runeData:getCloseTime() + local str + str = Time:formatNumTimeStr(remainTime) + uiMap["dungeon_rune_rank_ui.bg.time_node.tx_time"]:setText(str) +end + +return DungeonRuneRankUI \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua.meta b/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua.meta new file mode 100644 index 00000000..d818e552 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ba762d026c5c762449d0473a87c6f1cf +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua new file mode 100644 index 00000000..4aa894f9 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua @@ -0,0 +1,69 @@ +local DungeonRuneRebirthUI = class("DungeonRuneRebirthUI", BaseUI) + +function DungeonRuneRebirthUI:isFullScreen() + return false +end + +function DungeonRuneRebirthUI:getPrefabPath() + return "assets/prefabs/ui/dungeon_rune/dungeon_rune_rebirth_ui.prefab" +end + +function DungeonRuneRebirthUI:ctor(params) + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + self.adCallback = params.adCallback + self.refuseCallback = params.refuseCallback + self.isHpOver = params.isHpOver +end + +function DungeonRuneRebirthUI:onLoadRootComplete() + self:_display() + self:_addListeners() +end + +function DungeonRuneRebirthUI:_display() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_rebirth_ui.title_bg_img.title_text"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TIP_2)) + uiMap["dungeon_rune_rebirth_ui.title_bg_img.content_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TIP_3)) + local desc2 + if self.isHpOver then + desc2 = I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TIP_4) + else + desc2 = I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TIP_5) + end + uiMap["dungeon_rune_rebirth_ui.title_bg_img.content_tx_2"]:setText(desc2) + uiMap["dungeon_rune_rebirth_ui.title_bg_img.desc_close"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_7)) + + local freeObj = uiMap["dungeon_rune_rebirth_ui.title_bg_img.ok_btn.text"] + freeObj:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE)) + local freeAd = uiMap["dungeon_rune_rebirth_ui.title_bg_img.ok_btn.icon"] + GFunc.centerImgAndTx(freeAd, freeObj, 5) +end + +function DungeonRuneRebirthUI:_addListeners() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_rebirth_ui.title_bg_img.desc_close"]:addClickListener(function() + self:closeUI() + local callback = self.refuseCallback + self.refuseCallback = nil + if callback then + callback() + end + end) + + uiMap["dungeon_rune_rebirth_ui.title_bg_img.ok_btn"]:addClickListener(function() + SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.DUNGEON_RUNE_REBIRTH, function() + ModuleManager.DungeonRuneManager:reqRebirth() + end) + end) + + self:addEventListener(EventManager.CUSTOM_EVENT.BATTLE_REBIRTH, function() + self:closeUI() + local callback = self.adCallback + self.adCallback = nil + if callback then + callback() + end + end) +end + +return DungeonRuneRebirthUI \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua.meta b/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua.meta new file mode 100644 index 00000000..568c8965 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 242d1a044e6b85b49b34a4f19b338670 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua new file mode 100644 index 00000000..e2977aa1 --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua @@ -0,0 +1,62 @@ +local DungeonRuneTaskUI = class("DungeonRuneTaskUI", BaseUI) + +local TASK_CELL = "app/ui/dungeon_rune/cell/rune_battle_task_cell" + +function DungeonRuneTaskUI:isFullScreen() + return false +end + +function DungeonRuneTaskUI:getPrefabPath() + return "assets/prefabs/ui/dungeon_rune/dungeon_rune_task_ui.prefab" +end + +function DungeonRuneTaskUI:ctor(params) + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + + self.id = params.id +end + +function DungeonRuneTaskUI:onLoadRootComplete() + self:_display() + self:_addListeners() +end + +function DungeonRuneTaskUI:_display() + local uiMap = self.root:genAllChildren() + if not self.taskCells then + self.taskCells = {} + for i = 1, 3 do + self.taskCells[i] = CellManager:addCellComp(uiMap["dungeon_rune_task_ui.bg.task_cell_" .. i], TASK_CELL) + end + end + + local chapterCondition = self.runeData:getChapterCondition(self.id) + local count = 0 + for index, cell in ipairs(self.taskCells) do + local condition = chapterCondition[index + 1] + if condition then + cell:getBaseObject():setActive(true) + local desc = self.runeData:getConditionDesc(condition) + local over = false + -- todo + cell:refresh(desc, condition, over) + count = count + 1 + else + cell:getBaseObject():setActive(false) + end + end + + local y = 124 + 152 * count + uiMap:setSizeDeltaY(y) + + uiMap["dungeon_rune_task_ui.bg.title_desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_NAME)) +end + +function DungeonRuneTaskUI:_addListeners() + local uiMap = self.root:genAllChildren() + uiMap["dungeon_rune_task_ui.bg.close_btn"]:addClickListener(function() + self:closeUI() + end) +end + +return DungeonRuneTaskUI \ No newline at end of file diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua.meta b/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua.meta new file mode 100644 index 00000000..9feea18f --- /dev/null +++ b/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5bd4bedbba775b54ca1f753a24aa19ad +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/userdata/dungeon/dungeon_base_entity.lua b/lua/app/userdata/dungeon/dungeon_base_entity.lua index ab448e1e..c6f9d5e5 100644 --- a/lua/app/userdata/dungeon/dungeon_base_entity.lua +++ b/lua/app/userdata/dungeon/dungeon_base_entity.lua @@ -20,6 +20,10 @@ function DungeonBaseEntity:getIsAllTimeOpen() return false end +function DungeonBaseEntity:getCloseTime() + return nil +end + -- 获取副本配置名称 function DungeonBaseEntity:getConfigName() return nil diff --git a/lua/app/userdata/dungeon/dungeon_data.lua b/lua/app/userdata/dungeon/dungeon_data.lua index d9aec2c3..db6c8312 100644 --- a/lua/app/userdata/dungeon/dungeon_data.lua +++ b/lua/app/userdata/dungeon/dungeon_data.lua @@ -236,6 +236,11 @@ function DungeonData:isActiveCycle(moduleKey, checkWeek) return true end + local closeTime = self.dataDungeons[moduleKey]:getCloseTime() + if closeTime and closeTime > 0 then + return true + end + for index, week in ipairs(self.dataDungeons[moduleKey]:getOpenWeekCycle()) do if week == checkWeek then return true @@ -363,6 +368,10 @@ function DungeonData:getCloseTime(moduleKey) return 1 end + if self.dataDungeons[moduleKey]:getCloseTime() then + return self.dataDungeons[moduleKey]:getCloseTime() + end + local isActive = true local count = 0 while isActive do diff --git a/lua/app/userdata/dungeon/dungeon_rune_entity.lua b/lua/app/userdata/dungeon/dungeon_rune_entity.lua index 64031e9d..0030a7b7 100644 --- a/lua/app/userdata/dungeon/dungeon_rune_entity.lua +++ b/lua/app/userdata/dungeon/dungeon_rune_entity.lua @@ -1,13 +1,14 @@ local DungeonBaseEntity = require "app/userdata/dungeon/dungeon_base_entity" local DungeonRuneEntity = class("DungeonRuneEntity", DungeonBaseEntity) -local FUND_AD_REWARD_ID = 1 +local TASK_TYPE = GConst.DungeonRuneConst.TASK_TYPE function DungeonRuneEntity:ctor() self.data.isDirty = false self.maxPassedId = 0 self.curday = 1 self.runeInfo = {} + self.season = 1 end function DungeonRuneEntity:clear() @@ -92,9 +93,9 @@ function DungeonRuneEntity:isNotShowLimitCount() return true end -function DungeonRuneEntity:getIsAllTimeOpen() - return true -end +-- function DungeonRuneEntity:getIsAllTimeOpen() +-- return true +-- end function DungeonRuneEntity:onClickFight() ModuleManager.DungeonRuneManager:showMainUI() @@ -115,6 +116,13 @@ function DungeonRuneEntity:getPassedMaxId() return self.maxPassedId end +function DungeonRuneEntity:updatePassedMaxId(maxId) + if not maxId then + return + end + self.maxPassedId = maxId +end + function DungeonRuneEntity:getRankRp() return true end @@ -133,6 +141,10 @@ function DungeonRuneEntity:canFight(id) return false end +function DungeonRuneEntity:passedChapter(id) + return self.maxPassedId >= id +end + function DungeonRuneEntity:curFight(id) return id == self.maxPassedId + 1 end @@ -148,4 +160,155 @@ function DungeonRuneEntity:getChapterRewards(id) return self:getConfig(id).first_reward end +function DungeonRuneEntity:getChapterSweepRewards(id) + return self:getConfig(id).sweep_reward +end + +function DungeonRuneEntity:getCloseTime() + return 100 +end + +function DungeonRuneEntity:isBossChapter(id) + local cfg = self:getConfig(id) + return not cfg.monster[2] -- 只有一个怪物的就是boss关卡 +end + +function DungeonRuneEntity:getChapterCondition(id) + local cfg = self:getConfig(id) + if not self.cacheChaperCondition then + self.cacheChaperCondition = {} + end + + if not self.cacheChaperCondition[id] then + self.cacheChaperCondition[id] = {} + table.insert(self.cacheChaperCondition[id], {0, cfg.round, 0}) + if cfg.requirement then + for _, condition in ipairs(cfg.requirement) do + table.insert(self.cacheChaperCondition[id], GFunc.getTable(condition)) + end + end + end + + return self.cacheChaperCondition[id] +end + +function DungeonRuneEntity:getConditionIcon(taskInfo) + local iconSprite + local iconConst = GConst.DungeonRuneConst.TASK_ICON[taskInfo[1]] + if type(iconConst) == "table" then + iconSprite = iconConst[taskInfo[2]] + else + iconSprite = iconConst + end + + return GConst.ATLAS_PATH.UI_DUNGEON_RUNE, iconSprite +end + +function DungeonRuneEntity:getConditionDesc(taskInfo) + local taskType = taskInfo[1] + local taskParams1 = taskInfo[2] + local taskParams2 = taskInfo[3] + if taskType == TASK_TYPE.PASS_ROUND then + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_1, taskParams1) + elseif taskType == TASK_TYPE.ELIMINATION_ELEMENT then + local desc = ModuleManager.HeroManager:getMatchTypeName(taskParams1, true) + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_2, taskParams2, desc) + elseif taskType == TASK_TYPE.BREAK_GRID_TYPE then + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_1, taskParams2) + elseif taskType == TASK_TYPE.KILL_MONSTER then + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_1, taskParams2) + end +end + +function DungeonRuneEntity:getChapterMonsterSpine(id) + local cfg = self:getConfig(id) + local monsterId = cfg.monster[1] + local info = ConfigManager:getConfig("monster")[monsterId] + return info.model_id, info.model_ui +end + +function DungeonRuneEntity:getChapterMonsterI18N(id) + local cfg = self:getConfig(id) + local monsterId = cfg.monster[1] + local info = ConfigManager:getConfig("monster")[monsterId] + local monsterBase = info.monster_base + return I18N:getConfig("monster_base")[monsterBase] +end + +function DungeonRuneEntity:canGetRankReward() + return true +end + +function DungeonBaseEntity:isGotRankReward() + return false +end + +function DungeonRuneEntity:getLastRankInfo() + return self.lastRankList +end + +function DungeonRuneEntity:getCurRankInfo() + return self.rankList +end + +function DungeonRuneEntity:getLastSelfInfo() + return self.lastSelfRank +end + +function DungeonRuneEntity:getCurRankSelfInfo() + return self.selfRank +end + +function DungeonRuneEntity:getRankConfig() + return ConfigManager:getConfig("dungeon_rune_rank") +end + +function DungeonRuneEntity:getRankRewards(rank) + if not rank or rank <= 0 then -- 没参加就没有 + return + end + if not self.cacheRankRewardsMap then -- 缓存名次对应的配置表ID + self.cacheRankRewardsMap = {} + end + if not self.cacheSeasonRankConfig then + self.cacheSeasonRankConfig = {} + local cfg = self:getRankConfig() + for id, info in pairs(cfg) do + if not self.cacheSeasonRankConfig[info.season] then + self.cacheSeasonRankConfig[info.season] = {} + end + table.insert(self.cacheSeasonRankConfig[info.season], id) + end + end + local cfg = self.cacheSeasonRankConfig[self.season] + if not cfg then + return + end + + if not self.cacheRankRewardsMap[self.season] then + self.cacheRankRewardsMap[self.season] = {} + end + + if not self.cacheRankRewardsMap[self.season][rank] then + local cfgCfg = self:getRankConfig() + for index, id in ipairs(cfg) do + local info = cfgCfg[id] + if info.ranking[1] and info.ranking[2] then + if info.ranking[1] <= rank and rank <= info.ranking[2] then + self.cacheRankRewardsMap[self.season][rank] = id + end + elseif info.ranking[1] then + if info.ranking[1] <= rank then + self.cacheRankRewardsMap[self.season][rank] = id + end + end + end + end + + local cfg = self:getRankConfig()[self.cacheRankRewardsMap[self.season][rank]] + if cfg then + return cfg.reward + end +end + return DungeonRuneEntity \ No newline at end of file From 704ac4757e86d9722ddc8c561befbb8891cbc6ff Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Sat, 9 Sep 2023 12:58:01 +0800 Subject: [PATCH 4/7] cell --- lua/app/ui/dungeon_rune/cell/rank_cell.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lua/app/ui/dungeon_rune/cell/rank_cell.lua b/lua/app/ui/dungeon_rune/cell/rank_cell.lua index 7e45a355..fb17643f 100644 --- a/lua/app/ui/dungeon_rune/cell/rank_cell.lua +++ b/lua/app/ui/dungeon_rune/cell/rank_cell.lua @@ -16,9 +16,13 @@ local RANK_BG = { function RankCell:refresh(index, info) local uiMap = self:getUIMap() if not self.playerHeadCell then - self.playerHeadCell = CellManager:addCellComp(uiMap["act_rank_cell.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) + self.playerHeadCell = CellManager:addCellComp(uiMap["rank_reward_cell.bg.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL) end - uiMap["act_rank_cell.tx_rank"]:setText(index) + local indexStr = index + if index > GConst.DungeonRuneConst.RANK_MAX_NUM then + indexStr = GConst.DungeonRuneConst.RANK_MAX_NUM .. "+" + end + uiMap["act_rank_cell.tx_rank"]:setText(indexStr) local imgRank = uiMap["act_rank_cell.img_rank"] if RANK_ICON[index] then imgRank:setVisible(true) From 37b12e064e7ed02e0acd02abd4ce0c64df31dbac Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 11 Sep 2023 10:07:43 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=A4=84=E7=90=86=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/dungeon_rune/dungeon_rune_rank_ui.lua | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua index 31c64635..d3e15c43 100644 --- a/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua +++ b/lua/app/ui/dungeon_rune/dungeon_rune_rank_ui.lua @@ -202,42 +202,31 @@ function DungeonRuneRankUI:refreshMyRankInfo() roundObj:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_11, round)) end - if self.curPage ~= PAGE_TYPE.REWARD then - layerObj:setVisible(true) - roundObj:setVisible(true) - for index, cell in ipairs(self.selfRewardCells) do - cell:getBaseObject():setActive(false) - end + local got = self.runeData:isGotRankReward() + local rewards + if canGot then + rewards = self.runeData:getRankRewards(rank) else - layerObj:setVisible(false) - roundObj:setVisible(false) + info = self.runeData:getCurRankSelfInfo() + rewards = self.runeData:getRankRewards(info.rank or 0) + got = false + end - local got = self.runeData:isGotRankReward() - local rewards - if canGot then - rewards = DataManager.ActBossRushData:getRankRewards(rank) - else - info = DataManager.ActBossRushData:getCurRankSelfInfo() - rewards = DataManager.ActBossRushData:getRankRewards(info.rank or 0) - got = false - end - - for index, cell in ipairs(self.selfRewardCells) do - if rewards and rewards[index] then - cell:refreshByConfig(rewards[index], got, got) - cell:getBaseObject():setActive(true) - if canGot then - cell:showFrameAnimation() - cell:addClickListener(function() - ModuleManager.ActBossRushManager:reqRankReward() - end) - else - cell:hideFrameAnimation() - cell:addClickListener(nil) - end + for index, cell in ipairs(self.selfRewardCells) do + if rewards and rewards[index] then + cell:refreshByConfig(rewards[index], got, got) + cell:getBaseObject():setActive(true) + if canGot then + cell:showFrameAnimation() + cell:addClickListener(function() + ModuleManager.ActBossRushManager:reqRankReward() + end) else - cell:getBaseObject():setActive(false) + cell:hideFrameAnimation() + cell:addClickListener(nil) end + else + cell:getBaseObject():setActive(false) end end end From 10253fbafbed2fb22af797f6a5d3b0917b50b49f Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Mon, 11 Sep 2023 20:01:55 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E7=AC=A6=E6=96=87=E5=89=AF=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/bi_report.lua | 2 + lua/app/common/data_manager.lua | 1 + lua/app/module/battle/battle_const.lua | 2 + lua/app/module/battle/battle_manager.lua | 9 + .../battle/component/battle_unit_comp.lua | 3 +- .../controller/battle_base_controller.lua | 57 ++- .../battle_controller_dungeon_rune.lua | 276 ++++++++++++++- .../dungeon_rune/dungeon_rune_const.lua | 50 +-- .../dungeon_rune/dungeon_rune_manager.lua | 106 +++++- lua/app/proto/proto_msg_type.lua | 141 ++++++++ lua/app/ui/battle/battle_rune_result_ui.lua | 333 ++++++++++++++++++ .../ui/battle/battle_rune_result_ui.lua.meta | 10 + lua/app/ui/battle/battle_ui.lua | 11 + lua/app/ui/common/common_formation_ui.lua | 2 + .../ui/currency_bar/cell/currency_cell.lua | 10 +- .../dungeon_rune/cell/rune_chapter_cell.lua | 4 +- .../ui/dungeon_rune/dungeon_rune_main_ui.lua | 15 +- .../dungeon_rune/dungeon_rune_rebirth_ui.lua | 2 +- .../ui/dungeon_rune/dungeon_rune_task_ui.lua | 13 +- lua/app/ui/hero/hero_comp.lua | 15 + lua/app/userdata/battle/battle_base_data.lua | 8 + .../battle/team/battle_team_entity.lua | 4 +- .../battle/team/battle_unit_entity.lua | 4 +- lua/app/userdata/dungeon/dungeon_data.lua | 12 + .../userdata/dungeon/dungeon_rune_entity.lua | 149 +++----- 25 files changed, 1055 insertions(+), 184 deletions(-) create mode 100644 lua/app/ui/battle/battle_rune_result_ui.lua create mode 100644 lua/app/ui/battle/battle_rune_result_ui.lua.meta diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua index 6c49c64b..f91aab77 100644 --- a/lua/app/common/bi_report.lua +++ b/lua/app/common/bi_report.lua @@ -151,7 +151,9 @@ BIReport.ITEM_GET_TYPE = { ACT_FOURTEEN_DAY_EXCHANGE = "ActFourteenDayExchange", FOURTEEN_DAY_GIFT = "FourteenDayGift", DUNGEON_RUNE_START = "DungeonRuneStart", + DUNGEON_RUNE_SETTLEMENT = "DungeonRuneSettlement", DUNGEON_RUNE_SWEEP = "DungeonRuneSweep", + DUNGEON_RUNE_BUY_WING = "DungeonRunebuyWing", } BIReport.ADS_CLICK_TYPE = { diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua index e15ad478..d38f5f9a 100644 --- a/lua/app/common/data_manager.lua +++ b/lua/app/common/data_manager.lua @@ -188,6 +188,7 @@ function DataManager:initWithServerData(data) end self.HeroFundData:init(data.hero_fund) self.FourteenDayData:init(data.fourteen_bounty) + self.DungeonData:initDungeonRune(data.chapter_rune_challenge) -- 任务数据最后初始化,依赖其他模块的数据 self.TaskData:init() diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index 3ce09bb7..6d18603a 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -239,6 +239,8 @@ BattleConst.SPECIAL_DAMAGE_OR_CURE_TYPE = { ROUND_BEGIN_HEAL = "round_begin_heal", KILL_MAX_ELEMENT_AND_HEAL = "kill_max_element_and_heal", BE_SUCKED = "be_sucked", + + AD_REBIRTH = "ad_rebirth", } BattleConst.SKILL_RECORD_DATA_NAME = { diff --git a/lua/app/module/battle/battle_manager.lua b/lua/app/module/battle/battle_manager.lua index 2288dc30..2452aff6 100644 --- a/lua/app/module/battle/battle_manager.lua +++ b/lua/app/module/battle/battle_manager.lua @@ -72,6 +72,15 @@ function BattleManager:showBossRushBattleResultUI(battleType, combatReport, task }) end +function BattleManager:showBattleRuneResultUI(battleType, rewards, combatReport, remainRound) + UIManager:showUI("app/ui/battle/battle_rune_result_ui", { + battleType = battleType, + combatReport = combatReport, + rewards = rewards, + remainRound = remainRound, + }) +end + function BattleManager:showBoxOpenUI(rewards, callback) UIManager:showUI("app/ui/battle/battle_box_open_ui", {rewards = rewards, callback = callback}) end diff --git a/lua/app/module/battle/component/battle_unit_comp.lua b/lua/app/module/battle/component/battle_unit_comp.lua index 440946c1..d3c7e39a 100644 --- a/lua/app/module/battle/component/battle_unit_comp.lua +++ b/lua/app/module/battle/component/battle_unit_comp.lua @@ -1659,7 +1659,7 @@ function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus, d end local shieldHpBefore = self.unitEntity:getShieldHp() - local hpRealReduce, shieldWorkOn = self.unitEntity:takeDamageOrCure(num) + local hpRealReduce, shieldWorkOn = self.unitEntity:takeDamageOrCure(num, self) if hpRealReduce < 0 and self.side == BattleConst.SIDE_DEF then -- 实际掉血了 self:addBattleExp(atker, hpRealReduce) end @@ -2224,6 +2224,7 @@ function BattleUnitComp:cancelPassiveSkillEffect(skill) end function BattleUnitComp:rebirth() + self.isClear = false self.currState = UNIT_STATE.INIT self.unitEntity:rebirth() end diff --git a/lua/app/module/battle/controller/battle_base_controller.lua b/lua/app/module/battle/controller/battle_base_controller.lua index 9a38032f..0a5ba17b 100644 --- a/lua/app/module/battle/controller/battle_base_controller.lua +++ b/lua/app/module/battle/controller/battle_base_controller.lua @@ -129,6 +129,16 @@ function BattleBaseController:getMonsterHpAddition() return 0 end +-- 怪物攻击力固定 +function BattleBaseController:getMonsterAtkFixed() + return 0 +end + +-- 怪物血量固定 +function BattleBaseController:getMonsterHpFixed() + return 0 +end + -- 需要额外加载的资源 function BattleBaseController:loadOtherRes(callback) return callback() @@ -494,6 +504,8 @@ function BattleBaseController:init(params, snapshot) self.waitingFillCount = 0 self.needWaitingBoardOver = nil self.curWaveMonsterDead = false + self.totalBreakedGridType = {} + self.totalEliminateCountMap = {} self.curActionSide = SIDE_ATK self:resetSideActionCount() @@ -1150,20 +1162,18 @@ function BattleBaseController:enterNextTeamAction() self:hideCombo() self:hideCounterAttack() - if self:checkTeamIsDead(function() self:enterRoundEnd() end) then - return - end - - if not self.battleTeamActionList or not self.battleTeamActionList[1] then - self:enterRoundEnd() - return - end - - local action = table.remove(self.battleTeamActionList, 1) - action() + self:checkTeamIsDead(function() self:enterRoundEnd() end, function() + if not self.battleTeamActionList or not self.battleTeamActionList[1] then + self:enterRoundEnd() + return + end + + local action = table.remove(self.battleTeamActionList, 1) + action() + end) end -function BattleBaseController:checkTeamIsDead(callback) +function BattleBaseController:checkTeamIsDead(callback, falseCallback) local defTeam = self.battleData:getDefTeam() local atkTeam = self.battleData:getAtkTeam() if atkTeam:getIsDead() and defTeam:getIsDead() then -- 都死了,直接结算 @@ -1197,7 +1207,9 @@ function BattleBaseController:checkTeamIsDead(callback) return true end - return false + if falseCallback then + falseCallback() + end end function BattleBaseController:getIsAtkStep() @@ -1238,11 +1250,9 @@ function BattleBaseController:enterRoundEnd() self.atkTeam:onRoundEnd() self.defTeam:onRoundEnd() - if self:checkTeamIsDead(function() self:enterNextWave() end) then - return - end - - self:onRoundEnd() + self:checkTeamIsDead(function() self:enterNextWave() end, function() + self:onRoundEnd() + end) end function BattleBaseController:onRoundEnd(toNextWave) @@ -1346,6 +1356,10 @@ function BattleBaseController:onLinkOver() end) end, self.curActionSide) + for element, count in pairs(elementTypeMap) do + self.totalEliminateCountMap[element] = (self.totalEliminateCountMap[element] or 0) + count + end + self.eliminateCount = self.eliminateCount + 1 self.eliminateTotalCount = self.eliminateTotalCount + 1 if count > self.maxLinkCount then @@ -1444,7 +1458,9 @@ function BattleBaseController:dealGridBreak(posId, condition, time, breakedMap, aniUnit.breakSfxName = entity:getBreakSfx() aniUnit.callback = function() - self.lastRoundBreakedGridType[entity:getGridType()] = true + local gridType = entity:getGridType() + self.lastRoundBreakedGridType[gridType] = true + self.totalBreakedGridType[gridType] = (self.totalBreakedGridType[gridType] or 0) + 1 entity:tryBreakGrid(condition) if entity:getIsIdle() then self:dealGridEdge(posId) @@ -2185,6 +2201,9 @@ function BattleBaseController:getRandomGridInfo() for typeName, typeNum in pairs(BattleConst.ELEMENT_TYPE) do if not self:getSealElementType()[typeNum] and self:getSkillEntityByElement(typeNum) then local weight = ((map[typeNum] or 0) + 1) * BattleConst.ELEMENT_WIGHT + if self.elementWeightMap and self.elementWeightMap[typeNum] then + weight = weight + self.elementWeightMap[typeNum] + end if weight > BattleConst.MAX_ELEMENT_WIGHT then weight = BattleConst.MAX_ELEMENT_WIGHT end diff --git a/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua b/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua index 0528c560..c79db9c5 100644 --- a/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua +++ b/lua/app/module/battle/controller/battle_controller_dungeon_rune.lua @@ -3,9 +3,11 @@ local BattleControllerDungeonRune = class("BattleControllerDungeonRune", BattleC local BattleConst = GConst.BattleConst local SIDE_ATK = BattleConst.SIDE_ATK local SIDE_DEF = BattleConst.SIDE_DEF +local PASSIVE_EVENT = BattleConst.PASSIVE_EVENT +local UNIT_STATE = BattleConst.UNIT_STATE function BattleControllerDungeonRune:getBoardConfig() - return ConfigManager:getConfig("chapter_board_dungeon_rune") + return ConfigManager:getConfig("chapter_board_rune") end function BattleControllerDungeonRune:getChapterConfig() @@ -17,6 +19,182 @@ function BattleControllerDungeonRune:getChapterId() return runeData:getCurFightChapterId() end +function BattleControllerDungeonRune:initOther() + self.canRebirthTimes = 1 -- 每次只能复活一次 + self.dungeonRuneRemainRoundCount = self:getChapterConfig()[self.chapterId].round or 1 + + if self.battleUI then + self.battleUI:refreshWave(self.dungeonRuneRemainRoundCount, GConst.ATLAS_PATH.COMMON, "common_dec_15") + end +end + +-- 怪物攻击力固定 +function BattleControllerDungeonRune:getMonsterAtkFixed() + if not self.monsterAtkFixed then + self.monsterAtkFixed = self:getChapterConfig()[self.chapterId].atk or 0 + end + return self.monsterAtkFixed +end + +-- 怪物血量固定 +function BattleControllerDungeonRune:getMonsterHpFixed() + if not self.monsterHpFixed then + self.monsterHpFixed = self:getChapterConfig()[self.chapterId].hp or 0 + end + return self.monsterHpFixed +end + +function BattleControllerDungeonRune:getMaxWave() + self:getInitBoard() + if not self.cacheMaxWave then + self.cacheMaxWave = #self.monsterList + if self.cacheMaxWave > 1 then + self.cacheMaxWave = 9999999 -- 无限波次 + end + end + return self.cacheMaxWave +end + +function BattleControllerDungeonRune:enterNextWave() + local waveIndex = self:getWaveIndex() + if waveIndex ~= 0 and self.curWaveMonsterDead then + if self.isBossWave then + self:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.KILL_BOSS, 1) + else + self:addTaskProgress(BattleConst.BATTLE_TASK_FIELD.KILL_NORMAL_MONSTER, 1) + end + self:setTaskProgress(BattleConst.BATTLE_TASK_FIELD.PASS_WAVE, waveIndex) + end + + -- 完成任务 + local taskOver = self:getRuneTaskAllOver() + if self.curWaveMonsterDead and taskOver then + self.victory = true + self:postWaveOver(false) + self:battleEnd() + return + end + + if waveIndex >= self.maxWaveIndex then + self.victory = self.curWaveMonsterDead + self:postWaveOver(not self.curWaveMonsterDead) + self:battleEnd() + return + end + + local atkTeam = self.battleData:getAtkTeam() + if not atkTeam or atkTeam:getIsDead() then + if self:tryShowRebirth(function() self:onEnterNextWave() end) then + return + end + + self.victory = false + self:postWaveOver(true) + self:battleEnd() + return + end + + self:onEnterNextWave() +end + +function BattleControllerDungeonRune:onEnterNextWave() + local waveIndex = self:getWaveIndex() + if waveIndex ~= 0 then -- 第一波 + self:postWaveOver(false) + end + + self.curWaveMonsterDead = false + self:addWaveIndex(1) + waveIndex = self:getWaveIndex() + self:refreshWave(waveIndex) + if waveIndex == 1 then -- 第一波 + self.needWaitingBoardOver = true + self:generateBoard(true) + else + -- 上报关卡结束 + self.defTeam:prepare() + end + + self.waveDurationTime = 0 + self.eliminateCount = 0 + + self:snapshotBattleInfo() + + self.isBossWave = self.defTeam:getMainUnit().unitEntity:getIsBoss() + self:postFightStart() + if not self.needWaitingBoardOver then + self:enterRoundBegin() + end + if not self.isBossWave then + self.battleUI:hideBuffTips() + end +end + +function BattleControllerDungeonRune:enterRoundBegin() + if self.dungeonRuneRemainRoundCount <= 0 then + if self.canRebirthTimes > 0 then + ModuleManager.DungeonRuneManager:showRebirthUI(function() + self.canRebirthTimes = self.canRebirthTimes - 1 + self.dungeonRuneRemainRoundCount = self.dungeonRuneRemainRoundCount + 5 -- 5回合 + self.dungeonRuneRemainRoundCount = self.dungeonRuneRemainRoundCount - 1 + if self.battleUI then + self.battleUI:refreshWave(self.dungeonRuneRemainRoundCount + 1, GConst.ATLAS_PATH.COMMON, "common_dec_15") + end + BattleController.enterRoundBegin(self) + end, function() + self.victory = false + self:postWaveOver(false) + self:battleEnd() + end, false) + else + self.victory = false + self:postWaveOver(false) + self:battleEnd() + end + return + end + + self.dungeonRuneRemainRoundCount = self.dungeonRuneRemainRoundCount - 1 + if self.battleUI then + self.battleUI:refreshWave(self.dungeonRuneRemainRoundCount + 1, GConst.ATLAS_PATH.COMMON, "common_dec_15") + end + BattleController.enterRoundBegin(self) +end + +function BattleControllerDungeonRune:getNextMonsterId(waveIndex) + self:getInitBoard() + waveIndex = waveIndex or self:getWaveIndex() + 1 + local monsterIndex = math.random(1, #self.monsterList) + return self.monsterList[monsterIndex] +end + +function BattleControllerDungeonRune:getInitBoard() + if not self.boradList then + self.boradList = {} + self.fixedRandomGrid = {} + self.mysteryBoxIndexMap = {} + self.monsterList = {} + self.elementWeightMap = {} + + local boardCfg = self:getBoardConfig() + local info = self:getChapterConfig()[self.chapterId] + if info then + self.monsterList = GFunc.getTable(info.monster) + local cfg = boardCfg[info.chapter_board] + if cfg then + table.insert(self.boradList, {board = GFunc.getTable(cfg.board), gridEdge = GFunc.getTable(cfg.grid_edge)}) + end + if info.weights then + for index, v in ipairs(info.weights) do + self.elementWeightMap[v[1]] = v[2] + end + end + end + end + + return self.boradList, self.fixedRandomGrid, self.mysteryBoxIndexMap +end + function BattleControllerDungeonRune:onLoadComplete(...) -- 处理技能 local unlockAllSkill = function(side) @@ -40,11 +218,77 @@ function BattleControllerDungeonRune:onLoadComplete(...) end end unlockAllSkill(SIDE_ATK) - unlockAllSkill(SIDE_DEF) BattleController.onLoadComplete(self, ...) end +function BattleControllerDungeonRune:enterRoundEnd() + self.roundStep = BattleConst.BATTLE_ROUND_STEP.ON_END + local defTeam = self.battleData:getDefTeam() + if not defTeam or defTeam:getIsDead() then -- 怪物死了, 直接进入刷新逻辑 + self.curWaveMonsterDead = true + self.atkTeam:onRoundEnd() + self:enterNextWave() + return + end + + local atkTeam = self.battleData:getAtkTeam() + if not atkTeam or atkTeam:getIsDead() then -- 英雄死了, 直接结算 + if self:tryShowRebirth(function() self:enterRoundEnd() end) then + return + end + + self.defTeam:onRoundEnd() + self:enterNextWave() + return + end + + self.atkTeam:onRoundEnd() + self.defTeam:onRoundEnd() + + self:checkTeamIsDead(function() self:enterNextWave() end, function() + self:onRoundEnd() + end) +end + +function BattleControllerDungeonRune:checkTeamIsDead(callback, falseCallback) + if self:tryShowRebirth(function() + BattleController.checkTeamIsDead(self, callback, falseCallback) + end) then + return true + end + BattleController.checkTeamIsDead(self, callback, falseCallback) +end + +function BattleControllerDungeonRune:tryShowRebirth(callback) + local atkTeam = self.battleData:getAtkTeam() + if atkTeam:getIsDead() and self.canRebirthTimes > 0 then + ModuleManager.DungeonRuneManager:showRebirthUI(function() + self.canRebirthTimes = self.canRebirthTimes - 1 + local mainUnit = self.atkTeam:getMainUnit() + mainUnit:rebirth() + local hp = mainUnit.unitEntity:getMaxHp() * 5000 // GConst.BattleConst.DEFAULT_FACTOR -- 回血50% + local x = mainUnit:takeDamageOrCure(mainUnit, hp, GConst.BattleConst.EFFECT_TYPE.HEAL, 0, BattleConst.SPECIAL_DAMAGE_OR_CURE_TYPE.AD_REBIRTH) + local hpPercent = mainUnit.unitEntity:getHpPercent() + self:refreshHp(mainUnit:getSide(), mainUnit.unitEntity:getHp(), hpPercent) + self.atkTeam:checkPassiveEvent(PASSIVE_EVENT.HP_LOWER_THAN, mainUnit, hpPercent) + + mainUnit:changeState(UNIT_STATE.IDLE) + mainUnit:initPosition() + + if callback then + callback() + end + end, function() + self.canRebirthTimes = self.canRebirthTimes - 1 + if callback then + callback() + end + end, true) + return true + end +end + function BattleControllerDungeonRune:controllBattleEnd() self.combatReport = { battleType = GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, @@ -65,7 +309,7 @@ function BattleControllerDungeonRune:controllBattleEnd() if not self.victory then self.combatReport.wave = self.combatReport.wave - 1 end - ModuleManager.DungeonArmorManager:reqEndChallenge(self.chapterId, self.combatReport, self.taskProgress) + ModuleManager.DungeonRuneManager:reqFightSettlement(self.chapterId, self.combatReport, self.taskProgress, self.dungeonRuneRemainRoundCount) end function BattleControllerDungeonRune:postWaveOver(atkDead, isQuit) @@ -105,4 +349,30 @@ function BattleControllerDungeonRune:postFightStart() BIReport:postFightBegin(GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, self:getWaveIndex(), self.chapterId, unlockMaxChapter, startTimes) end +function BattleControllerDungeonRune:getRuneTaskNumByType(taskInfo) + local taskType = taskInfo[1] + local taskParams1 = taskInfo[2] + if taskType == GConst.DungeonRuneConst.TASK_TYPE.ELIMINATION_ELEMENT then + return self.totalEliminateCountMap[taskParams1] or 0 + elseif taskType == GConst.DungeonRuneConst.TASK_TYPE.BREAK_GRID_TYPE then + return self.totalBreakedGridType[taskParams1] or 0 + elseif taskType == GConst.DungeonRuneConst.TASK_TYPE.KILL_MONSTER then + return self:getTaskProgress()[GConst.BattleConst.BATTLE_TASK_FIELD.KILL_NORMAL_MONSTER] + end +end + +function BattleControllerDungeonRune:getRuneTaskAllOver() + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + local chapterCondition = runeData:getChapterCondition(self.chapterId) + local taskProgress = ModuleManager.DungeonRuneManager:getTaskStatus(self, chapterCondition) + local taskOver = true + for type, info in pairs(taskProgress) do + if not info.over then + taskOver = false + break + end + end + return taskOver +end + return BattleControllerDungeonRune \ No newline at end of file diff --git a/lua/app/module/dungeon_rune/dungeon_rune_const.lua b/lua/app/module/dungeon_rune/dungeon_rune_const.lua index fc9d17b4..23f29d2b 100644 --- a/lua/app/module/dungeon_rune/dungeon_rune_const.lua +++ b/lua/app/module/dungeon_rune/dungeon_rune_const.lua @@ -20,31 +20,31 @@ DungeonRuneConst.TASK_ICON = { [BattleConst.ELEMENT_TYPE.PURPLE] = "dungeon_rune_task_3", }, [DungeonRuneConst.TASK_TYPE.BREAK_GRID_TYPE] = { - [2] = "battle_obstacle_stone_2", - [3] = "battle_obstacle_stone_1", - [4] = "battle_obstacle_vine", - [5] = "battle_obstacle_ice", - [7] = "battle_obstacle_stone_3", - [12] = "battle_obstacle_leaf", - [13] = "battle_obstacle_jelly", - [18] = "battle_obstacle_stump_1", - [19] = "battle_obstacle_stump_2", - [20] = "battle_obstacle_stump_3", - [21] = "battle_obstacle_blister", - [22] = "battle_obstacle_silt", - [23] = "battle_obstacle_poisonous_mist", - [24] = "battle_obstacle_altar_1", - [25] = "battle_obstacle_altar_2", - [26] = "battle_obstacle_altar_3", - [27] = "battle_obstacle_circle", - [28] = "battle_obstacle_stalactite_1", - [29] = "battle_obstacle_stalactite_2", - [30] = "battle_obstacle_stalactite_3", - [31] = "battle_obstacle_lron_1", - [32] = "battle_obstacle_lron_2", - [33] = "battle_obstacle_lron_3", - [34] = "battle_obstacle_lava", - [35] = "battle_obstacle_leaf", + [2] = "dungeon_rune_task_stone_2", + [3] = "dungeon_rune_task_stone_1", + [4] = "dungeon_rune_task_vine", + [5] = "dungeon_rune_task_ice", + [7] = "dungeon_rune_task_stone_3", + [12] = "dungeon_rune_task_stump_1", + [13] = "dungeon_rune_task_jelly", + [18] = "dungeon_rune_task_stump_1", + [19] = "dungeon_rune_task_stump_2", + [20] = "dungeon_rune_task_stump_3", + [21] = "dungeon_rune_task_blister", + [22] = "dungeon_rune_task_silt", + [23] = "dungeon_rune_task_poisonous_mist", + [24] = "dungeon_rune_task_altar_1", + [25] = "dungeon_rune_task_altar_2", + [26] = "dungeon_rune_task_altar_3", + [27] = "dungeon_rune_task_circle", + [28] = "dungeon_rune_task_stalactite_1", + [29] = "dungeon_rune_task_stalactite_2", + [30] = "dungeon_rune_task_stalactite_3", + [31] = "dungeon_rune_task_iron_1", + [32] = "dungeon_rune_task_iron_2", + [33] = "dungeon_rune_task_iron_3", + [34] = "dungeon_rune_task_lava", + [35] = "dungeon_rune_task_tussock", }, [DungeonRuneConst.TASK_TYPE.KILL_MONSTER] = "dungeon_rune_task_8", } diff --git a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua index 9cc1038a..3cab0e3d 100644 --- a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua +++ b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua @@ -8,6 +8,7 @@ function DungeonRuneManager:showFightUI(id) local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) if not runeData:canFight(id) then GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.PASS_REQUIRE)) + return end local params = {id = id} @@ -25,7 +26,7 @@ function DungeonRuneManager:showTaskUI(id) end function DungeonRuneManager:showRebirthUI(adCallback, closeCallback, isHpOver) - UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_rebirth_ui",{adCallback = adCallback, closeCallback = closeCallback, isHpOver = isHpOver}) + UIManager:showUI("app/ui/dungeon_rune/dungeon_rune_rebirth_ui",{adCallback = adCallback, refuseCallback = closeCallback, isHpOver = isHpOver}) end function DungeonRuneManager:reqFight(id) @@ -35,23 +36,30 @@ function DungeonRuneManager:reqFight(id) return end - local passed = runeData:passedChapter(id) - if not passed and not GFunc.checkCost(GConst.ItemConst.ITEM_ID_GLOD_WING, 1, true) then - return - end + -- local passed = runeData:passedChapter(id) + -- if not passed and not GFunc.checkCost(GConst.ItemConst.ITEM_ID_GLOD_WING, 1, true) then + -- return + -- end - local heroes = {} - local formation = DataManager.FormationData:getDungeonArmorFormation() - for matchType, heroId in pairs(formation) do - if heroId > 0 then - table.insert(heroes, heroId) - end - end - self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeStartReq, {id = id, heroes = heroes}, {}, self.rspFight, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_START) + -- local heroes = {} + -- local formation = DataManager.FormationData:getDungeonRuneFormation() + -- for matchType, heroId in pairs(formation) do + -- if heroId > 0 then + -- table.insert(heroes, heroId) + -- end + -- end + -- self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeStartReq, {id = id, heroes = heroes}, {}, self.rspFight, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_START) + self:rspFight({err_code = GConst.ERROR_STR.SUCCESS, reqData = {id = id}}) end function DungeonRuneManager:rspFight(result) if result.err_code == GConst.ERROR_STR.SUCCESS then + if not result.reqData then + return + end + + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + runeData:setCurFightChapterId(result.reqData.id) local params = { atkFormation = {} } @@ -70,14 +78,15 @@ function DungeonRuneManager:rspFight(result) end end -function DungeonRuneManager:reqFightSettlement(chapterId, combatReport, taskProgress) +function DungeonRuneManager:reqFightSettlement(chapterId, combatReport, taskProgress, remainRound) local parmas = { id = chapterId, win = combatReport.victory, task_stat = taskProgress, combatReport = combatReport, + remainRound = remainRound, } - self:sendmessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeSettlementReq, parmas, {}, self.rspFightSettlement, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_SETTLEMENT) + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeSettlementReq, parmas, {}, self.rspFightSettlement, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_SETTLEMENT) end function DungeonRuneManager:rspFightSettlement(result) @@ -85,10 +94,12 @@ function DungeonRuneManager:rspFightSettlement(result) local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) local passId = runeData:getPassedMaxId() if result.reqData then - runeData:updatePassedMaxId(result.reqData.id, result) + if result.reqData.win then + runeData:updatePassedMaxId(result.reqData.id, result.max_id) + runeData:updatePassRound(result.reqData.id, result.reqData.task_stat[GConst.BattleConst.BATTLE_TASK_FIELD.TOTAL_TURN] or 0) + end + ModuleManager.BattleManager:showBattleRuneResultUI(GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE, result.rewards, result.reqData.combatReport, result.reqData.remainRound) end - -- ModuleManager.BattleManager:showBattleArmorResultUI(GConst.BattleConst.BATTLE_TYPE.DUNGEON_ARMOR, result.rewards, result.reqData.combatReport) - if passId ~= runeData:getPassedMaxId() then local data = {} data.dungeon_progress = DataManager.DungeonData:getDungeonBIStr() @@ -126,7 +137,7 @@ function DungeonRuneManager:rspSweep(result) end end -function DungeonRuneManager:reqRebirth() +function DungeonRuneManager:reqRebirth(isHpOver) self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneAdReq, {}, {}, self.rspRebirth) end @@ -136,4 +147,61 @@ function DungeonRuneManager:rspRebirth(result) end end +function DungeonRuneManager:reqFormation(formation) + if not DataManager.FormationData:formationIsFull(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE) then + GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.BATTLE_DESC_8)) + return + end + + local heroes = {} + for matchType, heroId in pairs(formation) do + if heroId and heroId > 0 then + table.insert(heroes, heroId) + end + end + local params = { + heroes = heroes + } + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeHeroesReq, params, {}, self.rspFormation) +end + +function DungeonRuneManager:rspFormation(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.FORMATION_CHANGE, {type = GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE}) + end +end + +function DungeonRuneManager:getTaskStatus(battleControllerRune, taskInfo) + local taskProgress = {} + for index, condition in ipairs(taskInfo) do + local progress = battleControllerRune:getRuneTaskNumByType(condition) + if progress then + taskProgress[condition[1]] = { + progress = progress, + totalProgress = condition[3], + over = progress >= condition[3] + } + end + end + + return taskProgress +end + +function DungeonRuneManager:reqBuySliverWing(count) + if not count then + return + end + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneBuySliverReq, {buy_count = count}, {}, self.rspBuySliverWing, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_BUY_WING) +end + +function DungeonRuneManager:rspBuySliverWing(result) + if result.err_code == GConst.ERROR_STR.SUCCESS then + GFunc.showRewardBox(result.rewards) + if result.reqData then + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + runeData:addSliverWingBuyCount(result.reqData.buy_count) + end + end +end + return DungeonRuneManager \ No newline at end of file diff --git a/lua/app/proto/proto_msg_type.lua b/lua/app/proto/proto_msg_type.lua index d785e5ca..b13da0d9 100644 --- a/lua/app/proto/proto_msg_type.lua +++ b/lua/app/proto/proto_msg_type.lua @@ -17,6 +17,8 @@ local ProtoMsgType = { [295350214] = "ChangeAvatarRsp", [317272657] = "IdleQuickReq", [317274490] = "IdleQuickRsp", + [326310937] = "ActivityPVPDataReq", + [326312770] = "ActivityPVPDataRsp", [335671647] = "ChapterWeaponChallengeSettlementReq", [335673480] = "ChapterWeaponChallengeSettlementRsp", [349009610] = "TriggerGrowUpGiftNtf", @@ -39,6 +41,8 @@ local ProtoMsgType = { [697002542] = "FourteenBountyTaskAwardRsp", [737107384] = "BuyMallIdleReq", [737109217] = "BuyMallIdleRsp", + [761068365] = "RuneLockReq", + [761070198] = "RuneLockRsp", [822916593] = "MatchReq", [822918426] = "MatchRsp", [834139466] = "ChapterGoldChallengeStartReq", @@ -57,6 +61,10 @@ local ProtoMsgType = { [1068771132] = "ReconnectRsp", [1070841461] = "LoginReq", [1070843294] = "LoginRsp", + [1163725920] = "ChapterRuneAdReq", + [1163727753] = "ChapterRuneAdRsp", + [1283733956] = "ActivityPVPMatchReq", + [1283735789] = "ActivityPVPMatchRsp", [1312685858] = "BossRushTopReq", [1312687691] = "BossRushTopRsp", [1326064687] = "FourteenBountyExchangeAwardReq", @@ -93,6 +101,8 @@ local ProtoMsgType = { [1746319121] = "IdleInfoRsp", [1751460231] = "PVPHeroesArrayReq", [1751462064] = "PVPHeroesArrayRsp", + [1800420732] = "ChapterRuneChallengeStartReq", + [1800422565] = "ChapterRuneChallengeStartRsp", [1901321540] = "PipedReq", [2017336372] = "BossRushSettlementReq", [2017338205] = "BossRushSettlementRsp", @@ -100,21 +110,32 @@ local ProtoMsgType = { [2060509863] = "ChangeAvatarFrameRsp", [2095612947] = "ChangeNameReq", [2095614780] = "ChangeNameRsp", + [2103189773] = "RuneUpdateNtf", [2105154645] = "CDKeyUseReq", [2105156478] = "CDKeyUseRsp", [2118851896] = "HeroUpgradeReq", [2118853729] = "HeroUpgradeRsp", + [2140118069] = "ActivityPVPDecideHeroReq", + [2140119902] = "ActivityPVPDecideHeroRsp", [2164009445] = "BossRushStartReq", [2164011278] = "BossRushStartRsp", [2198847028] = "BossRushBoughtNtf", + [2224825865] = "ChapterRuneChallengeSettlementReq", + [2224827698] = "ChapterRuneChallengeSettlementRsp", + [2247710148] = "ActivityPVPBountyClaimReq", + [2247711981] = "ActivityPVPBountyClaimRsp", [2285872137] = "ChapterBoxRewardReq", [2285873970] = "ChapterBoxRewardRsp", [2314118791] = "ChapterWeaponLatestPlayerInfoReq", [2314120624] = "ChapterWeaponLatestPlayerInfoRsp", + [2369545247] = "ActivityPVPRankReq", + [2369547080] = "ActivityPVPRankRsp", [2420360424] = "FourteenDayInfoReq", [2420362257] = "FourteenDayInfoRsp", [2429586383] = "MailCycleReq", [2429588216] = "MailCycleRsp", + [2452882757] = "ChapterRuneFarmReq", + [2452884590] = "ChapterRuneFarmRsp", [2467213182] = "ChapterWeaponChallengeFarmReq", [2467215015] = "ChapterWeaponChallengeFarmRsp", [2494225153] = "PVPSettlementADRewardReq", @@ -129,6 +150,8 @@ local ProtoMsgType = { [2524881546] = "PVPRecordHistoryRsp", [2553351971] = "ChapterDailyChallengeStartReq", [2553353804] = "ChapterDailyChallengeStartRsp", + [2566705464] = "ChapterRuneChallengeFarmReq", + [2566707297] = "ChapterRuneChallengeFarmRsp", [2581180989] = "MailListReq", [2581182822] = "MailListRsp", [2620369240] = "SevenDayRewardReq", @@ -138,6 +161,8 @@ local ProtoMsgType = { [2706989220] = "TriggerGrowUpGift2Ntf", [2708281176] = "PVPChallengeSettlementReq", [2708283009] = "PVPChallengeSettlementRsp", + [2723654496] = "ActivityPVPBeginReq", + [2723656329] = "ActivityPVPBeginRsp", [2731281392] = "MailExtractReq", [2731283225] = "MailExtractRsp", [2849800229] = "MailReadReq", @@ -175,13 +200,19 @@ local ProtoMsgType = { [3197501935] = "ArenaBountyBoughtNtf", [3209780877] = "BossRushRankReq", [3209782710] = "BossRushRankRsp", + [3222113774] = "ActivityPVPOverCDReq", + [3222115607] = "ActivityPVPOverCDRsp", [3224230499] = "SevenDayTaskRewardReq", [3224232332] = "SevenDayTaskRewardRsp", [3274332802] = "BossRushBountyUnlockReq", [3274334635] = "BossRushBountyUnlockRsp", + [3289898743] = "ChapterRuneRankReq", + [3289900576] = "ChapterRuneRankRsp", [3309820798] = "HeroPutOnReq", [3309822631] = "HeroPutOnRsp", [3341173994] = "BountyBoughtNtf", + [3353409448] = "ChapterRuneRankRewardReq", + [3353411281] = "ChapterRuneRankRewardRsp", [3359969683] = "ChapterGoldChallengeSettlementReq", [3359971516] = "ChapterGoldChallengeSettlementRsp", [3363939655] = "TaskDailyAdReq", @@ -203,7 +234,11 @@ local ProtoMsgType = { [3607881087] = "AuthRsp", [3613497485] = "ArenaBountyRewardReq", [3613499318] = "ArenaBountyRewardRsp", + [3623429051] = "ActivityPVPBountyClaimByDiamondReq", + [3623430884] = "ActivityPVPBountyClaimByDiamondRsp", [3624439233] = "NewMailNtf", + [3629726454] = "ActivityPVPSettlementReq", + [3629728287] = "ActivityPVPSettlementRsp", [3629950931] = "PVPStageRewardReq", [3629952764] = "PVPStageRewardRsp", [3663247602] = "MallDailyResetNtf", @@ -215,10 +250,16 @@ local ProtoMsgType = { [3739568306] = "SummerDataRsp", [3741702491] = "MallDailyOverDayReq", [3741704324] = "MallDailyOverDayRsp", + [3742313244] = "ChapterRunePlayerInfoReq", + [3742315077] = "ChapterRunePlayerInfoRsp", [3757169544] = "BountyRewardReq", [3757171377] = "BountyRewardRsp", + [3762291611] = "ActivityPVPStartReq", + [3762293444] = "ActivityPVPStartRsp", [3763117270] = "HeartbeatReq", [3763119103] = "HeartbeatRsp", + [3787719122] = "ChapterRuneChallengeHeroesReq", + [3787720955] = "ChapterRuneChallengeHeroesRsp", [3805364358] = "EquipUpgradeReq", [3805366191] = "EquipUpgradeRsp", [3851969243] = "HeroChangeSkinReq", @@ -227,6 +268,12 @@ local ProtoMsgType = { [3904150593] = "GMRsp", [3933875617] = "ChapterStartReq", [3933877450] = "ChapterStartRsp", + [4010728288] = "ChapterRuneBuySliverReq", + [4010730121] = "ChapterRuneBuySliverRsp", + [4015942008] = "RuneQuenchingReq", + [4015943841] = "RuneQuenchingRsp", + [4027379273] = "ActivityPVPFlushHeroesReq", + [4027381106] = "ActivityPVPFlushHeroesRsp", [4099982754] = "BossRushExchangeReq", [4099984587] = "BossRushExchangeRsp", [4106156009] = "BountyLevelUnlockReq", @@ -264,6 +311,8 @@ local ProtoMsgType = { ChangeAvatarRsp = 295350214, IdleQuickReq = 317272657, IdleQuickRsp = 317274490, + ActivityPVPDataReq = 326310937, + ActivityPVPDataRsp = 326312770, ChapterWeaponChallengeSettlementReq = 335671647, ChapterWeaponChallengeSettlementRsp = 335673480, TriggerGrowUpGiftNtf = 349009610, @@ -286,6 +335,8 @@ local ProtoMsgType = { FourteenBountyTaskAwardRsp = 697002542, BuyMallIdleReq = 737107384, BuyMallIdleRsp = 737109217, + RuneLockReq = 761068365, + RuneLockRsp = 761070198, MatchReq = 822916593, MatchRsp = 822918426, ChapterGoldChallengeStartReq = 834139466, @@ -304,6 +355,10 @@ local ProtoMsgType = { ReconnectRsp = 1068771132, LoginReq = 1070841461, LoginRsp = 1070843294, + ChapterRuneAdReq = 1163725920, + ChapterRuneAdRsp = 1163727753, + ActivityPVPMatchReq = 1283733956, + ActivityPVPMatchRsp = 1283735789, BossRushTopReq = 1312685858, BossRushTopRsp = 1312687691, FourteenBountyExchangeAwardReq = 1326064687, @@ -340,6 +395,8 @@ local ProtoMsgType = { IdleInfoRsp = 1746319121, PVPHeroesArrayReq = 1751460231, PVPHeroesArrayRsp = 1751462064, + ChapterRuneChallengeStartReq = 1800420732, + ChapterRuneChallengeStartRsp = 1800422565, PipedReq = 1901321540, BossRushSettlementReq = 2017336372, BossRushSettlementRsp = 2017338205, @@ -347,21 +404,32 @@ local ProtoMsgType = { ChangeAvatarFrameRsp = 2060509863, ChangeNameReq = 2095612947, ChangeNameRsp = 2095614780, + RuneUpdateNtf = 2103189773, CDKeyUseReq = 2105154645, CDKeyUseRsp = 2105156478, HeroUpgradeReq = 2118851896, HeroUpgradeRsp = 2118853729, + ActivityPVPDecideHeroReq = 2140118069, + ActivityPVPDecideHeroRsp = 2140119902, BossRushStartReq = 2164009445, BossRushStartRsp = 2164011278, BossRushBoughtNtf = 2198847028, + ChapterRuneChallengeSettlementReq = 2224825865, + ChapterRuneChallengeSettlementRsp = 2224827698, + ActivityPVPBountyClaimReq = 2247710148, + ActivityPVPBountyClaimRsp = 2247711981, ChapterBoxRewardReq = 2285872137, ChapterBoxRewardRsp = 2285873970, ChapterWeaponLatestPlayerInfoReq = 2314118791, ChapterWeaponLatestPlayerInfoRsp = 2314120624, + ActivityPVPRankReq = 2369545247, + ActivityPVPRankRsp = 2369547080, FourteenDayInfoReq = 2420360424, FourteenDayInfoRsp = 2420362257, MailCycleReq = 2429586383, MailCycleRsp = 2429588216, + ChapterRuneFarmReq = 2452882757, + ChapterRuneFarmRsp = 2452884590, ChapterWeaponChallengeFarmReq = 2467213182, ChapterWeaponChallengeFarmRsp = 2467215015, PVPSettlementADRewardReq = 2494225153, @@ -376,6 +444,8 @@ local ProtoMsgType = { PVPRecordHistoryRsp = 2524881546, ChapterDailyChallengeStartReq = 2553351971, ChapterDailyChallengeStartRsp = 2553353804, + ChapterRuneChallengeFarmReq = 2566705464, + ChapterRuneChallengeFarmRsp = 2566707297, MailListReq = 2581180989, MailListRsp = 2581182822, SevenDayRewardReq = 2620369240, @@ -385,6 +455,8 @@ local ProtoMsgType = { TriggerGrowUpGift2Ntf = 2706989220, PVPChallengeSettlementReq = 2708281176, PVPChallengeSettlementRsp = 2708283009, + ActivityPVPBeginReq = 2723654496, + ActivityPVPBeginRsp = 2723656329, MailExtractReq = 2731281392, MailExtractRsp = 2731283225, MailReadReq = 2849800229, @@ -422,13 +494,19 @@ local ProtoMsgType = { ArenaBountyBoughtNtf = 3197501935, BossRushRankReq = 3209780877, BossRushRankRsp = 3209782710, + ActivityPVPOverCDReq = 3222113774, + ActivityPVPOverCDRsp = 3222115607, SevenDayTaskRewardReq = 3224230499, SevenDayTaskRewardRsp = 3224232332, BossRushBountyUnlockReq = 3274332802, BossRushBountyUnlockRsp = 3274334635, + ChapterRuneRankReq = 3289898743, + ChapterRuneRankRsp = 3289900576, HeroPutOnReq = 3309820798, HeroPutOnRsp = 3309822631, BountyBoughtNtf = 3341173994, + ChapterRuneRankRewardReq = 3353409448, + ChapterRuneRankRewardRsp = 3353411281, ChapterGoldChallengeSettlementReq = 3359969683, ChapterGoldChallengeSettlementRsp = 3359971516, TaskDailyAdReq = 3363939655, @@ -450,7 +528,11 @@ local ProtoMsgType = { AuthRsp = 3607881087, ArenaBountyRewardReq = 3613497485, ArenaBountyRewardRsp = 3613499318, + ActivityPVPBountyClaimByDiamondReq = 3623429051, + ActivityPVPBountyClaimByDiamondRsp = 3623430884, NewMailNtf = 3624439233, + ActivityPVPSettlementReq = 3629726454, + ActivityPVPSettlementRsp = 3629728287, PVPStageRewardReq = 3629950931, PVPStageRewardRsp = 3629952764, MallDailyResetNtf = 3663247602, @@ -462,10 +544,16 @@ local ProtoMsgType = { SummerDataRsp = 3739568306, MallDailyOverDayReq = 3741702491, MallDailyOverDayRsp = 3741704324, + ChapterRunePlayerInfoReq = 3742313244, + ChapterRunePlayerInfoRsp = 3742315077, BountyRewardReq = 3757169544, BountyRewardRsp = 3757171377, + ActivityPVPStartReq = 3762291611, + ActivityPVPStartRsp = 3762293444, HeartbeatReq = 3763117270, HeartbeatRsp = 3763119103, + ChapterRuneChallengeHeroesReq = 3787719122, + ChapterRuneChallengeHeroesRsp = 3787720955, EquipUpgradeReq = 3805364358, EquipUpgradeRsp = 3805366191, HeroChangeSkinReq = 3851969243, @@ -474,6 +562,12 @@ local ProtoMsgType = { GMRsp = 3904150593, ChapterStartReq = 3933875617, ChapterStartRsp = 3933877450, + ChapterRuneBuySliverReq = 4010728288, + ChapterRuneBuySliverRsp = 4010730121, + RuneQuenchingReq = 4015942008, + RuneQuenchingRsp = 4015943841, + ActivityPVPFlushHeroesReq = 4027379273, + ActivityPVPFlushHeroesRsp = 4027381106, BossRushExchangeReq = 4099982754, BossRushExchangeRsp = 4099984587, BountyLevelUnlockReq = 4106156009, @@ -511,6 +605,8 @@ local ProtoMsgType = { ChangeAvatarRsp = "ChangeAvatarRsp", IdleQuickReq = "IdleQuickReq", IdleQuickRsp = "IdleQuickRsp", + ActivityPVPDataReq = "ActivityPVPDataReq", + ActivityPVPDataRsp = "ActivityPVPDataRsp", ChapterWeaponChallengeSettlementReq = "ChapterWeaponChallengeSettlementReq", ChapterWeaponChallengeSettlementRsp = "ChapterWeaponChallengeSettlementRsp", TriggerGrowUpGiftNtf = "TriggerGrowUpGiftNtf", @@ -533,6 +629,8 @@ local ProtoMsgType = { FourteenBountyTaskAwardRsp = "FourteenBountyTaskAwardRsp", BuyMallIdleReq = "BuyMallIdleReq", BuyMallIdleRsp = "BuyMallIdleRsp", + RuneLockReq = "RuneLockReq", + RuneLockRsp = "RuneLockRsp", MatchReq = "MatchReq", MatchRsp = "MatchRsp", ChapterGoldChallengeStartReq = "ChapterGoldChallengeStartReq", @@ -551,6 +649,10 @@ local ProtoMsgType = { ReconnectRsp = "ReconnectRsp", LoginReq = "LoginReq", LoginRsp = "LoginRsp", + ChapterRuneAdReq = "ChapterRuneAdReq", + ChapterRuneAdRsp = "ChapterRuneAdRsp", + ActivityPVPMatchReq = "ActivityPVPMatchReq", + ActivityPVPMatchRsp = "ActivityPVPMatchRsp", BossRushTopReq = "BossRushTopReq", BossRushTopRsp = "BossRushTopRsp", FourteenBountyExchangeAwardReq = "FourteenBountyExchangeAwardReq", @@ -587,6 +689,8 @@ local ProtoMsgType = { IdleInfoRsp = "IdleInfoRsp", PVPHeroesArrayReq = "PVPHeroesArrayReq", PVPHeroesArrayRsp = "PVPHeroesArrayRsp", + ChapterRuneChallengeStartReq = "ChapterRuneChallengeStartReq", + ChapterRuneChallengeStartRsp = "ChapterRuneChallengeStartRsp", PipedReq = "PipedReq", BossRushSettlementReq = "BossRushSettlementReq", BossRushSettlementRsp = "BossRushSettlementRsp", @@ -594,21 +698,32 @@ local ProtoMsgType = { ChangeAvatarFrameRsp = "ChangeAvatarFrameRsp", ChangeNameReq = "ChangeNameReq", ChangeNameRsp = "ChangeNameRsp", + RuneUpdateNtf = "RuneUpdateNtf", CDKeyUseReq = "CDKeyUseReq", CDKeyUseRsp = "CDKeyUseRsp", HeroUpgradeReq = "HeroUpgradeReq", HeroUpgradeRsp = "HeroUpgradeRsp", + ActivityPVPDecideHeroReq = "ActivityPVPDecideHeroReq", + ActivityPVPDecideHeroRsp = "ActivityPVPDecideHeroRsp", BossRushStartReq = "BossRushStartReq", BossRushStartRsp = "BossRushStartRsp", BossRushBoughtNtf = "BossRushBoughtNtf", + ChapterRuneChallengeSettlementReq = "ChapterRuneChallengeSettlementReq", + ChapterRuneChallengeSettlementRsp = "ChapterRuneChallengeSettlementRsp", + ActivityPVPBountyClaimReq = "ActivityPVPBountyClaimReq", + ActivityPVPBountyClaimRsp = "ActivityPVPBountyClaimRsp", ChapterBoxRewardReq = "ChapterBoxRewardReq", ChapterBoxRewardRsp = "ChapterBoxRewardRsp", ChapterWeaponLatestPlayerInfoReq = "ChapterWeaponLatestPlayerInfoReq", ChapterWeaponLatestPlayerInfoRsp = "ChapterWeaponLatestPlayerInfoRsp", + ActivityPVPRankReq = "ActivityPVPRankReq", + ActivityPVPRankRsp = "ActivityPVPRankRsp", FourteenDayInfoReq = "FourteenDayInfoReq", FourteenDayInfoRsp = "FourteenDayInfoRsp", MailCycleReq = "MailCycleReq", MailCycleRsp = "MailCycleRsp", + ChapterRuneFarmReq = "ChapterRuneFarmReq", + ChapterRuneFarmRsp = "ChapterRuneFarmRsp", ChapterWeaponChallengeFarmReq = "ChapterWeaponChallengeFarmReq", ChapterWeaponChallengeFarmRsp = "ChapterWeaponChallengeFarmRsp", PVPSettlementADRewardReq = "PVPSettlementADRewardReq", @@ -623,6 +738,8 @@ local ProtoMsgType = { PVPRecordHistoryRsp = "PVPRecordHistoryRsp", ChapterDailyChallengeStartReq = "ChapterDailyChallengeStartReq", ChapterDailyChallengeStartRsp = "ChapterDailyChallengeStartRsp", + ChapterRuneChallengeFarmReq = "ChapterRuneChallengeFarmReq", + ChapterRuneChallengeFarmRsp = "ChapterRuneChallengeFarmRsp", MailListReq = "MailListReq", MailListRsp = "MailListRsp", SevenDayRewardReq = "SevenDayRewardReq", @@ -632,6 +749,8 @@ local ProtoMsgType = { TriggerGrowUpGift2Ntf = "TriggerGrowUpGift2Ntf", PVPChallengeSettlementReq = "PVPChallengeSettlementReq", PVPChallengeSettlementRsp = "PVPChallengeSettlementRsp", + ActivityPVPBeginReq = "ActivityPVPBeginReq", + ActivityPVPBeginRsp = "ActivityPVPBeginRsp", MailExtractReq = "MailExtractReq", MailExtractRsp = "MailExtractRsp", MailReadReq = "MailReadReq", @@ -669,13 +788,19 @@ local ProtoMsgType = { ArenaBountyBoughtNtf = "ArenaBountyBoughtNtf", BossRushRankReq = "BossRushRankReq", BossRushRankRsp = "BossRushRankRsp", + ActivityPVPOverCDReq = "ActivityPVPOverCDReq", + ActivityPVPOverCDRsp = "ActivityPVPOverCDRsp", SevenDayTaskRewardReq = "SevenDayTaskRewardReq", SevenDayTaskRewardRsp = "SevenDayTaskRewardRsp", BossRushBountyUnlockReq = "BossRushBountyUnlockReq", BossRushBountyUnlockRsp = "BossRushBountyUnlockRsp", + ChapterRuneRankReq = "ChapterRuneRankReq", + ChapterRuneRankRsp = "ChapterRuneRankRsp", HeroPutOnReq = "HeroPutOnReq", HeroPutOnRsp = "HeroPutOnRsp", BountyBoughtNtf = "BountyBoughtNtf", + ChapterRuneRankRewardReq = "ChapterRuneRankRewardReq", + ChapterRuneRankRewardRsp = "ChapterRuneRankRewardRsp", ChapterGoldChallengeSettlementReq = "ChapterGoldChallengeSettlementReq", ChapterGoldChallengeSettlementRsp = "ChapterGoldChallengeSettlementRsp", TaskDailyAdReq = "TaskDailyAdReq", @@ -697,7 +822,11 @@ local ProtoMsgType = { AuthRsp = "AuthRsp", ArenaBountyRewardReq = "ArenaBountyRewardReq", ArenaBountyRewardRsp = "ArenaBountyRewardRsp", + ActivityPVPBountyClaimByDiamondReq = "ActivityPVPBountyClaimByDiamondReq", + ActivityPVPBountyClaimByDiamondRsp = "ActivityPVPBountyClaimByDiamondRsp", NewMailNtf = "NewMailNtf", + ActivityPVPSettlementReq = "ActivityPVPSettlementReq", + ActivityPVPSettlementRsp = "ActivityPVPSettlementRsp", PVPStageRewardReq = "PVPStageRewardReq", PVPStageRewardRsp = "PVPStageRewardRsp", MallDailyResetNtf = "MallDailyResetNtf", @@ -709,10 +838,16 @@ local ProtoMsgType = { SummerDataRsp = "SummerDataRsp", MallDailyOverDayReq = "MallDailyOverDayReq", MallDailyOverDayRsp = "MallDailyOverDayRsp", + ChapterRunePlayerInfoReq = "ChapterRunePlayerInfoReq", + ChapterRunePlayerInfoRsp = "ChapterRunePlayerInfoRsp", BountyRewardReq = "BountyRewardReq", BountyRewardRsp = "BountyRewardRsp", + ActivityPVPStartReq = "ActivityPVPStartReq", + ActivityPVPStartRsp = "ActivityPVPStartRsp", HeartbeatReq = "HeartbeatReq", HeartbeatRsp = "HeartbeatRsp", + ChapterRuneChallengeHeroesReq = "ChapterRuneChallengeHeroesReq", + ChapterRuneChallengeHeroesRsp = "ChapterRuneChallengeHeroesRsp", EquipUpgradeReq = "EquipUpgradeReq", EquipUpgradeRsp = "EquipUpgradeRsp", HeroChangeSkinReq = "HeroChangeSkinReq", @@ -721,6 +856,12 @@ local ProtoMsgType = { GMRsp = "GMRsp", ChapterStartReq = "ChapterStartReq", ChapterStartRsp = "ChapterStartRsp", + ChapterRuneBuySliverReq = "ChapterRuneBuySliverReq", + ChapterRuneBuySliverRsp = "ChapterRuneBuySliverRsp", + RuneQuenchingReq = "RuneQuenchingReq", + RuneQuenchingRsp = "RuneQuenchingRsp", + ActivityPVPFlushHeroesReq = "ActivityPVPFlushHeroesReq", + ActivityPVPFlushHeroesRsp = "ActivityPVPFlushHeroesRsp", BossRushExchangeReq = "BossRushExchangeReq", BossRushExchangeRsp = "BossRushExchangeRsp", BountyLevelUnlockReq = "BountyLevelUnlockReq", diff --git a/lua/app/ui/battle/battle_rune_result_ui.lua b/lua/app/ui/battle/battle_rune_result_ui.lua new file mode 100644 index 00000000..75cf622d --- /dev/null +++ b/lua/app/ui/battle/battle_rune_result_ui.lua @@ -0,0 +1,333 @@ +local BattleRuneResultUI = class("BattleRuneResultUI", BaseUI) + +local RUNE_TASK_CELL = "app/ui/dungeon_rune/cell/rune_task_cell" +local UNIT_RESULT_RERPORT_CELL = "app/ui/battle/cell/unit_result_report_cell" +local MAX_SCROLL_SHOW_COUNT = 10 + +function BattleRuneResultUI:getPrefabPath() + return "assets/prefabs/ui/battle/battle_rune_result_ui.prefab" +end + +function BattleRuneResultUI:ctor(params) + if EDITOR_MODE then + Logger.printTable(params) + end + -- 通用 + self.battleType = params.battleType + self.isWin = params.combatReport.victory + self.rewards = params.rewards + self.remainRound = params.remainRound + + -- pve特有 + self.atkReport = params.combatReport.atkReport + self.wave = params.wave + + self.totalDmg = 0 + if self.atkReport then + for _, info in ipairs(self.atkReport) do + self.totalDmg = self.totalDmg + info.dmg + end + end + + self.runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + self.chapterId = ModuleManager.BattleManager.battleController.chapterId +end + +function BattleRuneResultUI:onClose() + if self.animNode then + self.animNode:Kill() + self.animNode = nil + end + if self.animRewards then + for idx, anim in pairs(self.animRewards) do + if anim then + anim:Kill() + end + end + end +end + +function BattleRuneResultUI:onLoadRootComplete() + local uiMap = self.root:genAllChildren() + + self.continue = uiMap["battle_rune_result_ui.continue"] + -- 胜利节点 + self.victoryNode = uiMap["battle_rune_result_ui.victory_node"] + self.victoryMask = uiMap["battle_rune_result_ui.victory_node.mask_v"] + self.victoryTxTitle = uiMap["battle_rune_result_ui.victory_node.title_bg.desc"] + self.victorySpine = uiMap["battle_rune_result_ui.victory_node.ui_spine_obj"] + self.victoryUnitNode = uiMap["battle_rune_result_ui.victory_node.unit_node"] + -- 失败节点 + self.defeatNode = uiMap["battle_rune_result_ui.defeat_node"] + self.defeatMask = uiMap["battle_rune_result_ui.defeat_node.mask_d"] + self.defeatTxTitle = uiMap["battle_rune_result_ui.defeat_node.title_bg.desc"] + self.defeatSpine = uiMap["battle_rune_result_ui.defeat_node.ui_spine_obj"] + self.defeatUnitNode = uiMap["battle_rune_result_ui.defeat_node.unit_node"] + -- 战斗信息 + self.unitNode = uiMap["battle_rune_result_ui.unit_node"] + self.unitImgBattleIcon = uiMap["battle_rune_result_ui.unit_node.icon"] + self.unitTxDesc1 = uiMap["battle_rune_result_ui.unit_node.desc_1"] + self.unitTxDesc2 = uiMap["battle_rune_result_ui.unit_node.desc_2"] + self.unitTxDesc3 = uiMap["battle_rune_result_ui.unit_node.desc_3"] + self.unitTxDesc3 = uiMap["battle_rune_result_ui.unit_node.desc_3"] + self.unitImgReportV = uiMap["battle_rune_result_ui.unit_node.report_img_v"] + self.unitImgReportD = uiMap["battle_rune_result_ui.unit_node.report_img_d"] + if not self.unitResultReportCells then + self.unitResultReportCells = {} + for index = 1, 5 do + self.unitResultReportCells[index] = CellManager:addCellComp(uiMap["battle_rune_result_ui.unit_node.unit_result_report_cell_" .. index], UNIT_RESULT_RERPORT_CELL) + end + end + -- 奖励节点 + self.rewardNode = uiMap["battle_rune_result_ui.reward_node"] + self.rewardTxTitle = uiMap["battle_rune_result_ui.reward_title"] + self.rewardScrollRect = uiMap["battle_rune_result_ui.reward_node.scroll_rect"] + self.rewardScrollRectComp = self.rewardScrollRect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE) + self.descRoundMin = uiMap["battle_rune_result_ui.reward_node.desc"] + self.imgRoundmIn = uiMap["battle_rune_result_ui.reward_node.icon"] + self.imgRoundNew = uiMap["battle_rune_result_ui.reward_node.icon_new"] + + -- 任务节点 + self.taskNode = uiMap["battle_rune_result_ui.task_node"] + self.runeTaskCells = {} + for index = 1, 3 do + self.runeTaskCells[index] = {} + self.runeTaskCells[index].cell = CellManager:addCellComp(uiMap["battle_rune_result_ui.task_node.rune_task_cell_" .. index], RUNE_TASK_CELL) + self.runeTaskCells[index].desc = uiMap["battle_rune_result_ui.task_node.desc_" .. index] + self.runeTaskCells[index].descUnDone = uiMap["battle_rune_result_ui.task_node.desc_undone_" .. index] + self.runeTaskCells[index].check = uiMap["battle_rune_result_ui.task_node.check_" .. index] + end + + self.victoryMask:addClickListener(function() + self:onClickMask() + end) + self.defeatMask:addClickListener(function() + self:onClickMask() + end) +end + +function BattleRuneResultUI:onClickMask() + if not self.isWin then + ModuleManager.BattleManager:endBattleAndExit() + else + if not self.showRewardInfo then + self.showRewardInfo = true + self:refreshRewards() + else + ModuleManager.BattleManager:endBattleAndExit() + end + end +end + +function BattleRuneResultUI:onRefresh() + if self.isWin then + self:refreshVictoryNode() + AudioManager:playEffect(AudioManager.EFFECT_ID.BATTLE_VICTORY) + else + self:refreshDefeatNode() + AudioManager:playEffect(AudioManager.EFFECT_ID.BATTLE_DEFEAT) + end + self:refreshUnitInfo() + + if self.runeData:isBossChapter(self.chapterId) then + self.showRewardInfo = true + self:refreshRewards() + else + self:refreshTaskNode() + end +end + +function BattleRuneResultUI:refreshVictoryNode() + self.victoryNode:setVisible(true) + self.unitImgReportV:setVisible(true) + self.defeatNode:setVisible(false) + self.unitImgReportD:setVisible(false) + + self.victorySpine:playAnimComplete("born", false, true, function() + self.victorySpine:playAnim("idle", true, true) + end) + + self:showNodeAnim(self.victoryUnitNode, self.unitNode) +end + +function BattleRuneResultUI:refreshDefeatNode() + self.victoryNode:setVisible(false) + self.unitImgReportV:setVisible(false) + self.defeatNode:setVisible(true) + self.unitImgReportD:setVisible(true) + + self.defeatTxTitle:setText(I18N:getGlobalText(I18N.GlobalConst.BATTLE_DESC_6)) + self.defeatSpine:playAnimComplete("born", false, true, function() + self.defeatSpine:playAnim("idle", true, true) + end) + + self:showNodeAnim(self.defeatUnitNode, self.unitNode) +end + +-- 播放节点动画 +function BattleRuneResultUI:showNodeAnim(parent, node) + if not parent then + node:setVisible(false) + return + else + node:setVisible(true) + end + node:setParent(parent, false) + node:setAnchoredPosition(0, 0) + local canvasNode = parent:getComponent(GConst.TYPEOF_UNITY_CLASS.CANVAS_GROUP) + + self.animNode = self.root:createBindTweenSequence() + self.animNode:Insert(0, canvasNode:DOFade(0, 0)) + self.animNode:Insert(0.1, canvasNode:DOFade(1, 0)) + self.animNode:Insert(0, parent:getTransform():DOScale(0, 0)) + self.animNode:Insert(0.1, parent:getTransform():DOScale(0.35, 0)) + self.animNode:Insert(0.13, parent:getTransform():DOScale(1.1, 0.16)) + self.animNode:Insert(0.26, parent:getTransform():DOScale(1, 0.14)) + self.animNode:OnComplete(function() + self.animNode = nil + end) +end + +function BattleRuneResultUI:refreshTaskNode() + self.taskNode:setVisible(true) + self.rewardNode:setVisible(false) + + local id = self.chapterId + if not id then + return + end + + local chapterCondition = self.runeData:getChapterCondition(id) + if not chapterCondition then + return + end + + local taskProgress = ModuleManager.DungeonRuneManager:getTaskStatus(ModuleManager.BattleManager.battleController, chapterCondition) + + for index, objs in ipairs(self.runeTaskCells) do + local condition = chapterCondition[index + 1] + if condition then + objs.cell:getBaseObject():setActive(true) + local desc = self.runeData:getConditionDesc(condition) + local over = false + if taskProgress[condition[1]] then + local info = taskProgress[condition[1]] + over = info.over + local color = "#FF4949" + if over then + color = "#49FF49" + end + desc = desc .. string.format("(%s/%s)", color, info.progress, info.totalProgress) + end + objs.cell:refresh(condition) + objs.desc:setText(self.runeData:getConditionDesc(condition)) + if over then + objs.descUnDone:setText(GConst.EMPTY_STRING) + objs.check:setVisible(true) + else + objs.descUnDone:setText(GConst.UNFINISHED) + objs.check:setVisible(false) + end + else + objs.cell:getBaseObject():setActive(false) + objs.desc:setText(GConst.EMPTY_STRING) + objs.descUnDone:setText(GConst.EMPTY_STRING) + objs.check:setVisible(false) + end + end +end + +function BattleRuneResultUI:refreshRewards() + self.animRewards = {} + self.taskNode:setVisible(false) + self.rewardNode:setVisible(true) + + self.rewardTxTitle:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC)) + self.continue:setText(I18N:getGlobalText(I18N.GlobalConst.CONTINUE_DESC)) + self.rewardScrollRectComp:addInitCallback(function() + return GConst.TYPEOF_LUA_CLASS.REWARD_CELL + end) + self.rewardScrollRectComp:addRefreshCallback(function(index, cell) + cell:refresh(self.rewards[index]) + if index <= MAX_SCROLL_SHOW_COUNT and self.animRewards[index] == nil then + self.animRewards[index] = self:showRewardAppearAnim(index, cell) + end + end) + + self.rewardScrollRectComp:setFadeArgs(0.05, 0.3) + self.rewardScrollRectComp:clearCells() + local rewardCount = #self.rewards + if rewardCount > MAX_SCROLL_SHOW_COUNT then + local comp = self.rewardScrollRect:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_SCROLL_RECT) + comp.movementType = CS.UnityEngine.UI.ScrollRect.MovementType.Elastic + self.rewardScrollRectComp:setPerLineNum(5) + self.rewardScrollRect:setSizeDeltaX(560) + else + local comp = self.rewardScrollRect:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_SCROLL_RECT) + comp.movementType = CS.UnityEngine.UI.ScrollRect.MovementType.Clamped + if rewardCount >= 5 then + self.rewardScrollRectComp:setPerLineNum(5) + self.rewardScrollRect:setSizeDeltaX(560) + elseif rewardCount <= 0 then + self.rewardScrollRectComp:setPerLineNum(1) + self.rewardScrollRect:setSizeDeltaX(560) + else + self.rewardScrollRectComp:setPerLineNum(rewardCount) + self.rewardScrollRect:setSizeDeltaX(112*rewardCount) + end + end + self.rewardScrollRectComp:refillCells(rewardCount) + + local id = self.chapterId + self.descRoundMin:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, self.runeData:getChapterPassRound(id))) + GFunc.centerImgAndTx(self.imgRoundmIn, self.descRoundMin, 10) + self.imgRoundNew:setVisible(self.runeData:getTagRoundNew() == true) +end + +function BattleRuneResultUI:refreshUnitInfo() + if not self.atkReport then + self.unitNode:setVisible(false) + return + end + + self.unitNode:setVisible(true) + for index, cell in ipairs(self.unitResultReportCells) do + local info = self.atkReport[index] + cell:getBaseObject():setVisible(info ~= nil) + if info then + cell:refresh(info, self.totalDmg) + end + end + + self.unitTxDesc2:setText(self.wave) + self.unitTxDesc3:setText(I18N:getGlobalText(I18N.GlobalConst.BATTLE_DESC_7, GFunc.num2Str(self.totalDmg))) + + local iconName = "common_dec_15" + local round = self.remainRound or 0 + self.unitTxDesc2:setText(round) + self.unitTxDesc1:setText(I18N:getGlobalText(I18N.GlobalConst.ROUND_LEFT)) + self.unitImgBattleIcon:setSprite(GConst.ATLAS_PATH.COMMON, iconName) + + GFunc.centerImgAndTx(self.unitImgBattleIcon, self.unitTxDesc2, 7) +end + +-- 展示结算奖励的出现动画 +function BattleRuneResultUI:showRewardAppearAnim(idx, cell) + local canvasGroup = cell.baseObject:getComponent(GConst.TYPEOF_UNITY_CLASS.CANVAS_GROUP) + local selfObj = cell.baseObject + local delay = (idx - 1) * 0.05 + local scaleX = selfObj:fastGetLocalScale() + + local animRewardAppear = selfObj:createBindTweenSequence() + animRewardAppear:Insert(0, canvasGroup:DOFade(0, 0)) + animRewardAppear:Insert(0, selfObj:getTransform():DOScale(scaleX * 0.6, 0)) + animRewardAppear:Insert(0.3 + delay, selfObj:getTransform():DOScale(scaleX * 1.1, 0.1)) + animRewardAppear:Insert(0.3 + delay, canvasGroup:DOFade(1, 0.1)) + animRewardAppear:Insert(0.4 + delay, selfObj:getTransform():DOScale(scaleX * 1, 0.13)) + animRewardAppear:OnComplete(function() + animRewardAppear = nil + end) + return animRewardAppear +end + +return BattleRuneResultUI \ No newline at end of file diff --git a/lua/app/ui/battle/battle_rune_result_ui.lua.meta b/lua/app/ui/battle/battle_rune_result_ui.lua.meta new file mode 100644 index 00000000..e3676e64 --- /dev/null +++ b/lua/app/ui/battle/battle_rune_result_ui.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b737376fab2a5a741891d32e7371e8ad +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/battle/battle_ui.lua b/lua/app/ui/battle/battle_ui.lua index 7a4e33b5..f4cd4d23 100644 --- a/lua/app/ui/battle/battle_ui.lua +++ b/lua/app/ui/battle/battle_ui.lua @@ -479,6 +479,17 @@ function BattleUI:refreshTaskBtn() taskBtn:addClickListener(function() ModuleManager.DungeonArmorManager:showBattleTaskUI() end) + elseif self.battleController.battleType == GConst.BattleConst.BATTLE_TYPE.DUNGEON_RUNE then + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + if runeData:isBossChapter(self.battleController.chapterId) then + taskBtn:setActive(false) + else + taskBtn:setSprite(GConst.ATLAS_PATH.BATTLE, "battle_btn_task_3") + taskBtn:setActive(true) + taskBtn:addClickListener(function() + ModuleManager.DungeonRuneManager:showTaskUI(self.battleController.chapterId) + end) + end else taskBtn:setActive(false) end diff --git a/lua/app/ui/common/common_formation_ui.lua b/lua/app/ui/common/common_formation_ui.lua index 82e854c6..6a7d8b02 100644 --- a/lua/app/ui/common/common_formation_ui.lua +++ b/lua/app/ui/common/common_formation_ui.lua @@ -41,6 +41,8 @@ function CommonFormationUI:onLoadRootComplete() ModuleManager.DungeonArmorManager:reqFormation(formation) elseif self.formationType == GConst.BattleConst.FORMATION_TYPE.BOSS_RUSH then ModuleManager.ActBossRushManager:reqFormation(formation) + elseif self.formationType == GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE then + ModuleManager.DungeonRuneManager:reqFormation(formation) else self:closeUI() end diff --git a/lua/app/ui/currency_bar/cell/currency_cell.lua b/lua/app/ui/currency_bar/cell/currency_cell.lua index 80d2d117..52fbf20a 100644 --- a/lua/app/ui/currency_bar/cell/currency_cell.lua +++ b/lua/app/ui/currency_bar/cell/currency_cell.lua @@ -54,7 +54,15 @@ function ResourceCell:show(itemId, hideAddImg) self.addImg:setVisible(true) elseif itemId == GConst.ItemConst.ITEM_ID_SLIVER_WING then self.baseObject:addClickListener(function() - -- ModuleManager.CommerceManager:showBuyArenaTicketUI() + local runeData = DataManager.DungeonData:getDungeonDataByType(ModuleManager.MODULE_KEY.RUNES_OPEN) + local reward = { + type = GConst.REWARD_TYPE.ITEM, + id = GConst.ItemConst.ITEM_ID_SLIVER_WING, + num = 1 + } + ModuleManager.CommonManager:showExchangeUI(1, runeData:getRemainSliverWingCount(), reward, runeData:getBuySliverCost(), function(count) + ModuleManager.DungeonRuneManager:reqBuySliverWing(count) + end) end) self.addImg:setVisible(true) else diff --git a/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua index e692539e..cfc794d8 100644 --- a/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua +++ b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua @@ -32,6 +32,8 @@ function RuneChapterCell:refresh(id, index, isFinal, chapterListCount) local curBg = uiMap["chapter_cell.touch_node.bg_cur"] local lightImg = uiMap["chapter_cell.touch_node.img_light"] local sweep = uiMap["chapter_cell.touch_node.sweep_bg"] + local descMinRound = uiMap["chapter_cell.touch_node.bg.desc_min_round"] + descMinRound:setVisible(false) lightImg:setVisible(false) sweep:setVisible(false) local passed = false @@ -45,7 +47,6 @@ function RuneChapterCell:refresh(id, index, isFinal, chapterListCount) curBg:setVisible(false) fightBg:setVisible(true) - local descMinRound = uiMap["chapter_cell.touch_node.bg.desc_min_round"] local layer = uiMap["chapter_cell.touch_node.bg.desc"] layer:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_6, id)) local lock = uiMap["chapter_cell.touch_node.bg.lock"] @@ -60,6 +61,7 @@ function RuneChapterCell:refresh(id, index, isFinal, chapterListCount) layer:setAnchoredPositionX(0) lightImg:setVisible(true) descMinRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, runeData:getChapterPassRound(id))) + descMinRound:setVisible(true) else lock:setVisible(true) GFunc.centerImgAndTx(lock, layer, 5) diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua index da988362..1ef256f2 100644 --- a/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua +++ b/lua/app/ui/dungeon_rune/dungeon_rune_main_ui.lua @@ -48,10 +48,8 @@ end function DungeonRuneMainUI:_display() local uiMap = self.root:genAllChildren() uiMap["dungeon_rune_main_ui.banner.btn_formation.tx_ok"]:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_WEAPON_DESC_4)) - uiMap["dungeon_rune_main_ui.banner.btn_rank.tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOSS_RUSH_DESC_10)) self:refreshScrollrect() self:refreshFormation() - self:refreshRankBtn() end function DungeonRuneMainUI:_addListeners() @@ -68,8 +66,7 @@ end function DungeonRuneMainUI:_bind() self:bind(self.runeData, "isDirty", function() self:refreshFormation() - -- self:refreshAllCells() - self:refreshRankBtn() + self:refreshAllCells() end) self:bind(DataManager.FormationData, "dirty", function() @@ -89,16 +86,6 @@ function DungeonRuneMainUI:refreshFormation() self.formationComp:refreshByFormation(DataManager.FormationData:getDungeonRuneFormation()) end -function DungeonRuneMainUI:refreshRankBtn() - local uiMap = self.root:genAllChildren() - local btn = uiMap["dungeon_rune_main_ui.banner.btn_rank"] - if self.runeData:getRankRp() then - btn:addRedPoint(30, 20, 0.8) - else - btn:removeRedPoint() - end -end - function DungeonRuneMainUI:refreshScrollrect() local uiMap = self.root:genAllChildren() if not self.scrollRect then diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua index 4aa894f9..947dc208 100644 --- a/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua +++ b/lua/app/ui/dungeon_rune/dungeon_rune_rebirth_ui.lua @@ -52,7 +52,7 @@ function DungeonRuneRebirthUI:_addListeners() uiMap["dungeon_rune_rebirth_ui.title_bg_img.ok_btn"]:addClickListener(function() SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.DUNGEON_RUNE_REBIRTH, function() - ModuleManager.DungeonRuneManager:reqRebirth() + ModuleManager.DungeonRuneManager:reqRebirth(self.isHpOver) end) end) diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua index e2977aa1..1ca3764e 100644 --- a/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua +++ b/lua/app/ui/dungeon_rune/dungeon_rune_task_ui.lua @@ -32,13 +32,22 @@ function DungeonRuneTaskUI:_display() local chapterCondition = self.runeData:getChapterCondition(self.id) local count = 0 + local taskProgress = ModuleManager.DungeonRuneManager:getTaskStatus(ModuleManager.BattleManager.battleController, chapterCondition) for index, cell in ipairs(self.taskCells) do local condition = chapterCondition[index + 1] if condition then cell:getBaseObject():setActive(true) local desc = self.runeData:getConditionDesc(condition) local over = false - -- todo + if taskProgress[condition[1]] then + local info = taskProgress[condition[1]] + over = info.over + local color = "#FF4949" + if over then + color = "#49FF49" + end + desc = desc .. string.format("(%s/%s)", color, info.progress, info.totalProgress) + end cell:refresh(desc, condition, over) count = count + 1 else @@ -47,7 +56,7 @@ function DungeonRuneTaskUI:_display() end local y = 124 + 152 * count - uiMap:setSizeDeltaY(y) + uiMap["dungeon_rune_task_ui.bg"]:setSizeDeltaY(y) uiMap["dungeon_rune_task_ui.bg.title_desc"]:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_NAME)) end diff --git a/lua/app/ui/hero/hero_comp.lua b/lua/app/ui/hero/hero_comp.lua index ed3b4f52..f8c1d7b7 100644 --- a/lua/app/ui/hero/hero_comp.lua +++ b/lua/app/ui/hero/hero_comp.lua @@ -96,6 +96,8 @@ function HeroComp:refresh(battleType) self:refreshDungeonArmorFormation() elseif self.battleType == GConst.BattleConst.FORMATION_TYPE.BOSS_RUSH then self:refreshBossRushFormation() + elseif self.battleType == GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE then + self:refreshDungeonRuneFormation() end end @@ -181,6 +183,19 @@ function HeroComp:refreshBossRushFormation() self:refreshScrollRect() end +function HeroComp:refreshDungeonRuneFormation() + self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_TITLE)) + self.rimgTopBG:setTexture("assets/arts/textures/background/hero/hero_bg_1.png") + self.curFormation = DataManager.FormationData:getDungeonRuneFormation() + + self.onClickUseFunc = function(id, type) + DataManager.FormationData:upHeroToFormation(self.battleType, type, id) + self:refreshDungeonRuneFormation() + end + + self:refreshScrollRect() +end + function HeroComp:refreshScrollRect() self.heroList = DataManager.HeroData:getAllHeroesSort(self.battleType) -- 每次都重新算一次 diff --git a/lua/app/userdata/battle/battle_base_data.lua b/lua/app/userdata/battle/battle_base_data.lua index 381b2fbc..c8e78492 100644 --- a/lua/app/userdata/battle/battle_base_data.lua +++ b/lua/app/userdata/battle/battle_base_data.lua @@ -864,6 +864,14 @@ function BattleBaseData:addMonster(monsterId, newTeam, battleController) if battleController then hp = hp * (DEFAULT_FACTOR + battleController:getMonsterHpAddition()) // DEFAULT_FACTOR atk = atk * (DEFAULT_FACTOR + battleController:getMonsterAtkAddition()) // DEFAULT_FACTOR + local atkFixed = battleController:getMonsterAtkFixed() + local hpFixed = battleController:getMonsterHpFixed() + if atkFixed > 0 then + atk = atkFixed // DEFAULT_FACTOR + end + if hpFixed > 0 then + hp = hpFixed // DEFAULT_FACTOR + end end local unitData = { id = monsterId, diff --git a/lua/app/userdata/battle/team/battle_team_entity.lua b/lua/app/userdata/battle/team/battle_team_entity.lua index 664c4448..67ba561a 100644 --- a/lua/app/userdata/battle/team/battle_team_entity.lua +++ b/lua/app/userdata/battle/team/battle_team_entity.lua @@ -12,6 +12,7 @@ local MATCH_WEAKNESS_NAME = BattleConst.MATCH_WEAKNESS_NAME local DEFAULT_FACTOR = BattleConst.DEFAULT_FACTOR local BUFF_NAME = BattleConst.BUFF_NAME local ATTR_NAME = BattleConst.ATTR_NAME +local PASSIVE_EVENT = BattleConst.PASSIVE_EVENT function BattleTeamEntity:ctor() self.members = {} @@ -367,7 +368,7 @@ function BattleTeamEntity:getCanRebirth() return self:getAttrValue(ATTR_NAME.REBIRTH) > 0 end -function BattleTeamEntity:takeDamageOrCure(num) +function BattleTeamEntity:takeDamageOrCure(num, unitComp) if self.isDead then return 0 end @@ -390,6 +391,7 @@ function BattleTeamEntity:takeDamageOrCure(num) if hp <= 0 then -- 死了 hurtEventNum = -hpBefore self:setAttrValue(ATTR_NAME.HP, 0) + unitComp:checkPassiveEvent(PASSIVE_EVENT.HP_LOWER_THAN, self, 0) self:die() elseif hp < maxhp then hurtEventNum = num diff --git a/lua/app/userdata/battle/team/battle_unit_entity.lua b/lua/app/userdata/battle/team/battle_unit_entity.lua index 24c8af4c..85c4e1c1 100644 --- a/lua/app/userdata/battle/team/battle_unit_entity.lua +++ b/lua/app/userdata/battle/team/battle_unit_entity.lua @@ -284,8 +284,8 @@ function BattleUnitEntity:addActiveSkillReleaseCount(num) self.activeSkillReleaseCount = self.activeSkillReleaseCount + num end -function BattleUnitEntity:takeDamageOrCure(num) - return self.team:takeDamageOrCure(num) +function BattleUnitEntity:takeDamageOrCure(num, unitComp) + return self.team:takeDamageOrCure(num, unitComp) end function BattleUnitEntity:getHp() diff --git a/lua/app/userdata/dungeon/dungeon_data.lua b/lua/app/userdata/dungeon/dungeon_data.lua index db6c8312..c68f58a7 100644 --- a/lua/app/userdata/dungeon/dungeon_data.lua +++ b/lua/app/userdata/dungeon/dungeon_data.lua @@ -90,6 +90,18 @@ function DungeonData:initDungeonWeapon(data) self:setDirty() end +-- 初始化符文副本数据 +function DungeonData:initDungeonRune(data) + if data == nil then + return + end + + self:initAllDataClass() + self.dataDungeons[ModuleManager.MODULE_KEY.RUNES_OPEN]:init(data) + self.data.rune = data + self:setDirty() +end + -- 初始化所有副本数据类 function DungeonData:initAllDataClass() diff --git a/lua/app/userdata/dungeon/dungeon_rune_entity.lua b/lua/app/userdata/dungeon/dungeon_rune_entity.lua index 0030a7b7..8fd67a0a 100644 --- a/lua/app/userdata/dungeon/dungeon_rune_entity.lua +++ b/lua/app/userdata/dungeon/dungeon_rune_entity.lua @@ -6,9 +6,7 @@ local TASK_TYPE = GConst.DungeonRuneConst.TASK_TYPE function DungeonRuneEntity:ctor() self.data.isDirty = false self.maxPassedId = 0 - self.curday = 1 self.runeInfo = {} - self.season = 1 end function DungeonRuneEntity:clear() @@ -22,29 +20,16 @@ function DungeonRuneEntity:init(data) Logger.printTable(data) end - self.totalChallengeCount = data.total_challenge_count - self.maxPassedId = data.max_challenge_id or 0 - self.curday = data.curday - self.runeInfo = data.rune_info or {} + self.totalChallengeCount = data.total_challenge_count or 0 + self.fightCountMap = data.stat_counts or {} + self.maxPassedId = data.max_challenge_id and (data.max_challenge_id - 1) or 0 + self.runeInfo = data.turns or {} self.heroes = data.heroes or {} - self.rankInfo = {} - self.selfRankInfo = {} - self.lastRankInfo = {} - self.needGetRankReward = false + self.buySilverCount = data.buy_silver_count or 0 DataManager.FormationData:initFormationByType(GConst.BattleConst.FORMATION_TYPE.DUNGEON_RUNE, self.heroes) - DataManager:registerCrossDayFunc("DungeonRuneEntity", function() - self.curday = self.curday + 1 - if self.curday > 30 then - self.maxPassedId = 0 - self.curday = 1 - self.runeInfo = {} - self.rankInfo = {} - self.selfRankInfo = {} - self.lastRankInfo = {} - self.needGetRankReward = false - end + self.buySilverCount = 0 self:setDirty() end) end @@ -93,9 +78,9 @@ function DungeonRuneEntity:isNotShowLimitCount() return true end --- function DungeonRuneEntity:getIsAllTimeOpen() --- return true --- end +function DungeonRuneEntity:getIsAllTimeOpen() + return true +end function DungeonRuneEntity:onClickFight() ModuleManager.DungeonRuneManager:showMainUI() @@ -123,14 +108,13 @@ function DungeonRuneEntity:updatePassedMaxId(maxId) self.maxPassedId = maxId end -function DungeonRuneEntity:getRankRp() - return true -end - function DungeonRuneEntity:canSweep(id) if id > self.maxPassedId then return false end + if not self:isBossChapter(id) then + return false + end return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SLIVER_WING) > 0 end @@ -153,7 +137,23 @@ function DungeonRuneEntity:getChapterPassRound(id) if not self.runeInfo[id] then return 0 end - return self.runeInfo[id].round or 0 + return self.runeInfo[id] or 0 +end + +function DungeonRuneEntity:updatePassRound(id, round) + local cur = self.runeInfo[id] + if not cur or cur > round then + self.runeInfo[id] = round + self:tagRoundNew() + end +end + +function DungeonRuneEntity:tagRoundNew() + self.tagNew = true +end + +function DungeonRuneEntity:getTagRoundNew() + return self.tagNew end function DungeonRuneEntity:getChapterRewards(id) @@ -164,10 +164,6 @@ function DungeonRuneEntity:getChapterSweepRewards(id) return self:getConfig(id).sweep_reward end -function DungeonRuneEntity:getCloseTime() - return 100 -end - function DungeonRuneEntity:isBossChapter(id) local cfg = self:getConfig(id) return not cfg.monster[2] -- 只有一个怪物的就是boss关卡 @@ -214,9 +210,9 @@ function DungeonRuneEntity:getConditionDesc(taskInfo) local desc = ModuleManager.HeroManager:getMatchTypeName(taskParams1, true) return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_2, taskParams2, desc) elseif taskType == TASK_TYPE.BREAK_GRID_TYPE then - return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_1, taskParams2) + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_3, taskParams2) elseif taskType == TASK_TYPE.KILL_MONSTER then - return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_1, taskParams2) + return I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_QUEST_4, taskParams2) end end @@ -235,80 +231,43 @@ function DungeonRuneEntity:getChapterMonsterI18N(id) return I18N:getConfig("monster_base")[monsterBase] end -function DungeonRuneEntity:canGetRankReward() - return true +function DungeonRuneEntity:getCurFightChapterId() + return self.curFightChapterId or 1 end -function DungeonBaseEntity:isGotRankReward() - return false +function DungeonRuneEntity:setCurFightChapterId(chapterId) + self.curFightChapterId = chapterId end -function DungeonRuneEntity:getLastRankInfo() - return self.lastRankList +function DungeonRuneEntity:getChapterFightCount(id) + return self.fightCountMap[id] or 0 end -function DungeonRuneEntity:getCurRankInfo() - return self.rankList +function DungeonRuneEntity:getSliverWingBuyCount() + return self.buySilverCount or 0 end -function DungeonRuneEntity:getLastSelfInfo() - return self.lastSelfRank +function DungeonRuneEntity:addSliverWingBuyCount(count) + self.buySilverCount = self.buySilverCount + count end -function DungeonRuneEntity:getCurRankSelfInfo() - return self.selfRank +function DungeonRuneEntity:getRemainSliverWingCount() + if not self.todayLimitSliverCount then + self.todayLimitSliverCount = GFunc.getConstIntValue("dungeon_rune_buylimit") + end + local count = self.todayLimitSliverCount - self:getSliverWingBuyCount() + if count <= 0 then + count = 0 + end + return count end -function DungeonRuneEntity:getRankConfig() - return ConfigManager:getConfig("dungeon_rune_rank") -end - -function DungeonRuneEntity:getRankRewards(rank) - if not rank or rank <= 0 then -- 没参加就没有 - return - end - if not self.cacheRankRewardsMap then -- 缓存名次对应的配置表ID - self.cacheRankRewardsMap = {} - end - if not self.cacheSeasonRankConfig then - self.cacheSeasonRankConfig = {} - local cfg = self:getRankConfig() - for id, info in pairs(cfg) do - if not self.cacheSeasonRankConfig[info.season] then - self.cacheSeasonRankConfig[info.season] = {} - end - table.insert(self.cacheSeasonRankConfig[info.season], id) - end - end - local cfg = self.cacheSeasonRankConfig[self.season] - if not cfg then - return +function DungeonRuneEntity:getBuySliverCost() + if not self.todayBuySliverCost then + self.todayBuySliverCost = GFunc.getConstReward("dungeon_rune_cost") end - if not self.cacheRankRewardsMap[self.season] then - self.cacheRankRewardsMap[self.season] = {} - end - - if not self.cacheRankRewardsMap[self.season][rank] then - local cfgCfg = self:getRankConfig() - for index, id in ipairs(cfg) do - local info = cfgCfg[id] - if info.ranking[1] and info.ranking[2] then - if info.ranking[1] <= rank and rank <= info.ranking[2] then - self.cacheRankRewardsMap[self.season][rank] = id - end - elseif info.ranking[1] then - if info.ranking[1] <= rank then - self.cacheRankRewardsMap[self.season][rank] = id - end - end - end - end - - local cfg = self:getRankConfig()[self.cacheRankRewardsMap[self.season][rank]] - if cfg then - return cfg.reward - end + return self.todayBuySliverCost end return DungeonRuneEntity \ No newline at end of file From 5544693612b83ad267dd5142cc77c7c38a96e2ef Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Tue, 12 Sep 2023 10:07:16 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E7=AC=A6=E6=96=87=E5=89=AF=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dungeon_rune/dungeon_rune_manager.lua | 27 ++++++++--------- lua/app/proto/proto_msg_type.lua | 30 ++++--------------- lua/app/ui/battle/battle_rune_result_ui.lua | 10 ++++--- .../dungeon_rune/cell/rune_chapter_cell.lua | 6 ++-- .../dungeon_rune_boss_fight_ui.lua | 9 ++++-- .../ui/dungeon_rune/dungeon_rune_fight_ui.lua | 11 ++++--- 6 files changed, 41 insertions(+), 52 deletions(-) diff --git a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua index 3cab0e3d..6111ff66 100644 --- a/lua/app/module/dungeon_rune/dungeon_rune_manager.lua +++ b/lua/app/module/dungeon_rune/dungeon_rune_manager.lua @@ -36,20 +36,19 @@ function DungeonRuneManager:reqFight(id) return end - -- local passed = runeData:passedChapter(id) - -- if not passed and not GFunc.checkCost(GConst.ItemConst.ITEM_ID_GLOD_WING, 1, true) then - -- return - -- end + local passed = runeData:passedChapter(id) + if not passed and not GFunc.checkCost(GConst.ItemConst.ITEM_ID_GLOD_WING, 1, true) then + return + end - -- local heroes = {} - -- local formation = DataManager.FormationData:getDungeonRuneFormation() - -- for matchType, heroId in pairs(formation) do - -- if heroId > 0 then - -- table.insert(heroes, heroId) - -- end - -- end - -- self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeStartReq, {id = id, heroes = heroes}, {}, self.rspFight, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_START) - self:rspFight({err_code = GConst.ERROR_STR.SUCCESS, reqData = {id = id}}) + local heroes = {} + local formation = DataManager.FormationData:getDungeonRuneFormation() + for matchType, heroId in pairs(formation) do + if heroId > 0 then + table.insert(heroes, heroId) + end + end + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeStartReq, {id = id, heroes = heroes}, {}, self.rspFight, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_START) end function DungeonRuneManager:rspFight(result) @@ -126,7 +125,7 @@ function DungeonRuneManager:reqSweep(id) return end - self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneChallengeFarmReq, {chapter_weapon_id = id}, {}, self.rspSweep, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_SWEEP) + self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterRuneFarmReq, {id = id}, {}, self.rspSweep, BIReport.ITEM_GET_TYPE.DUNGEON_RUNE_SWEEP) end function DungeonRuneManager:rspSweep(result) diff --git a/lua/app/proto/proto_msg_type.lua b/lua/app/proto/proto_msg_type.lua index b13da0d9..45f655cc 100644 --- a/lua/app/proto/proto_msg_type.lua +++ b/lua/app/proto/proto_msg_type.lua @@ -61,6 +61,8 @@ local ProtoMsgType = { [1068771132] = "ReconnectRsp", [1070841461] = "LoginReq", [1070843294] = "LoginRsp", + [1150265172] = "ActivityPVPDailyRewardsReq", + [1150267005] = "ActivityPVPDailyRewardsRsp", [1163725920] = "ChapterRuneAdReq", [1163727753] = "ChapterRuneAdRsp", [1283733956] = "ActivityPVPMatchReq", @@ -150,8 +152,6 @@ local ProtoMsgType = { [2524881546] = "PVPRecordHistoryRsp", [2553351971] = "ChapterDailyChallengeStartReq", [2553353804] = "ChapterDailyChallengeStartRsp", - [2566705464] = "ChapterRuneChallengeFarmReq", - [2566707297] = "ChapterRuneChallengeFarmRsp", [2581180989] = "MailListReq", [2581182822] = "MailListRsp", [2620369240] = "SevenDayRewardReq", @@ -206,13 +206,9 @@ local ProtoMsgType = { [3224232332] = "SevenDayTaskRewardRsp", [3274332802] = "BossRushBountyUnlockReq", [3274334635] = "BossRushBountyUnlockRsp", - [3289898743] = "ChapterRuneRankReq", - [3289900576] = "ChapterRuneRankRsp", [3309820798] = "HeroPutOnReq", [3309822631] = "HeroPutOnRsp", [3341173994] = "BountyBoughtNtf", - [3353409448] = "ChapterRuneRankRewardReq", - [3353411281] = "ChapterRuneRankRewardRsp", [3359969683] = "ChapterGoldChallengeSettlementReq", [3359971516] = "ChapterGoldChallengeSettlementRsp", [3363939655] = "TaskDailyAdReq", @@ -250,8 +246,6 @@ local ProtoMsgType = { [3739568306] = "SummerDataRsp", [3741702491] = "MallDailyOverDayReq", [3741704324] = "MallDailyOverDayRsp", - [3742313244] = "ChapterRunePlayerInfoReq", - [3742315077] = "ChapterRunePlayerInfoRsp", [3757169544] = "BountyRewardReq", [3757171377] = "BountyRewardRsp", [3762291611] = "ActivityPVPStartReq", @@ -355,6 +349,8 @@ local ProtoMsgType = { ReconnectRsp = 1068771132, LoginReq = 1070841461, LoginRsp = 1070843294, + ActivityPVPDailyRewardsReq = 1150265172, + ActivityPVPDailyRewardsRsp = 1150267005, ChapterRuneAdReq = 1163725920, ChapterRuneAdRsp = 1163727753, ActivityPVPMatchReq = 1283733956, @@ -444,8 +440,6 @@ local ProtoMsgType = { PVPRecordHistoryRsp = 2524881546, ChapterDailyChallengeStartReq = 2553351971, ChapterDailyChallengeStartRsp = 2553353804, - ChapterRuneChallengeFarmReq = 2566705464, - ChapterRuneChallengeFarmRsp = 2566707297, MailListReq = 2581180989, MailListRsp = 2581182822, SevenDayRewardReq = 2620369240, @@ -500,13 +494,9 @@ local ProtoMsgType = { SevenDayTaskRewardRsp = 3224232332, BossRushBountyUnlockReq = 3274332802, BossRushBountyUnlockRsp = 3274334635, - ChapterRuneRankReq = 3289898743, - ChapterRuneRankRsp = 3289900576, HeroPutOnReq = 3309820798, HeroPutOnRsp = 3309822631, BountyBoughtNtf = 3341173994, - ChapterRuneRankRewardReq = 3353409448, - ChapterRuneRankRewardRsp = 3353411281, ChapterGoldChallengeSettlementReq = 3359969683, ChapterGoldChallengeSettlementRsp = 3359971516, TaskDailyAdReq = 3363939655, @@ -544,8 +534,6 @@ local ProtoMsgType = { SummerDataRsp = 3739568306, MallDailyOverDayReq = 3741702491, MallDailyOverDayRsp = 3741704324, - ChapterRunePlayerInfoReq = 3742313244, - ChapterRunePlayerInfoRsp = 3742315077, BountyRewardReq = 3757169544, BountyRewardRsp = 3757171377, ActivityPVPStartReq = 3762291611, @@ -649,6 +637,8 @@ local ProtoMsgType = { ReconnectRsp = "ReconnectRsp", LoginReq = "LoginReq", LoginRsp = "LoginRsp", + ActivityPVPDailyRewardsReq = "ActivityPVPDailyRewardsReq", + ActivityPVPDailyRewardsRsp = "ActivityPVPDailyRewardsRsp", ChapterRuneAdReq = "ChapterRuneAdReq", ChapterRuneAdRsp = "ChapterRuneAdRsp", ActivityPVPMatchReq = "ActivityPVPMatchReq", @@ -738,8 +728,6 @@ local ProtoMsgType = { PVPRecordHistoryRsp = "PVPRecordHistoryRsp", ChapterDailyChallengeStartReq = "ChapterDailyChallengeStartReq", ChapterDailyChallengeStartRsp = "ChapterDailyChallengeStartRsp", - ChapterRuneChallengeFarmReq = "ChapterRuneChallengeFarmReq", - ChapterRuneChallengeFarmRsp = "ChapterRuneChallengeFarmRsp", MailListReq = "MailListReq", MailListRsp = "MailListRsp", SevenDayRewardReq = "SevenDayRewardReq", @@ -794,13 +782,9 @@ local ProtoMsgType = { SevenDayTaskRewardRsp = "SevenDayTaskRewardRsp", BossRushBountyUnlockReq = "BossRushBountyUnlockReq", BossRushBountyUnlockRsp = "BossRushBountyUnlockRsp", - ChapterRuneRankReq = "ChapterRuneRankReq", - ChapterRuneRankRsp = "ChapterRuneRankRsp", HeroPutOnReq = "HeroPutOnReq", HeroPutOnRsp = "HeroPutOnRsp", BountyBoughtNtf = "BountyBoughtNtf", - ChapterRuneRankRewardReq = "ChapterRuneRankRewardReq", - ChapterRuneRankRewardRsp = "ChapterRuneRankRewardRsp", ChapterGoldChallengeSettlementReq = "ChapterGoldChallengeSettlementReq", ChapterGoldChallengeSettlementRsp = "ChapterGoldChallengeSettlementRsp", TaskDailyAdReq = "TaskDailyAdReq", @@ -838,8 +822,6 @@ local ProtoMsgType = { SummerDataRsp = "SummerDataRsp", MallDailyOverDayReq = "MallDailyOverDayReq", MallDailyOverDayRsp = "MallDailyOverDayRsp", - ChapterRunePlayerInfoReq = "ChapterRunePlayerInfoReq", - ChapterRunePlayerInfoRsp = "ChapterRunePlayerInfoRsp", BountyRewardReq = "BountyRewardReq", BountyRewardRsp = "BountyRewardRsp", ActivityPVPStartReq = "ActivityPVPStartReq", diff --git a/lua/app/ui/battle/battle_rune_result_ui.lua b/lua/app/ui/battle/battle_rune_result_ui.lua index 75cf622d..1c4ea205 100644 --- a/lua/app/ui/battle/battle_rune_result_ui.lua +++ b/lua/app/ui/battle/battle_rune_result_ui.lua @@ -86,6 +86,8 @@ function BattleRuneResultUI:onLoadRootComplete() self.descRoundMin = uiMap["battle_rune_result_ui.reward_node.desc"] self.imgRoundmIn = uiMap["battle_rune_result_ui.reward_node.icon"] self.imgRoundNew = uiMap["battle_rune_result_ui.reward_node.icon_new"] + self.descRoundMin:setVisible(false) + self.imgRoundmIn:setVisible(false) -- 任务节点 self.taskNode = uiMap["battle_rune_result_ui.task_node"] @@ -278,10 +280,10 @@ function BattleRuneResultUI:refreshRewards() end self.rewardScrollRectComp:refillCells(rewardCount) - local id = self.chapterId - self.descRoundMin:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, self.runeData:getChapterPassRound(id))) - GFunc.centerImgAndTx(self.imgRoundmIn, self.descRoundMin, 10) - self.imgRoundNew:setVisible(self.runeData:getTagRoundNew() == true) + -- local id = self.chapterId + -- self.descRoundMin:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, self.runeData:getChapterPassRound(id))) + -- GFunc.centerImgAndTx(self.imgRoundmIn, self.descRoundMin, 10) + -- self.imgRoundNew:setVisible(self.runeData:getTagRoundNew() == true) end function BattleRuneResultUI:refreshUnitInfo() diff --git a/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua index cfc794d8..3b87e3b0 100644 --- a/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua +++ b/lua/app/ui/dungeon_rune/cell/rune_chapter_cell.lua @@ -59,9 +59,9 @@ function RuneChapterCell:refresh(id, index, isFinal, chapterListCount) end lock:setVisible(false) layer:setAnchoredPositionX(0) - lightImg:setVisible(true) - descMinRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, runeData:getChapterPassRound(id))) - descMinRound:setVisible(true) + -- lightImg:setVisible(true) + -- descMinRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, runeData:getChapterPassRound(id))) + -- descMinRound:setVisible(true) else lock:setVisible(true) GFunc.centerImgAndTx(lock, layer, 5) diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua index 222f1ce8..633b78ea 100644 --- a/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua +++ b/lua/app/ui/dungeon_rune/dungeon_rune_boss_fight_ui.lua @@ -104,9 +104,12 @@ function DungeonRuneBossFightUI:refreshRewardInfo() local rewards = self.runeData:getChapterRewards(self.id) if passed then title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_4)) - local round = self.runeData:getChapterPassRound(self.id) - descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, round)) - imgPassIcon:setActive(true) + -- local round = self.runeData:getChapterPassRound(self.id) + imgPassIcon:setActive(false) + descPassRound:setText(GConst.EMPTY_STRING) + descPassRound:setAnchoredPositionX(0) + -- descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, round)) + -- imgPassIcon:setActive(true) GFunc.centerImgAndTx(imgPassIcon, descPassRound, 5) rewards = self.runeData:getChapterSweepRewards(self.id) else diff --git a/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua b/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua index 00c01bf0..81d08f13 100644 --- a/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua +++ b/lua/app/ui/dungeon_rune/dungeon_rune_fight_ui.lua @@ -76,9 +76,11 @@ function DungeonRuneFightUI:refreshRewardInfo() descPassRound:setVisible(passed) imgPassIcon:setVisible(passed) if passed then - local round = self.runeData:getChapterPassRound(self.id) - descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, round)) - GFunc.centerImgAndTx(imgPassIcon, descPassRound, 5) + descPassRound:setVisible(false) + imgPassIcon:setVisible(false) + -- local round = self.runeData:getChapterPassRound(self.id) + -- descPassRound:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_MIN, round)) + -- GFunc.centerImgAndTx(imgPassIcon, descPassRound, 5) else if not self.rewardCells then self.rewardCells = {} @@ -121,7 +123,8 @@ function DungeonRuneFightUI:refreshFightBtn() descAgain:setVisible(passed) if passed then descAgain:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_2)) - title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_6)) + -- title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_6)) + title:setText(I18N:getGlobalText(I18N.GlobalConst.DUNGEON_RUNE_DESC_3)) else desc:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_CHALLENGE)) num:setText(1)