diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua index 06d51f23..f58a1679 100644 --- a/lua/app/module/battle/controller/battle_controller.lua +++ b/lua/app/module/battle/controller/battle_controller.lua @@ -361,7 +361,6 @@ function BattleController:enterNextWave() if self.waveIndex == 1 then -- 第一波 self:generateBoard(true) end - self.defTeam:prepare() self:enterRoundBegin() self.isBossWave = self.defTeam:getMainUnit().unitEntity:getIsBoss() @@ -905,11 +904,28 @@ function BattleController:generateInstructions(skillEntity, elementType, lineCou ---- 技能 if skillEntity then - table.insert(self.instructions, { - name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL, - skillMatch = elementType, - count = elementTypeCount, - }) + if elementType == skillEntity:getMatchType() then + table.insert(self.instructions, { + name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL, + skillMatch = elementType, + count = elementTypeCount, + }) + else + if skillEntity:getSkillEffectType() ~= nil then + table.insert(self.instructions, { + name = BattleConst.INSTRUCTION_NAME.PLAY_SKILL, + skillMatch = skillEntity:getPosition(), + count = 0, + }) + end + if elementTypeCount > 0 then + table.insert(self.instructions, { + name = BattleConst.INSTRUCTION_NAME.GENERAL_ATTACK, + skillMatch = elementType, + count = elementTypeCount, + }) + end + end else ---- 普攻 if elementTypeCount > 0 then 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 97faaf66..502be130 100644 --- a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua +++ b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua @@ -81,6 +81,13 @@ function BattleBoardSkillEntity:getSkillTypeParameter() return self.config.skill_type_parameter end +function BattleBoardSkillEntity:getSkillEffectType() + if not self.config then + return nil + end + return self.config.effect_type +end + function BattleBoardSkillEntity:getBoardRange() if not self.config or not self.config.boardrange then return