This commit is contained in:
puxuan 2025-09-12 09:50:19 +08:00
parent c8e5d669ab
commit 4bbe1af8b1
29 changed files with 12504 additions and 7020 deletions

File diff suppressed because it is too large Load Diff

View File

@ -32,127 +32,152 @@ local attr = {
[7]={ [7]={
["id"]=7, ["id"]=7,
["name"]="attr_crit_red", ["name"]="attr_crit_red",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[8]={ [8]={
["id"]=8, ["id"]=8,
["name"]="attr_crit_yellow", ["name"]="attr_crit_yellow",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[9]={ [9]={
["id"]=9, ["id"]=9,
["name"]="attr_crit_green", ["name"]="attr_crit_green",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[10]={ [10]={
["id"]=10, ["id"]=10,
["name"]="attr_crit_blue", ["name"]="attr_crit_blue",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[11]={ [11]={
["id"]=11, ["id"]=11,
["name"]="attr_crit_purple", ["name"]="attr_crit_purple",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[12]={ [12]={
["id"]=12, ["id"]=12,
["name"]="attr_crit_time_red", ["name"]="attr_crit_time_red",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[13]={ [13]={
["id"]=13, ["id"]=13,
["name"]="attr_crit_time_yellow", ["name"]="attr_crit_time_yellow",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[14]={ [14]={
["id"]=14, ["id"]=14,
["name"]="attr_crit_time_green", ["name"]="attr_crit_time_green",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[15]={ [15]={
["id"]=15, ["id"]=15,
["name"]="attr_crit_time_blue", ["name"]="attr_crit_time_blue",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[16]={ [16]={
["id"]=16, ["id"]=16,
["name"]="attr_crit_time_purple", ["name"]="attr_crit_time_purple",
["power"]=500 ["power"]=500,
["is_percent"]=1
}, },
[17]={ [17]={
["id"]=17, ["id"]=17,
["name"]="attr_cured_red", ["name"]="attr_cured_red",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[18]={ [18]={
["id"]=18, ["id"]=18,
["name"]="attr_cured_yellow", ["name"]="attr_cured_yellow",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[19]={ [19]={
["id"]=19, ["id"]=19,
["name"]="attr_cured_green", ["name"]="attr_cured_green",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[20]={ [20]={
["id"]=20, ["id"]=20,
["name"]="attr_cured_blue", ["name"]="attr_cured_blue",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[21]={ [21]={
["id"]=21, ["id"]=21,
["name"]="attr_cured_purple", ["name"]="attr_cured_purple",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[22]={ [22]={
["id"]=22, ["id"]=22,
["name"]="attr_atkp_red", ["name"]="attr_atkp_red",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[23]={ [23]={
["id"]=23, ["id"]=23,
["name"]="attr_atkp_yellow", ["name"]="attr_atkp_yellow",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[24]={ [24]={
["id"]=24, ["id"]=24,
["name"]="attr_atkp_green", ["name"]="attr_atkp_green",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[25]={ [25]={
["id"]=25, ["id"]=25,
["name"]="attr_atkp_blue", ["name"]="attr_atkp_blue",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[26]={ [26]={
["id"]=26, ["id"]=26,
["name"]="attr_atkp_purple", ["name"]="attr_atkp_purple",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[27]={ [27]={
["id"]=27, ["id"]=27,
["name"]="attr_hpp_red", ["name"]="attr_hpp_red",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[28]={ [28]={
["id"]=28, ["id"]=28,
["name"]="attr_hpp_yellow", ["name"]="attr_hpp_yellow",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[29]={ [29]={
["id"]=29, ["id"]=29,
["name"]="attr_hpp_green", ["name"]="attr_hpp_green",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[30]={ [30]={
["id"]=30, ["id"]=30,
["name"]="attr_hpp_blue", ["name"]="attr_hpp_blue",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[31]={ [31]={
["id"]=31, ["id"]=31,
["name"]="attr_hpp_purple", ["name"]="attr_hpp_purple",
["power"]=100 ["power"]=100,
["is_percent"]=1
}, },
[32]={ [32]={
["id"]=32, ["id"]=32,
@ -207,52 +232,62 @@ local attr = {
[42]={ [42]={
["id"]=42, ["id"]=42,
["name"]="attr_normal_hurtp_red", ["name"]="attr_normal_hurtp_red",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[43]={ [43]={
["id"]=43, ["id"]=43,
["name"]="attr_normal_hurtp_yellow", ["name"]="attr_normal_hurtp_yellow",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[44]={ [44]={
["id"]=44, ["id"]=44,
["name"]="attr_normal_hurtp_green", ["name"]="attr_normal_hurtp_green",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[45]={ [45]={
["id"]=45, ["id"]=45,
["name"]="attr_normal_hurtp_blue", ["name"]="attr_normal_hurtp_blue",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[46]={ [46]={
["id"]=46, ["id"]=46,
["name"]="attr_normal_hurtp_purple", ["name"]="attr_normal_hurtp_purple",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[47]={ [47]={
["id"]=47, ["id"]=47,
["name"]="attr_skill_hurtp_red", ["name"]="attr_skill_hurtp_red",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[48]={ [48]={
["id"]=48, ["id"]=48,
["name"]="attr_skill_hurtp_yellow", ["name"]="attr_skill_hurtp_yellow",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[49]={ [49]={
["id"]=49, ["id"]=49,
["name"]="attr_skill_hurtp_green", ["name"]="attr_skill_hurtp_green",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[50]={ [50]={
["id"]=50, ["id"]=50,
["name"]="attr_skill_hurtp_blue", ["name"]="attr_skill_hurtp_blue",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[51]={ [51]={
["id"]=51, ["id"]=51,
["name"]="attr_skill_hurtp_purple", ["name"]="attr_skill_hurtp_purple",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[52]={ [52]={
["id"]=52, ["id"]=52,
@ -282,52 +317,62 @@ local attr = {
[57]={ [57]={
["id"]=57, ["id"]=57,
["name"]="attr_all_hurtp_red", ["name"]="attr_all_hurtp_red",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[58]={ [58]={
["id"]=58, ["id"]=58,
["name"]="attr_all_hurtp_yellow", ["name"]="attr_all_hurtp_yellow",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[59]={ [59]={
["id"]=59, ["id"]=59,
["name"]="attr_all_hurtp_green", ["name"]="attr_all_hurtp_green",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[60]={ [60]={
["id"]=60, ["id"]=60,
["name"]="attr_all_hurtp_blue", ["name"]="attr_all_hurtp_blue",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[61]={ [61]={
["id"]=61, ["id"]=61,
["name"]="attr_all_hurtp_purple", ["name"]="attr_all_hurtp_purple",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[62]={ [62]={
["id"]=62, ["id"]=62,
["name"]="attr_atkp_red_all", ["name"]="attr_atkp_red_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[63]={ [63]={
["id"]=63, ["id"]=63,
["name"]="attr_atkp_yellow_all", ["name"]="attr_atkp_yellow_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[64]={ [64]={
["id"]=64, ["id"]=64,
["name"]="attr_atkp_green_all", ["name"]="attr_atkp_green_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[65]={ [65]={
["id"]=65, ["id"]=65,
["name"]="attr_atkp_blue_all", ["name"]="attr_atkp_blue_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all", ["name"]="attr_atkp_purple_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[67]={ [67]={
["id"]=67, ["id"]=67,
@ -347,27 +392,32 @@ local attr = {
[70]={ [70]={
["id"]=70, ["id"]=70,
["name"]="attr_crit_all", ["name"]="attr_crit_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[71]={ [71]={
["id"]=71, ["id"]=71,
["name"]="attr_crit_time_all", ["name"]="attr_crit_time_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[72]={ [72]={
["id"]=72, ["id"]=72,
["name"]="attr_normal_hurtp_all", ["name"]="attr_normal_hurtp_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[73]={ [73]={
["id"]=73, ["id"]=73,
["name"]="attr_skill_hurtp_all", ["name"]="attr_skill_hurtp_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[74]={ [74]={
["id"]=74, ["id"]=74,
["name"]="attr_atkp_all", ["name"]="attr_atkp_all",
["power"]=50 ["power"]=50,
["is_percent"]=1
}, },
[75]={ [75]={
["id"]=75, ["id"]=75,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -722,6 +722,8 @@ local LocalizationGlobalConst =
EQUIP_HERO_DESC_32 = "EQUIP_HERO_DESC_32", EQUIP_HERO_DESC_32 = "EQUIP_HERO_DESC_32",
EQUIP_HERO_DESC_33 = "EQUIP_HERO_DESC_33", EQUIP_HERO_DESC_33 = "EQUIP_HERO_DESC_33",
EQUIP_HERO_DESC_34 = "EQUIP_HERO_DESC_34", EQUIP_HERO_DESC_34 = "EQUIP_HERO_DESC_34",
EQUIP_HERO_ACTIVATION_1 = "EQUIP_HERO_ACTIVATION_1",
EQUIP_HERO_ACTIVATION_2 = "EQUIP_HERO_ACTIVATION_2",
} }
return LocalizationGlobalConst return LocalizationGlobalConst

File diff suppressed because it is too large Load Diff

View File

@ -9566,7 +9566,7 @@ local skill = {
5, 5,
3 3
}, },
["battle_icon"]="45002", ["battle_icon"]="m30001_1",
["effect_type"]=1, ["effect_type"]=1,
["trigger"]=1, ["trigger"]=1,
["effect"]={ ["effect"]={
@ -9605,7 +9605,7 @@ local skill = {
["skill_type_parameter"]={ ["skill_type_parameter"]={
12500 12500
}, },
["battle_icon"]="53001", ["battle_icon"]="m30001_2",
["effect_type"]=1, ["effect_type"]=1,
["trigger"]=1, ["trigger"]=1,
["effect"]={ ["effect"]={
@ -9710,7 +9710,7 @@ local skill = {
9, 9,
3 3
}, },
["battle_icon"]="45002", ["battle_icon"]="m30002_1",
["effect_type"]=1, ["effect_type"]=1,
["trigger"]=1, ["trigger"]=1,
["effect"]={ ["effect"]={
@ -9746,7 +9746,7 @@ local skill = {
["skill_type_parameter"]={ ["skill_type_parameter"]={
1 1
}, },
["battle_icon"]="53001", ["battle_icon"]="m30002_2",
["effect_type"]=1, ["effect_type"]=1,
["trigger"]=1, ["trigger"]=1,
["effect"]={ ["effect"]={
@ -9861,7 +9861,7 @@ local skill = {
} }
}, },
[20104]={ [20104]={
["battle_icon"]="45002", ["battle_icon"]="m30003_1",
["effect_type"]=1, ["effect_type"]=1,
["trigger"]=1, ["trigger"]=1,
["effect"]={ ["effect"]={

View File

@ -328,6 +328,66 @@ local attr = {
["id"]=66, ["id"]=66,
["desc"]="全体紫色快递员攻击+{0}%", ["desc"]="全体紫色快递员攻击+{0}%",
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["desc"]="攻击",
["name"]="atk_all"
},
[68]={
["id"]=68,
["desc"]="生命",
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["desc"]="全体减伤",
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["desc"]="全体暴击率",
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["desc"]="全体暴击伤害",
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["desc"]="全体普攻增伤",
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["desc"]="全体技能增伤",
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["desc"]="全体攻击",
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["desc"]="通用个人攻击",
["name"]="attr_atk"
},
[76]={
["id"]=76,
["desc"]="通用个人生命",
["name"]="attr_hp"
},
[77]={
["id"]=77,
["desc"]="通用个人普攻伤害增加",
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["desc"]="通用个人技能伤害增加",
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -397,12 +457,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -725,6 +725,8 @@ local localization_global =
["EQUIP_HERO_DESC_32"] = "没有可以强化的装备", ["EQUIP_HERO_DESC_32"] = "没有可以强化的装备",
["EQUIP_HERO_DESC_33"] = "共鸣激活", ["EQUIP_HERO_DESC_33"] = "共鸣激活",
["EQUIP_HERO_DESC_34"] = "强化至<color=#00FF15>{0}</color>级可继续精炼", ["EQUIP_HERO_DESC_34"] = "强化至<color=#00FF15>{0}</color>级可继续精炼",
["EQUIP_HERO_ACTIVATION_1"] = "已激活:强化共鸣Lv{0}",
["EQUIP_HERO_ACTIVATION_2"] = "已激活:精炼共鸣Lv{0}",
} }
return localization_global return localization_global

View File

@ -262,6 +262,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -331,12 +379,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -262,6 +262,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -331,12 +379,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -262,6 +262,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -331,12 +379,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -323,6 +323,54 @@ local attr = {
[66]={ [66]={
["id"]=66, ["id"]=66,
["name"]="attr_atkp_purple_all" ["name"]="attr_atkp_purple_all"
},
[67]={
["id"]=67,
["name"]="atk_all"
},
[68]={
["id"]=68,
["name"]="attr_hp_all"
},
[69]={
["id"]=69,
["name"]="attr_dmgdec_all"
},
[70]={
["id"]=70,
["name"]="attr_crit_all"
},
[71]={
["id"]=71,
["name"]="attr_crit_time_all"
},
[72]={
["id"]=72,
["name"]="attr_normal_hurtp_all"
},
[73]={
["id"]=73,
["name"]="attr_skill_hurtp_all"
},
[74]={
["id"]=74,
["name"]="attr_atkp_all"
},
[75]={
["id"]=75,
["name"]="attr_atk"
},
[76]={
["id"]=76,
["name"]="attr_hp"
},
[77]={
["id"]=77,
["name"]="attr_normal_hurt"
},
[78]={
["id"]=78,
["name"]="attr_skill_hurt"
} }
} }
local keys = { local keys = {
@ -392,12 +440,24 @@ local keys = {
["attr_atkp_yellow_all"]=attr[63], ["attr_atkp_yellow_all"]=attr[63],
["attr_atkp_green_all"]=attr[64], ["attr_atkp_green_all"]=attr[64],
["attr_atkp_blue_all"]=attr[65], ["attr_atkp_blue_all"]=attr[65],
["attr_atkp_purple_all"]=attr[66] ["attr_atkp_purple_all"]=attr[66],
["atk_all"]=attr[67],
["attr_hp_all"]=attr[68],
["attr_dmgdec_all"]=attr[69],
["attr_crit_all"]=attr[70],
["attr_crit_time_all"]=attr[71],
["attr_normal_hurtp_all"]=attr[72],
["attr_skill_hurtp_all"]=attr[73],
["attr_atkp_all"]=attr[74],
["attr_atk"]=attr[75],
["attr_hp"]=attr[76],
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78]
} }
} }
local config = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=66 count=78
} }
return config return config

View File

@ -352,140 +352,6 @@ function GFunc.UiRectangleContainsScreenPoint(go, x, y)
return CS.BF.Utils.RectangleContainsScreenPoint(go:getTransform(), x, y, uiCamera) return CS.BF.Utils.RectangleContainsScreenPoint(go:getTransform(), x, y, uiCamera)
end end
function GFunc.getPerByW(ratio)
if ratio < 0 then
return math.ceil(ratio*0.01)
else
return math.floor(ratio*0.01)
end
end
function GFunc.getPerByW2(ratio)
if ratio < 0 then
return math.ceil(ratio*0.0001)
else
return math.floor(ratio*0.0001)
end
end
function GFunc.getPerByW3(ratio)
return ratio*0.0001
end
function GFunc.getPerStr(key, str, ispercent)
if ispercent or key == GConst.BattleConst.BUFF_NAME.ATKP_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_COLOR_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_ALL_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_ALL_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_ALL_ADD or
key == GConst.BattleConst.BUFF_NAME.HPP_ADD or
key == GConst.BattleConst.BUFF_NAME.CRIT_TIME_ADD or
key == GConst.BattleConst.BUFF_NAME.EXP_TIME_ADD or
key == GConst.BattleConst.BUFF_NAME.CURED_ADD or
key == GConst.BattleConst.BUFF_NAME.POISON or
key == GConst.BattleConst.BUFF_NAME.SHIELD or
key == GConst.BattleConst.BUFF_NAME.SHIELD_REBOUND_200 or
key == GConst.BattleConst.BUFF_NAME.VULNERABLE or
key == GConst.BattleConst.BUFF_NAME.CORRUPT or
key == GConst.BattleConst.BUFF_NAME.BLEED or
key == GConst.BattleConst.BUFF_NAME.WEAKEN or
key == GConst.BattleConst.BUFF_NAME.COUNTER_ATTACK or
key == GConst.BattleConst.BUFF_NAME.THORNS or
key == GConst.BattleConst.BUFF_NAME.SHIELD_REBOUND_400 or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE_REBOUND_400 or
key == GConst.BattleConst.BUFF_NAME.BURN or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE_02 or
key == GConst.BattleConst.BUFF_NAME.BLOCK or
key == GConst.BattleConst.BUFF_NAME.CRIT_ADD or
key == GConst.BattleConst.COUNTER_ATTACK or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE_REBOUND_200 or
key == GConst.BattleConst.BUFF_NAME.SHIELD_REBOUND_100 or
key == GConst.BattleConst.BUFF_NAME.SKILL_HURT_ADD_SHOW
then
str = str // 100 .. "%"
end
return str
end
function GFunc.getBuffDesc(buffName, effectNum, ispercent)
effectNum = GFunc.getPerStr(buffName, effectNum, ispercent)
return I18N:getTextWithOtherKey("buff", "name", buffName, "desc", effectNum)
end
function GFunc.getAttrDesc(attrName, attrNum)
attrNum = GFunc.getAttrShowValue(attrName, attrNum, true)
return I18N:getTextWithOtherKey("attr", "name", attrName, "desc", attrNum)
end
-- 获取属性用于显示的数值
function GFunc.getAttrShowValue(attrType, attrNum, notPercentSign)
if table.containValue(GConst.MATCH_ATTACK_ADD_NAME, attrType) or
table.containValue(GConst.MATCH_HP_ADD_NAME, attrType) or
table.containValue(GConst.MATCH_NORMAL_HURTP_NAME, attrType) or
table.containValue(GConst.MATCH_SKILL_HURTP_NAME, attrType) or
table.containValue(GConst.MATCH_CRIT_NAME, attrType) or
table.containValue(GConst.MATCH_CRIT_TIME_NAME, attrType) or
table.containValue(GConst.MATCH_CURED_NAME, attrType) or
table.containValue(GConst.MATCH_ALL_ATKP_NAME, attrType) or
table.containValue(GConst.MATCH_ALL_HURTP_NAME, attrType)
then
local str = notPercentSign and "" or "%"
return attrNum // GConst.BattleConst.PERCENT_FACTOR .. str
else
return attrNum // GConst.BattleConst.DEFAULT_FACTOR
end
end
-- 属性id转属性名
function GFunc.getAttrNameById(id)
local cfg = ConfigManager:getConfig("attr")[id]
if cfg then
return cfg.name
end
if EDITOR_MODE then
Logger.logError("没有找到属性id:" .. tostring(id))
end
return nil
end
-- 属性名转属性id
function GFunc.getAttrIdByName(type)
for id, info in pairs(ConfigManager:getConfig("attr")) do
if info.name == type then
return id
end
end
if EDITOR_MODE then
Logger.logError("没有找到属性名:" .. tostring(type))
end
return nil
end
function GFunc.getAttrName(key)
return I18N:getText("attr", key, "name")
end
-- 获取任务icon -- 获取任务icon
function GFunc.getTaskIcon(taskType, taskTarget) function GFunc.getTaskIcon(taskType, taskTarget)
if taskType == GConst.TaskConst.TASK_TYPE.X_ARENA_GRADING then if taskType == GConst.TaskConst.TASK_TYPE.X_ARENA_GRADING then
@ -1996,17 +1862,6 @@ function GFunc.getHeroQltStr(qlt)
return I18N:getGlobalText("QLT_DESC_" .. qlt) return I18N:getGlobalText("QLT_DESC_" .. qlt)
end end
-- 获取计算了加成的最终属性值全部属性固定属性id加成属性id
function GFunc.getFinalAttrValue(allAttrs, fixedId, factorId)
local fixedValue = allAttrs[fixedId] or 0
local factorValue = allAttrs[factorId] or 0
if factorValue > 0 then
return math.floor(fixedValue * (1 + factorValue / GConst.DEFAULT_FACTOR) + 0.0000001)
else
return fixedValue
end
end
-- 通用 -- 通用
function GFunc.getQltColor(qlt) function GFunc.getQltColor(qlt)
qlt = qlt or GConst.QLT_TYPE.NORMAL qlt = qlt or GConst.QLT_TYPE.NORMAL
@ -2078,4 +1933,130 @@ function GFunc.showPowerToast(before, after, posY)
end end
--@endregion --@endregion
--@region 属性相关
function GFunc.getFinalAttrValue(attrName, attrNum)
local cfg = ConfigManager:getConfigWithOtherKey("attr", "name")[attrName]
if cfg and cfg.is_percent then
return GFunc.num2Str(attrNum / 100, 2) .. "%"
else
return attrNum // GConst.DEFAULT_FACTOR
end
end
--@TODO 2025-09-11 11:54:20
function GFunc.getPerStr(key, str, ispercent)
if ispercent or key == GConst.BattleConst.BUFF_NAME.ATKP_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_COLOR_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.ATKP_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.DEC_DMG_ALL_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.WEAKNESS_ALL_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_RED_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_YELLOW_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_GREEN_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_BLUE_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_PURPLE_ADD or
key == GConst.BattleConst.BUFF_NAME.DMG_ADDITION_ALL_ADD or
key == GConst.BattleConst.BUFF_NAME.HPP_ADD or
key == GConst.BattleConst.BUFF_NAME.CRIT_TIME_ADD or
key == GConst.BattleConst.BUFF_NAME.EXP_TIME_ADD or
key == GConst.BattleConst.BUFF_NAME.CURED_ADD or
key == GConst.BattleConst.BUFF_NAME.POISON or
key == GConst.BattleConst.BUFF_NAME.SHIELD or
key == GConst.BattleConst.BUFF_NAME.SHIELD_REBOUND_200 or
key == GConst.BattleConst.BUFF_NAME.VULNERABLE or
key == GConst.BattleConst.BUFF_NAME.CORRUPT or
key == GConst.BattleConst.BUFF_NAME.BLEED or
key == GConst.BattleConst.BUFF_NAME.WEAKEN or
key == GConst.BattleConst.BUFF_NAME.COUNTER_ATTACK or
key == GConst.BattleConst.BUFF_NAME.THORNS or
key == GConst.BattleConst.BUFF_NAME.SHIELD_REBOUND_400 or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE_REBOUND_400 or
key == GConst.BattleConst.BUFF_NAME.BURN or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE_02 or
key == GConst.BattleConst.BUFF_NAME.BLOCK or
key == GConst.BattleConst.BUFF_NAME.CRIT_ADD or
key == GConst.BattleConst.COUNTER_ATTACK or
key == GConst.BattleConst.BUFF_NAME.SHIELD_ICE_REBOUND_200 or
key == GConst.BattleConst.BUFF_NAME.SHIELD_REBOUND_100 or
key == GConst.BattleConst.BUFF_NAME.SKILL_HURT_ADD_SHOW
then
str = str // 100 .. "%"
end
return str
end
function GFunc.getBuffDesc(buffName, effectNum, ispercent)
effectNum = GFunc.getPerStr(buffName, effectNum, ispercent)
return I18N:getTextWithOtherKey("buff", "name", buffName, "desc", effectNum)
end
function GFunc.getAttrDesc(attrName, attrNum)
attrNum = GFunc.getAttrShowValue(attrName, attrNum, true)
return I18N:getTextWithOtherKey("attr", "name", attrName, "desc", attrNum)
end
-- 获取属性用于显示的数值
function GFunc.getAttrShowValue(attrType, attrNum, notPercentSign)
if table.containValue(GConst.MATCH_ATTACK_ADD_NAME, attrType) or
table.containValue(GConst.MATCH_HP_ADD_NAME, attrType) or
table.containValue(GConst.MATCH_NORMAL_HURTP_NAME, attrType) or
table.containValue(GConst.MATCH_SKILL_HURTP_NAME, attrType) or
table.containValue(GConst.MATCH_CRIT_NAME, attrType) or
table.containValue(GConst.MATCH_CRIT_TIME_NAME, attrType) or
table.containValue(GConst.MATCH_CURED_NAME, attrType) or
table.containValue(GConst.MATCH_ALL_ATKP_NAME, attrType) or
table.containValue(GConst.MATCH_ALL_HURTP_NAME, attrType)
then
local str = notPercentSign and "" or "%"
return attrNum // GConst.BattleConst.PERCENT_FACTOR .. str
else
return attrNum // GConst.BattleConst.DEFAULT_FACTOR
end
end
-- 属性id转属性名
function GFunc.getAttrNameById(id)
local cfg = ConfigManager:getConfig("attr")[id]
if cfg then
return cfg.name
end
if EDITOR_MODE then
Logger.logError("没有找到属性id:" .. tostring(id))
end
return nil
end
-- 属性名转属性id
function GFunc.getAttrIdByName(type)
for id, info in pairs(ConfigManager:getConfig("attr")) do
if info.name == type then
return id
end
end
if EDITOR_MODE then
Logger.logError("没有找到属性名:" .. tostring(type))
end
return nil
end
function GFunc.getAttrNameByType(type)
local key = GFunc.getAttrIdByName(type)
return I18N:getText("attr", key, "desc")
end
--@endregion
return GFunc return GFunc

View File

@ -28,33 +28,26 @@ function EquipCell:refresh(entity, slotId, showMask, showCheck, showLock)
return return
end end
self:_refreshShow(entity:getQlt(), entity:getIconRes(), entity:getPartLv(slotId), showMask, showCheck, showLock) self:_refreshShow(entity:getQlt(), entity:getIconRes(), entity:getPartLv(slotId), showMask, showCheck, showLock)
end local qlt = entity:getQlt()
local icon = entity:getIconRes()
local lv = entity:getPartLv(slotId)
self.imgQlt:setSprite(GConst.ATLAS_PATH.ICON_EQUIP, "frame_" .. qlt)
self.imgIcon:setActive(true)
self.imgIcon:setSprite(GConst.ATLAS_PATH.ICON_EQUIP, icon)
function EquipCell:refreshByUid(uid) -- if lv then
self:refresh(DataManager.EquipData:getEntityByUid(uid)) -- self.levelNode:setActive(true)
end -- self.txLv:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_2, lv))
-- else
-- self.levelNode:setActive(false)
-- end
-- message Equip { self:showMask(showMask)
-- int64 uid = 1; // 唯一 id self:showCheck(showCheck)
-- int32 cfg_id = 2; // 配置 id self:showLock(showLock)
-- int32 init_id = 3; // 初始配置 id (升品前) self:showSelect(false)
-- repeated Attr purity_attrs = 4; // 洗炼属性 self:showLight(false)
-- repeated Attr new_purity_attrs = 5; // 未应用的洗炼属性 self:setShowUp(false)
-- }
function EquipCell:refreshByServer(equip)
local id = equip.cfg_id
self:_refreshShow(DataManager.EquipData:getQlt(id), DataManager.EquipData:getIconRes(id))
end
-- message EquipInfo {
-- int32 cfg_id = 1; // 配置 ID
-- int32 level = 2; // 槽位等级
-- repeated Attr purity_attrs = 3; // 洗炼属性
-- }
function EquipCell:refreshByServer2(equip)
local id = equip.cfg_id
local lv = equip.level
self:_refreshShow(DataManager.EquipData:getQlt(id), DataManager.EquipData:getIconRes(id), lv)
end end
function EquipCell:refreshByCfg(id, showMask, showCheck, showLock) function EquipCell:refreshByCfg(id, showMask, showCheck, showLock)
@ -66,33 +59,7 @@ function EquipCell:refreshByCustom(qlt, icon, lv, showMask, showCheck, showLock)
end end
function EquipCell:_refreshShow(qlt, icon, lv, showMask, showCheck, showLock) function EquipCell:_refreshShow(qlt, icon, lv, showMask, showCheck, showLock)
if qlt then
self.imgQlt:setSprite(GConst.ATLAS_PATH.ICON_EQUIP, "frame_" .. qlt)
else
self.imgQlt:setSprite(GConst.ATLAS_PATH.ICON_EQUIP, "frame_0")
end
if icon then
self.imgIcon:setActive(true)
Logger.logHighlight("icon: %s", icon)
self.imgIcon:setSprite(GConst.ATLAS_PATH.ICON_EQUIP, icon)
else
self.imgIcon:setActive(false)
end
if lv then
self.levelNode:setActive(true)
self.txLv:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_2, lv))
else
self.levelNode:setActive(false)
end
self:showMask(showMask)
self:showCheck(showCheck)
self:showLock(showLock)
self:showSelect(false)
self:showLight(false)
self:setShowUp(false)
end end
function EquipCell:refreshEmpty(part, showSelect) function EquipCell:refreshEmpty(part, showSelect)

View File

@ -19,7 +19,7 @@ function EquipListCell:refresh(equipEntity, slotId, equipPart)
self.equipEntity = equipEntity self.equipEntity = equipEntity
self.slotId = slotId self.slotId = slotId
self.equipPart = equipPart self.equipPart = equipPart
self.nameTx:setText(equipEntity:getName()) self.nameTx:setText(equipEntity:getNameQltColor())
self.powerTx:setText(equipEntity:getPower()) self.powerTx:setText(equipEntity:getPower())
self.equipCell:refresh(equipEntity, slotId) self.equipCell:refresh(equipEntity, slotId)

View File

@ -143,7 +143,7 @@ function EquipGrowthUI:onLoadRootComplete()
self.pageBtns[i] = uiMap["equip_growth_ui.bg.page_btn_" .. i] self.pageBtns[i] = uiMap["equip_growth_ui.bg.page_btn_" .. i]
self.pageBtnTxs[i] = uiMap["equip_growth_ui.bg.page_btn_" .. i .. ".text"] self.pageBtnTxs[i] = uiMap["equip_growth_ui.bg.page_btn_" .. i .. ".text"]
self.pageBtns[i] :addClickListener(function() self.pageBtns[i] :addClickListener(function()
if not self:getIsOpen(i) or self.equipPart == i then if self.equipPart == i then
return return
end end
self.equipPart = i self.equipPart = i
@ -159,7 +159,7 @@ function EquipGrowthUI:onLoadRootComplete()
end end
function EquipGrowthUI:onRefresh() function EquipGrowthUI:onRefresh()
self:initList() -- self:initList()
self:refreshPageBtn() self:refreshPageBtn()
self:refreshPageInfo() self:refreshPageInfo()
self:refreshEquipCell() self:refreshEquipCell()
@ -173,6 +173,16 @@ function EquipGrowthUI:refreshEquipCell()
else else
self.equipCell:refreshEmpty(self.equipPart) self.equipCell:refreshEmpty(self.equipPart)
end end
for part = 1, 6 do
local eid = DataManager.EquipData:getPartEquipUid(self.slotId, part)
if eid and eid > 0 then
local equipEntity = DataManager.EquipData:getEquipByUid(eid)
self.equipCells[part]:refresh(equipEntity, part)
else
self.equipCells[part]:refreshEmpty(part)
end
end
end end
function EquipGrowthUI:refreshPageBtn() function EquipGrowthUI:refreshPageBtn()
@ -202,6 +212,7 @@ function EquipGrowthUI:refreshPageUp()
local lv = DataManager.EquipData:getPartLv(self.slotId, self.equipPart) local lv = DataManager.EquipData:getPartLv(self.slotId, self.equipPart)
local eid = DataManager.EquipData:getPartEquipUid(self.slotId, self.equipPart) local eid = DataManager.EquipData:getPartEquipUid(self.slotId, self.equipPart)
local equipEntity = DataManager.EquipData:getEquipByUid(eid) local equipEntity = DataManager.EquipData:getEquipByUid(eid)
local isLvMax = equipEntity:getIsLvMax(self.slotId)
-- if eid and eid > 0 then -- if eid and eid > 0 then
-- local equipEntity = DataManager.EquipData:getEquipByUid(eid) -- local equipEntity = DataManager.EquipData:getEquipByUid(eid)
-- self.equipCell:refresh(equipEntity, self.equipPart) -- self.equipCell:refresh(equipEntity, self.equipPart)
@ -210,14 +221,32 @@ function EquipGrowthUI:refreshPageUp()
-- end -- end
self.upCurrLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv)) self.upCurrLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv))
self.upNextLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv + 1))
self.upDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_14)) self.upDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_DESC_14))
self.upAttrNameTx:setText(equipEntity:getName()) local lv = DataManager.EquipData:getResonateLevel(GConst.EquipConst.RESONATE_PAGE.LV_UP, self.equipPart)
self.upDescTx1:setText(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_ACTIVATION_1, lv))
self.upMaxDescTx:setActive(isLvMax)
self.upAttrCurrTx:setText(equipEntity:getBaseAttrWithLv(lv)) local _, _, resonateAttrNum = DataManager.EquipData:getResonateLevel(GConst.EquipConst.RESONATE_PAGE.LV_UP, self.equipPart)
self.upAttrNextTx:setText(equipEntity:getBaseAttrWithLv(lv + 1)) local currAttr = equipEntity:getBaseAttrWithLv(lv)
self.upDescTx1:setText("adasd") self.upAttrNameTx:setText(GFunc.getAttrNameByType(currAttr.type))
self.upCostTx:setText("1323") local currAttrNum = GFunc.getFinalAttrValue(currAttr.type, currAttr.num + resonateAttrNum)
self.upAttrCurrTx:setText(currAttrNum)
if not isLvMax then
self.upNextLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv + 1))
local nextAttr = equipEntity:getBaseAttrWithLv(lv + 1)
local nextAttrNum = GFunc.getFinalAttrValue(nextAttr.type, nextAttr.num + resonateAttrNum)
self.upAttrNextTx:setText(nextAttrNum)
local itemCost = DataManager.EquipData:getLevelCost(lv + 1)
local costId = GFunc.getRewardId(itemCost)
local costNum = GFunc.getRewardNum(itemCost)
local count = DataManager.BagData.ItemData:getItemNumById(costId)
self.upCostIcon:setSprite(ModuleManager.ItemManager:getItemIcon(costId))
if costNum > count then
self.upCostTx:setText("<color=#FF0000>" .. count .. "</color>/"..costNum)
else
self.upCostTx:setText(count .. "/" .. costNum)
end
end
end end
--@endregion --@endregion

View File

@ -17,9 +17,11 @@ function EquipInfoUI:ctor(params)
if params.showType then if params.showType then
self.showType = params.showType self.showType = params.showType
end end
self.id = params and params.id --配置id params = params or {}
self.uid = params and params.uid --唯一id self.heroEntity = params.heroEntity
self.slotId = params and params.slotId --上阵槽位 self.id = params.id --配置id
self.uid = params.uid --唯一id
self.slotId = params.slotId --上阵槽位
end end
function EquipInfoUI:onLoadRootComplete() function EquipInfoUI:onLoadRootComplete()
@ -65,10 +67,10 @@ function EquipInfoUI:onLoadRootComplete()
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_17)) GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.EQUIP_HERO_DESC_17))
return return
end end
ModuleManager.EquipManager:showReplaceUI(self.slotId, self.part) ModuleManager.EquipManager:showEquipListUI(self.heroEntity, self.part)
end) end)
self.upBtn:addClickListener(function() self.upBtn:addClickListener(function()
ModuleManager.EquipManager:showGrowthUI(self.slotId, self.part) ModuleManager.EquipManager:showEquipGrowthUI(self.slotId, self.part)
end) end)
self:bind(DataManager.EquipData, "isDirty", function() self:bind(DataManager.EquipData, "isDirty", function()
self:closeUI() self:closeUI()
@ -91,7 +93,7 @@ function EquipInfoUI:refreshInfo()
self.partTx:setText(self.entity:getPartName()) self.partTx:setText(self.entity:getPartName())
self.powerTx:setText(self.entity:getPower()) self.powerTx:setText(self.entity:getPower())
local attr = self.entity:getBaseAttr() local attr = self.entity:getBaseAttr()
self.attrNameTx:setText(GFunc.getAttrName(GFunc.getAttrIdByName(attr.type))) self.attrNameTx:setText(GFunc.getAttrDesc(attr.type, attr.num))
self.attrValueTx:setText(attr.num // GConst.DEFAULT_FACTOR) self.attrValueTx:setText(attr.num // GConst.DEFAULT_FACTOR)
local txW = self.attrValueTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth local txW = self.attrValueTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth
@ -105,15 +107,15 @@ function EquipInfoUI:refreshPreview()
return return
end end
self.entity = DataManager.EquipData:createEquipEntity({cfg_id = self.id}) self.entity = DataManager.EquipData:createEquipEntity({cfg_id = self.id})
self.equipCell:refreshById(self.id) self.equipCell:refreshByCfg(self.id)
self.attrValueAddTx:setText(GConst.EMPTY_STRING) self.attrValueAddTx:setText(GConst.EMPTY_STRING)
for i,cell in ipairs(self.attrExtraCells) do for i,cell in ipairs(self.attrExtraCells) do
cell.attrExtraCell:setActive(true) cell.attrExtraCell:setActive(true)
local extraAttr = DataManager.EquipData:getExtraAttr(self.id, i) local extraAttr = DataManager.EquipData:getExtraAttr(self.id, i)
cell.attrNameTx:setText(GFunc.getAttrName(GFunc.getAttrIdByName(extraAttr.type))) cell.attrNameTx:setText(GFunc.getAttrDesc(extraAttr.type, extraAttr.minnum))
cell.attrValueTx:setText(GConst.EMPTY_STRING) cell.attrValueTx:setText(GConst.EMPTY_STRING)
cell.attrValueAddTx:setActive(true) cell.attrValueAddTx:setActive(true)
-- cell.attrValueAddTx:setText("<color=#FFFFFF>".. DataManager.EquipData:getFinalAttr(extraAttr.type, extraAttr.minnum) .. "-".. DataManager.EquipData:getFinalAttr(extraAttr.type, extraAttr.maxnum) .."</color>") cell.attrValueAddTx:setText("<color=#FFFFFF>".. GFunc.getFinalAttrValue(extraAttr.type, extraAttr.minnum) .. "-".. GFunc.getFinalAttrValue(extraAttr.type, extraAttr.maxnum) .."</color>")
end end
self.replaceBtn:setActive(false) self.replaceBtn:setActive(false)
self.upBtn:setActive(false) self.upBtn:setActive(false)
@ -121,15 +123,15 @@ end
function EquipInfoUI:refreshBaseAttr() function EquipInfoUI:refreshBaseAttr()
self.entity = DataManager.EquipData:getEquipByUid(self.uid) self.entity = DataManager.EquipData:getEquipByUid(self.uid)
self.equipCell:refreshById(self.entity:getId()) self.equipCell:refreshByCfg(self.entity:getId())
local attrs = self.entity:getExtraMap() local attrs = self.entity:getExtraList()
local count = #attrs local count = #attrs
for i, cell in ipairs(self.attrExtraCells) do for i, cell in ipairs(self.attrExtraCells) do
if count >= i then if count >= i then
cell.attrExtraCell:setActive(true) cell.attrExtraCell:setActive(true)
local extraAttr = attrs[i] local extraAttr = attrs[i]
cell.attrNameTx:setText(GFunc.getAttrName(extraAttr.id)) cell.attrNameTx:setText(GFunc.getAttrDesc(extraAttr.type, extraAttr.num))
-- cell.attrValueTx:setText(DataManager.EquipData:getFinalAttr(GFunc.getAttrNameById(extraAttr.id), extraAttr.value)) cell.attrValueTx:setText(GFunc.getFinalAttrValue(extraAttr.type, extraAttr.num))
cell.attrValueTx:setAnchoredPositionX(-10) cell.attrValueTx:setAnchoredPositionX(-10)
cell.attrValueAddTx:setActive(false) cell.attrValueAddTx:setActive(false)
else else
@ -155,28 +157,29 @@ function EquipInfoUI:refreshAllAttr()
self.level = DataManager.EquipData:getPartLv(self.slotId, self.part) self.level = DataManager.EquipData:getPartLv(self.slotId, self.part)
self.refine = DataManager.EquipData:getPartRefine(self.slotId, self.part) self.refine = DataManager.EquipData:getPartRefine(self.slotId, self.part)
local resonateLv, resonateNextLv, resonateAttrNum, resonateAttrNextNum = DataManager.EquipData:getResonateLevel(GConst.EquipConst.RESONATE_PAGE.LV_UP, self.slotId) local resonateLv, resonateNextLv, resonateAttrNum, resonateAttrNextNum = DataManager.EquipData:getResonateLevel(GConst.EquipConst.RESONATE_PAGE.LV_UP, self.slotId)
local baseValueAdd = DataManager.EquipData:getBaseAttrLvAdd(self.level) + resonateAttrNum local baseValueAdd = DataManager.EquipData:getBaseAttrLvAdd(self.entity:getBaseAttr().type, self.level) + resonateAttrNum
if baseValueAdd <= 0 then if baseValueAdd <= 0 then
self.attrValueAddTx:setText(GConst.EMPTY_STRING) self.attrValueAddTx:setText(GConst.EMPTY_STRING)
else else
self.attrValueAddTx:setText("<color=#09FF00>(+".. math.floor(baseValueAdd) ..")</color>") self.attrValueAddTx:setText("<color=#09FF00>(+".. math.floor(baseValueAdd) ..")</color>")
end end
local attrs = self.entity:getExtraMap() local attrs = self.entity:getExtraList()
local count = table.nums(attrs) local count = #attrs
for i, cell in ipairs(self.attrExtraCells) do for i, cell in ipairs(self.attrExtraCells) do
if count >= i then if count >= i then
cell.attrExtraCell:setActive(true) cell.attrExtraCell:setActive(true)
local extraAttr = attrs[i] local extraAttr = attrs[i]
cell.attrNameTx:setText(GFunc.getAttrName(extraAttr.id)) local extraAttrId = GFunc.getAttrIdByName(extraAttr.type)
-- cell.attrValueTx:setText(DataManager.EquipData:getFinalAttr(GFunc.getAttrNameById(extraAttr.id), extraAttr.value)) cell.attrNameTx:setText(GFunc.getAttrDesc(extraAttr.type, extraAttr.num))
local attrAdd = DataManager.EquipData:getRefineAttrAdd(self.refine, extraAttr.id) cell.attrValueTx:setText(GFunc.getFinalAttrValue(extraAttr.type, extraAttr.num))
local attrAdd = DataManager.EquipData:getRefineAttrAdd(self.refine, extraAttrId)
local anchorX = -3 local anchorX = -3
if attrAdd.num <= 0 then if attrAdd.num <= 0 then
cell.attrValueAddTx:setActive(false) cell.attrValueAddTx:setActive(false)
else else
cell.attrValueAddTx:setActive(true) cell.attrValueAddTx:setActive(true)
-- cell.attrValueAddTx:setText("<color=#09FF00>(+".. DataManager.EquipData:getFinalAttr(attrAdd.type, attrAdd.num) ..")</color>") cell.attrValueAddTx:setText("<color=#09FF00>(+".. GFunc.getFinalAttrValue(attrAdd.type, attrAdd.num) ..")</color>")
local meshProCompNext = cell.attrValueAddTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO) local meshProCompNext = cell.attrValueAddTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO)
local nowTipsNextX = meshProCompNext.preferredWidth local nowTipsNextX = meshProCompNext.preferredWidth
cell.attrValueAddTx:setSizeDeltaX(nowTipsNextX) cell.attrValueAddTx:setSizeDeltaX(nowTipsNextX)

View File

@ -32,13 +32,15 @@ function EquipInfoComp:init()
self.equipCells[i]:addClickListener(function() self.equipCells[i]:addClickListener(function()
local eid = DataManager.EquipData:getPartEquipUid(self.heroEntity:getMatchType(), i) local eid = DataManager.EquipData:getPartEquipUid(self.heroEntity:getMatchType(), i)
if eid and eid > 0 then if eid and eid > 0 then
-- local equipEntity = DataManager.EquipData:getEquipByUid(eid) local equipEntity = DataManager.EquipData:getEquipByUid(eid)
-- self.equipCells[part]:refresh(equipEntity, part) -- self.equipCells[part]:refresh(equipEntity, part)
-- EquipManager:showEquipGrowthUI(slotId) -- EquipManager:showEquipGrowthUI(slotId)
local parmas = {} local parmas = {}
parmas.heroEntity = self.heroEntity
parmas.slotId = self.heroEntity:getMatchType() parmas.slotId = self.heroEntity:getMatchType()
parmas.part = i parmas.part = i
parmas.uid = eid parmas.uid = eid
parmas.id = equipEntity:getId()
parmas.showType = GConst.EquipConst.INFO_SHOW_TYPE.ALL_ATTR parmas.showType = GConst.EquipConst.INFO_SHOW_TYPE.ALL_ATTR
ModuleManager.EquipManager:showEquipInfoUI(parmas) ModuleManager.EquipManager:showEquipInfoUI(parmas)
else else
@ -129,7 +131,6 @@ function EquipInfoComp:refreshEquip()
local equipEntity = DataManager.EquipData:getEquipByUid(eid) local equipEntity = DataManager.EquipData:getEquipByUid(eid)
self.equipCells[part]:refresh(equipEntity, part) self.equipCells[part]:refresh(equipEntity, part)
else else
-- self.equipCells[part]:refreshByCustom(nil, part)
self.equipCells[part]:refreshEmpty(part) self.equipCells[part]:refreshEmpty(part)
end end
end end

View File

@ -296,11 +296,20 @@ function EquipData:getPartLv(slotId, part)
return 0 return 0
end end
function EquipData:isPartLvMax(slotId, part)
local lv = self:getPartLv(slotId, part)
return lv >= #self:getLevelConfig()
end
--基础属性额外强化值 --基础属性额外强化值
function EquipData:getBaseAttrLvAdd(lv) function EquipData:getBaseAttrLvAdd(attrType, lv)
local baseAttrAdd = 0 local baseAttrAdd = 0
for i = 1, lv do for i = 1, lv do
baseAttrAdd = baseAttrAdd + self:getLevelConfig(i).base_attr_add.num if attrType == "attr_atk" then
baseAttrAdd = baseAttrAdd + self:getLevelConfig(i).base_attr_add[1]
else
baseAttrAdd = baseAttrAdd + self:getLevelConfig(i).base_attr_add[2]
end
end end
return baseAttrAdd return baseAttrAdd
end end

View File

@ -72,7 +72,7 @@ end
--@region 属性 --@region 属性
function EquipEntity:initBaseAttr() function EquipEntity:initBaseAttr()
self.baseAttr = self.config.base_attr self.baseAttrs = self.config.base_attr
end end
function EquipEntity:setExtraAttr(attr) function EquipEntity:setExtraAttr(attr)
@ -80,10 +80,9 @@ function EquipEntity:setExtraAttr(attr)
self.extraMap = attr self.extraMap = attr
if attr and #attr > 0 then if attr and #attr > 0 then
for i, data in pairs(attr) do for i, data in pairs(attr) do
if self.extraAttrs[GFunc.getAttrNameById(data.id)] then local attrType = GFunc.getAttrNameById(data.id)
self.extraAttrs[GFunc.getAttrNameById(data.id)] = self.extraAttrs[GFunc.getAttrNameById(data.id)] + data.value if attrType then
else self.extraAttrs[attrType] = (self.extraAttrs[attrType] or 0) + data.value
self.extraAttrs[GFunc.getAttrNameById(data.id)] = data.value
end end
end end
end end
@ -91,13 +90,13 @@ function EquipEntity:setExtraAttr(attr)
end end
function EquipEntity:getBaseAttr() function EquipEntity:getBaseAttr()
return self.baseAttr return self.baseAttrs
end end
function EquipEntity:getBaseAttrWithLv(lv) function EquipEntity:getBaseAttrWithLv(lv)
local attr = {} local attr = {}
attr.type = self.baseAttr.type attr.type = self.baseAttrs.type
attr.num = self.baseAttr.num + DataManager.EquipData:getBaseAttrLvAdd(lv) attr.num = self.baseAttrs.num + DataManager.EquipData:getBaseAttrLvAdd(self.baseAttrs.type, lv)
return attr return attr
end end
@ -105,6 +104,14 @@ function EquipEntity:getExtraMap()
return self.extraMap return self.extraMap
end end
function EquipEntity:getExtraList()
local list = {}
for k,v in pairs(self.extraAttrs) do
table.insert(list, {type = k, num = v})
end
return list
end
function EquipEntity:getExtraAttrs() function EquipEntity:getExtraAttrs()
return self.extraAttrs return self.extraAttrs
end end
@ -116,7 +123,7 @@ function EquipEntity:getAllAttr()
-- for attrName, attrNum in pairs(self:getBaseAttr()) do -- for attrName, attrNum in pairs(self:getBaseAttr()) do
-- self.allAttrs[attrName] = (self.allAttrs[attrName] or 0) + attrNum -- self.allAttrs[attrName] = (self.allAttrs[attrName] or 0) + attrNum
-- end -- end
self.allAttrs[self.baseAttr.type] = (self.allAttrs[self.baseAttr.type] or 0) + self.baseAttr.num self.allAttrs[self.baseAttrs.type] = (self.allAttrs[self.baseAttrs.type] or 0) + self.baseAttrs.num
-- 额外属性 -- 额外属性
for attrName, attrNum in pairs(self:getExtraAttrs()) do for attrName, attrNum in pairs(self:getExtraAttrs()) do
self.allAttrs[attrName] = (self.allAttrs[attrName] or 0) + attrNum self.allAttrs[attrName] = (self.allAttrs[attrName] or 0) + attrNum
@ -180,12 +187,12 @@ function EquipEntity:getPartLv(slotId)
return DataManager.EquipData:getPartLv(slotId, self:getPart()) return DataManager.EquipData:getPartLv(slotId, self:getPart())
end end
function EquipEntity:getMaxLv(slotId) function EquipEntity:getMaxLv()
return #DataManager.EquipData:getLevelConfig() return #DataManager.EquipData:getLevelConfig()
end end
function EquipEntity:getIsLvMax() function EquipEntity:getIsLvMax(slotId)
local lv = self:getPartLv() local lv = self:getPartLv(slotId)
return lv >= self:getMaxLv() return lv >= self:getMaxLv()
end end
--@endregion --@endregion