diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua index b40d42d9..a5f5d7fa 100644 --- a/lua/app/module/battle/controller/battle_controller.lua +++ b/lua/app/module/battle/controller/battle_controller.lua @@ -1330,6 +1330,12 @@ function BattleController:findSkillInfluenceGrids() end function BattleController:getRandomSkillList(getCount) + local fixedList = self:getFixedRogueSkill() + if fixedList[1] then + return table.remove(fixedList, 1) + end + + getCount = getCount or BattleConst.SKILL_SELECT_COUNT local result = {} local cfg = ConfigManager:getConfig("skill_rogue") diff --git a/lua/app/module/battle/controller/battle_controller_stage.lua b/lua/app/module/battle/controller/battle_controller_stage.lua index 0aa24fda..23f21a55 100644 --- a/lua/app/module/battle/controller/battle_controller_stage.lua +++ b/lua/app/module/battle/controller/battle_controller_stage.lua @@ -118,6 +118,19 @@ function BattleControllerStage:getNotInvolvedSkills() return self.notInvolvedSkills end +function BattleControllerStage:getFixedRogueSkill() + if not self.fixedRogueSkill then + local config = ConfigManager:getConfig("chapter")[self.chapterId] + if config.involved_skill then + self.fixedRogueSkill = GFunc.getTable(config.involved_skill) + else + self.fixedRogueSkill = {} + end + end + + return self.fixedRogueSkill +end + function BattleControllerStage:findNextDefUnit() self:_stageGenerateNextMonster() end diff --git a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua index 10dd6574..97faaf66 100644 --- a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua +++ b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua @@ -153,6 +153,13 @@ function BattleBoardSkillEntity:getNameAct() return self.config.name_act end +function BattleBoardSkillEntity:cfgLinkAny() + if not self.config then + return false + end + return self.config.link ~= nil +end + function BattleBoardSkillEntity:getEnergy() return self.curEnergy end @@ -174,6 +181,10 @@ function BattleBoardSkillEntity:clearEnergy() end function BattleBoardSkillEntity:getIgnoreElementType() + if self:cfgLinkAny() then + return true + end + return self.ignoreElementType end