diff --git a/lua/app/config/hero.lua b/lua/app/config/hero.lua index 4f73a8b1..02ade2a5 100644 --- a/lua/app/config/hero.lua +++ b/lua/app/config/hero.lua @@ -67,14 +67,14 @@ local hero = { 1300113 }, ["base_skill"]=1300120, - ["rouge_skill"]=1200100, - ["rouge_skill_1"]=1200101, - ["rouge_skill_2"]=1200102, - ["rouge_skill_3"]=1200103, - ["rouge_skill_4"]=1200104, - ["rouge_skill_5"]=1200105, - ["rouge_skill_6"]=1200106, - ["rouge_skill_7"]=1200107, + ["rouge_skill"]=1300100, + ["rouge_skill_1"]=1300101, + ["rouge_skill_2"]=1300102, + ["rouge_skill_3"]=1300103, + ["rouge_skill_4"]=1300104, + ["rouge_skill_5"]=1300105, + ["rouge_skill_6"]=1300106, + ["rouge_skill_7"]=1300107, ["begin_lv"]=3, ["hp"]={ 2000000, @@ -125,14 +125,14 @@ local hero = { 1300213 }, ["base_skill"]=1300220, - ["rouge_skill"]=1200100, - ["rouge_skill_1"]=1200101, - ["rouge_skill_2"]=1200102, - ["rouge_skill_3"]=1200103, - ["rouge_skill_4"]=1200104, - ["rouge_skill_5"]=1200105, - ["rouge_skill_6"]=1200106, - ["rouge_skill_7"]=1200107, + ["rouge_skill"]=1300100, + ["rouge_skill_1"]=1300101, + ["rouge_skill_2"]=1300102, + ["rouge_skill_3"]=1300103, + ["rouge_skill_4"]=1300104, + ["rouge_skill_5"]=1300105, + ["rouge_skill_6"]=1300106, + ["rouge_skill_7"]=1300107, ["begin_lv"]=3, ["hp"]={ 2000000, @@ -183,14 +183,14 @@ local hero = { 1400113 }, ["base_skill"]=1400120, - ["rouge_skill"]=1200100, - ["rouge_skill_1"]=1200101, - ["rouge_skill_2"]=1200102, - ["rouge_skill_3"]=1200103, - ["rouge_skill_4"]=1200104, - ["rouge_skill_5"]=1200105, - ["rouge_skill_6"]=1200106, - ["rouge_skill_7"]=1200107, + ["rouge_skill"]=1300100, + ["rouge_skill_1"]=1300101, + ["rouge_skill_2"]=1300102, + ["rouge_skill_3"]=1300103, + ["rouge_skill_4"]=1300104, + ["rouge_skill_5"]=1300105, + ["rouge_skill_6"]=1300106, + ["rouge_skill_7"]=1300107, ["begin_lv"]=5, ["hp"]={ 2000000, diff --git a/lua/app/config/item.lua b/lua/app/config/item.lua index 38849f40..53a62c97 100644 --- a/lua/app/config/item.lua +++ b/lua/app/config/item.lua @@ -89,7 +89,7 @@ local item = { ["hero_drop"]={ { ["type"]=1, - ["id"]=24001, + ["id"]=14001, ["num"]=1, ["weight"]=100 }, @@ -115,22 +115,94 @@ local item = { [8]={ ["type"]=4, ["qlt"]=1, - ["icon"]="8" + ["icon"]="8", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=4, + ["id_for_nothing"]="Ug==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + } + } }, [9]={ ["type"]=4, ["qlt"]=1, - ["icon"]="9" + ["icon"]="9", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=7, + ["num_for_nothing"]="UQ==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=4, + ["id_for_nothing"]="Ug==", + ["num"]=27, + ["num_for_nothing"]="VA8=" + } + } }, [10]={ ["type"]=4, ["qlt"]=1, - ["icon"]="10" + ["icon"]="10", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=15, + ["num_for_nothing"]="Vw0=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=4, + ["id_for_nothing"]="Ug==", + ["num"]=84, + ["num_for_nothing"]="Xgw=" + } + } }, [11]={ ["type"]=4, ["qlt"]=1, - ["icon"]="11" + ["icon"]="11", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=7, + ["num_for_nothing"]="UQ==" + } + } }, [12]={ ["type"]=1, @@ -152,6 +224,75 @@ local item = { ["qlt"]=5, ["icon"]="15" }, + [16]={ + ["type"]=4, + ["qlt"]=1, + ["icon"]="16", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=4, + ["id_for_nothing"]="Ug==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + } + }, + [17]={ + ["type"]=4, + ["qlt"]=1, + ["icon"]="17", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=4, + ["id_for_nothing"]="Ug==", + ["num"]=10, + ["num_for_nothing"]="Vwg=" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=1, + ["num_for_nothing"]="Vw==" + } + } + }, + [18]={ + ["type"]=4, + ["qlt"]=1, + ["icon"]="11", + ["reward"]={ + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=6, + ["id_for_nothing"]="UA==", + ["num"]=2, + ["num_for_nothing"]="VA==" + }, + { + ["type"]=1, + ["type_for_nothing"]="Vw==", + ["id"]=5, + ["id_for_nothing"]="Uw==", + ["num"]=18, + ["num_for_nothing"]="VwA=" + } + } + }, [12001]={ ["type"]=5, ["parameter"]=12001, @@ -170,9 +311,9 @@ local item = { ["qlt"]=3, ["icon"]="13002" }, - [24001]={ + [14001]={ ["type"]=5, - ["parameter"]=24001, + ["parameter"]=14001, ["qlt"]=4, ["icon"]="24001" }, @@ -226,6 +367,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=30 } return config \ No newline at end of file diff --git a/lua/app/config/skill.lua b/lua/app/config/skill.lua index e65bcc53..e653b860 100644 --- a/lua/app/config/skill.lua +++ b/lua/app/config/skill.lua @@ -206,47 +206,38 @@ local skill = { ["fx_target_delay"]=900 }, [1200121]={ - ["energy"]=10, - ["link"]=1, - ["position"]=1, - ["method"]=2, - ["skill_type"]=4, - ["boardrange"]={ - { - ["type"]=3, - ["range"]=2 - }, - { - ["type"]=4, - ["range"]=2 - } - }, - ["battle_icon"]="5", - ["effect_type"]=1, - ["trigger"]=1, + ["effect_type"]=2, + ["trigger"]=3, ["effect"]={ { - ["type"]="dmg_addition_red_add", - ["num"]=2000, + ["type"]="normal_attack_add", + ["num"]=2, ["ratio"]=10000, - ["round"]=1 - }, - { - ["type"]="hurt_red", - ["num"]=20000, - ["ratio"]=10000, - ["round"]=0 + ["round"]=2 } }, - ["obj"]=2, - ["skill_position"]=1, - ["shake_time"]=200, - ["shake_type"]=5, - ["sound_hit"]=1200120, - ["name_act"]="attack04", - ["fx_self"]=300020, - ["fx_target"]=2, - ["fx_target_delay"]=900 + ["obj"]=1, + ["skill_position"]=1 + }, + [1200122]={ + ["effect_type"]=2, + ["trigger"]=3, + ["effect"]={ + { + ["type"]="normal_attack_add", + ["num"]=2, + ["ratio"]=10000, + ["round"]=2 + }, + { + ["type"]="normal_attack_add", + ["num"]=2, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=1, + ["skill_position"]=1 }, [1300110]={ ["position"]=1, @@ -337,21 +328,10 @@ local skill = { ["fx_target_delay"]=333 }, [1300120]={ - ["energy"]=10, + ["energy"]=2, ["link"]=1, ["position"]=1, - ["method"]=2, - ["skill_type"]=4, - ["boardrange"]={ - { - ["type"]=3, - ["range"]=2 - }, - { - ["type"]=4, - ["range"]=2 - } - }, + ["method"]=1, ["battle_icon"]="5", ["effect_type"]=1, ["trigger"]=1, @@ -361,9 +341,31 @@ local skill = { ["num"]=10000, ["ratio"]=10000, ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=30000, + ["ratio"]=10000, + ["round"]=0 } }, ["obj"]=2, + ["effect_block"]={ + 1, + 2, + 3 + }, + ["block_time"]={ + 360, + 390, + 1210 + }, ["skill_position"]=1, ["shake_time"]=200, ["shake_type"]=5, @@ -373,6 +375,123 @@ local skill = { ["fx_target"]=2, ["fx_target_delay"]=900 }, + [1300121]={ + ["effect_type"]=2, + ["trigger"]=6, + ["effect"]={ + { + ["type"]="burn", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2 + }, + [1300122]={ + ["position"]=1, + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="bleed", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, + ["effect_type"]=2, + ["trigger"]=7, + ["effect"]={ + { + ["type"]="dmg_addition_red_add", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["obj"]=5 + }, + [1300123]={ + ["energy"]=10, + ["link"]=1, + ["position"]=1, + ["method"]=1, + ["battle_icon"]="5", + ["effect_type"]=1, + ["trigger"]=1, + ["effect"]={ + { + ["type"]="hurt_red", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=40000, + ["ratio"]=10000, + ["round"]=0 + } + }, + ["obj"]=2, + ["effect_block"]={ + 1, + 2, + 3 + }, + ["block_time"]={ + 360, + 390, + 1210 + }, + ["skill_position"]=1, + ["shake_time"]=200, + ["shake_type"]=5, + ["sound_hit"]=1200120, + ["name_act"]="skill01", + ["fx_self"]=300020, + ["fx_target"]=2, + ["fx_target_delay"]=900 + }, + [1300124]={ + ["effect_type"]=2, + ["trigger"]=6, + ["effect"]={ + { + ["type"]="burn", + ["num"]=10000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=2 + }, + [1300125]={ + ["effect_type"]=2, + ["trigger"]=9, + ["effect"]={ + { + ["type"]="normal_attack_add", + ["num"]=2, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["obj"]=1 + }, [1300210]={ ["position"]=1, ["effect_type"]=1, @@ -469,34 +588,77 @@ local skill = { ["skill_type"]=4, ["boardrange"]={ { - ["type"]=3, + ["type"]=1, ["range"]=2 }, { - ["type"]=4, + ["type"]=2, ["range"]=2 } }, - ["battle_icon"]="5", ["effect_type"]=1, ["trigger"]=1, ["effect"]={ { ["type"]="hurt_red", - ["num"]=10000, + ["num"]=5000, ["ratio"]=10000, ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="hurt_red", + ["num"]=20000, + ["ratio"]=10000, + ["round"]=0 + }, + { + ["type"]="burn", + ["num"]=5000, + ["ratio"]=10000, + ["round"]=2 } }, ["obj"]=2, + ["effect_block"]={ + 1, + 2, + 3, + 4, + 6 + }, + ["block_time"]={ + 760, + 1010, + 1260, + 1510, + 1810 + }, ["skill_position"]=1, ["shake_time"]=200, ["shake_type"]=5, - ["sound_hit"]=1200120, + ["sound_hit"]=1200114, ["name_act"]="skill01", ["fx_self"]=300020, ["fx_target"]=2, - ["fx_target_delay"]=900 + ["fx_target_delay"]=333 }, [1400110]={ ["position"]=1, @@ -748,6 +910,22 @@ local skill = { }, [2200121]={ ["position"]=2, + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="burn", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=7, ["effect"]={ @@ -1002,6 +1180,22 @@ local skill = { } }, [2300123]={ + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="lethargy", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=6, ["effect"]={ @@ -1041,6 +1235,22 @@ local skill = { ["obj"]=4 }, [2300126]={ + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="lethargy", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=6, ["effect"]={ @@ -1167,6 +1377,22 @@ local skill = { } }, [2400121]={ + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="frozen", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=6, ["effect"]={ @@ -1180,6 +1406,22 @@ local skill = { ["obj"]=2 }, [2400122]={ + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="frozen", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=6, ["effect"]={ @@ -1331,6 +1573,22 @@ local skill = { }, [3200122]={ ["position"]=3, + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="poison", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=7, ["effect"]={ @@ -1610,7 +1868,11 @@ local skill = { }, ["obj"]=2, ["skill_position"]=2, - ["sound_hit"]=4200120 + ["shake_time"]=200, + ["shake_type"]=6, + ["sound_hit"]=4200120, + ["name_act"]="skill01", + ["fx_target"]=300011 }, [4200121]={ ["position"]=4, @@ -1628,6 +1890,22 @@ local skill = { }, [4200122]={ ["position"]=4, + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="normal_attack_dec", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=6, ["effect"]={ @@ -1642,6 +1920,22 @@ local skill = { }, [4200123]={ ["position"]=4, + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="normal_attack_dec", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=6, ["effect"]={ @@ -1780,6 +2074,22 @@ local skill = { } }, [4400121]={ + ["buff_trigger"]={ + { + { + ["type"]="state", + ["attr"]="burn", + ["op"]=">", + ["v"]=0 + } + } + }, + ["trigger_rel"]={ + { + 1, + 1 + } + }, ["effect_type"]=2, ["trigger"]=7, ["effect"]={ @@ -3613,6 +3923,6 @@ local skill = { } } local config = { -data=skill,count=183 +data=skill,count=189 } 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 dbf178cb..c054d59b 100644 --- a/lua/app/config/skill_rogue.lua +++ b/lua/app/config/skill_rogue.lua @@ -737,12 +737,15 @@ local skill_rogue = { ["limit_times"]=1, ["weight"]=1000, ["qlt"]=4, - ["type"]=13, + ["type"]=14, + ["parameter"]={ + 5 + }, ["skill_position"]=1, ["effect"]={ { - ["type"]="block", - ["num"]=200, + ["type"]="add_skill", + ["num"]=1200121, ["ratio"]=10000, ["round"]=1 } @@ -772,12 +775,15 @@ local skill_rogue = { ["limit_times"]=1, ["weight"]=1000, ["qlt"]=4, - ["type"]=13, + ["type"]=14, + ["parameter"]={ + 3 + }, ["skill_position"]=1, ["effect"]={ { - ["type"]="block", - ["num"]=200, + ["type"]="add_skill", + ["num"]=1200122, ["ratio"]=10000, ["round"]=1 } @@ -785,6 +791,136 @@ local skill_rogue = { ["obj"]=1, ["icon"]="45" }, + [1300100]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=4, + ["type"]=6, + ["skill_position"]=1, + ["icon"]="59" + }, + [1300101]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=4, + ["type"]=12, + ["skill_position"]=1, + ["effect"]={ + { + ["type"]="add_skill", + ["num"]=1300121, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["icon"]="43" + }, + [1300102]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=3, + ["type"]=12, + ["skill_position"]=1, + ["effect"]={ + { + ["type"]="add_skill", + ["num"]=1300122, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["icon"]="44" + }, + [1300103]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=4, + ["type"]=1, + ["parameter"]={ + 1300123 + }, + ["skill_position"]=1, + ["icon"]="44" + }, + [1300104]={ + ["unlock"]=1300101, + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=3, + ["type"]=12, + ["skill_position"]=1, + ["effect"]={ + { + ["type"]="add_skill", + ["num"]=1300124, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["icon"]="43" + }, + [1300105]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=4, + ["type"]=14, + ["parameter"]={ + 4 + }, + ["skill_position"]=1, + ["effect"]={ + { + ["type"]="dmg_addition_all_add", + ["num"]=3000, + ["ratio"]=10000, + ["round"]=2 + } + }, + ["icon"]="45" + }, + [1300106]={ + ["unlock"]=1300105, + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=3, + ["type"]=14, + ["parameter"]={ + 4 + }, + ["skill_position"]=1, + ["effect"]={ + { + ["type"]="dmg_addition_all_add", + ["num"]=3000, + ["ratio"]=10000, + ["round"]=3 + } + }, + ["icon"]="45" + }, + [1300107]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=4, + ["type"]=12, + ["skill_position"]=1, + ["effect"]={ + { + ["type"]="add_skill", + ["num"]=1300125, + ["ratio"]=10000, + ["round"]=1 + } + }, + ["icon"]="45" + }, + [1300200]={ + ["limit_times"]=1, + ["weight"]=1000, + ["qlt"]=4, + ["type"]=6, + ["skill_position"]=1 + }, [2200100]={ ["limit_times"]=1, ["weight"]=30000, @@ -1827,6 +1963,6 @@ local skill_rogue = { } } local config = { -data=skill_rogue,count=116 +data=skill_rogue,count=125 } return config \ No newline at end of file diff --git a/lua/app/config/strings/cn/hero.lua b/lua/app/config/strings/cn/hero.lua index 3da48377..3bf4c0de 100644 --- a/lua/app/config/strings/cn/hero.lua +++ b/lua/app/config/strings/cn/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ ["name"]="火旺" }, - [24001]={ + [14001]={ ["name"]="铁锤赵" }, [22001]={ @@ -30,7 +30,7 @@ local hero = { ["name"]="法师" }, [44001]={ - ["name"]="蓝SSR冰刃" + ["name"]="冰刃" }, [52001]={ ["name"]="忍者" diff --git a/lua/app/config/strings/cn/item.lua b/lua/app/config/strings/cn/item.lua index f4e51c62..50372add 100644 --- a/lua/app/config/strings/cn/item.lua +++ b/lua/app/config/strings/cn/item.lua @@ -55,6 +55,14 @@ local item = { ["name"]="珍贵钥匙", ["desc"]="用于商城开启珍贵宝箱。" }, + [16]={ + ["name"]="所有任务宝箱", + ["desc"]="完成5个日常任务获得" + }, + [17]={ + ["name"]="广告累计宝箱", + ["desc"]="你可以在游戏种任何地点看广告,获得奖励" + }, [12001]={ ["name"]="红R舞女碎片", ["desc"]="凑齐可解锁或升级。" @@ -67,7 +75,7 @@ local item = { ["name"]="红SR-武僧碎片", ["desc"]="凑齐可解锁或升级。" }, - [24001]={ + [14001]={ ["name"]="红SSR-铁锤小孩碎片", ["desc"]="凑齐可解锁或升级。" }, @@ -105,6 +113,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/cn/skill_rogue.lua b/lua/app/config/strings/cn/skill_rogue.lua index f2c8d19b..6ee4cc39 100644 --- a/lua/app/config/strings/cn/skill_rogue.lua +++ b/lua/app/config/strings/cn/skill_rogue.lua @@ -147,13 +147,13 @@ local skill_rogue = { ["desc"]="舞步消散上下左右可多消1格" }, [1200105]={ - ["desc"]="每有1個元素連接舞步消散則本回合格擋增加2%" + ["desc"]="舞步消散链接超过5个元素附加亢奋效果,持续2回合" }, [1200106]={ ["desc"]="提升舞女的攻击力" }, [1200107]={ - ["desc"]="每有1個元素連接舞步消散則本回合格擋增加2%" + ["desc"]="舞步消散链接超过3个元素可附加2个亢奋效果,持续2回合" }, [2200100]={ ["desc"]="拔刀斩:造成1次大量伤害" @@ -189,7 +189,7 @@ local skill_rogue = { ["desc"]="旋风骨技能倍率提升300%" }, [2300103]={ - ["desc"]="旋风骨攻击昏睡敌人有50%概率附加眩晕效果1回合" + ["desc"]="旋风骨攻击昏睡敌人有50%概率附加眩晕效果,持续1回合" }, [2300104]={ ["desc"]="旋风骨造成的流血回合数+1" @@ -210,34 +210,34 @@ local skill_rogue = { ["desc"]="巨剑斩击可消除4个斜方向的元素" }, [2400102]={ - ["desc"]="巨剑斩击攻击冻结敌人有30%概率附加眩晕效果2回合" + ["desc"]="巨剑斩击攻击冻结敌人有30%概率附加眩晕效果,持续2回合" }, [2400103]={ ["desc"]="巨剑斩击附加眩晕效果的概率提高到50%" }, [2400104]={ - ["desc"]="本英雄的攻击力提高" + ["desc"]="提升巨剑魔童的攻击力" }, [2400105]={ - ["desc"]="巨剑连斩技能伤害增加,且几率附加禁锢" + ["desc"]="巨剑斩击技能伤害增加,且50%概率附加禁锢效果" }, [2400106]={ - ["desc"]="禁锢几率提升" + ["desc"]="巨剑斩击附加禁锢效果的概率提升20%" }, [2400107]={ - ["desc"]="巨剑连斩造成双倍伤害" + ["desc"]="巨剑斩击造成双倍伤害" }, [3200100]={ - ["desc"]="解锁长枪突刺:造成一次大量伤害。" + ["desc"]="长枪突刺:造成一次大量伤害" }, [3200101]={ - ["desc"]="长枪突刺可恢复一定量生命。" + ["desc"]="长枪突刺可恢复一定量生命" }, [3200102]={ - ["desc"]="长枪突刺对中毒的目标伤害增加" + ["desc"]="长枪突刺对中毒敌人的伤害增加" }, [3200103]={ - ["desc"]="长枪突刺伤害提升。" + ["desc"]="长枪突刺伤害提升" }, [3200104]={ ["desc"]="长枪突刺可消除4个斜方向的元素" @@ -246,13 +246,13 @@ local skill_rogue = { ["desc"]="长枪突刺有30%几率眩晕一回合" }, [3200106]={ - ["desc"]="长枪突刺眩晕几率提高20%" + ["desc"]="长枪突刺的眩晕几率提升至50%" }, [3200107]={ - ["desc"]="长枪突刺结束后附加50%格挡,持续2回合" + ["desc"]="长枪突刺结束后我方附加50%格挡效果,持续2回合" }, [3300100]={ - ["desc"]="解锁快速治愈:立即恢复80%攻击力的生命值" + ["desc"]="快速治愈:立即恢复生命值" }, [3300101]={ ["desc"]="提升快速治愈的回血量" @@ -264,19 +264,19 @@ local skill_rogue = { ["desc"]="快速治愈上下左右可消除1格" }, [3300104]={ - ["desc"]="释放时同时释放技能伤害提升,持续2回合" + ["desc"]="快速治愈为我方额外附加技能伤害提升效果,持续2回合" }, [3300105]={ ["desc"]="连接快速治愈的每一击都将恢复以艾芙琳攻击力*5%的生命值" }, [3300106]={ - ["desc"]="技能伤害提升持续回合数+1" + ["desc"]="快速治愈附加的伤害提升效果持续回合数+1" }, [3300107]={ - ["desc"]="链接超过5个元素回血量提升" + ["desc"]="快速治愈链接超过5个元素回血量提升" }, [4200100]={ - ["desc"]="解锁元素链接:随机额外消除3个元素" + ["desc"]="元素链接:随机消除3个元素" }, [4200101]={ ["desc"]="元素链接随机消除元素增加2个" @@ -285,67 +285,67 @@ local skill_rogue = { ["desc"]="元素链接使用时本次普攻伤害提升10%" }, [4200103]={ - ["desc"]="元素链接有50%冰霜2回合" + ["desc"]="元素链接有50%概率施加冰霜效果,持续2回合" }, [4200104]={ ["desc"]="元素链接随机消除元素增加2个" }, [4200105]={ - ["desc"]="攻击冰霜英雄有20%概率冻结1回合" + ["desc"]="元素链接攻击冰霜敌人有20%概率附加冻结效果,持续1回合" }, [4200106]={ - ["desc"]="本英雄的攻击力提高" + ["desc"]="提升莉莉丝的攻击力" }, [4200107]={ - ["desc"]="攻击冰霜英雄有40%概率冻结1回合" + ["desc"]="元素链接附加冻结效果的概率提升至40%" }, [4400100]={ - ["desc"]="解锁霜冻剑舞:额外造成1次伤害并给敌人1回合冰霜效果(普攻次数-1)" + ["desc"]="霜冻剑舞:随机消除4个元素,并造成1次伤害附加冰霜效果,持续1回合" }, [4400101]={ - ["desc"]="冰霜持续回合数+1" + ["desc"]="霜冻剑舞附加的冰霜效果持续回合数+1" }, [4400102]={ - ["desc"]="对灼烧伤害增加50%" + ["desc"]="霜冻剑舞对灼烧伤害增加50%" }, [4400103]={ ["desc"]="霜冻剑舞随机消除元素增加3个" }, [4400104]={ - ["desc"]="冰霜效果提升(普攻-2)" + ["desc"]="霜冻剑舞的冰霜效果增强。" }, [4400105]={ - ["desc"]="霜冻剑舞50%几率附加冻结2回合" + ["desc"]="霜冻剑舞50%概率施加冻结效果,持续2回合" }, [4400106]={ - ["desc"]="攻击提升15%(本英雄)" + ["desc"]="提升冰刃的攻击力" }, [4400107]={ - ["desc"]="霜冻剑舞70%几率附加冻结2回合" + ["desc"]="霜冻剑舞附加冻结效果的概率提升至70%" }, [5200100]={ - ["desc"]="解锁魔法罩:艾伦生成一个魔法罩持续1回合,可承受最大生命值10%伤害" + ["desc"]="魔法罩:生成一个魔法罩持续1回合,可承受最大生命值10%伤害" }, [5200101]={ - ["desc"]="增加魔法罩承受伤害增加到16%" + ["desc"]="魔法罩承受伤害增加到16%" }, [5200102]={ ["desc"]="魔法罩使用时本次普攻伤害提升10%" }, [5200103]={ - ["desc"]="生成的魔法罩如果没有破可以额外持续1回合" + ["desc"]="魔法罩如果没有破可以额外持续1回合" }, [5200104]={ ["desc"]="魔法罩上下左右可消除1格" }, [5200105]={ - ["desc"]="魔法罩存在时可反伤对方造成200%伤害" + ["desc"]="魔法罩可反伤对方200%的伤害" }, [5200106]={ - ["desc"]="攻击提升15%(本英雄)" + ["desc"]="提升忍者的攻击力" }, [5200107]={ - ["desc"]="魔法罩存在时可反伤对方造成400%伤害" + ["desc"]="魔法罩可反伤对方400%的伤害" } } local config = { diff --git a/lua/app/config/strings/de/hero.lua b/lua/app/config/strings/de/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/de/hero.lua +++ b/lua/app/config/strings/de/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/de/item.lua b/lua/app/config/strings/de/item.lua index 098a8159..ae519c93 100644 --- a/lua/app/config/strings/de/item.lua +++ b/lua/app/config/strings/de/item.lua @@ -46,6 +46,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -56,7 +62,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -85,6 +91,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/en/hero.lua b/lua/app/config/strings/en/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/en/hero.lua +++ b/lua/app/config/strings/en/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/en/item.lua b/lua/app/config/strings/en/item.lua index 88a14326..110d718a 100644 --- a/lua/app/config/strings/en/item.lua +++ b/lua/app/config/strings/en/item.lua @@ -49,6 +49,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ ["name"]="Roxy Shard", @@ -62,7 +68,7 @@ local item = { ["name"]="Great Sword Robert Shard", ["desc"]="Great Sword Robert Shard, collect it to unlock or upgrade Great Sword Robert" }, - [24001]={ + [14001]={ ["name"]="Aske Shard", ["desc"]="Aske Shard, collect it to unlock or upgrade Aske" }, @@ -96,6 +102,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/fr/hero.lua b/lua/app/config/strings/fr/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/fr/hero.lua +++ b/lua/app/config/strings/fr/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/fr/item.lua b/lua/app/config/strings/fr/item.lua index 4e0e7b10..a422dcca 100644 --- a/lua/app/config/strings/fr/item.lua +++ b/lua/app/config/strings/fr/item.lua @@ -46,6 +46,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -56,7 +62,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -85,6 +91,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/id/hero.lua b/lua/app/config/strings/id/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/id/hero.lua +++ b/lua/app/config/strings/id/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/id/item.lua b/lua/app/config/strings/id/item.lua index cded8ca5..1e51a270 100644 --- a/lua/app/config/strings/id/item.lua +++ b/lua/app/config/strings/id/item.lua @@ -46,6 +46,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -56,7 +62,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -85,6 +91,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ja/hero.lua b/lua/app/config/strings/ja/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/ja/hero.lua +++ b/lua/app/config/strings/ja/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/ja/item.lua b/lua/app/config/strings/ja/item.lua index 1883ff56..5fe427de 100644 --- a/lua/app/config/strings/ja/item.lua +++ b/lua/app/config/strings/ja/item.lua @@ -46,6 +46,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -56,7 +62,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -85,6 +91,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ko/hero.lua b/lua/app/config/strings/ko/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/ko/hero.lua +++ b/lua/app/config/strings/ko/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/ko/item.lua b/lua/app/config/strings/ko/item.lua index b0e0af00..981953f5 100644 --- a/lua/app/config/strings/ko/item.lua +++ b/lua/app/config/strings/ko/item.lua @@ -46,6 +46,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -56,7 +62,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -85,6 +91,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/pt/hero.lua b/lua/app/config/strings/pt/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/pt/hero.lua +++ b/lua/app/config/strings/pt/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/pt/item.lua b/lua/app/config/strings/pt/item.lua index 3643c09d..2fc4151a 100644 --- a/lua/app/config/strings/pt/item.lua +++ b/lua/app/config/strings/pt/item.lua @@ -45,6 +45,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -55,7 +61,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -84,6 +90,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/ru/hero.lua b/lua/app/config/strings/ru/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/ru/hero.lua +++ b/lua/app/config/strings/ru/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/ru/item.lua b/lua/app/config/strings/ru/item.lua index 70910fe6..135f18f4 100644 --- a/lua/app/config/strings/ru/item.lua +++ b/lua/app/config/strings/ru/item.lua @@ -43,6 +43,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -53,7 +59,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -82,6 +88,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/th/hero.lua b/lua/app/config/strings/th/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/th/hero.lua +++ b/lua/app/config/strings/th/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/th/item.lua b/lua/app/config/strings/th/item.lua index 70910fe6..135f18f4 100644 --- a/lua/app/config/strings/th/item.lua +++ b/lua/app/config/strings/th/item.lua @@ -43,6 +43,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -53,7 +59,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -82,6 +88,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/vi/hero.lua b/lua/app/config/strings/vi/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/vi/hero.lua +++ b/lua/app/config/strings/vi/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/vi/item.lua b/lua/app/config/strings/vi/item.lua index 41b4c5fb..a5dd4d59 100644 --- a/lua/app/config/strings/vi/item.lua +++ b/lua/app/config/strings/vi/item.lua @@ -46,6 +46,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ @@ -56,7 +62,7 @@ local item = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ @@ -85,6 +91,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/strings/zh/hero.lua b/lua/app/config/strings/zh/hero.lua index b1d055b8..72c8771b 100644 --- a/lua/app/config/strings/zh/hero.lua +++ b/lua/app/config/strings/zh/hero.lua @@ -8,7 +8,7 @@ local hero = { [13002]={ }, - [24001]={ + [14001]={ }, [22001]={ diff --git a/lua/app/config/strings/zh/item.lua b/lua/app/config/strings/zh/item.lua index 26ee25da..ec9d5524 100644 --- a/lua/app/config/strings/zh/item.lua +++ b/lua/app/config/strings/zh/item.lua @@ -49,6 +49,12 @@ local item = { }, [15]={ + }, + [16]={ + + }, + [17]={ + }, [12001]={ ["name"]="红R舞女碎片", @@ -62,7 +68,7 @@ local item = { ["name"]="红SR-武僧碎片", ["desc"]="巨劍羅伯特英雄碎片,湊齊可解鎖或升級。" }, - [24001]={ + [14001]={ ["name"]="红SSR-铁锤小孩碎片", ["desc"]="阿斯克英雄碎片,湊齊可解鎖或升級。" }, @@ -96,6 +102,6 @@ local item = { } } local config = { -data=item,count=27 +data=item,count=29 } return config \ No newline at end of file diff --git a/lua/app/config/struct.lua b/lua/app/config/struct.lua index 524ca5be..b77730d9 100644 --- a/lua/app/config/struct.lua +++ b/lua/app/config/struct.lua @@ -28,9 +28,15 @@ local struct = { ["parameter1"]="type:string", ["parameter2"]="minnum:int", ["parameter3"]="maxnum:int" + }, + ["trigger"]={ + ["parameter1"]="type:string", + ["parameter2"]="attr:string", + ["parameter3"]="op:string", + ["parameter4"]="v:int" } } local config = { -data=struct,count=6 +data=struct,count=7 } return config \ No newline at end of file diff --git a/lua/app/config/task.lua b/lua/app/config/task.lua index d08c8c9d..eadb5ee3 100644 --- a/lua/app/config/task.lua +++ b/lua/app/config/task.lua @@ -6,10 +6,10 @@ local task = { { ["type"]=1, ["type_for_nothing"]="Vw==", - ["id"]=5, - ["id_for_nothing"]="Uw==", - ["num"]=10, - ["num_for_nothing"]="Vwg=" + ["id"]=16, + ["id_for_nothing"]="Vw4=", + ["num"]=1, + ["num_for_nothing"]="Vw==" } }, ["icon"]="1" @@ -21,10 +21,10 @@ local task = { { ["type"]=1, ["type_for_nothing"]="Vw==", - ["id"]=5, - ["id_for_nothing"]="Uw==", - ["num"]=10, - ["num_for_nothing"]="Vwg=" + ["id"]=17, + ["id_for_nothing"]="Vw8=", + ["num"]=1, + ["num_for_nothing"]="Vw==" } }, ["icon"]="20" diff --git a/lua/app/module/battle/component/battle_unit_comp.lua b/lua/app/module/battle/component/battle_unit_comp.lua index 2d02f26d..cf49f334 100644 --- a/lua/app/module/battle/component/battle_unit_comp.lua +++ b/lua/app/module/battle/component/battle_unit_comp.lua @@ -82,6 +82,8 @@ function BattleUnitComp:_initBase() self.skillSlowDownScale = 1 -- 子弹时间减慢的倍率 self.currAttackDuration = 0 self.currAttackKeyTime = 0 + self.currAttackBlockIndex = 0 -- 多段伤害索引 + self.validEffectIdx = {} self.switchTime = 0 self.isPlayHurt = 0 self.attackDurationMap = {} @@ -254,6 +256,30 @@ function BattleUnitComp:getAnimationKeyFrameTime(animationName) return time end +function BattleUnitComp:getKeyFrameTime(skill, blockIndex, animationName) + self.validEffectIdx[1] = 1 + self.validEffectIdx[2] = 1 + if not skill then + return 0 + end + + self.currAttackBlockIndex = blockIndex + local time = skill:getEffectBlockTime()[blockIndex] + if not time then + if blockIndex == 1 then + time = self:getAnimationKeyFrameTime(animationName) + else + time = 0 + end + else + local blockList = skill:getEffectBlock() + local beforeIndex = blockIndex - 1 + self.validEffectIdx[1] = blockList[beforeIndex] or 1 + self.validEffectIdx[2] = blockList[blockIndex] or 1 + end + return time +end + function BattleUnitComp:getIsCentralizedAttack() return self.team:getCentralizedAttack() end @@ -700,7 +726,7 @@ function BattleUnitComp:enterAssistingAttackState() skill:startUse() local attackName = skill:getSkillAttackName() self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(skill) self:initPosition() @@ -723,9 +749,14 @@ function BattleUnitComp:updateAssistingAttackState(dt) self:onAttackOver() else if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then -- 到达关键后使用 - self.currAttackKeyTime = 0 local skill = self.unitEntity:getAssistingSkill() - self:onSkillTakeEffect(skill) + if skill then + local attackName = skill:getSkillAttackName() + self.currAttackKeyTime = self:getKeyFrameTime(skill, self.currAttackBlockIndex + 1, attackName) + else + self.currAttackKeyTime = 0 + end + self:onSkillTakeEffect(skill, self.currAttackKeyTime <= 0, self.validEffectIdx) end end end @@ -768,7 +799,7 @@ function BattleUnitComp:enterSkillAttackState() self:attackAndSpeedUp() end self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(skill) end @@ -857,23 +888,32 @@ function BattleUnitComp:updateSkillAttack(dt) end else if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then -- 到达关键后使用 - self.currAttackKeyTime = 0 if self.normalSkillCount > 0 then if self.normalSkillCount == 1 and self.currActiveSkill == nil then -- 最后一次攻击 self.team:setCentralizedAttack(false) end local skill = self.unitEntity:getNormalSkill() - self:onSkillTakeEffect(skill) + if skill then + local attackName = skill:getSkillAttackName() + self.currAttackKeyTime = self:getKeyFrameTime(skill, self.currAttackBlockIndex + 1, attackName) + else + self.currAttackKeyTime = 0 + end + self:onSkillTakeEffect(skill, self.currAttackKeyTime <= 0, self.validEffectIdx) if self.normalSkillCount == 1 and self.currActiveSkill == nil then -- 最后一次攻击 self.battleController:setIsPauseHpProgress(false) end else + local attackName = self.currActiveSkill:getSkillAttackName() + self.currAttackKeyTime = self:getKeyFrameTime(self.currActiveSkill, self.currAttackBlockIndex + 1, attackName) + local isFinalBlock = self.currAttackKeyTime <= 0 local isHaveNextAttack = self:getIsHaveNextAvailableActiveSkill() - if not isHaveNextAttack then + if not isHaveNextAttack and isFinalBlock then self.team:setCentralizedAttack(false) end - self:onSkillTakeEffect(self.currActiveSkill) - if not isHaveNextAttack then + + self:onSkillTakeEffect(self.currActiveSkill, isFinalBlock, self.validEffectIdx) + if not isHaveNextAttack and isFinalBlock then self.battleController:setIsPauseHpProgress(false) end end @@ -944,7 +984,7 @@ function BattleUnitComp:doNextSkillAttack() end local attackName = self.currActiveSkill:getSkillAttackName() self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(self.currActiveSkill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(self.currActiveSkill) self.battleController:resetTimeSpeed() @@ -957,7 +997,7 @@ function BattleUnitComp:doNextNormalAttack() skill:startUse() local attackName = skill:getSkillAttackName() self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(skill) self:attackAndSpeedUp() @@ -973,7 +1013,7 @@ function BattleUnitComp:doNextAttack() attackName = skill:getSkillAttackName() if attackName then self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(skill) self:attackAndSpeedUp() @@ -993,7 +1033,7 @@ function BattleUnitComp:doNextAttack() attackName = self.currActiveSkill:getSkillAttackName() if attackName then self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(self.currActiveSkill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(self.currActiveSkill) self.battleController:resetTimeSpeed() @@ -1026,7 +1066,7 @@ function BattleUnitComp:enterNormalAttackState() self.isMove = false local attackName = skill:getSkillAttackName() self.currAttackDuration = self:getAnimationDuration(attackName) - self.currAttackKeyTime = self:getAnimationKeyFrameTime(attackName) + self.currAttackKeyTime = self:getKeyFrameTime(skill, 1, attackName) self:playAnimation(attackName, false, false) self:playSkillFx(skill) self:attackAndSpeedUp() @@ -1069,13 +1109,20 @@ function BattleUnitComp:updateNormalAttack(dt) end else if self.currAttackKeyTime > 0 and self.attackTime >= self.currAttackKeyTime then -- 到达关键后使用 - self.currAttackKeyTime = 0 - if self.normalSkillCount == 1 then -- 如果是最后一次攻击,那么敌人受到这次攻击可以开始嗝屁了 + local skill = self.unitEntity:getNormalSkill() + if skill then + local attackName = skill:getSkillAttackName() + self.currAttackKeyTime = self:getKeyFrameTime(skill, self.currAttackBlockIndex + 1, attackName) + else + self.currAttackKeyTime = 0 + end + + local isFinalBlock = self.currAttackKeyTime <= 0 + if self.normalSkillCount == 1 and isFinalBlock then -- 如果是最后一次攻击,那么敌人受到这次攻击可以开始嗝屁了 self.team:setCentralizedAttack(false) end - local skill = self.unitEntity:getNormalSkill() - self:onSkillTakeEffect(skill) - if self.normalSkillCount == 1 then -- 如果是最后一次攻击,那么可以开始跑血条了 + self:onSkillTakeEffect(skill, isFinalBlock, self.validEffectIdx) + if self.normalSkillCount == 1 and isFinalBlock then -- 如果是最后一次攻击,那么可以开始跑血条了 self.battleController:setIsPauseHpProgress(false) end end @@ -1117,11 +1164,17 @@ function BattleUnitComp:popCacheBuffByDecr(buffDecr) self.team:popCacheBuffByDecr(buffDecr) end -function BattleUnitComp:onSkillTakeEffect(skill) - skill:endUse() - if skill:isAttackOverActive() then - BATTLE_BOARD_SKILL_HANDLE.activeAttackOverSkill(self, skill, self.battleController) +function BattleUnitComp:onSkillTakeEffect(skill, isFinalBlock, validEffectIdx) + if isFinalBlock == nil then + isFinalBlock = true end + if isFinalBlock then + skill:endUse() + if skill:isAttackOverActive() then + BATTLE_BOARD_SKILL_HANDLE.activeAttackOverSkill(self, skill, self.battleController) + end + end + local effectList = skill:getEffectList() if effectList == nil then return @@ -1129,6 +1182,9 @@ function BattleUnitComp:onSkillTakeEffect(skill) if #effectList == 0 then return end + if not validEffectIdx then + validEffectIdx = {1, 1} + end local targetType = skill:getTargetType() local target if targetType == 1 then -- 自己 @@ -1147,19 +1203,24 @@ function BattleUnitComp:onSkillTakeEffect(skill) local succ = false for k, effect in ipairs(effectList) do - if self:takeEffect(effect, target) then - succ = true + if k >= validEffectIdx[1] and k <= validEffectIdx[2] then + if self:takeEffect(effect, target) then + succ = true + end end end if succ then if skill:getIsHurtType() then self.team:addCombo() end - if skill:getIsNormalType() then -- 普攻攻击成功的话 - self:checkPassiveEvent(PASSIVE_EVENT.USE_NORMAL_SKILL, target) - elseif skill:getIsActiveType() then - self:checkPassiveEvent(PASSIVE_EVENT.ACTIVE_SKILL_HIT, target) + if isFinalBlock then + if skill:getIsNormalType() then -- 普攻攻击成功的话 + self:checkPassiveEvent(PASSIVE_EVENT.USE_NORMAL_SKILL, target) + elseif skill:getIsActiveType() then + self:checkPassiveEvent(PASSIVE_EVENT.ACTIVE_SKILL_HIT, target) + end end + local shakeType = skill:getShakeType() if shakeType then local shakeTime = skill:getShakeTime() or 0 diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua index 0533d068..89407f12 100644 --- a/lua/app/module/battle/controller/battle_controller.lua +++ b/lua/app/module/battle/controller/battle_controller.lua @@ -102,7 +102,6 @@ function BattleController:onLinkChange() local sequence = self.battleData:getGridSequence() local mainElementType - local boomGridIds = {} for index, info in ipairs(sequence) do local entity = self.battleData:getGridEntity(info.posId) @@ -111,10 +110,6 @@ function BattleController:onLinkChange() if not skillId then mainElementType = entity:getElementType() break - else - local skillEntity = self.battleData:getSkillEntityBySkillId(skillId) - mainElementType = entity:getElementType(skillEntity) - break end end end @@ -933,10 +928,10 @@ function BattleController:calculateCurElimination(onlyCheck) local entity = gridEntities[info.posId] local elementType = entity:getElementType() if not info.noAni and info.isIdle then - elementTypeMap[elementType] = (elementTypeMap[elementType] or 0) + 1 - if boomGridIds[info.posId] and boomGridIds[info.posId][GRID_BREAK_CONDITION.LINE] then - lineCount = lineCount + 1 - if not info.isSkill then + if not info.isSkill then + elementTypeMap[elementType] = (elementTypeMap[elementType] or 0) + 1 + if boomGridIds[info.posId] and boomGridIds[info.posId][GRID_BREAK_CONDITION.LINE] then + lineCount = lineCount + 1 linkElementType = elementType end end diff --git a/lua/app/module/battle/skill/battle_board_skill_handle.lua b/lua/app/module/battle/skill/battle_board_skill_handle.lua index b1e88890..8aece41f 100644 --- a/lua/app/module/battle/skill/battle_board_skill_handle.lua +++ b/lua/app/module/battle/skill/battle_board_skill_handle.lua @@ -37,10 +37,22 @@ local function _takeChangeAround(posId, skillEntity, gridEntities, sequenceEntit end end local posIdInfos = ModuleManager.BattleManager:getAroundPosIdsByList(posId, boardrange, cludePosIdsMap) + local mainElementType + for _, info in ipairs(battleController.battleData:getGridSequence()) do + local entity = gridEntities[info.posId] + local skillId = entity:getSkillId() + if not skillId then + mainElementType = entity:getElementType() + break + end + end + if not mainElementType then + return + end for _, info in ipairs(posIdInfos) do local entity = gridEntities[info.posId] if entity then - entity:setElementType(skillEntity:getSkillTypeParameter()[1]) + entity:setElementType(mainElementType) end end end diff --git a/lua/app/userdata/battle/skill/battle_skill_entity.lua b/lua/app/userdata/battle/skill/battle_skill_entity.lua index 05aa89cc..eebb0d86 100644 --- a/lua/app/userdata/battle/skill/battle_skill_entity.lua +++ b/lua/app/userdata/battle/skill/battle_skill_entity.lua @@ -23,6 +23,7 @@ function BattleSkillEntity:init() self.cd = 0 end self:initSkillEffect() + self:initEffectBlock() if self.skillInfo.effect or self.skillInfo.name_act then self.available = true else @@ -46,6 +47,36 @@ function BattleSkillEntity:initSkillEffect() end end +function BattleSkillEntity:initEffectBlock() + if not self.effectBlock then + self.effectBlock = {} + self.blockTime = {} + else + for i = #self.effectBlock, 1, -1 do + table.remove(self.effectBlock) + end + for i = #self.blockTime, 1, -1 do + table.remove(self.blockTime) + end + end + if self.skillInfo.effect_block then + for _, idx in ipairs(self.skillInfo.effect_block) do + table.insert(self.effectBlock, idx) + end + else + local count = 0 + if self.skillInfo.effect then + count = #self.skillInfo.effect + end + table.insert(self.effectBlock, count) + end + if self.skillInfo.block_time then + for _, time in ipairs(self.skillInfo.block_time) do + table.insert(self.blockTime, time / 1000) + end + end +end + function BattleSkillEntity:startUse() self.skillCanUseTimes = self.owner:getSkillExtraUseTimes(self.skillId) + 1 end @@ -160,6 +191,14 @@ function BattleSkillEntity:getEffectList() return self.effectList end +function BattleSkillEntity:getEffectBlock() + return self.effectBlock +end + +function BattleSkillEntity:getEffectBlockTime() + return self.blockTime +end + function BattleSkillEntity:getTargetType() return self.skillInfo.obj end