diff --git a/lua/app/config/strings/cn/skill_rogue.lua b/lua/app/config/strings/cn/skill_rogue.lua index c6c34daf..7d9c92e0 100644 --- a/lua/app/config/strings/cn/skill_rogue.lua +++ b/lua/app/config/strings/cn/skill_rogue.lua @@ -131,6 +131,9 @@ local skill_rogue = { [44]={ ["desc"]="将场上随机5个非紫色元素变为紫色" }, + [200100]={ + ["desc"]="长枪突刺:将上下2格元素进行消除" + }, [200101]={ ["desc"]="长枪突刺可上下多消1格" }, @@ -140,6 +143,9 @@ local skill_rogue = { [200103]={ ["desc"]="连接长枪突刺每次攻击有10%概率眩晕对手1回合。" }, + [200200]={ + ["desc"]="拔刀斩:卡拉可造成大量伤害" + }, [200201]={ ["desc"]="拔刀斩被连接时其上下左右4个元素变为金色元素" }, @@ -149,6 +155,9 @@ local skill_rogue = { [200203]={ ["desc"]="拔刀斩终结技可放2次" }, + [200300]={ + ["desc"]="元素链接:随机额外消除2个元素" + }, [200301]={ ["desc"]="元素链接可与任何颜色链接" }, @@ -158,6 +167,9 @@ local skill_rogue = { [200303]={ ["desc"]="元素链接随机消除元素增加2个" }, + [200400]={ + ["desc"]="魔法罩:艾伦可生成一个魔法罩持续1回合" + }, [200401]={ ["desc"]="魔法罩可与任何颜色链接" }, @@ -167,6 +179,9 @@ local skill_rogue = { [200403]={ ["desc"]="生成的魔法罩如果没有破可以额外持续1回合" }, + [200500]={ + ["desc"]="舞步消散:将左右2格元素进行消除" + }, [200501]={ ["desc"]="舞步消散左右可多消1格" }, @@ -176,6 +191,9 @@ local skill_rogue = { [200503]={ ["desc"]="每有1个元素连接舞步消散则本回合格挡增加2%" }, + [200600]={ + ["desc"]="快速治愈:莉莉丝可恢复20%生命值" + }, [200601]={ ["desc"]="快速治愈可与任何元素连接" }, @@ -185,6 +203,9 @@ local skill_rogue = { [200603]={ ["desc"]="连接快速治愈的每一击都将恢复2%生命值" }, + [200700]={ + ["desc"]="巨剑连斩:每一次攻击的伤害将增加50%" + }, [200701]={ ["desc"]="疾风骤雨被连接时其上下左右4个元素变为金色元素" }, @@ -194,6 +215,9 @@ local skill_rogue = { [200703]={ ["desc"]="疾风骤雨被连接时周围8格元素变为金色元素" }, + [200800]={ + ["desc"]="霜冻剑舞:白发凯瑟琳可额外造成1次伤害并给敌人1回合冰霜效果(普攻次数-1)" + }, [200801]={ ["desc"]="霜冻剑舞被使用时可消除掉其上下左右4个元素" }, @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/de/skill_rogue.lua +++ b/lua/app/config/strings/de/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/en/skill_rogue.lua +++ b/lua/app/config/strings/en/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/fr/skill_rogue.lua +++ b/lua/app/config/strings/fr/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/id/skill_rogue.lua +++ b/lua/app/config/strings/id/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/ja/skill_rogue.lua +++ b/lua/app/config/strings/ja/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/ko/skill_rogue.lua +++ b/lua/app/config/strings/ko/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/pt/skill_rogue.lua +++ b/lua/app/config/strings/pt/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/ru/skill_rogue.lua +++ b/lua/app/config/strings/ru/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/th/skill_rogue.lua +++ b/lua/app/config/strings/th/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/vi/skill_rogue.lua +++ b/lua/app/config/strings/vi/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } 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 1981a410..1edf592a 100644 --- a/lua/app/config/strings/zh/skill_rogue.lua +++ b/lua/app/config/strings/zh/skill_rogue.lua @@ -130,6 +130,9 @@ local skill_rogue = { }, [44]={ + }, + [200100]={ + }, [200101]={ @@ -139,6 +142,9 @@ local skill_rogue = { }, [200103]={ + }, + [200200]={ + }, [200201]={ @@ -148,6 +154,9 @@ local skill_rogue = { }, [200203]={ + }, + [200300]={ + }, [200301]={ @@ -157,6 +166,9 @@ local skill_rogue = { }, [200303]={ + }, + [200400]={ + }, [200401]={ @@ -166,6 +178,9 @@ local skill_rogue = { }, [200403]={ + }, + [200500]={ + }, [200501]={ @@ -175,6 +190,9 @@ local skill_rogue = { }, [200503]={ + }, + [200600]={ + }, [200601]={ @@ -184,6 +202,9 @@ local skill_rogue = { }, [200603]={ + }, + [200700]={ + }, [200701]={ @@ -193,6 +214,9 @@ local skill_rogue = { }, [200703]={ + }, + [200800]={ + }, [200801]={ @@ -205,6 +229,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=68 +data=skill_rogue,count=76 } return config \ No newline at end of file diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index a84d186d..c84eb200 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -38,6 +38,9 @@ BattleConst.ANIMATOR_HASH_NAME_NUMBER_MOVE_R = 445827326 BattleConst.ANIMATOR_HASH_NAME_NUMBER_CRIT = -1734531349 BattleConst.ANIMATOR_HASH_NAME_NUMBER_BUFF = 1364146828 BattleConst.UNLOCK_SKILL_ROGUE_TYPE = 6 +BattleConst.RECOVER_HP_COUNT = 3 +BattleConst.RECOVER_HP_INTERVAL = 0.2 +BattleConst.RECOVER_HP_PERCENT = 333 BattleConst.BATTLE_ROUND_STEP = { WAIT_BEGIN = 0, -- 等待开始 @@ -80,13 +83,13 @@ BattleConst.UNIT_STATE = { IDLE = 1, -- 待机 NORMAL_ATTACK = 2, -- 普通攻击 SKILL_ATTACK = 3, -- 技能攻击 - HURT = 4, -- 受伤 - DEAD = 5, -- 死亡 - ENTER_BATTLEFIELD = 6, -- 进入战场 - SWITCH_IN = 7, -- 入场 - SWITCH_OUT = 8, -- 离场 - ASSISTING_ATTACK = 9, -- 协助攻击 - WAIT = 10, -- 等待 + DEAD = 4, -- 死亡 + ENTER_BATTLEFIELD = 5, -- 进入战场 + SWITCH_IN = 6, -- 入场 + SWITCH_OUT = 7, -- 离场 + ASSISTING_ATTACK = 8, -- 协助攻击 + WAIT = 9, -- 等待 + RECOVER_HP_WAVE = 10, -- 波次之间回血 } BattleConst.MATCH_DMG_ADDITION_NAME = { diff --git a/lua/app/module/battle/component/battle_hero_comp.lua b/lua/app/module/battle/component/battle_hero_comp.lua index efa66e27..7b5e22f6 100644 --- a/lua/app/module/battle/component/battle_hero_comp.lua +++ b/lua/app/module/battle/component/battle_hero_comp.lua @@ -1,17 +1,5 @@ -local BattleConst = require "app/module/battle/battle_const" local BattleUnitComp = require "app/module/battle/component/battle_unit_comp" local BattleHeroComp = class("BattleHeroComp", BattleUnitComp) -local UNIT_STATE = BattleConst.UNIT_STATE - -function BattleHeroComp:init() - self.battleMgr = CS.BF.BFMain.Instance.BattleMgr -end - -function BattleHeroComp:initBase() - self.isDead = false - self.currState = UNIT_STATE.INIT -end - return BattleHeroComp \ No newline at end of file diff --git a/lua/app/module/battle/component/battle_monster_comp.lua b/lua/app/module/battle/component/battle_monster_comp.lua index 229c01de..5015c09b 100644 --- a/lua/app/module/battle/component/battle_monster_comp.lua +++ b/lua/app/module/battle/component/battle_monster_comp.lua @@ -1,16 +1,5 @@ -local BattleConst = require "app/module/battle/battle_const" local BattleUnitComp = require "app/module/battle/component/battle_unit_comp" local BattleMonsterComp = class("BattleMonsterComp", BattleUnitComp) -local UNIT_STATE = BattleConst.UNIT_STATE - -function BattleMonsterComp:init() -end - -function BattleMonsterComp:initBase() - self.isDead = false - self.currState = UNIT_STATE.INIT -end - return BattleMonsterComp \ No newline at end of file diff --git a/lua/app/module/battle/component/battle_unit_comp.lua b/lua/app/module/battle/component/battle_unit_comp.lua index 8c4334b2..e48f5ff2 100644 --- a/lua/app/module/battle/component/battle_unit_comp.lua +++ b/lua/app/module/battle/component/battle_unit_comp.lua @@ -393,6 +393,8 @@ function BattleUnitComp:changeState(state) self:exitSwitchOutState() elseif self.currState == UNIT_STATE.WAIT then self:exitWaitState() + elseif self.currState == UNIT_STATE.RECOVER_HP_WAVE then + self:exitRecoverHpWaveState() end -- 进入目标状态 self.currState = state @@ -416,6 +418,8 @@ function BattleUnitComp:changeState(state) self:enterSwitchOutState() elseif state == UNIT_STATE.WAIT then self:enterWaitState() + elseif state == UNIT_STATE.RECOVER_HP_WAVE then + self:enterRecoverHpWaveState() end return true end @@ -563,6 +567,34 @@ function BattleUnitComp:updateHurt(dt) end end +function BattleUnitComp:enterRecoverHpWaveState() + self.recoverHpCount = BattleConst.RECOVER_HP_COUNT + self.recoverHpTime = BattleConst.RECOVER_HP_INTERVAL / 2 +end + +function BattleUnitComp:exitRecoverHpWaveState() +end + +function BattleUnitComp:updateRecoverHpWaveState(dt) + if self.recoverHpCount <= 0 then + return + end + self.recoverHpTime = self.recoverHpTime - dt + if self.recoverHpTime < 0 then + self.recoverHpCount = self.recoverHpCount - 1 + self.recoverHpTime = BattleConst.RECOVER_HP_INTERVAL + local healNum = BattleConst.RECOVER_HP_PERCENT * self.unitEntity:getMaxHp() // DEFAULT_FACTOR + self:takeDamageOrCure(self, healNum, EFFECT_TYPE.HEAL, 0) + if self.recoverHpCount <= 0 then + if self.finishRecoverHpCallback then + local callback = self.finishRecoverHpCallback + self.finishRecoverHpCallback = nil + callback() + end + end + end +end + function BattleUnitComp:enterWaitState() end @@ -1002,7 +1034,7 @@ function BattleUnitComp:removeEffect(buff, target) end end -function BattleUnitComp:takeDamageOrCure(atker, buff, num, effectType, effectStatus) +function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus) if self:getIsClear() then return 0 end @@ -1087,6 +1119,14 @@ function BattleUnitComp:playDead(callback) end end +function BattleUnitComp:recoverHpOnWaveOver(callback) + self.finishRecoverHpCallback = callback + if not self:changeState(UNIT_STATE.RECOVER_HP_WAVE) then + self.finishRecoverHpCallback = nil + callback() + end +end + function BattleUnitComp:playEnterBattlefield(isBoss, callback) self.finishEnterBattlefieldCallback = callback if isBoss then @@ -1140,6 +1180,8 @@ function BattleUnitComp:tick(dt) self:updateSwitchOutState(dt) elseif self.currState == UNIT_STATE.WAIT then self:updateWaitState(dt) + elseif self.currState == UNIT_STATE.RECOVER_HP_WAVE then + self:updateRecoverHpWaveState(dt) end end diff --git a/lua/app/module/battle/controller/battle_controller_stage.lua b/lua/app/module/battle/controller/battle_controller_stage.lua index 21f0ebd8..48d7289f 100644 --- a/lua/app/module/battle/controller/battle_controller_stage.lua +++ b/lua/app/module/battle/controller/battle_controller_stage.lua @@ -46,16 +46,28 @@ function BattleControllerStage:_stageGenerateNextMonster() monsterComp:initWithEntity(modelId, unitEntity, self) self.defTeam:addUnit(monsterComp, true) self.battleUI:refreshDefHp(unitEntity:getHp(), unitEntity:getHpPercent()) - if isBoss then -- 如果是boss就跑过去 + if not isBoss then -- 如果是boss就跑过去 + local count = 0 + local function onFinish() + count = count + 1 + if count == 2 then + self.atkTeam:stopRunAction() + self:onRoundEnd(true) + end + end self.atkTeam:playRunAction() - monsterComp:playEnterBattlefield(true, function() - self.atkTeam:stopRunAction() - self:onRoundEnd(true) - end) + self.atkTeam:recoverHpOnWaveOver(onFinish) + monsterComp:playEnterBattlefield(true, onFinish) else - monsterComp:playEnterBattlefield(false, function() - self:onRoundEnd(true) - end) + local count = 0 + local function onFinish() + count = count + 1 + if count == 2 then + self:onRoundEnd(true) + end + end + self.atkTeam:recoverHpOnWaveOver(onFinish) + monsterComp:playEnterBattlefield(false, onFinish) end end) end diff --git a/lua/app/module/battle/helper/battle_buff_handle.lua b/lua/app/module/battle/helper/battle_buff_handle.lua index fc39f1a4..29eb3d84 100644 --- a/lua/app/module/battle/helper/battle_buff_handle.lua +++ b/lua/app/module/battle/helper/battle_buff_handle.lua @@ -18,7 +18,7 @@ local function _doDotWork(unitComp, buffEffect, buff) else damage = -damage end - unitComp:takeDamageOrCure(buffEffect.sender, buff, damage, EFFECT_TYPE.DOT, hurtStatus) + unitComp:takeDamageOrCure(buffEffect.sender, damage, EFFECT_TYPE.DOT, hurtStatus) end local function _doHotWork(unitComp, buffEffect, buff) @@ -26,7 +26,7 @@ local function _doHotWork(unitComp, buffEffect, buff) if cure < 0 then -- 加血不能是负数 cure = 0 end - unitComp:takeDamageOrCure(buffEffect.sender, buff, cure, EFFECT_TYPE.HOT, hurtStatus) + unitComp:takeDamageOrCure(buffEffect.sender, cure, EFFECT_TYPE.HOT, hurtStatus) end function BattleBuffHandle.doBuffWork(unitComp, buffEffect) @@ -76,7 +76,7 @@ local function _takeEffectDirectHurt(unitComp, buff, target, buffEffect) else damage = -damage end - target:takeDamageOrCure(unitComp, buff, damage, EFFECT_TYPE.DIRECT, hurtStatus) + target:takeDamageOrCure(unitComp, damage, EFFECT_TYPE.DIRECT, hurtStatus) return damage end @@ -89,7 +89,7 @@ local function _takeEffectDirectCure(unitComp, buff, target, buffEffect) if cure < 0 then -- 加血不能是负数 cure = 0 end - target:takeDamageOrCure(unitComp, buff, cure, EFFECT_TYPE.HEAL, hurtStatus) + target:takeDamageOrCure(unitComp, cure, EFFECT_TYPE.HEAL, hurtStatus) return cure end diff --git a/lua/app/module/battle/team/battle_team.lua b/lua/app/module/battle/team/battle_team.lua index 03099306..e959167f 100644 --- a/lua/app/module/battle/team/battle_team.lua +++ b/lua/app/module/battle/team/battle_team.lua @@ -267,6 +267,14 @@ function BattleTeam:stopRunAction() end end +function BattleTeam:recoverHpOnWaveOver(callback) + if self.mainUnit then + self.mainUnit:recoverHpOnWaveOver(callback) + else + callback() + end +end + function BattleTeam:getCentralizedAttack() return self.centralizedAttack end diff --git a/lua/app/ui/tips/desc_tips.lua b/lua/app/ui/tips/desc_tips.lua index f0143d00..e78f4d48 100644 --- a/lua/app/ui/tips/desc_tips.lua +++ b/lua/app/ui/tips/desc_tips.lua @@ -36,7 +36,11 @@ function DescTips:onRefresh() -- 这里原来是用preferredHeight,但是在中英文混合的时候这个值可能不准,只有改用renderedHeight -- renderedHeight必须要先调用下ForceMeshUpdate强制刷新才有效 self.descTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO):ForceMeshUpdate() - self.bg:setSizeDeltaY(self.descTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).renderedHeight + 18) + local height = self.descTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).renderedHeight + 18 + if height < 130 then + height = 130 + end + self.bg:setSizeDeltaY(height) if self.tarCornerScreenPos then self:locate(self.location, self.originSizeDelta, self.bg, self.tarCornerScreenPos) end