# Conflicts:
#	lua/app/config/skill_rogue.lua
#	lua/app/config/tutorial.lua.meta
#	lua/app/config/tutorial_start.lua.meta
#	lua/app/module/battle/battle_const.lua
This commit is contained in:
xiekaidong 2023-04-20 21:26:51 +08:00
commit 44102b81b9
20 changed files with 390 additions and 56 deletions

View File

@ -131,6 +131,9 @@ local skill_rogue = {
[44]={ [44]={
["desc"]="将场上随机5个非紫色元素变为紫色" ["desc"]="将场上随机5个非紫色元素变为紫色"
}, },
[200100]={
["desc"]="长枪突刺将上下2格元素进行消除"
},
[200101]={ [200101]={
["desc"]="长枪突刺可上下多消1格" ["desc"]="长枪突刺可上下多消1格"
}, },
@ -140,6 +143,9 @@ local skill_rogue = {
[200103]={ [200103]={
["desc"]="连接长枪突刺每次攻击有10%概率眩晕对手1回合。" ["desc"]="连接长枪突刺每次攻击有10%概率眩晕对手1回合。"
}, },
[200200]={
["desc"]="拔刀斩:卡拉可造成大量伤害"
},
[200201]={ [200201]={
["desc"]="拔刀斩被连接时其上下左右4个元素变为金色元素" ["desc"]="拔刀斩被连接时其上下左右4个元素变为金色元素"
}, },
@ -149,6 +155,9 @@ local skill_rogue = {
[200203]={ [200203]={
["desc"]="拔刀斩终结技可放2次" ["desc"]="拔刀斩终结技可放2次"
}, },
[200300]={
["desc"]="元素链接随机额外消除2个元素"
},
[200301]={ [200301]={
["desc"]="元素链接可与任何颜色链接" ["desc"]="元素链接可与任何颜色链接"
}, },
@ -158,6 +167,9 @@ local skill_rogue = {
[200303]={ [200303]={
["desc"]="元素链接随机消除元素增加2个" ["desc"]="元素链接随机消除元素增加2个"
}, },
[200400]={
["desc"]="魔法罩艾伦可生成一个魔法罩持续1回合"
},
[200401]={ [200401]={
["desc"]="魔法罩可与任何颜色链接" ["desc"]="魔法罩可与任何颜色链接"
}, },
@ -167,6 +179,9 @@ local skill_rogue = {
[200403]={ [200403]={
["desc"]="生成的魔法罩如果没有破可以额外持续1回合" ["desc"]="生成的魔法罩如果没有破可以额外持续1回合"
}, },
[200500]={
["desc"]="舞步消散将左右2格元素进行消除"
},
[200501]={ [200501]={
["desc"]="舞步消散左右可多消1格" ["desc"]="舞步消散左右可多消1格"
}, },
@ -176,6 +191,9 @@ local skill_rogue = {
[200503]={ [200503]={
["desc"]="每有1个元素连接舞步消散则本回合格挡增加2%" ["desc"]="每有1个元素连接舞步消散则本回合格挡增加2%"
}, },
[200600]={
["desc"]="快速治愈莉莉丝可恢复20%生命值"
},
[200601]={ [200601]={
["desc"]="快速治愈可与任何元素连接" ["desc"]="快速治愈可与任何元素连接"
}, },
@ -185,6 +203,9 @@ local skill_rogue = {
[200603]={ [200603]={
["desc"]="连接快速治愈的每一击都将恢复2%生命值" ["desc"]="连接快速治愈的每一击都将恢复2%生命值"
}, },
[200700]={
["desc"]="巨剑连斩每一次攻击的伤害将增加50%"
},
[200701]={ [200701]={
["desc"]="疾风骤雨被连接时其上下左右4个元素变为金色元素" ["desc"]="疾风骤雨被连接时其上下左右4个元素变为金色元素"
}, },
@ -194,6 +215,9 @@ local skill_rogue = {
[200703]={ [200703]={
["desc"]="疾风骤雨被连接时周围8格元素变为金色元素" ["desc"]="疾风骤雨被连接时周围8格元素变为金色元素"
}, },
[200800]={
["desc"]="霜冻剑舞白发凯瑟琳可额外造成1次伤害并给敌人1回合冰霜效果普攻次数-1"
},
[200801]={ [200801]={
["desc"]="霜冻剑舞被使用时可消除掉其上下左右4个元素" ["desc"]="霜冻剑舞被使用时可消除掉其上下左右4个元素"
}, },
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -130,6 +130,9 @@ local skill_rogue = {
}, },
[44]={ [44]={
},
[200100]={
}, },
[200101]={ [200101]={
@ -139,6 +142,9 @@ local skill_rogue = {
}, },
[200103]={ [200103]={
},
[200200]={
}, },
[200201]={ [200201]={
@ -148,6 +154,9 @@ local skill_rogue = {
}, },
[200203]={ [200203]={
},
[200300]={
}, },
[200301]={ [200301]={
@ -157,6 +166,9 @@ local skill_rogue = {
}, },
[200303]={ [200303]={
},
[200400]={
}, },
[200401]={ [200401]={
@ -166,6 +178,9 @@ local skill_rogue = {
}, },
[200403]={ [200403]={
},
[200500]={
}, },
[200501]={ [200501]={
@ -175,6 +190,9 @@ local skill_rogue = {
}, },
[200503]={ [200503]={
},
[200600]={
}, },
[200601]={ [200601]={
@ -184,6 +202,9 @@ local skill_rogue = {
}, },
[200603]={ [200603]={
},
[200700]={
}, },
[200701]={ [200701]={
@ -193,6 +214,9 @@ local skill_rogue = {
}, },
[200703]={ [200703]={
},
[200800]={
}, },
[200801]={ [200801]={
@ -205,6 +229,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=68 data=skill_rogue,count=76
} }
return config return config

View File

@ -38,6 +38,9 @@ BattleConst.ANIMATOR_HASH_NAME_NUMBER_MOVE_R = 445827326
BattleConst.ANIMATOR_HASH_NAME_NUMBER_CRIT = -1734531349 BattleConst.ANIMATOR_HASH_NAME_NUMBER_CRIT = -1734531349
BattleConst.ANIMATOR_HASH_NAME_NUMBER_BUFF = 1364146828 BattleConst.ANIMATOR_HASH_NAME_NUMBER_BUFF = 1364146828
BattleConst.UNLOCK_SKILL_ROGUE_TYPE = 6 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 = { BattleConst.BATTLE_ROUND_STEP = {
WAIT_BEGIN = 0, -- 等待开始 WAIT_BEGIN = 0, -- 等待开始
@ -80,13 +83,13 @@ BattleConst.UNIT_STATE = {
IDLE = 1, -- 待机 IDLE = 1, -- 待机
NORMAL_ATTACK = 2, -- 普通攻击 NORMAL_ATTACK = 2, -- 普通攻击
SKILL_ATTACK = 3, -- 技能攻击 SKILL_ATTACK = 3, -- 技能攻击
HURT = 4, -- 受伤 DEAD = 4, -- 死亡
DEAD = 5, -- 死亡 ENTER_BATTLEFIELD = 5, -- 进入战场
ENTER_BATTLEFIELD = 6, -- 进入战 SWITCH_IN = 6, -- 入
SWITCH_IN = 7, -- 入 SWITCH_OUT = 7, -- 离
SWITCH_OUT = 8, -- 离场 ASSISTING_ATTACK = 8, -- 协助攻击
ASSISTING_ATTACK = 9, -- 协助攻击 WAIT = 9, -- 等待
WAIT = 10, -- 等待 RECOVER_HP_WAVE = 10, -- 波次之间回血
} }
BattleConst.MATCH_DMG_ADDITION_NAME = { BattleConst.MATCH_DMG_ADDITION_NAME = {

View File

@ -1,17 +1,5 @@
local BattleConst = require "app/module/battle/battle_const"
local BattleUnitComp = require "app/module/battle/component/battle_unit_comp" local BattleUnitComp = require "app/module/battle/component/battle_unit_comp"
local BattleHeroComp = class("BattleHeroComp", BattleUnitComp) 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 return BattleHeroComp

View File

@ -1,16 +1,5 @@
local BattleConst = require "app/module/battle/battle_const"
local BattleUnitComp = require "app/module/battle/component/battle_unit_comp" local BattleUnitComp = require "app/module/battle/component/battle_unit_comp"
local BattleMonsterComp = class("BattleMonsterComp", BattleUnitComp) 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 return BattleMonsterComp

View File

@ -393,6 +393,8 @@ function BattleUnitComp:changeState(state)
self:exitSwitchOutState() self:exitSwitchOutState()
elseif self.currState == UNIT_STATE.WAIT then elseif self.currState == UNIT_STATE.WAIT then
self:exitWaitState() self:exitWaitState()
elseif self.currState == UNIT_STATE.RECOVER_HP_WAVE then
self:exitRecoverHpWaveState()
end end
-- 进入目标状态 -- 进入目标状态
self.currState = state self.currState = state
@ -416,6 +418,8 @@ function BattleUnitComp:changeState(state)
self:enterSwitchOutState() self:enterSwitchOutState()
elseif state == UNIT_STATE.WAIT then elseif state == UNIT_STATE.WAIT then
self:enterWaitState() self:enterWaitState()
elseif state == UNIT_STATE.RECOVER_HP_WAVE then
self:enterRecoverHpWaveState()
end end
return true return true
end end
@ -563,6 +567,34 @@ function BattleUnitComp:updateHurt(dt)
end end
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() function BattleUnitComp:enterWaitState()
end end
@ -1002,7 +1034,7 @@ function BattleUnitComp:removeEffect(buff, target)
end end
end end
function BattleUnitComp:takeDamageOrCure(atker, buff, num, effectType, effectStatus) function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus)
if self:getIsClear() then if self:getIsClear() then
return 0 return 0
end end
@ -1087,6 +1119,14 @@ function BattleUnitComp:playDead(callback)
end end
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) function BattleUnitComp:playEnterBattlefield(isBoss, callback)
self.finishEnterBattlefieldCallback = callback self.finishEnterBattlefieldCallback = callback
if isBoss then if isBoss then
@ -1140,6 +1180,8 @@ function BattleUnitComp:tick(dt)
self:updateSwitchOutState(dt) self:updateSwitchOutState(dt)
elseif self.currState == UNIT_STATE.WAIT then elseif self.currState == UNIT_STATE.WAIT then
self:updateWaitState(dt) self:updateWaitState(dt)
elseif self.currState == UNIT_STATE.RECOVER_HP_WAVE then
self:updateRecoverHpWaveState(dt)
end end
end end

View File

@ -46,16 +46,28 @@ function BattleControllerStage:_stageGenerateNextMonster()
monsterComp:initWithEntity(modelId, unitEntity, self) monsterComp:initWithEntity(modelId, unitEntity, self)
self.defTeam:addUnit(monsterComp, true) self.defTeam:addUnit(monsterComp, true)
self.battleUI:refreshDefHp(unitEntity:getHp(), unitEntity:getHpPercent()) 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() self.atkTeam:playRunAction()
monsterComp:playEnterBattlefield(true, function() self.atkTeam:recoverHpOnWaveOver(onFinish)
self.atkTeam:stopRunAction() monsterComp:playEnterBattlefield(true, onFinish)
self:onRoundEnd(true)
end)
else else
monsterComp:playEnterBattlefield(false, function() local count = 0
self:onRoundEnd(true) local function onFinish()
end) count = count + 1
if count == 2 then
self:onRoundEnd(true)
end
end
self.atkTeam:recoverHpOnWaveOver(onFinish)
monsterComp:playEnterBattlefield(false, onFinish)
end end
end) end)
end end

View File

@ -18,7 +18,7 @@ local function _doDotWork(unitComp, buffEffect, buff)
else else
damage = -damage damage = -damage
end end
unitComp:takeDamageOrCure(buffEffect.sender, buff, damage, EFFECT_TYPE.DOT, hurtStatus) unitComp:takeDamageOrCure(buffEffect.sender, damage, EFFECT_TYPE.DOT, hurtStatus)
end end
local function _doHotWork(unitComp, buffEffect, buff) local function _doHotWork(unitComp, buffEffect, buff)
@ -26,7 +26,7 @@ local function _doHotWork(unitComp, buffEffect, buff)
if cure < 0 then -- 加血不能是负数 if cure < 0 then -- 加血不能是负数
cure = 0 cure = 0
end end
unitComp:takeDamageOrCure(buffEffect.sender, buff, cure, EFFECT_TYPE.HOT, hurtStatus) unitComp:takeDamageOrCure(buffEffect.sender, cure, EFFECT_TYPE.HOT, hurtStatus)
end end
function BattleBuffHandle.doBuffWork(unitComp, buffEffect) function BattleBuffHandle.doBuffWork(unitComp, buffEffect)
@ -76,7 +76,7 @@ local function _takeEffectDirectHurt(unitComp, buff, target, buffEffect)
else else
damage = -damage damage = -damage
end end
target:takeDamageOrCure(unitComp, buff, damage, EFFECT_TYPE.DIRECT, hurtStatus) target:takeDamageOrCure(unitComp, damage, EFFECT_TYPE.DIRECT, hurtStatus)
return damage return damage
end end
@ -89,7 +89,7 @@ local function _takeEffectDirectCure(unitComp, buff, target, buffEffect)
if cure < 0 then -- 加血不能是负数 if cure < 0 then -- 加血不能是负数
cure = 0 cure = 0
end end
target:takeDamageOrCure(unitComp, buff, cure, EFFECT_TYPE.HEAL, hurtStatus) target:takeDamageOrCure(unitComp, cure, EFFECT_TYPE.HEAL, hurtStatus)
return cure return cure
end end

View File

@ -267,6 +267,14 @@ function BattleTeam:stopRunAction()
end end
end end
function BattleTeam:recoverHpOnWaveOver(callback)
if self.mainUnit then
self.mainUnit:recoverHpOnWaveOver(callback)
else
callback()
end
end
function BattleTeam:getCentralizedAttack() function BattleTeam:getCentralizedAttack()
return self.centralizedAttack return self.centralizedAttack
end end

View File

@ -36,7 +36,11 @@ function DescTips:onRefresh()
-- 这里原来是用preferredHeight,但是在中英文混合的时候这个值可能不准,只有改用renderedHeight -- 这里原来是用preferredHeight,但是在中英文混合的时候这个值可能不准,只有改用renderedHeight
-- renderedHeight必须要先调用下ForceMeshUpdate强制刷新才有效 -- renderedHeight必须要先调用下ForceMeshUpdate强制刷新才有效
self.descTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO):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 if self.tarCornerScreenPos then
self:locate(self.location, self.originSizeDelta, self.bg, self.tarCornerScreenPos) self:locate(self.location, self.originSizeDelta, self.bg, self.tarCornerScreenPos)
end end