From 99d631844213a3faeb6c1422d098aac7913efcc3 Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Tue, 25 Apr 2023 17:50:41 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/config/chapter.lua | 28 +++++--- lua/app/config/chapter_board.lua | 4 +- lua/app/config/fx.lua | 2 +- lua/app/config/monster_chapter.lua | 14 ++-- lua/app/config/skill.lua | 66 ++++++++++++++----- lua/app/config/skill_rogue.lua | 15 +++-- lua/app/config/strings/cn/skill_rogue.lua | 6 +- lua/app/config/strings/en/global.lua | 10 +-- lua/app/config/strings/en/skill_rogue.lua | 6 +- lua/app/module/battle/battle_const.lua | 8 +++ .../battle/controller/battle_controller.lua | 28 +++++++- .../skill/battle_board_skill_entity.lua | 23 +++++++ 12 files changed, 156 insertions(+), 54 deletions(-) diff --git a/lua/app/config/chapter.lua b/lua/app/config/chapter.lua index f88467ed..06ffb3e6 100644 --- a/lua/app/config/chapter.lua +++ b/lua/app/config/chapter.lua @@ -4,6 +4,7 @@ local chapter = { ["icon"]="chapter_1", ["scene"]="bg_1", ["block_icon"]="battle_hinder_1", + ["chess_board"]="chessboard_1", ["board"]={ 1 }, @@ -78,7 +79,8 @@ local chapter = { ["next_chapter"]=3, ["icon"]="chapter_2", ["scene"]="bg_2", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_2", + ["chess_board"]="chessboard_1", ["board"]={ 2, 3 @@ -180,7 +182,8 @@ local chapter = { ["next_chapter"]=4, ["icon"]="chapter_3", ["scene"]="bg_3", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_3", + ["chess_board"]="chessboard_1", ["board"]={ 4, 5, @@ -277,7 +280,8 @@ local chapter = { ["next_chapter"]=5, ["icon"]="chapter_4", ["scene"]="bg_4", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_4", + ["chess_board"]="chessboard_1", ["board"]={ 7, 8, @@ -407,7 +411,8 @@ local chapter = { ["next_chapter"]=6, ["icon"]="chapter_5", ["scene"]="bg_5", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_5", + ["chess_board"]="chessboard_2", ["board"]={ 11, 12, @@ -537,7 +542,8 @@ local chapter = { ["next_chapter"]=7, ["icon"]="chapter_6", ["scene"]="bg_5", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_5", + ["chess_board"]="chessboard_2", ["board"]={ 15, 16, @@ -667,7 +673,8 @@ local chapter = { ["next_chapter"]=8, ["icon"]="chapter_7", ["scene"]="bg_6", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_6", + ["chess_board"]="chessboard_2", ["board"]={ 19, 20, @@ -797,7 +804,8 @@ local chapter = { ["next_chapter"]=9, ["icon"]="chapter_8", ["scene"]="bg_6", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_6", + ["chess_board"]="chessboard_2", ["board"]={ 23, 24, @@ -935,7 +943,8 @@ local chapter = { ["next_chapter"]=10, ["icon"]="chapter_9", ["scene"]="bg_7", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_7", + ["chess_board"]="chessboard_2", ["board"]={ 27, 28, @@ -1072,7 +1081,8 @@ local chapter = { ["before_chapter"]=9, ["icon"]="chapter_10", ["scene"]="bg_7", - ["block_icon"]="battle_hinder_1", + ["block_icon"]="battle_hinder_7", + ["chess_board"]="chessboard_2", ["board"]={ 31, 32, diff --git a/lua/app/config/chapter_board.lua b/lua/app/config/chapter_board.lua index 559646c3..61586374 100644 --- a/lua/app/config/chapter_board.lua +++ b/lua/app/config/chapter_board.lua @@ -4620,7 +4620,7 @@ local chapter_board = { }, { 4, - 0 + 2 }, { 0, @@ -4636,7 +4636,7 @@ local chapter_board = { }, { 4, - 0 + 2 }, { 1, diff --git a/lua/app/config/fx.lua b/lua/app/config/fx.lua index 32f1ff40..6dcf444c 100644 --- a/lua/app/config/fx.lua +++ b/lua/app/config/fx.lua @@ -327,7 +327,7 @@ local fx = { ["bind"]="root" }, [300008]={ - ["res"]="sfx_p0002_b05", + ["res"]="sfx_p0002_b06", ["bind"]="root" }, [300009]={ diff --git a/lua/app/config/monster_chapter.lua b/lua/app/config/monster_chapter.lua index 4ddd26a0..712ecf5b 100644 --- a/lua/app/config/monster_chapter.lua +++ b/lua/app/config/monster_chapter.lua @@ -1967,11 +1967,10 @@ local monster_chapter = { 10030, 10031 }, - ["skill"]={ - 10032 - }, ["passive_skill"]={ - 10033 + 10032, + 10033, + 10083 }, ["monster_exp"]=22000 }, @@ -2232,11 +2231,10 @@ local monster_chapter = { 10030, 10031 }, - ["skill"]={ - 10032 - }, ["passive_skill"]={ - 10033 + 10032, + 10033, + 10083 }, ["monster_exp"]=22000 } diff --git a/lua/app/config/skill.lua b/lua/app/config/skill.lua index 1275f509..1fc72926 100644 --- a/lua/app/config/skill.lua +++ b/lua/app/config/skill.lua @@ -92,6 +92,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -224,6 +225,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -333,19 +335,18 @@ local skill = { ["effect"]={ { ["type"]="hurt_yellow", - ["num"]=70000, + ["num"]=40000, ["ratio"]=10000, ["round"]=0 } }, ["obj"]=2, - ["skill_position"]=1, + ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=4, ["sound_hit"]=2200120, ["name_act"]="skill01", ["fx_self"]=300008, - ["fx_self_delay"]=700, ["fx_target"]=4, ["fx_target_delay"]=1100 }, @@ -380,19 +381,18 @@ local skill = { ["effect"]={ { ["type"]="hurt_yellow", - ["num"]=70000, + ["num"]=40000, ["ratio"]=10000, ["round"]=0 } }, ["obj"]=2, - ["skill_position"]=1, + ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=4, ["sound_hit"]=2200120, ["name_act"]="skill01", ["fx_self"]=300008, - ["fx_self_delay"]=700, ["fx_target"]=4, ["fx_target_delay"]=1100 }, @@ -408,6 +408,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -528,7 +529,7 @@ local skill = { ["eliminate_obj"]=1, ["skill_position"]=2, ["sound_hit"]=2300111, - ["name_act"]="attack04", + ["name_act"]="skill01", ["fx_target"]=300029 }, [3200110]={ @@ -543,6 +544,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -562,6 +564,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=1, ["shake_time"]=100, ["shake_type"]=1, @@ -583,6 +586,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=1, ["shake_time"]=100, ["shake_type"]=1, @@ -604,6 +608,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=1, ["shake_time"]=100, ["shake_type"]=1, @@ -625,6 +630,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=1, ["shake_time"]=100, ["shake_type"]=1, @@ -652,6 +658,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=1, ["shake_time"]=100, ["shake_type"]=1, @@ -673,6 +680,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -692,6 +700,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -711,6 +720,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -730,6 +740,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -749,6 +760,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -774,6 +786,7 @@ local skill = { ["round"]=1 } }, + ["obj"]=1, ["skill_position"]=2, ["sound_hit"]=3300120, ["name_act"]="skill01", @@ -791,6 +804,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -811,6 +825,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -830,6 +845,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -849,6 +865,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -868,6 +885,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -906,6 +924,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -926,6 +945,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -945,6 +965,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -964,6 +985,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -983,6 +1005,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -1014,6 +1037,7 @@ local skill = { ["round"]=1 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=3, @@ -1066,6 +1090,7 @@ local skill = { ["round"]=1 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=3, @@ -1088,6 +1113,7 @@ local skill = { ["round"]=0 } }, + ["obj"]=2, ["skill_position"]=2, ["shake_time"]=100, ["shake_type"]=1, @@ -1819,15 +1845,9 @@ local skill = { ["num"]=40000, ["ratio"]=10000, ["round"]=0 - }, - { - ["type"]="hit_heal", - ["num"]=60000, - ["ratio"]=10000, - ["round"]=1 } }, - ["obj"]=2, + ["obj"]=1, ["skill_position"]=1, ["cd"]=2, ["cd_start"]=1 @@ -2729,9 +2749,25 @@ local skill = { ["sound_hit"]=10082, ["name_act"]="skill01", ["fx_self"]=200039 + }, + [10083]={ + ["effect_type"]=2, + ["trigger"]=5, + ["effect"]={ + { + ["type"]="heal", + ["num"]=100, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=1, + ["skill_position"]=2, + ["cd"]=2, + ["cd_start"]=1 } } local config = { -data=skill,count=139 +data=skill,count=140 } 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 5403c9c6..d595b9a7 100644 --- a/lua/app/config/skill_rogue.lua +++ b/lua/app/config/skill_rogue.lua @@ -402,10 +402,13 @@ local skill_rogue = { ["weight"]=3000, ["qlt"]=2, ["type"]=9, - ["attr"]={ - ["type"]="healp", - ["minnum"]=500, - ["maxnum"]=500 + ["effect"]={ + { + ["type"]="heal", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=1 + } }, ["obj"]=1, ["icon"]="30" @@ -672,7 +675,7 @@ local skill_rogue = { ["round"]=1 } }, - ["obj"]=1, + ["obj"]=5, ["icon"]="63" }, [200102]={ @@ -701,7 +704,7 @@ local skill_rogue = { ["round"]=1 } }, - ["obj"]=1, + ["obj"]=5, ["icon"]="33" }, [200200]={ diff --git a/lua/app/config/strings/cn/skill_rogue.lua b/lua/app/config/strings/cn/skill_rogue.lua index 45f59f42..0691a237 100644 --- a/lua/app/config/strings/cn/skill_rogue.lua +++ b/lua/app/config/strings/cn/skill_rogue.lua @@ -84,7 +84,7 @@ local skill_rogue = { ["desc"]="受到伤害降低5%" }, [29]={ - ["desc"]="角色血量恢复5%" + ["desc"]="恢复部分生命值" }, [30]={ ["desc"]="将场上随机2个非红色元素变为红色" @@ -177,7 +177,7 @@ local skill_rogue = { ["desc"]="生成的魔法罩如果没有破可以额外持续1回合" }, [200403]={ - ["desc"]="魔法罩存在时可反伤对方造成400%伤害" + ["desc"]="魔法罩存在时可反伤对方造成200%伤害" }, [200500]={ ["desc"]="舞步消散:将左右2格元素进行消除" @@ -216,7 +216,7 @@ local skill_rogue = { ["desc"]="巨剑连斩被连接消除其斜方向的4个元素" }, [200800]={ - ["desc"]="霜冻剑舞:白发凯瑟琳可额外造成1次伤害并给敌人1回合冰霜效果(普攻次数-1)" + ["desc"]="霜冻剑舞:造成1次伤害并施加1回合冰霜效果" }, [200801]={ ["desc"]="霜冻剑舞被使用时可消除掉其上下左右4个元素" diff --git a/lua/app/config/strings/en/global.lua b/lua/app/config/strings/en/global.lua index 692b9661..ac2ecff1 100644 --- a/lua/app/config/strings/en/global.lua +++ b/lua/app/config/strings/en/global.lua @@ -12,19 +12,19 @@ local localization_global = ["BTN_TEXT_OK"] = "Confirm", ["BATTLE_DESC_1"] = "Quit battle?", ["ITEM_NOT_ENOUGH"] = "Insufficient {0}", - ["START_DESC"] = "start", + ["START_DESC"] = "Start", ["ELEMENT_NAME_1"] = "Red Elements", ["ELEMENT_NAME_2"] = "Golden Elements", ["ELEMENT_NAME_3"] = "Green Elements", ["ELEMENT_NAME_4"] = "Blue Elements", ["ELEMENT_NAME_5"] = "Purple Elements", - ["HERO_DESC_1"] = "Level{0}", + ["HERO_DESC_1"] = "Lv.{0}", ["HERO_DESC_2"] = "HP", ["HERO_DESC_3"] = "Attack", ["HERO_DESC_4"] = "Upgrade", ["HERO_DESC_5"] = "Activate", - ["HERO_DESC_6"] = "unlocked", - ["HERO_DESC_7"] = "locked", + ["HERO_DESC_6"] = "Unlocked", + ["HERO_DESC_7"] = "Locked", ["GET_REWARDS_DESC"] = "Rewards Obtained", ["CLICK_CLOSE_DESC"] = "Tap to close", ["REWARD_DESC"] = "Rewards", @@ -38,7 +38,7 @@ local localization_global = ["REWARD_PREVIEW_DESC"] = "Reward Overview", ["HERO_DESC_8"] = "Use", ["HERO_DESC_9"] = "Info", - ["HERO_DESC_10"] = "Unlock when completing chapter {0}", + ["HERO_DESC_10"] = "Unlock after chapter {0}", ["BATTLE_DESC_8"] = "Additional heroes available for deploying", ["MAIN_BTN_2"] = "Hero", ["MAIN_DESC_1"] = "Chapter {0}", diff --git a/lua/app/config/strings/en/skill_rogue.lua b/lua/app/config/strings/en/skill_rogue.lua index 76b8acd3..2eeaf2cd 100644 --- a/lua/app/config/strings/en/skill_rogue.lua +++ b/lua/app/config/strings/en/skill_rogue.lua @@ -84,7 +84,7 @@ local skill_rogue = { ["desc"]="Reduces Damage Taken by 5%" }, [29]={ - ["desc"]="Restores Character’s HP by 5%" + ["desc"]="Restore part of HP" }, [30]={ ["desc"]="Turns 2 random Non-Red elements into Red" @@ -177,7 +177,7 @@ local skill_rogue = { ["desc"]="Magic Shield lasts for 1 more round if it isn’t destroyed" }, [200403]={ - ["desc"]="Magic Shield reflects and deals 400% damage back to the enemy when activated" + ["desc"]="Magic Shield reflects and deals 200% damage back to the enemy when activated" }, [200500]={ ["desc"]="Disperse in Dance: Clears elements on 2 tiles on the left and right" @@ -216,7 +216,7 @@ local skill_rogue = { ["desc"]="Great Sword Combos clears 4 elements on the diagonal directions when connected" }, [200800]={ - ["desc"]="Frosty Blade Dance: White-Hair Catherine deals extra damage for 1 time and applies Frost status on the enemy for 1 round (normal attack hits -1)" + ["desc"]="Frosty Blade Dance: Deal the damage for 1 hit and applies Frost status for 1 round" }, [200801]={ ["desc"]="When performing Frosty Blade Dance, clears 4 elements on the top, bottom, left and right side" diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index cb2f93c1..87cb3ee5 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -363,6 +363,14 @@ BattleConst.SKILL_ELEMENT_BG_2 = { [BattleConst.ELEMENT_TYPE.PURPLE] = "battle_skill_bg_purple_2" } +BattleConst.SIDE_OBJ_TO_MATCH_TYPE = { + [3] = BattleConst.ELEMENT_TYPE.RED, + [4] = BattleConst.ELEMENT_TYPE.YELLOW, + [5] = BattleConst.ELEMENT_TYPE.GREEN, + [6] = BattleConst.ELEMENT_TYPE.BLUE, + [7] = BattleConst.ELEMENT_TYPE.PURPLE, +} + BattleConst.POS_ID_2_RC = {} BattleConst.RC_2_POS_ID = {} diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua index 5297d63c..dbc2b96c 100644 --- a/lua/app/module/battle/controller/battle_controller.lua +++ b/lua/app/module/battle/controller/battle_controller.lua @@ -1017,6 +1017,23 @@ function BattleController:generateInstructions(skillEntity, elementType, lineCou ---- 加buff if skillEntity then + local eliminateEffects = skillEntity:getEliminateEffects(self) + if eliminateEffects then + local effectList + for _, buffEntity in ipairs(eliminateEffects) do + if not effectList then + effectList = {} + end + table.insert(effectList, buffEntity) + end + if effectList then + local unit = { + name = BattleConst.INSTRUCTION_NAME.ADD_CUR_ROUND_ATTR, + effectList = effectList + } + table.insert(self.instructions, unit) + end + end if skillEntity:getLinkEffects() and elementType then local effectList for type, buffEntities in pairs(skillEntity:getLinkEffects()) do @@ -2012,10 +2029,17 @@ local function _addCurRoundAttr(self, instruction, callback) local target if effect:getTartgetSide() == BattleConst.SIDE_DEF then target = defComp - else + elseif effect:getTartgetSide() == BattleConst.SIDE_ATK then target = mainComp + else + local matchType = BattleConst.SIDE_OBJ_TO_MATCH_TYPE[effect:getTartgetSide()] + if matchType then + target = self.atkTeam:getUnitComp()[matchType] + end + end + if target then + mainComp:takeEffect(effect, target) end - mainComp:takeEffect(effect, target) end 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 ea464767..613b3b02 100644 --- a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua +++ b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua @@ -342,6 +342,29 @@ function BattleBoardSkillEntity:getBuffEffects() return self.cacheBuffEntities end +function BattleBoardSkillEntity:getEliminateEffects(battleController) + local unitEntity = battleController.battleData.atkTeam:getAllMembers()[self:getPosition()] + if not unitEntity or not self.config.eliminate_effect then + return + end + + if not self.eliminateBuffEntities then + self.eliminateBuffEntities = {} + for _, effect in ipairs(self.config.eliminate_effect) do + local buffEntity = BattleBuffEntity:create() + buffEntity:init(effect, unitEntity) + buffEntity:setTargetSide(self:getEliminateEffectTarget()) + table.insert(self.eliminateBuffEntities, buffEntity) + end + end + + return self.eliminateBuffEntities +end + +function BattleBoardSkillEntity:getEliminateEffectTarget() + return self.config.eliminate_obj +end + function BattleBoardSkillEntity:addUpSkills(skillList) for _, skillId in ipairs(skillList) do self.upSkillIdMap[skillId] = false