From 7c7d201e01457864214581ada11557287707c608 Mon Sep 17 00:00:00 2001 From: Fang Date: Wed, 26 Jul 2023 17:07:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E8=83=BDtips?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/config/skill.lua | 30 +++ lua/app/config/skill_rogue.lua | 201 ++++++++++++++++++ lua/app/config/strings/cn/buff.lua | 27 +++ lua/app/config/strings/cn/skill.lua | 12 +- lua/app/config/strings/ja/skill.lua | 2 +- lua/app/config/strings/zh/skill.lua | 6 +- lua/app/module/tips/tips_manager.lua | 10 + lua/app/ui/hero/hero_detail_ui.lua | 20 +- lua/app/ui/hero/hero_info_comp.lua | 10 +- lua/app/ui/tips/cell/skill_desc_cell.lua | 18 ++ lua/app/ui/tips/cell/skill_desc_cell.lua.meta | 10 + lua/app/ui/tips/skill_tips.lua | 138 ++++++++++-- 12 files changed, 441 insertions(+), 43 deletions(-) create mode 100644 lua/app/ui/tips/cell/skill_desc_cell.lua create mode 100644 lua/app/ui/tips/cell/skill_desc_cell.lua.meta diff --git a/lua/app/config/skill.lua b/lua/app/config/skill.lua index ec6a29d8..538dcbf0 100644 --- a/lua/app/config/skill.lua +++ b/lua/app/config/skill.lua @@ -762,6 +762,9 @@ local skill = { ["fx_self_mirror"]=400023 }, [1300220]={ + ["buff_id"]={ + "burn" + }, ["energy"]=10, ["link"]=1, ["position"]=1, @@ -2207,6 +2210,9 @@ local skill = { ["fx_self_mirror"]=400003 }, [2300220]={ + ["buff_id"]={ + "dmg_addition_all_add" + }, ["energy"]=10, ["link"]=1, ["position"]=2, @@ -3447,6 +3453,9 @@ local skill = { ["fx_self_mirror"]=400038 }, [3300220]={ + ["buff_id"]={ + "dmg_addition_all_add" + }, ["energy"]=10, ["link"]=1, ["position"]=3, @@ -3793,6 +3802,9 @@ local skill = { ["fx_self_mirror"]=400093 }, [3400120]={ + ["buff_id"]={ + "dmg_addition_all_add" + }, ["energy"]=10, ["link"]=1, ["position"]=3, @@ -4086,6 +4098,9 @@ local skill = { ["fx_self_mirror"]=400108 }, [3400220]={ + ["buff_id"]={ + "lethargy" + }, ["energy"]=10, ["link"]=1, ["position"]=3, @@ -4596,6 +4611,9 @@ local skill = { ["fx_self_mirror"]=400043 }, [4300120]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["energy"]=10, ["link"]=1, ["position"]=4, @@ -4904,6 +4922,9 @@ local skill = { ["fx_self_mirror"]=400086 }, [4300220]={ + ["buff_id"]={ + "corrupt" + }, ["energy"]=10, ["link"]=1, ["position"]=4, @@ -5160,6 +5181,9 @@ local skill = { ["fx_self_mirror"]=400047 }, [4400120]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["energy"]=10, ["link"]=1, ["position"]=4, @@ -5371,6 +5395,9 @@ local skill = { ["fx_self_mirror"]=400110 }, [4400220]={ + ["buff_id"]={ + "curse" + }, ["energy"]=10, ["link"]=1, ["position"]=4, @@ -5643,6 +5670,9 @@ local skill = { ["fx_self_mirror"]=400066 }, [5200120]={ + ["buff_id"]={ + "shield" + }, ["energy"]=10, ["link"]=1, ["position"]=5, diff --git a/lua/app/config/skill_rogue.lua b/lua/app/config/skill_rogue.lua index bba5ef2e..e6b302c4 100644 --- a/lua/app/config/skill_rogue.lua +++ b/lua/app/config/skill_rogue.lua @@ -688,6 +688,9 @@ local skill_rogue = { ["icon"]="171" }, [1200101]={ + ["buff_id"]={ + "burn" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -757,6 +760,9 @@ local skill_rogue = { ["icon"]="34" }, [1200105]={ + ["buff_id"]={ + "normal_attack_add" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -794,6 +800,9 @@ local skill_rogue = { ["icon"]="36" }, [1200107]={ + ["buff_id"]={ + "normal_attack_add" + }, ["unlock"]=1200105, ["cover_unlock"]=1200105, ["limit_times"]=1, @@ -824,6 +833,9 @@ local skill_rogue = { ["icon"]="176" }, [1300101]={ + ["buff_id"]={ + "burn" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -869,6 +881,9 @@ local skill_rogue = { ["icon"]="68" }, [1300104]={ + ["buff_id"]={ + "burn" + }, ["unlock"]=1300101, ["cover_unlock"]=1300101, ["limit_times"]=1, @@ -930,6 +945,9 @@ local skill_rogue = { ["icon"]="71" }, [1300107]={ + ["buff_id"]={ + "normal_attack_add" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1019,6 +1037,9 @@ local skill_rogue = { ["icon"]="104" }, [1300205]={ + ["buff_id"]={ + "burn" + }, ["unlock"]=1300203, ["limit_times"]=1, ["weight"]=3000, @@ -1080,6 +1101,9 @@ local skill_rogue = { ["icon"]="186" }, [1400101]={ + ["buff_id"]={ + "burn" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -1097,6 +1121,9 @@ local skill_rogue = { ["icon"]="136" }, [1400102]={ + ["buff_id"]={ + "stun" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1131,6 +1158,9 @@ local skill_rogue = { ["icon"]="138" }, [1400104]={ + ["buff_id"]={ + "stun" + }, ["unlock"]=1400102, ["cover_unlock"]=1400102, ["limit_times"]=1, @@ -1150,6 +1180,9 @@ local skill_rogue = { ["icon"]="139" }, [1400105]={ + ["buff_id"]={ + "burn" + }, ["unlock"]=1400101, ["cover_unlock"]=1400101, ["limit_times"]=1, @@ -1214,6 +1247,9 @@ local skill_rogue = { ["icon"]="191" }, [1400201]={ + ["buff_id"]={ + "burn" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1259,6 +1295,9 @@ local skill_rogue = { ["icon"]="198" }, [1400204]={ + ["buff_id"]={ + "burn" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1276,6 +1315,9 @@ local skill_rogue = { ["icon"]="199" }, [1400205]={ + ["buff_id"]={ + "normal_attack_add" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1471,6 +1513,9 @@ local skill_rogue = { ["icon"]="182" }, [2300101]={ + ["buff_id"]={ + "bleed" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -1499,6 +1544,9 @@ local skill_rogue = { ["icon"]="109" }, [2300103]={ + ["buff_id"]={ + "stun" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1516,6 +1564,9 @@ local skill_rogue = { ["icon"]="110" }, [2300104]={ + ["buff_id"]={ + "bleed" + }, ["unlock"]=2300101, ["cover_unlock"]=2300101, ["limit_times"]=1, @@ -1552,6 +1603,9 @@ local skill_rogue = { ["icon"]="112" }, [2300106]={ + ["buff_id"]={ + "stun" + }, ["unlock"]=2300103, ["cover_unlock"]=2300103, ["limit_times"]=1, @@ -1831,6 +1885,9 @@ local skill_rogue = { ["icon"]="146" }, [2400105]={ + ["buff_id"]={ + "imprison" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1842,6 +1899,9 @@ local skill_rogue = { ["icon"]="147" }, [2400106]={ + ["buff_id"]={ + "imprison" + }, ["unlock"]=2400105, ["cover_unlock"]=2400105, ["limit_times"]=1, @@ -1942,6 +2002,9 @@ local skill_rogue = { ["icon"]="206" }, [2400205]={ + ["buff_id"]={ + "shield_rebound_200" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -1978,6 +2041,9 @@ local skill_rogue = { ["icon"]="208" }, [2400207]={ + ["buff_id"]={ + "shield_rebound_400" + }, ["unlock"]=2400205, ["cover_unlock"]=2400205, ["limit_times"]=1, @@ -2080,6 +2146,9 @@ local skill_rogue = { ["icon"]="48" }, [3200105]={ + ["buff_id"]={ + "stun" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2097,6 +2166,9 @@ local skill_rogue = { ["icon"]="49" }, [3200106]={ + ["buff_id"]={ + "stun" + }, ["unlock"]=3200105, ["cover_unlock"]=3200105, ["limit_times"]=1, @@ -2182,6 +2254,9 @@ local skill_rogue = { ["icon"]="82" }, [3300104]={ + ["buff_id"]={ + "skill_hurt_add_show" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2216,6 +2291,9 @@ local skill_rogue = { ["icon"]="84" }, [3300106]={ + ["buff_id"]={ + "skill_hurt_add_show" + }, ["unlock"]=3300104, ["cover_unlock"]=3300104, ["limit_times"]=1, @@ -2263,6 +2341,9 @@ local skill_rogue = { ["icon"]="183" }, [3300201]={ + ["buff_id"]={ + "vulnerable" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -2309,6 +2390,9 @@ local skill_rogue = { ["icon"]="117" }, [3300204]={ + ["buff_id"]={ + "poison" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -2320,6 +2404,9 @@ local skill_rogue = { ["icon"]="118" }, [3300205]={ + ["buff_id"]={ + "poison" + }, ["unlock"]=3300204, ["limit_times"]=1, ["weight"]=3000, @@ -2350,6 +2437,9 @@ local skill_rogue = { ["icon"]="120" }, [3300207]={ + ["buff_id"]={ + "poison" + }, ["unlock"]=3300204, ["cover_unlock"]=3300204, ["limit_times"]=1, @@ -2371,6 +2461,9 @@ local skill_rogue = { ["icon"]="188" }, [3400101]={ + ["buff_id"]={ + "vulnerable" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2417,6 +2510,9 @@ local skill_rogue = { ["icon"]="152" }, [3400104]={ + ["buff_id"]={ + "vulnerable" + }, ["unlock"]=3400101, ["cover_unlock"]=3400101, ["limit_times"]=1, @@ -2436,6 +2532,9 @@ local skill_rogue = { ["icon"]="153" }, [3400105]={ + ["buff_id"]={ + "bleed" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2453,6 +2552,9 @@ local skill_rogue = { ["icon"]="154" }, [3400106]={ + ["buff_id"]={ + "bleed" + }, ["unlock"]=3400106, ["cover_unlock"]=3400106, ["limit_times"]=1, @@ -2578,6 +2680,9 @@ local skill_rogue = { ["icon"]="212" }, [3400204]={ + ["buff_id"]={ + "lethargy" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2590,6 +2695,9 @@ local skill_rogue = { ["icon"]="213" }, [3400205]={ + ["buff_id"]={ + "imprison" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2674,6 +2782,9 @@ local skill_rogue = { ["icon"]="53" }, [4200103]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -2705,6 +2816,9 @@ local skill_rogue = { ["icon"]="55" }, [4200105]={ + ["buff_id"]={ + "frozen" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2739,6 +2853,9 @@ local skill_rogue = { ["icon"]="57" }, [4200107]={ + ["buff_id"]={ + "frozen" + }, ["unlock"]=4200105, ["cover_unlock"]=4200105, ["limit_times"]=1, @@ -2795,6 +2912,9 @@ local skill_rogue = { ["icon"]="88" }, [4300103]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2819,6 +2939,9 @@ local skill_rogue = { ["icon"]="90" }, [4300105]={ + ["buff_id"]={ + "frozen" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2836,6 +2959,9 @@ local skill_rogue = { ["icon"]="91" }, [4300106]={ + ["buff_id"]={ + "shield_ice" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2853,6 +2979,9 @@ local skill_rogue = { ["icon"]="92" }, [4300107]={ + ["buff_id"]={ + "shield_ice_rebound_400" + }, ["unlock"]=4300106, ["cover_unlock"]=4300106, ["limit_times"]=1, @@ -2892,6 +3021,9 @@ local skill_rogue = { ["icon"]="122" }, [4300202]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -2926,6 +3058,9 @@ local skill_rogue = { ["icon"]="124" }, [4300204]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["unlock"]=4300302, ["cover_unlock"]=4300302, ["limit_times"]=1, @@ -2945,6 +3080,9 @@ local skill_rogue = { ["icon"]="125" }, [4300205]={ + ["buff_id"]={ + "weaken" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -2981,6 +3119,9 @@ local skill_rogue = { ["icon"]="127" }, [4300207]={ + ["buff_id"]={ + "weaken" + }, ["unlock"]=4300305, ["cover_unlock"]=4300305, ["limit_times"]=1, @@ -3051,6 +3192,9 @@ local skill_rogue = { ["icon"]="159" }, [4400104]={ + ["buff_id"]={ + "normal_attack_dec" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3063,6 +3207,9 @@ local skill_rogue = { ["icon"]="160" }, [4400105]={ + ["buff_id"]={ + "frozen" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3097,6 +3244,9 @@ local skill_rogue = { ["icon"]="162" }, [4400107]={ + ["buff_id"]={ + "frozen" + }, ["unlock"]=4400105, ["cover_unlock"]=4400105, ["limit_times"]=1, @@ -3153,6 +3303,9 @@ local skill_rogue = { ["icon"]="218" }, [4400203]={ + ["buff_id"]={ + "curse" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3165,6 +3318,9 @@ local skill_rogue = { ["icon"]="219" }, [4400204]={ + ["buff_id"]={ + "curse" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3177,6 +3333,9 @@ local skill_rogue = { ["icon"]="220" }, [4400205]={ + ["buff_id"]={ + "corrupt" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3213,6 +3372,9 @@ local skill_rogue = { ["icon"]="222" }, [4400207]={ + ["buff_id"]={ + "corrupt" + }, ["unlock"]=4400205, ["cover_unlock"]=4400205, ["limit_times"]=1, @@ -3252,6 +3414,9 @@ local skill_rogue = { ["icon"]="59" }, [5200102]={ + ["buff_id"]={ + "poison" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -3308,6 +3473,9 @@ local skill_rogue = { ["icon"]="62" }, [5200105]={ + ["buff_id"]={ + "shield_rebound_200" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3336,6 +3504,9 @@ local skill_rogue = { ["icon"]="64" }, [5200107]={ + ["buff_id"]={ + "shield_rebound_400" + }, ["unlock"]=5200105, ["limit_times"]=1, ["weight"]=3000, @@ -3356,6 +3527,9 @@ local skill_rogue = { ["icon"]="180" }, [5300101]={ + ["buff_id"]={ + "poison" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=3, @@ -3390,6 +3564,9 @@ local skill_rogue = { ["icon"]="95" }, [5300103]={ + ["buff_id"]={ + "lethargy" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3462,6 +3639,9 @@ local skill_rogue = { ["icon"]="99" }, [5300107]={ + ["buff_id"]={ + "undead" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3499,6 +3679,9 @@ local skill_rogue = { ["icon"]="129" }, [5300202]={ + ["buff_id"]={ + "frozen" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3528,6 +3711,9 @@ local skill_rogue = { ["icon"]="131" }, [5300204]={ + ["buff_id"]={ + "counterattack" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3562,6 +3748,9 @@ local skill_rogue = { ["icon"]="132" }, [5300206]={ + ["buff_id"]={ + "frozen" + }, ["unlock"]=5300202, ["cover_unlock"]=5300202, ["limit_times"]=1, @@ -3581,6 +3770,9 @@ local skill_rogue = { ["icon"]="134" }, [5300207]={ + ["buff_id"]={ + "counterattack" + }, ["unlock"]=5300205, ["cover_unlock"]=5300205, ["limit_times"]=1, @@ -3753,6 +3945,9 @@ local skill_rogue = { ["icon"]="225" }, [5400203]={ + ["buff_id"]={ + "counterattack" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3787,6 +3982,9 @@ local skill_rogue = { ["icon"]="227" }, [5400205]={ + ["buff_id"]={ + "poison" + }, ["limit_times"]=1, ["weight"]=3000, ["qlt"]=4, @@ -3804,6 +4002,9 @@ local skill_rogue = { ["icon"]="228" }, [5400206]={ + ["buff_id"]={ + "counterattack" + }, ["unlock"]=5400203, ["cover_unlock"]=5400203, ["limit_times"]=1, diff --git a/lua/app/config/strings/cn/buff.lua b/lua/app/config/strings/cn/buff.lua index 551e5085..c343927b 100644 --- a/lua/app/config/strings/cn/buff.lua +++ b/lua/app/config/strings/cn/buff.lua @@ -32,156 +32,183 @@ local buff = { [24]={ ["id"]=24, ["desc"]="伤害提升:造成的伤害提升{0}。", + ["tips_desc"]="伤害提升:造成的所有伤害提升。", ["name"]="dmg_addition_all_add" }, [33]={ ["id"]=33, ["show_name"]="眩晕", ["desc"]="眩晕:本回合无法行动。", + ["tips_desc"]="眩晕:本回合无法行动。", ["name"]="stun" }, [34]={ ["id"]=34, ["desc"]="护盾:可承受最大生命值{0}的伤害。", + ["tips_desc"]="护盾:可承受一定伤害。", ["name"]="shield" }, [36]={ ["id"]=36, ["show_name"]="冰霜", ["desc"]="冰霜:普攻次数-{0}。", + ["tips_desc"]="冰霜:普攻次数减少。", ["name"]="normal_attack_dec" }, [37]={ ["id"]=37, ["show_name"]="亢奋", ["desc"]="亢奋:普攻次数+{0}。", + ["tips_desc"]="亢奋:普攻次数增加。", ["name"]="normal_attack_add" }, [47]={ ["id"]=47, ["desc"]="反伤护盾:可承受最大生命值{0}的伤害,反弹200%对方伤害。", + ["tips_desc"]="反伤护盾:可承受一定伤害,反弹对方伤害。", ["name"]="shield_rebound_200" }, [48]={ ["id"]=48, ["show_name"]="灼烧", ["desc"]="灼烧:回合结束时造成释放者攻击力{0}的伤害。", + ["tips_desc"]="灼烧:回合结束时造成一定的伤害。", ["name"]="burn" }, [49]={ ["id"]=49, ["show_name"]="易伤", ["desc"]="易伤:受到所有伤害提升{0}。", + ["tips_desc"]="易伤:受到所有伤害提升。", ["name"]="vulnerable" }, [50]={ ["id"]=50, ["show_name"]="冻结", ["desc"]="冻结:本回合无法行动,且增益效果不生效。", + ["tips_desc"]="冻结:本回合无法行动,且增益效果不生效。", ["name"]="frozen" }, [51]={ ["id"]=51, ["show_name"]="中毒", ["desc"]="中毒:回合结束时造成释放者攻击力{0}的伤害。", + ["tips_desc"]="中毒:回合结束时造成一定伤害。", ["name"]="poison" }, [52]={ ["id"]=52, ["show_name"]="禁锢", ["desc"]="禁锢:本回合只可使用普攻,且技能进度不会增长。", + ["tips_desc"]="禁锢:本回合只可使用普攻,且技能进度不会增长。", ["name"]="imprison" }, [53]={ ["id"]=53, ["show_name"]="腐败", ["desc"]="腐败:生命恢复效果降低{0}。", + ["tips_desc"]="腐败:生命恢复效果降低。", ["name"]="corrupt" }, [54]={ ["id"]=54, ["show_name"]="流血", ["desc"]="流血:受击时恢复攻击者生命,回合结束时造成释放者攻击力{0}的伤害。", + ["tips_desc"]="流血:受击时恢复攻击者生命,回合结束时造成伤害。", ["name"]="bleed" }, [55]={ ["id"]=55, ["show_name"]="虚弱", ["desc"]="虚弱:造成的伤害降低{0}。", + ["tips_desc"]="虚弱:造成的伤害降低。", ["name"]="weaken" }, [56]={ ["id"]=56, ["show_name"]="昏睡", ["desc"]="昏睡:本回合无法行动,受击会移除效果。", + ["tips_desc"]="昏睡:本回合无法行动,受击会移除效果。", ["name"]="lethargy" }, [57]={ ["id"]=57, ["show_name"]="诅咒", ["desc"]="诅咒:攻击不会造成伤害,而是治疗对方。", + ["tips_desc"]="诅咒:攻击不会造成伤害,而是治疗对方。", ["name"]="curse" }, [58]={ ["id"]=58, ["show_name"]="锁定", ["desc"]="锁定:随机锁定棋盘上的一种颜色,无法选中。", + ["tips_desc"]="锁定:随机锁定棋盘上的一种颜色,无法选中。", ["name"]="lock" }, [59]={ ["id"]=59, ["show_name"]="先手", ["desc"]="先手:每回合都率先出手。", + ["tips_desc"]="先手:每回合都率先出手。", ["name"]="first_hand" }, [61]={ ["id"]=61, ["show_name"]="不死", ["desc"]="不死:受到致命伤害不会死亡。", + ["tips_desc"]="不死:本回合受到致命伤害不会死亡。", ["name"]="undead" }, [62]={ ["id"]=62, ["show_name"]="反击", ["desc"]="反击:受到直接伤害时有{0}的概率进行反击。", + ["tips_desc"]="反击:受到直接伤害时有概率进行反击。", ["name"]="counterattack" }, [63]={ ["id"]=63, ["show_name"]="反伤", ["desc"]="反伤:反弹{0}对方伤害。", + ["tips_desc"]="反伤:反弹对方伤害。", ["name"]="thorns" }, [73]={ ["id"]=73, ["desc"]="反伤护盾:可承受最大生命值{0}的伤害,反弹400%对方伤害。", + ["tips_desc"]="反伤护盾2:可承受一定伤害,反弹对方大量伤害。", ["name"]="shield_rebound_400" }, [74]={ ["id"]=74, ["desc"]="冰霜护盾:可承受最大生命值{0}的伤害。", + ["tips_desc"]="冰霜护盾:可承受一定伤害。", ["name"]="shield_ice" }, [75]={ ["id"]=75, ["desc"]="冰霜护盾:可承受最大生命值{0}的伤害,反弹400%对方伤害。", + ["tips_desc"]="冰霜护盾2:可承受一定伤害,反弹对方大量伤害。", ["name"]="shield_ice_rebound_400" }, [79]={ ["id"]=79, ["show_name"]="意念护盾", ["desc"]="意念护盾:护盾存在时不会受到任何伤害,每被攻击命中1次将扣除1层护盾。", + ["tips_desc"]="意念护盾:护盾存在时不会受到任何伤害,每被攻击命中1次将扣除1层护盾。", ["name"]="invincible_shield" }, [80]={ ["id"]=80, ["desc"]="冰霜护盾:可承受最大生命值{0}的伤害。", + ["tips_desc"]="冰霜护盾:可承受一定伤害。", ["name"]="shield_ice_02" }, [81]={ ["id"]=81, ["show_name"]="技能增伤", ["desc"]="技能增伤:所有技能伤害增加", + ["tips_desc"]="技能增伤:所有技能伤害增加", ["name"]="skill_hurt_add_show" } } diff --git a/lua/app/config/strings/cn/skill.lua b/lua/app/config/strings/cn/skill.lua index 704d92fb..7ec358d9 100644 --- a/lua/app/config/strings/cn/skill.lua +++ b/lua/app/config/strings/cn/skill.lua @@ -6,7 +6,7 @@ local skill = { ["desc"]="巨剑旋风:额外造成多次技能伤害。" }, [1300220]={ - ["desc"]="炎拳:沿纵向消除5格,并造成一次技能伤害,50%概率附加灼烧效果,2回合。" + ["desc"]="炎拳:沿纵向消除5格,并造成一次技能伤害,50%概率附加灼烧效果,2回合。" }, [1400120]={ ["desc"]="钢铁重击:将周围4个元素变色,并造成多次大量技能伤害。" @@ -42,22 +42,22 @@ local skill = { ["desc"]="流星追月:使用后本次伤害提升,并造成一次巨量技能伤害。" }, [3400220]={ - ["desc"]="美丽梦魇:额外造成一次大量技能伤害,50%概率附加昏睡效果,2回合。" + ["desc"]="美丽梦魇:额外造成一次大量技能伤害,50%概率附加昏睡效果,2回合。" }, [4200120]={ ["desc"]="元素链接:随机消除3个元素,并造成一次技能伤害。" }, [4300120]={ - ["desc"]="霜冻冰晶:额外造成一次技能伤害,附加冰霜效果,1回合。" + ["desc"]="霜冻冰晶:额外造成一次技能伤害,附加冰霜效果,1回合。" }, [4300220]={ - ["desc"]="腐败利刃:额外造成一次技能伤害,附加腐败效果,1回合。" + ["desc"]="腐败利刃:额外造成一次技能伤害,附加腐败效果,1回合。" }, [4400120]={ - ["desc"]="冰霜剑舞:随机消除3个元素,并造成一次技能伤害,附加冰霜效果,1回合。" + ["desc"]="冰霜剑舞:随机消除3个元素,并造成一次技能伤害,附加冰霜效果,1回合。" }, [4400220]={ - ["desc"]="法老诅咒:额外造成一次技能伤害,附加诅咒效果,1回合。" + ["desc"]="法老诅咒:额外造成一次技能伤害,附加诅咒效果,1回合。" }, [5200120]={ ["desc"]="护盾术:为团队附加一个护盾,1回合。" diff --git a/lua/app/config/strings/ja/skill.lua b/lua/app/config/strings/ja/skill.lua index c77aa9c4..67d38685 100644 --- a/lua/app/config/strings/ja/skill.lua +++ b/lua/app/config/strings/ja/skill.lua @@ -42,7 +42,7 @@ local skill = { ["desc"]="ムーンチェイサー:発動するターンダメージがアップ、特⼤ダメージを与えるスキルを1回発動する。" }, [3400220]={ - ["desc"]="アリュールナイトメア:追加で大ダメージを与えるスキルを1回発動し、50%の確率で敵に2ターン昏睡効果を付与する。" + ["desc"]="アリュールナイトメア:追加で大ダメージを与えるスキルを1回発動し、50%の確率で敵に2ターン昏睡効果を付与する。" }, [4200120]={ ["desc"]="元素連接:ランダムで3つの元素を消し、スキルを1回発動する。" diff --git a/lua/app/config/strings/zh/skill.lua b/lua/app/config/strings/zh/skill.lua index 2ce66421..48d76091 100644 --- a/lua/app/config/strings/zh/skill.lua +++ b/lua/app/config/strings/zh/skill.lua @@ -42,19 +42,19 @@ local skill = { ["desc"]="流星追月:使用後本次傷害提高,並造成一次巨大技能傷害。" }, [3400220]={ - ["desc"]="美麗夢魘:額外造成一次大量技能傷害,50%機率附帶昏睡效果,2回合。" + ["desc"]="美麗夢魘:額外造成一次大量技能傷害,50%機率附帶昏睡效果,2回合。" }, [4200120]={ ["desc"]="元素連接:隨機消除3個元素,並造成一次技能傷害。" }, [4300120]={ - ["desc"]="霜凍冰晶:額外造成一次技能傷害,附帶冰霜效果,1回合。" + ["desc"]="霜凍冰晶:額外造成一次技能傷害,附帶冰霜效果,1回合。" }, [4300220]={ ["desc"]="腐敗利刃:額外造成一次技能傷害,附帶腐敗效果,1回合。" }, [4400120]={ - ["desc"]="冰霜劍舞:隨機消除3個元素,並造成一次技能傷害,附帶冰霜效果,1回合。" + ["desc"]="冰霜劍舞:隨機消除3個元素,並造成一次技能傷害,附帶冰霜效果,1回合。" }, [4400220]={ ["desc"]="法老詛咒:額外造成一次技能傷害,附帶詛咒效果,1回合。" diff --git a/lua/app/module/tips/tips_manager.lua b/lua/app/module/tips/tips_manager.lua index a48b327b..3bcf4a81 100644 --- a/lua/app/module/tips/tips_manager.lua +++ b/lua/app/module/tips/tips_manager.lua @@ -147,6 +147,16 @@ function TipsManager:getRewardDesc(rewardId, rewardType) return GConst.EMPTY_STRING end +function TipsManager:showSkillTips(targetObj, buffIds, skillId) + local tarCornerScreenPos, location = self:getCornerScreenPosition(targetObj, TipsManager.ALIGN_TYPE.TOP_CENTER) + local params = { + tarCornerScreenPos = tarCornerScreenPos, + buffNames = buffIds, + skillId = skillId, + } + UIManager:showUI("app/ui/tips/skill_tips", params) +end + function TipsManager:showBattleBoardSkillTips(heroEntity, battleController, side, tarPrefabObj, alignType) local params = { heroEntity = heroEntity, diff --git a/lua/app/ui/hero/hero_detail_ui.lua b/lua/app/ui/hero/hero_detail_ui.lua index 89d4a021..d5f19933 100644 --- a/lua/app/ui/hero/hero_detail_ui.lua +++ b/lua/app/ui/hero/hero_detail_ui.lua @@ -161,18 +161,18 @@ function HeroDetailUI:refreshShow() self:showArmorInfo() end if self.onlyLook then -- 仅查看的不显示升级和激活按钮 - self.btnHero:setVisible(false) - self.btnWeapon:setVisible(false) - self.btnArmor:setVisible(false) - self.btnLeft:setVisible(false) - self.btnRight:setVisible(false) + self.btnHero:setActive(false) + self.btnWeapon:setActive(false) + self.btnArmor:setActive(false) + self.btnLeft:setActive(false) + self.btnRight:setActive(false) self.commonInfo:setSizeDeltaY(SIZE_DELTA_Y_LOOK) else - self.btnHero:setVisible(true) - self.btnWeapon:setVisible(true) - self.btnArmor:setVisible(true) - self.btnLeft:setVisible(self:isExistLeftHero()) - self.btnRight:setVisible(self:isExistRightHero()) + self.btnHero:setActive(true) + self.btnWeapon:setActive(true) + self.btnArmor:setActive(true) + self.btnLeft:setActive(self:isExistLeftHero()) + self.btnRight:setActive(self:isExistRightHero()) self.commonInfo:setSizeDeltaY(SIZE_DELTA_Y_HERO) self:refreshRedPoint() end diff --git a/lua/app/ui/hero/hero_info_comp.lua b/lua/app/ui/hero/hero_info_comp.lua index 86cd39a2..c4ec5ed1 100644 --- a/lua/app/ui/hero/hero_info_comp.lua +++ b/lua/app/ui/hero/hero_info_comp.lua @@ -19,6 +19,7 @@ function HeroInfoComp:init() self.txLv = uiMap["hero_detail_ui.bg.lv_desc"] self.txElement = uiMap["hero_detail_ui.bg.element_desc"] self.txSkill = uiMap["hero_detail_ui.bg.skill_desc"] + self.btnSkillDesc = uiMap["hero_info.skill_desc.btn_skill_desc"] self.txFragmentNum = uiMap["hero_detail_ui.bg.fragment_bg.fragment_num"] self.txHpName = uiMap["hero_detail_ui.bg.hp_name"] self.txAtkName = uiMap["hero_detail_ui.bg.atk_name"] @@ -50,6 +51,12 @@ function HeroInfoComp:init() self.btnUp:addClickListener(function() ModuleManager.HeroManager:upgradeHero(self.heroEntity:getCfgId(), self.heroEntity) end) + self.btnSkillDesc:addClickListener(function() + local cfg = ConfigManager:getConfig("skill")[self.heroEntity:getBaseSkill()] + if cfg.buff_id and #cfg.buff_id > 0 then + ModuleManager.TipsManager:showSkillTips(self.btnSkillDesc, cfg.buff_id) + end + end) self.btnAttr:addClickListener(function() UIManager:showUI("app/ui/hero/hero_attr_ui", {heroEntity = self.heroEntity}) end) @@ -116,7 +123,8 @@ function HeroInfoComp:refresh(checkLevel) local skillIcon = self.skillIcon[i] local skillLv = self.skillDesc[i] skillBg:addClickListener(function() - ModuleManager.TipsManager:showDescTips(ModuleManager.HeroManager:getSkillRogueDesc(skillId), skillIcon) + local cfg = ConfigManager:getConfig("skill_rogue")[skillId] + ModuleManager.TipsManager:showSkillTips(skillIcon, cfg.buff_id, skillId) end) skillIcon:setSprite(GConst.ATLAS_PATH.ICON_SKILL_ROGUE, ModuleManager.HeroManager:getSkillRogueIcon(skillId)) skillBg:setTouchEnable(true) diff --git a/lua/app/ui/tips/cell/skill_desc_cell.lua b/lua/app/ui/tips/cell/skill_desc_cell.lua new file mode 100644 index 00000000..37c783b8 --- /dev/null +++ b/lua/app/ui/tips/cell/skill_desc_cell.lua @@ -0,0 +1,18 @@ +local SkillDescCell = class("SkillDescCell", BaseCell) + +function SkillDescCell:init() + local uiMap = self:getUIMap() + + self.imgIcon = uiMap["skill_desc_cell.img_icon"] + self.txDesc = uiMap["skill_desc_cell.tx_desc"] + self.line = uiMap["skill_desc_cell.line"] +end + +function SkillDescCell:refresh(buffId, isEnd) + local buffInfo = ConfigManager:getConfig("buff")[buffId] + self.imgIcon:setSprite(GConst.ATLAS_PATH.ICON_BUFF, buffInfo.icon) + self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ACCOUNT_ALREADY_BINDED_DESC)) + self.line:setVisible(not isEnd) +end + +return SkillDescCell \ No newline at end of file diff --git a/lua/app/ui/tips/cell/skill_desc_cell.lua.meta b/lua/app/ui/tips/cell/skill_desc_cell.lua.meta new file mode 100644 index 00000000..221e5bb4 --- /dev/null +++ b/lua/app/ui/tips/cell/skill_desc_cell.lua.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5bad74451f3128f44befd4a3238df297 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3} diff --git a/lua/app/ui/tips/skill_tips.lua b/lua/app/ui/tips/skill_tips.lua index 2692ebd1..8fe77864 100644 --- a/lua/app/ui/tips/skill_tips.lua +++ b/lua/app/ui/tips/skill_tips.lua @@ -1,12 +1,25 @@ local BaseTips = require "app/ui/tips/base_tips" local SkillTips = class("SkillTips", BaseTips) +local LINE_SIZE = 4 +-- 技能描述+buff描述 +local WIDTH_SKILL = 260 +local PADDING_SKILL = 17 +local SPACING_SKILL = 10 +local ICON_SIZE_SKILL = 31 +local BUFF_TX_WIDTH_SKILL = 185 +-- buff描述 +local WIDTH_BUFF = 450 +local PADDING_BUFF = 22 +local SPACING_BUFF = 13 +local ICON_SIZE_BUFF = 36 +local BUFF_TX_WIDTH_BUFF = 370 -local MIN_HEIGHT = 194 function SkillTips:ctor(params) - self.params = params - self.tarCornerScreenPos = params.tarCornerScreenPos - self.location = params.location + self.tarCornerScreenPos = params.tarCornerScreenPos + self.buffNames = params.buffNames + self.skillId = params.skillId + self.location = self.skillId ~= nil and ModuleManager.TipsManager.ALIGN_TYPE.TOP_CENTER or ModuleManager.TipsManager.ALIGN_TYPE.BOTTOM_CENTER end function SkillTips:getPrefabPath() @@ -15,13 +28,21 @@ end function SkillTips:onLoadRootComplete() local uiMap = self.root:genAllChildren() - self.descTx = uiMap["skill_tips.bg.desc_tx"] - self.skillCell = CellManager:addCellComp(uiMap["skill_tips.bg.skill_cell"], GConst.TYPEOF_LUA_CLASS.SKILL_CELL) - self.nameTx = uiMap["skill_tips.bg.name_tx"] - self.lvTx = uiMap["skill_tips.bg.lv_tx"] - self.bg = uiMap["skill_tips.bg"] - local tipsBgTransform = self.bg:getTransform() + self.content = uiMap["skill_tips.content"] + self.bg = uiMap["skill_tips.content.bg"] + self.imgArrow = uiMap["skill_tips.content.bg.img_arrow"] + self.txDesc = uiMap["skill_tips.content.bg.tx_desc"] + self.skillList = {} + for i = 1, 3 do + table.insert(self.skillList, uiMap["skill_tips.content.bg.item_desc_" .. i]) + end + self.lineList = {} + for i = 1, 3 do + table.insert(self.lineList, uiMap["skill_tips.content.bg.line_" .. i]) + end + + local tipsBgTransform = self.bg:getTransform() self.originSizeDelta = tipsBgTransform.sizeDelta self.originPivot = tipsBgTransform.pivot self.originAnchoredPosition = tipsBgTransform.anchoredPosition @@ -33,19 +54,9 @@ function SkillTips:onRefresh() self:closeUI() end) - self.nameTx:setText(I18N:getText("skill", self.params.id, "name")) - self.descTx:setText(GFunc.getSkillEffectStr(self.params.id, self.params.lv)) - self.skillCell:refresh(self.params.id) - self.skillCell:setLvVisible(false) - self.lvTx:setText(I18N:getGlobalText(I18N.GlobalConst.LV_POINT, self.params.lv)) + self:refreshSkillDesc() - local meshProComp = self.descTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) - local height = meshProComp.preferredHeight - - local maxHeight = math.max(height + 141, MIN_HEIGHT) - self.bg:setSizeDeltaY(maxHeight) - - if self.tarCornerScreenPos then + if self.tarCornerScreenPos then self:locate(self.location, self.originSizeDelta, self.bg, self.tarCornerScreenPos) end end @@ -60,4 +71,87 @@ function SkillTips:onClose() end end +-- 刷新技能描述 +function SkillTips:refreshSkillDesc() + local width = self.skillId ~= nil and WIDTH_SKILL or WIDTH_BUFF + local padding = self.skillId ~= nil and PADDING_SKILL or PADDING_BUFF + local spacing = self.skillId ~= nil and SPACING_SKILL or SPACING_BUFF + local iconSize = self.skillId ~= nil and ICON_SIZE_SKILL or ICON_SIZE_BUFF + local buffWidth = self.skillId ~= nil and BUFF_TX_WIDTH_SKILL or BUFF_TX_WIDTH_BUFF + self.bg:setSizeDeltaX(width) + self.imgArrow:setActive(self.skillId ~= nil) + + -- Logger.logHighlight("显示buff:") + -- Logger.printTable(self.buffNames) + + local heightObjList = {} + local txHeroList = {} + + -- 技能描述 + if self.skillId then + self.txDesc:setActive(true) + self.txDesc:setSizeDeltaX(width - 20) + self.txDesc:setText(ModuleManager.HeroManager:getSkillRogueDesc(self.skillId)) + + local txMeshPro = self.txDesc:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) + txMeshPro:ForceMeshUpdate() + table.insert(heightObjList, self.txDesc) + table.insert(txHeroList, txMeshPro.renderedHeight) + else + self.txDesc:setActive(false) + end + + -- buff描述 + for index, obj in ipairs(self.skillList) do + if self.buffNames and self.buffNames[index] then + -- 显示buff描述 + local ui = obj:genAllChildren() + local icon = ui["img_icon"] + local desc = ui["tx_desc"] + + local buffInfo = ConfigManager:getConfigWithOtherKey("buff", "name")[self.buffNames[index]] + obj:setActive(true) + obj:setSizeDeltaX(width) + desc:setSizeDeltaX(buffWidth) + desc:setText(I18N:getTextWithOtherKey("buff", "name", buffInfo.name, "tips_desc")) + icon:setSizeDelta(iconSize, iconSize) + icon:setSprite(GConst.ATLAS_PATH.ICON_BUFF, buffInfo.icon) + + local txMeshPro = desc:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) + txMeshPro:ForceMeshUpdate() + table.insert(heightObjList, obj) + table.insert(txHeroList, txMeshPro.renderedHeight > iconSize and txMeshPro.renderedHeight or iconSize) + else + obj:setActive(false) + end + end + + local h = padding + local str = "tips高度:" .. padding + for index, obj in ipairs(heightObjList) do + obj:setAnchoredPositionY(-h) + h = h + txHeroList[index] + str = str .. " + " .. txHeroList[index] + + if index < #heightObjList then + h = h + spacing + str = str .. " + " .. spacing + self.lineList[1]:setAnchoredPositionY(-h) + self.lineList[1]:setActive(true) + self.lineList[1]:setSizeDelta(width - 10, LINE_SIZE) + h = h + LINE_SIZE + spacing + str = str .. " + " .. LINE_SIZE + str = str .. " + " .. spacing + table.remove(self.lineList, 1) + end + end + for index, obj in ipairs(self.lineList) do + obj:setActive(false) + end + h = h + padding + str = str .. " + " .. padding + -- Logger.logHighlight(str.. " = " ..h) + self.bg:setSizeDeltaY(h) +end + return SkillTips \ No newline at end of file