召唤商店

This commit is contained in:
puxuan 2025-10-15 16:11:24 +08:00
parent 0fd0768194
commit 25ebcf8a91
48 changed files with 1994 additions and 1588 deletions

View File

@ -188,7 +188,7 @@ function DataManager:initWithServerData(data)
-- 商店礼包都初始化完了后检查一下每日红点
-- self.ShopData:checkShopDiscountRedPoint()
-- self.ShopData:checkLoginPopInfo() -- 需要写在shopdata所有初始化之后
self.SummonData:init(data.summon_data)
self.SummonData:init(data.summon_data, data.summon_shop)
self.AIHelperData:init(nil, true)
-- 任务数据最后初始化,依赖其他模块的数据

View File

@ -449,6 +449,18 @@ local attr = {
["name"]="attr_hpp_all",
["power"]=50,
["is_percent"]=1
},
[81]={
["id"]=81,
["name"]="attr_monster_dmg",
["power"]=50,
["is_percent"]=1
},
[82]={
["id"]=82,
["name"]="attr_boss_dmg",
["power"]=50,
["is_percent"]=1
}
}
local keys = {
@ -532,12 +544,14 @@ local keys = {
["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78],
["dmgdec"]=attr[79],
["attr_hpp_all"]=attr[80]
["attr_hpp_all"]=attr[80],
["attr_monster_dmg"]=attr[81],
["attr_boss_dmg"]=attr[82]
}
}
local config = {
data=attr,
keys=keys,
count=80
count=82
}
return config

View File

@ -1,12 +1,12 @@
local battle_exp = {
[1]={
["exp"]=1
["exp"]=10000
},
[2]={
["exp"]=1
["exp"]=10000
},
[3]={
["exp"]=1
["exp"]=10000
},
[4]={
["exp"]=10000

View File

@ -1000,6 +1000,41 @@ local buff = {
["icon"]="attr_normal_hurtp_all_add",
["show_name"]=true,
["ispercent"]=1
},
[106]={
["id"]=106,
["name"]="red_refresh_weight",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
},
[107]={
["id"]=107,
["name"]="yellow_refresh_weight",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
},
[108]={
["id"]=108,
["name"]="green_refresh_weight",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
},
[109]={
["id"]=109,
["name"]="blue_refresh_weight",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
},
[110]={
["id"]=110,
["name"]="purple_refresh_weight",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
}
}
local keys = {
@ -1108,12 +1143,17 @@ local keys = {
["hpp_purple_add"]=buff[102],
["forever_normal_attack_add"]=buff[103],
["forever_uncontrolled"]=buff[104],
["attr_normal_hurtp_all_add"]=buff[105]
["attr_normal_hurtp_all_add"]=buff[105],
["red_refresh_weight"]=buff[106],
["yellow_refresh_weight"]=buff[107],
["green_refresh_weight"]=buff[108],
["blue_refresh_weight"]=buff[109],
["purple_refresh_weight"]=buff[110]
}
}
local config = {
data=buff,
keys=keys,
count=105
count=110
}
return config

File diff suppressed because it is too large Load Diff

View File

@ -898,6 +898,8 @@ local LocalizationGlobalConst =
CHEAT_1 = "CHEAT_1",
BATTLE_DESC_18 = "BATTLE_DESC_18",
CHALLENGE_TEAM_10 = "CHALLENGE_TEAM_10",
HELP_DESC = "HELP_DESC",
SUMMON_HELP_1 = "SUMMON_HELP_1",
SUMMON_DESCR_1 = "SUMMON_DESCR_1",
SUMMON_DESCR_2 = "SUMMON_DESCR_2",
SUMMON_DESCR_3 = "SUMMON_DESCR_3",

View File

@ -739,7 +739,8 @@ local player_exp = {
["talent_id"]={
4,
5,
6
6,
8
},
["cost"]={
["type"]=1,
@ -2354,7 +2355,8 @@ local player_exp = {
["talent_id"]={
1,
2,
3
3,
8
},
["cost"]={
["type"]=1,
@ -2388,8 +2390,7 @@ local player_exp = {
["talent_id"]={
4,
5,
6,
8
6
},
["cost"]={
["type"]=1,
@ -2593,7 +2594,8 @@ local player_exp = {
["talent_id"]={
4,
6,
7
7,
8
},
["cost"]={
["type"]=1,
@ -2659,7 +2661,6 @@ local player_exp = {
}
},
["talent_id"]={
8,
13,
14,
15
@ -2765,7 +2766,8 @@ local player_exp = {
["talent_id"]={
1,
2,
3
3,
8
},
["cost"]={
["type"]=1,
@ -4716,7 +4718,7 @@ local player_exp = {
["talent_id"]={
13,
14,
15
5
},
["cost"]={
["type"]=1,
@ -4816,9 +4818,9 @@ local player_exp = {
}
},
["talent_id"]={
1,
2,
3
3,
15
},
["cost"]={
["type"]=1,
@ -4852,7 +4854,8 @@ local player_exp = {
["talent_id"]={
4,
5,
6
6,
8
},
["cost"]={
["type"]=1,

View File

@ -103,6 +103,25 @@ local skill = {
},
["obj"]=1
},
[15]={
["effect_type"]=2,
["trigger"]=11,
["trigger_value"]=10,
["trigger_limit"]=15,
["effect"]={
{
["type"]="dmg_addition_all_add",
["num"]=200,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=1,
["skill_position"]={
2,
0
}
},
[1300110]={
["position"]=1,
["effect_type"]=1,
@ -13662,6 +13681,6 @@ local skill = {
}
}
local config = {
data=skill,count=443
data=skill,count=444
}
return config

View File

@ -1,279 +1,48 @@
local skill_rogue = {
[1]={
["universal"]=1,
["toast_mark"]=1,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="atkp_color_add",
["minnum"]=300,
["maxnum"]=500
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=9,
["effect"]={
{
["type"]="add_skill",
["num"]=15,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=1,
["icon"]="1"
["obj"]=8,
["icon"]="7"
},
[2]={
["universal"]=1,
["toast_mark"]=1,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_color_add",
["minnum"]=800,
["maxnum"]=1200
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=20,
["parameter"]={
1000
},
["obj"]=1,
["icon"]="1"
["icon"]="17"
},
[3]={
["universal"]=1,
["toast_mark"]=1,
["limit_times"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=5,
["attr"]={
["type"]="atkp_color_add",
["minnum"]=1300,
["maxnum"]=2000
["qlt"]=5,
["type"]=21,
["parameter"]={
1
},
["obj"]=1,
["icon"]="1"
["icon"]="29"
},
[4]={
["universal"]=1,
["toast_mark"]=2,
["limit_times"]=4,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="atkp_red_add",
["minnum"]=300,
["maxnum"]=500
},
["obj"]=1,
["icon"]="2"
},
[5]={
["universal"]=1,
["toast_mark"]=2,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_red_add",
["minnum"]=800,
["maxnum"]=1200
},
["obj"]=1,
["icon"]="2"
},
[6]={
["universal"]=1,
["toast_mark"]=2,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_red_add",
["minnum"]=1300,
["maxnum"]=2000
},
["obj"]=1,
["icon"]="2"
},
[7]={
["universal"]=1,
["toast_mark"]=3,
["limit_times"]=4,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="atkp_yellow_add",
["minnum"]=300,
["maxnum"]=500
},
["obj"]=1,
["icon"]="3"
},
[8]={
["universal"]=1,
["toast_mark"]=3,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_yellow_add",
["minnum"]=800,
["maxnum"]=1200
},
["obj"]=1,
["icon"]="3"
},
[9]={
["universal"]=1,
["toast_mark"]=3,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_yellow_add",
["minnum"]=1300,
["maxnum"]=2000
},
["obj"]=1,
["icon"]="3"
},
[10]={
["universal"]=1,
["toast_mark"]=4,
["limit_times"]=4,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="atkp_green_add",
["minnum"]=300,
["maxnum"]=500
},
["obj"]=1,
["icon"]="4"
},
[11]={
["universal"]=1,
["toast_mark"]=4,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_green_add",
["minnum"]=800,
["maxnum"]=1200
},
["obj"]=1,
["icon"]="4"
},
[12]={
["universal"]=1,
["toast_mark"]=4,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_green_add",
["minnum"]=1300,
["maxnum"]=2000
},
["obj"]=1,
["icon"]="4"
},
[13]={
["universal"]=1,
["toast_mark"]=5,
["limit_times"]=4,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="atkp_blue_add",
["minnum"]=300,
["maxnum"]=500
},
["obj"]=1,
["icon"]="5"
},
[14]={
["universal"]=1,
["toast_mark"]=5,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_blue_add",
["minnum"]=800,
["maxnum"]=1200
},
["obj"]=1,
["icon"]="5"
},
[15]={
["universal"]=1,
["toast_mark"]=5,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_blue_add",
["minnum"]=1300,
["maxnum"]=2000
},
["obj"]=1,
["icon"]="5"
},
[16]={
["universal"]=1,
["toast_mark"]=6,
["limit_times"]=4,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="atkp_purple_add",
["minnum"]=300,
["maxnum"]=500
},
["obj"]=1,
["icon"]="6"
},
[17]={
["universal"]=1,
["toast_mark"]=6,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_purple_add",
["minnum"]=800,
["maxnum"]=1200
},
["obj"]=1,
["icon"]="6"
},
[18]={
["universal"]=1,
["toast_mark"]=6,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="atkp_purple_add",
["minnum"]=1300,
["maxnum"]=2000
},
["obj"]=1,
["icon"]="6"
},
[19]={
["universal"]=1,
["limit_times"]=1,
["weight"]=1500,
["qlt"]=4,
["qlt"]=5,
["type"]=9,
["effect"]={
{
@ -286,132 +55,147 @@ local skill_rogue = {
["obj"]=8,
["icon"]="7"
},
[20]={
[5]={
["universal"]=1,
["toast_mark"]=7,
["limit_times"]=4,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="exp_time_add",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="8"
},
[21]={
["universal"]=1,
["toast_mark"]=8,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=2,
["type"]=5,
["attr"]={
["type"]="hpp_add",
["minnum"]=300,
["maxnum"]=500
},
["obj"]=1,
["icon"]="9"
},
[22]={
["universal"]=1,
["toast_mark"]=8,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="hpp_add",
["minnum"]=800,
["maxnum"]=1200
},
["obj"]=1,
["icon"]="9"
},
[23]={
["universal"]=1,
["toast_mark"]=8,
["toast_mark"]=1,
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=5,
["attr"]={
["type"]="atkp_color_add",
["minnum"]=1500,
["maxnum"]=1500
},
["obj"]=1,
["icon"]="1"
},
[6]={
["universal"]=1,
["toast_mark"]=1,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=4,
["type"]=5,
["attr"]={
["type"]="hpp_add",
["minnum"]=1300,
["maxnum"]=2000
["type"]="atkp_color_add",
["minnum"]=1000,
["maxnum"]=1000
},
["obj"]=1,
["icon"]="9"
["icon"]="1"
},
[24]={
[7]={
["universal"]=1,
["limit_times"]=2,
["qlt"]=3,
["type"]=9,
["effect"]={
{
["type"]="add_skill",
["num"]=12,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=8,
["icon"]="10"
},
[25]={
["universal"]=1,
["toast_mark"]=10,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="cured_add",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="11"
},
[26]={
["universal"]=1,
["toast_mark"]=11,
["limit_times"]=3,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="block",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="12"
},
[27]={
["universal"]=1,
["toast_mark"]=12,
["toast_mark"]=1,
["limit_times"]=3,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="crit_add",
["minnum"]=400,
["maxnum"]=400
["type"]="atkp_color_add",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="13"
["icon"]="1"
},
[28]={
[8]={
["universal"]=1,
["toast_mark"]=2,
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=5,
["attr"]={
["type"]="attr_monster_dmg",
["minnum"]=1500,
["maxnum"]=1500
},
["obj"]=1,
["icon"]="1"
},
[9]={
["universal"]=1,
["toast_mark"]=2,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=4,
["type"]=5,
["attr"]={
["type"]="attr_monster_dmg",
["minnum"]=1000,
["maxnum"]=1000
},
["obj"]=1,
["icon"]="1"
},
[10]={
["universal"]=1,
["toast_mark"]=2,
["limit_times"]=3,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="attr_monster_dmg",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="1"
},
[11]={
["universal"]=1,
["toast_mark"]=3,
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=5,
["attr"]={
["type"]="attr_boss_dmg",
["minnum"]=1500,
["maxnum"]=1500
},
["obj"]=1,
["icon"]="1"
},
[12]={
["universal"]=1,
["toast_mark"]=3,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=4,
["type"]=5,
["attr"]={
["type"]="attr_boss_dmg",
["minnum"]=1000,
["maxnum"]=1000
},
["obj"]=1,
["icon"]="1"
},
[13]={
["universal"]=1,
["toast_mark"]=3,
["limit_times"]=3,
["weight"]=2000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="attr_boss_dmg",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="1"
},
[14]={
["universal"]=1,
["toast_mark"]=13,
["limit_times"]=3,
["weight"]=2000,
["qlt"]=3,
["qlt"]=4,
["type"]=5,
["attr"]={
["type"]="dec_dmg_all_add",
@ -421,38 +205,194 @@ local skill_rogue = {
["obj"]=1,
["icon"]="14"
},
[29]={
[15]={
["universal"]=1,
["toast_mark"]=8,
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=5,
["attr"]={
["type"]="hpp_add",
["minnum"]=1500,
["maxnum"]=1500
},
["obj"]=1,
["icon"]="9"
},
[16]={
["universal"]=1,
["toast_mark"]=8,
["limit_times"]=2,
["weight"]=2000,
["qlt"]=4,
["type"]=5,
["attr"]={
["type"]="hpp_add",
["minnum"]=1000,
["maxnum"]=1000
},
["obj"]=1,
["icon"]="9"
},
[17]={
["universal"]=1,
["toast_mark"]=8,
["limit_times"]=3,
["weight"]=3000,
["qlt"]=3,
["type"]=5,
["attr"]={
["type"]="hpp_add",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="9"
},
[18]={
["universal"]=1,
["toast_mark"]=7,
["limit_times"]=1,
["weight"]=3000,
["qlt"]=3,
["type"]=4,
["attr"]={
["type"]="exp_time_add",
["minnum"]=1000,
["maxnum"]=1000
},
["obj"]=1,
["icon"]="8"
},
[19]={
["universal"]=1,
["toast_mark"]=7,
["limit_times"]=2,
["weight"]=3000,
["qlt"]=3,
["type"]=3,
["attr"]={
["type"]="exp_time_add",
["minnum"]=500,
["maxnum"]=500
},
["obj"]=1,
["icon"]="8"
},
[20]={
["universal"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=22,
["parameter"]={
5
},
["icon"]="29"
},
[21]={
["universal"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=23,
["parameter"]={
2
},
["icon"]="26"
},
[22]={
["universal"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=24,
["icon"]="27"
},
[23]={
["universal"]=1,
["limit_times"]=2,
["weight"]=1000,
["qlt"]=3,
["type"]=9,
["effect"]={
{
["type"]="heal",
["num"]=10000,
["type"]="red_refresh_weight",
["num"]=500,
["ratio"]=10000,
["round"]=1
["round"]=0
}
},
["obj"]=1,
["icon"]="30"
},
[30]={
[24]={
["universal"]=1,
["weight"]=3000,
["qlt"]=2,
["type"]=10,
["parameter"]={
1
},
["boardrange"]={
["limit_times"]=2,
["weight"]=1000,
["qlt"]=3,
["type"]=9,
["effect"]={
{
["type"]=0,
["range"]=2
["type"]="yellow_refresh_weight",
["num"]=500,
["ratio"]=10000,
["round"]=0
}
},
["icon"]="15"
["obj"]=1,
["icon"]="30"
},
[31]={
[25]={
["universal"]=1,
["limit_times"]=2,
["weight"]=1000,
["qlt"]=3,
["type"]=9,
["effect"]={
{
["type"]="green_refresh_weight",
["num"]=500,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=1,
["icon"]="30"
},
[26]={
["universal"]=1,
["limit_times"]=2,
["weight"]=1000,
["qlt"]=3,
["type"]=9,
["effect"]={
{
["type"]="blue_refresh_weight",
["num"]=500,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=1,
["icon"]="30"
},
[27]={
["universal"]=1,
["limit_times"]=2,
["weight"]=1000,
["qlt"]=3,
["type"]=9,
["effect"]={
{
["type"]="purple_refresh_weight",
["num"]=500,
["ratio"]=10000,
["round"]=0
}
},
["obj"]=1,
["icon"]="30"
},
[28]={
["universal"]=1,
["weight"]=2000,
["qlt"]=2,
@ -468,39 +408,7 @@ local skill_rogue = {
},
["icon"]="16"
},
[32]={
["universal"]=1,
["weight"]=1000,
["qlt"]=3,
["type"]=10,
["parameter"]={
1
},
["boardrange"]={
{
["type"]=0,
["range"]=5
}
},
["icon"]="17"
},
[33]={
["universal"]=1,
["weight"]=3000,
["qlt"]=2,
["type"]=10,
["parameter"]={
2
},
["boardrange"]={
{
["type"]=0,
["range"]=2
}
},
["icon"]="18"
},
[34]={
[29]={
["universal"]=1,
["weight"]=2000,
["qlt"]=2,
@ -516,39 +424,7 @@ local skill_rogue = {
},
["icon"]="19"
},
[35]={
["universal"]=1,
["weight"]=1000,
["qlt"]=3,
["type"]=10,
["parameter"]={
2
},
["boardrange"]={
{
["type"]=0,
["range"]=5
}
},
["icon"]="20"
},
[36]={
["universal"]=1,
["weight"]=3000,
["qlt"]=2,
["type"]=10,
["parameter"]={
3
},
["boardrange"]={
{
["type"]=0,
["range"]=2
}
},
["icon"]="21"
},
[37]={
[30]={
["universal"]=1,
["weight"]=2000,
["qlt"]=2,
@ -564,39 +440,7 @@ local skill_rogue = {
},
["icon"]="22"
},
[38]={
["universal"]=1,
["weight"]=1000,
["qlt"]=3,
["type"]=10,
["parameter"]={
3
},
["boardrange"]={
{
["type"]=0,
["range"]=5
}
},
["icon"]="23"
},
[39]={
["universal"]=1,
["weight"]=3000,
["qlt"]=2,
["type"]=10,
["parameter"]={
4
},
["boardrange"]={
{
["type"]=0,
["range"]=2
}
},
["icon"]="24"
},
[40]={
[31]={
["universal"]=1,
["weight"]=2000,
["qlt"]=2,
@ -612,39 +456,7 @@ local skill_rogue = {
},
["icon"]="25"
},
[41]={
["universal"]=1,
["weight"]=1000,
["qlt"]=3,
["type"]=10,
["parameter"]={
4
},
["boardrange"]={
{
["type"]=0,
["range"]=5
}
},
["icon"]="26"
},
[42]={
["universal"]=1,
["weight"]=3000,
["qlt"]=2,
["type"]=10,
["parameter"]={
5
},
["boardrange"]={
{
["type"]=0,
["range"]=2
}
},
["icon"]="27"
},
[43]={
[32]={
["universal"]=1,
["weight"]=2000,
["qlt"]=2,
@ -660,22 +472,6 @@ local skill_rogue = {
},
["icon"]="28"
},
[44]={
["universal"]=1,
["weight"]=1000,
["qlt"]=3,
["type"]=10,
["parameter"]={
5
},
["boardrange"]={
{
["type"]=0,
["range"]=5
}
},
["icon"]="29"
},
[1300111]={
["method"]=2,
["universal"]=2,
@ -9054,6 +8850,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=450
data=skill_rogue,count=438
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="受到所有伤害<color=#3cff28>-10%</color>"
},
[4]={
["desc"]="暴击率<color=#3cff28>+20%</color>,暴击伤害<color=#3cff28>+30%</color>"
["desc"]="暴击率<color=#3cff28>+10%</color>,暴击伤害<color=#3cff28>+15%</color>"
},
[5]={
["desc"]="技能伤害<color=#3cff28>+15%</color>"

View File

@ -898,6 +898,8 @@ local localization_global =
["CHEAT_1"] = "战斗数据异常",
["BATTLE_DESC_18"] = "挑战",
["CHALLENGE_TEAM_10"] = "通过上一个难度解锁",
["HELP_DESC"] = "帮助",
["SUMMON_HELP_1"] = "1、消耗【心愿币】可兑换已获得英雄。\n2、每次参与召唤都可以获得【心愿币】。\n3、 每周每个英雄前1次兑换都享一定折扣兑换1次后恢复原价每周一0点({UTC})重置折扣次数。",
["SUMMON_DESCR_1"] = "普通心愿商店",
["SUMMON_DESCR_2"] = "活动心愿商店",
["SUMMON_DESCR_3"] = "可兑换已获得的英雄(每周一刷新)",

View File

@ -1,135 +1,131 @@
local skill_rogue = {
[1]={
["desc"]="全局攻击力<color=#049500>+{0}</color>"
["desc"]="每累计消除10个元素伤害<color=#049500>+2%</color>,上限<color=#049500>30%</color>",
["rougedesc"]="每累计消除10个元素伤害<color=#049500>+2%</color>,上限<color=#049500>30%</color>"
},
[2]={
["desc"]="全局攻击力<color=#049500>+{0}</color>"
["desc"]="元素刷新时有概率刷出<color=#049500>万能块</color>,可以跟任意元素相连",
["rougedesc"]="元素刷新时有概率刷出<color=#049500>万能块</color>,可以跟任意元素相连"
},
[3]={
["desc"]="全局攻击力<color=#049500>+{0}</color>"
["desc"]="每次消除后主要英雄的技能能量额外<color=#049500>+1</color>",
["rougedesc"]="每次消除后主要英雄的技能能量额外<color=#049500>+1</color>"
},
[4]={
["desc"]="红色攻击<color=#049500>+{0}</color>"
["desc"]="角色血量低于50%时所有伤害增加<color=#049500>30%</color>",
["rougedesc"]="角色血量低于50%时所有伤害增加<color=#049500>30%</color>"
},
[5]={
["desc"]="红色攻击<color=#049500>+{0}</color>"
["desc"]="全局攻击力<color=#049500>+{0}</color>",
["rougedesc"]="全局攻击力<color=#049500>+{0}</color>"
},
[6]={
["desc"]="红色攻击<color=#049500>+{0}</color>"
["desc"]="全局攻击力<color=#049500>+{0}</color>",
["rougedesc"]="全局攻击力<color=#049500>+{0}</color>"
},
[7]={
["desc"]="金色攻击<color=#049500>+{0}</color>"
["desc"]="全局攻击力<color=#049500>+{0}</color>",
["rougedesc"]="全局攻击力<color=#049500>+{0}</color>"
},
[8]={
["desc"]="金色攻击<color=#049500>+{0}</color>"
["desc"]="全体对小怪伤害<color=#049500>+{0}</color>",
["rougedesc"]="全体对小怪伤害<color=#049500>+{0}</color>"
},
[9]={
["desc"]="金色攻击<color=#049500>+{0}</color>"
["desc"]="全体对小怪伤害<color=#049500>+{0}</color>",
["rougedesc"]="全体对小怪伤害<color=#049500>+{0}</color>"
},
[10]={
["desc"]="绿色攻击<color=#049500>+{0}</color>"
["desc"]="全体对小怪伤害<color=#049500>+{0}</color>",
["rougedesc"]="全体对小怪伤害<color=#049500>+{0}</color>"
},
[11]={
["desc"]="绿色攻击<color=#049500>+{0}</color>"
["desc"]="全体对BOSS伤害<color=#049500>+{0}</color>",
["rougedesc"]="全体对BOSS伤害<color=#049500>+{0}</color>"
},
[12]={
["desc"]="绿色攻击<color=#049500>+{0}</color>"
["desc"]="全体对BOSS伤害<color=#049500>+{0}</color>",
["rougedesc"]="全体对BOSS伤害<color=#049500>+{0}</color>"
},
[13]={
["desc"]="蓝色攻击<color=#049500>+{0}</color>"
["desc"]="全体对BOSS伤害<color=#049500>+{0}</color>",
["rougedesc"]="全体对BOSS伤害<color=#049500>+{0}</color>"
},
[14]={
["desc"]="蓝色攻击<color=#049500>+{0}</color>"
["desc"]="受到伤害降低<color=#049500>{0}</color>",
["rougedesc"]="受到伤害降低<color=#049500>{0}</color>"
},
[15]={
["desc"]="蓝色攻击<color=#049500>+{0}</color>"
["desc"]="最大生命值<color=#049500>+{0}</color>",
["rougedesc"]="最大生命值<color=#049500>+{0}</color>"
},
[16]={
["desc"]="紫色攻击<color=#049500>+{0}</color>"
["desc"]="最大生命值<color=#049500>+{0}</color>",
["rougedesc"]="最大生命值<color=#049500>+{0}</color>"
},
[17]={
["desc"]="紫色攻击<color=#049500>+{0}</color>"
["desc"]="最大生命值<color=#049500>+{0}</color>",
["rougedesc"]="最大生命值<color=#049500>+{0}</color>"
},
[18]={
["desc"]="紫色攻击<color=#049500>+{0}</color>"
["desc"]="获得经验<color=#049500>+{0}</color>",
["rougedesc"]="获得经验<color=#049500>+{0}</color>"
},
[19]={
["desc"]="角色血量低于50%时所有伤害增加<color=#049500>30%</color>"
["desc"]="获得经验<color=#049500>+{0}</color>",
["rougedesc"]="获得经验<color=#049500>+{0}</color>"
},
[20]={
["desc"]="获得经验<color=#049500>+{0}</color>"
["desc"]="随机1名英雄能量<color=#049500>+5</color>",
["rougedesc"]="随机1名英雄能量<color=#049500>+5</color>"
},
[21]={
["desc"]="最大生命值<color=#049500>+{0}</color>"
["desc"]="全体英雄能量<color=#049500>+2</color>",
["rougedesc"]="全体英雄能量<color=#049500>+2</color>"
},
[22]={
["desc"]="最大生命值<color=#049500>+{0}</color>"
["desc"]="随机一个技能<color=#049500>能量全满</color>",
["rougedesc"]="随机一个技能能量全满"
},
[23]={
["desc"]="最大生命值<color=#049500>+{0}</color>"
["desc"]="红色元素刷新概率<color=#049500>+{0}</color>",
["rougedesc"]="红色元素刷新概率<color=#049500>+{0}</color>"
},
[24]={
["desc"]="回合开始前生命值恢复<color=#049500>{0}%</color>"
["desc"]="黄色元素刷新概率<color=#049500>+{0}</color>",
["rougedesc"]="黄色元素刷新概率<color=#049500>+{0}</color>"
},
[25]={
["desc"]="生命值恢复效果提升<color=#049500>{0}</color>"
["desc"]="绿色元素刷新概率<color=#049500>+{0}</color>",
["rougedesc"]="绿色元素刷新概率<color=#049500>+{0}</color>"
},
[26]={
["desc"]="格挡概率增加<color=#049500>{0}</color>"
["desc"]="蓝色元素刷新概率<color=#049500>+{0}</color>",
["rougedesc"]="蓝色元素刷新概率<color=#049500>+{0}</color>"
},
[27]={
["desc"]="暴击率<color=#049500>+{0}</color>"
["desc"]="紫色元素刷新概率<color=#049500>+{0}</color>",
["rougedesc"]="紫色元素刷新概率<color=#049500>+{0}</color>"
},
[28]={
["desc"]="受到伤害降低<color=#049500>{0}</color>"
["desc"]="将场上随机<color=#049500>3</color>个非红色元素变为红色",
["rougedesc"]="将场上随机<color=#049500>3</color>个非红色元素变为红色"
},
[29]={
["desc"]="<color=#049500>恢复</color>部分生命值"
["desc"]="将场上随机<color=#049500>3</color>个非金色元素变为金色",
["rougedesc"]="将场上随机<color=#049500>3</color>个非金色元素变为金色"
},
[30]={
["desc"]="将场上随机<color=#049500>2</color>个非红色元素变为红色"
["desc"]="将场上随机<color=#049500>3</color>个非绿色元素变为绿色",
["rougedesc"]="将场上随机<color=#049500>3</color>个非绿色元素变为绿色"
},
[31]={
["desc"]="将场上随机<color=#049500>3</color>个非红色元素变为红色"
["desc"]="将场上随机<color=#049500>3</color>个非蓝色元素变为蓝色",
["rougedesc"]="将场上随机<color=#049500>3</color>个非蓝色元素变为蓝色"
},
[32]={
["desc"]="将场上随机<color=#049500>5</color>个非红色元素变为红色"
},
[33]={
["desc"]="将场上随机<color=#049500>2</color>个非金色元素变为金色"
},
[34]={
["desc"]="将场上随机<color=#049500>3</color>个非金色元素变为金色"
},
[35]={
["desc"]="将场上随机<color=#049500>5</color>个非金色元素变为金色"
},
[36]={
["desc"]="将场上随机<color=#049500>2</color>个非绿色元素变为绿色"
},
[37]={
["desc"]="将场上随机<color=#049500>3</color>个非绿色元素变为绿色"
},
[38]={
["desc"]="将场上随机<color=#049500>5</color>个非绿色元素变为绿色"
},
[39]={
["desc"]="将场上随机<color=#049500>2</color>个非蓝色元素变为蓝色"
},
[40]={
["desc"]="将场上随机<color=#049500>3</color>个非蓝色元素变为蓝色"
},
[41]={
["desc"]="将场上随机<color=#049500>5</color>个非蓝色元素变为蓝色"
},
[42]={
["desc"]="将场上随机<color=#049500>2</color>个非紫色元素变为紫色"
},
[43]={
["desc"]="将场上随机<color=#049500>3</color>个非紫色元素变为紫色"
},
[44]={
["desc"]="将场上随机<color=#049500>5</color>个非紫色元素变为紫色"
["desc"]="将场上随机<color=#049500>3</color>个非紫色元素变为紫色",
["rougedesc"]="将场上随机<color=#049500>3</color>个非紫色元素变为紫色"
},
[1300111]={
["desc"]="熔芯技能可上下消除2格",
@ -1224,28 +1220,28 @@ local skill_rogue = {
["rougedesc"]="闪送雷神技能伤害提升25%"
},
[2600141]={
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["entry_1"]="概率提高10%",
["entry_2"]="虚弱回合数+1",
["entry_3"]="战斗中直接生效!",
["rougedesc"]="闪送雷神普攻10%几率附加<color=#5bff5f>虚弱</color>1回合"
},
[2600142]={
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["entry_1"]="概率提高10%",
["entry_2"]="虚弱回合数+1",
["entry_3"]="战斗中直接生效!",
["rougedesc"]="闪送雷神普攻20%几率附加<color=#5bff5f>虚弱</color>1回合"
},
[2600143]={
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["entry_1"]="概率提高10%",
["entry_2"]="虚弱回合数+1",
["entry_3"]="战斗中直接生效!",
["rougedesc"]="闪送雷神普攻20%几率附加<color=#5bff5f>虚弱</color>2回合"
},
[2600144]={
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["desc"]="闪送雷神普攻10%几率附加<color=#049500>虚弱</color>1回合",
["entry_1"]="概率提高10%",
["entry_2"]="虚弱回合数+1",
["entry_3"]="战斗中直接生效!",
@ -1261,7 +1257,7 @@ local skill_rogue = {
[3300112]={
["desc"]="荒野镖客技能可上下消除2格",
["entry_1"]="战斗中直接生效!",
["entry_2"]="战斗中直接生效!",
["entry_2"]="上下消除增加2格",
["entry_3"]="技能链接时伤害增加15%",
["rougedesc"]="荒野镖客技能可上下消除2格"
},
@ -1280,32 +1276,32 @@ local skill_rogue = {
["rougedesc"]="荒野镖客技能可上下消除2格链接增伤15%"
},
[3300121]={
["desc"]="荒野镖客技能攻击后可恢复团队一定量生命",
["entry_1"]="30%概率附加眩晕1回合",
["desc"]="荒野镖客技能有30%几率附加<color=#049500>眩晕</color>1回合",
["entry_1"]="眩晕概率提升20%",
["entry_2"]="战斗中直接生效!",
["entry_3"]="50%概率附眩晕1回合",
["rougedesc"]="荒野镖客技能攻击后可恢复团队一定量生命"
["entry_3"]="眩晕回合数+1",
["rougedesc"]="荒野镖客技能有30%几率附加<color=#049500>眩晕</color>1回合"
},
[3300122]={
["desc"]="荒野镖客技能攻击后可恢复团队一定量生命",
["entry_1"]="30%概率附加眩晕1回合",
["desc"]="荒野镖客技能有30%几率附加<color=#049500>眩晕</color>1回合",
["entry_1"]="眩晕概率提升20%",
["entry_2"]="战斗中直接生效!",
["entry_3"]="50%概率附眩晕1回合",
["rougedesc"]="荒野镖客技能攻击后可恢复团队一定量生命30%几率附加<color=#5bff5f>眩晕</color>1回合"
["entry_3"]="眩晕回合数+1",
["rougedesc"]="荒野镖客技能有50%几率附加<color=#049500>眩晕</color>1回合"
},
[3300123]={
["desc"]="荒野镖客技能攻击后可恢复团队一定量生命",
["entry_1"]="战斗中直接生效!",
["desc"]="荒野镖客技能有30%几率附加<color=#049500>眩晕</color>1回合",
["entry_1"]="眩晕概率提升20%",
["entry_2"]="战斗中直接生效!",
["entry_3"]="50%概率附眩晕1回合",
["rougedesc"]="荒野镖客技能攻击后可恢复团队一定量生命30%几率附加<color=#5bff5f>眩晕</color>1回合"
["entry_3"]="眩晕回合数+1",
["rougedesc"]="荒野镖客技能有50%几率附加<color=#049500>眩晕</color>1回合"
},
[3300124]={
["desc"]="荒野镖客技能攻击后可恢复团队一定量生命",
["entry_1"]="30%概率附加眩晕1回合",
["desc"]="荒野镖客技能有30%几率附加<color=#049500>眩晕</color>1回合",
["entry_1"]="眩晕概率提升20%",
["entry_2"]="战斗中直接生效!",
["entry_3"]="50%概率附眩晕1回合",
["rougedesc"]="荒野镖客技能攻击后可恢复团队一定量生命。50%几率附加<color=#5bff5f>眩晕</color>1回合"
["entry_3"]="眩晕回合数+1",
["rougedesc"]="荒野镖客技能有50%几率附加<color=#049500>眩晕</color>2回合"
},
[3300131]={
["desc"]="Combo荒野镖客技能对<color=#049500>中毒</color>敌人伤害增加30%",
@ -1323,7 +1319,7 @@ local skill_rogue = {
},
[3300133]={
["desc"]="Combo荒野镖客技能对<color=#049500>中毒</color>敌人伤害增加30%",
["entry_1"]="战斗中直接生效!",
["entry_1"]="伤害提升至50%",
["entry_2"]="战斗中直接生效!",
["entry_3"]="伤害提升至80%",
["rougedesc"]="Combo荒野镖客技能对<color=#5bff5f>中毒</color>敌人伤害增加50%"
@ -1358,7 +1354,7 @@ local skill_rogue = {
},
[3300144]={
["desc"]="荒野镖客技能倍率提升150%",
["entry_1"]="战斗中直接生效!",
["entry_1"]="技能倍率提升300%",
["entry_2"]="附加概率格挡2回合",
["entry_3"]="战斗中直接生效!",
["rougedesc"]="荒野镖客技能倍率提升300%+附加20%格挡2回合"
@ -1373,7 +1369,7 @@ local skill_rogue = {
[3400112]={
["desc"]="光合特工技能可上下消除2格",
["entry_1"]="战斗中直接生效!",
["entry_2"]="战斗中直接生效!",
["entry_2"]="上下消除增加2格",
["entry_3"]="技能链接时伤害增加10%",
["rougedesc"]="光合特工技能可上下消除2格"
},
@ -1392,60 +1388,60 @@ local skill_rogue = {
["rougedesc"]="光合特工技能可上下消除4格链接增伤10%"
},
[3400121]={
["desc"]="光合特工技能回血量提升50%",
["entry_1"]="释放后附加技能伤害提升1回合",
["desc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>1回合",
["entry_1"]="技能伤回合数+1",
["entry_2"]="战斗中直接生效!",
["entry_3"]="释放后附加技能伤害提升2回合",
["rougedesc"]="光合特工技能回血量提升50%"
["entry_3"]="额外附加亢奋,2回合",
["rougedesc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>1回合"
},
[3400122]={
["desc"]="光合特工技能回血量提升50%",
["entry_1"]="释放后附加技能伤害提升1回合",
["desc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>1回合",
["entry_1"]="技能伤回合数+1",
["entry_2"]="战斗中直接生效!",
["entry_3"]="释放后附加技能伤害提升2回合",
["rougedesc"]="光合特工技能回血量提升50%技能附加技能伤害提升15%1回合"
["entry_3"]="额外附加亢奋,2回合",
["rougedesc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>2回合"
},
[3400123]={
["desc"]="光合特工技能回血量提升50%",
["entry_1"]="战斗中直接生效!",
["desc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>1回合",
["entry_1"]="技能增伤回合数+1",
["entry_2"]="战斗中直接生效!",
["entry_3"]="释放后附加技能伤害提升2回合",
["rougedesc"]="光合特工技能回血量提升50%技能附加技能伤害提升15%1回合"
["entry_3"]="额外附加亢奋,2回合",
["rougedesc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>2回合"
},
[3400124]={
["desc"]="光合特工技能回血量提升50%",
["entry_1"]="释放后附加技能伤害提升1回合",
["desc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>1回合",
["entry_1"]="技能伤回合数+1",
["entry_2"]="战斗中直接生效!",
["entry_3"]="释放后附加技能伤害提升2回合",
["rougedesc"]="光合特工技能回血量提升50%技能附加技能伤害提升15%2回合"
["entry_3"]="额外附加亢奋,2回合",
["rougedesc"]="光合特工技能释放为团队附加<color=#049500>技能增伤</color>2回合<color=#049500>亢奋</color>2回合"
},
[3400131]={
["desc"]="光合特工技能链接超过5个元素回血量提升10%",
["desc"]="光合特工技能链接超过5个元素为团队附加<color=#049500>普攻增伤</color>2回合",
["entry_1"]="链接需要元素降低为3个",
["entry_2"]="战斗中直接生效!",
["entry_3"]="链接后每次普攻将回复生命",
["rougedesc"]="光合特工技能链接超过5个元素回血量提升10%"
["entry_3"]="额外附加暴伤提升2回合",
["rougedesc"]="光合特工技能链接超过5个元素为团队附加<color=#049500>普攻增伤</color>2回合"
},
[3400132]={
["desc"]="光合特工技能链接超过5个元素回血量提升10%",
["desc"]="光合特工技能链接超过5个元素为团队附加<color=#049500>普攻增伤</color>2回合",
["entry_1"]="链接需要元素降低为3个",
["entry_2"]="战斗中直接生效!",
["entry_3"]="链接后每次普攻将回复生命",
["rougedesc"]="光合特工技能链接超过3个元素回血量提升10%"
["entry_3"]="额外附加暴伤提升2回合",
["rougedesc"]="光合特工技能链接超过3个元素为团队附加<color=#049500>普攻增伤</color>2回合"
},
[3400133]={
["desc"]="光合特工技能链接超过5个元素回血量提升10%",
["entry_1"]="战斗中直接生效!",
["entry_2"]="战斗中直接生效!",
["entry_3"]="链接后每次普攻将回复生命",
["rougedesc"]="光合特工技能链接超过3个元素回血量提升10%"
},
[3400134]={
["desc"]="光合特工技能链接超过5个元素回血量提升10%",
["desc"]="光合特工技能链接超过5个元素为团队附加<color=#049500>普攻增伤</color>2回合",
["entry_1"]="链接需要元素降低为3个",
["entry_2"]="战斗中直接生效!",
["entry_3"]="链接后每次普攻将回复生命",
["rougedesc"]="光合特工技能链接超过3个元素回血量提升10%链接普攻每次攻击回复光和特工5%攻击的血量"
["entry_3"]="额外附加暴伤提升2回合",
["rougedesc"]="光合特工技能链接超过3个元素为团队附加<color=#049500>普攻增伤</color>2回合"
},
[3400134]={
["desc"]="光合特工技能链接超过5个元素为团队附加<color=#049500>普攻增伤</color>2回合",
["entry_1"]="链接需要元素降低为3个",
["entry_2"]="战斗中直接生效!",
["entry_3"]="额外附加暴伤提升2回合",
["rougedesc"]="光合特工技能链接超过3个元素为团队附加<color=#049500>普攻增伤</color>2回合<color=#049500>暴伤提升</color>2回合"
},
[3400141]={
["desc"]="光合特工攻击提升5%",
@ -1470,7 +1466,7 @@ local skill_rogue = {
},
[3400144]={
["desc"]="光合特工攻击提升5%",
["entry_1"]="战斗中直接生效!",
["entry_1"]="攻击提升至10%",
["entry_2"]="攻击提升至15%",
["entry_3"]="战斗中直接生效!",
["rougedesc"]="光合特工攻击提升15%"
@ -2597,6 +2593,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -94,42 +94,6 @@ local skill_rogue = {
},
[32]={
},
[33]={
},
[34]={
},
[35]={
},
[36]={
},
[37]={
},
[38]={
},
[39]={
},
[40]={
},
[41]={
},
[42]={
},
[43]={
},
[44]={
},
[1300111]={
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="all damage taken <color=#3cff28>-10%</color>"
},
[4]={
["desc"]="Crti Rate <color=#3cff28>+20%</color>, Crit Damage <color=#3cff28>+30%</color>"
["desc"]="Crti Rate <color=#3cff28>+10%</color>, Crit Damage <color=#3cff28>+15%</color>"
},
[5]={
["desc"]="Skill damage <color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="Turns <color=#3cff28>5</color> random Non-Red elements into Red"
},
[33]={
["desc"]="Turns <color=#3cff28>2</color> random Non-Golden elements into Golden"
},
[34]={
["desc"]="Turns <color=#3cff28>3</color> random Non-Golden elements into Golden"
},
[35]={
["desc"]="Turns <color=#3cff28>5</color> random Non-Golden elements into Golden"
},
[36]={
["desc"]="Turns <color=#3cff28>2</color> random Non-Green elements into Green"
},
[37]={
["desc"]="Turns <color=#3cff28>3</color> random Non-Green elements into Green"
},
[38]={
["desc"]="Turns <color=#3cff28>5</color> random Non-Green elements into Green"
},
[39]={
["desc"]="Turns <color=#3cff28>2</color> random Non-Blue elements into Blue"
},
[40]={
["desc"]="Turns <color=#3cff28>3</color> random Non-Blue elements into Blue"
},
[41]={
["desc"]="Turns <color=#3cff28>5</color> random Non-Blue elements into Blue"
},
[42]={
["desc"]="Turns <color=#3cff28>2</color> random Non-Purple elements into Purple"
},
[43]={
["desc"]="Turns <color=#3cff28>3</color> random Non-Purple elements into Purple"
},
[44]={
["desc"]="Turns <color=#3cff28>5</color> random Non-Purple elements into Purple"
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="El daño recibido se reduce un <color=#3cff28>10%</color>"
},
[4]={
["desc"]="Tasa de golpe crítico <color=#3cff28>+20%</color>"
["desc"]="Tasa de golpe crítico <color=#3cff28>+10%</color>"
},
[5]={
["desc"]="Daño de habilidad <color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="Convierte <color=#3cff28>5</color> elementos aleatorios en el campo que no sean rojos en rojo."
},
[33]={
["desc"]="Convierte <color=#3cff28>2</color> elementos aleatorios en el campo que no sean dorados en dorado."
},
[34]={
["desc"]="Convierte <color=#3cff28>3</color> elementos aleatorios en el campo que no sean dorados en dorado."
},
[35]={
["desc"]="Convierte <color=#3cff28>5</color> elementos aleatorios en el campo que no sean dorados en dorado."
},
[36]={
["desc"]="Convierte <color=#3cff28>2</color> elementos aleatorios en el campo que no sean verdes en verde."
},
[37]={
["desc"]="Convierte <color=#3cff28>3</color> elementos aleatorios en el campo que no sean verdes en verde."
},
[38]={
["desc"]="Convierte <color=#3cff28>5</color> elementos aleatorios en el campo que no sean verdes en verde."
},
[39]={
["desc"]="Convierte <color=#3cff28>2</color> elementos aleatorios en el campo que no sean azules en azul."
},
[40]={
["desc"]="Convierte <color=#3cff28>3</color> elementos aleatorios en el campo que no sean azules en azul."
},
[41]={
["desc"]="Convierte <color=#3cff28>5</color> elementos aleatorios en el campo que no sean azules en azul."
},
[42]={
["desc"]="Convierte <color=#3cff28>2</color> elementos aleatorios en el campo que no sean morados en morado."
},
[43]={
["desc"]="Convierte <color=#3cff28>3</color> elementos aleatorios en el campo que no sean morados en morado."
},
[44]={
["desc"]="Convierte <color=#3cff28>5</color> elementos aleatorios en el campo que no sean morados en morado."
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -94,42 +94,6 @@ local skill_rogue = {
},
[32]={
},
[33]={
},
[34]={
},
[35]={
},
[36]={
},
[37]={
},
[38]={
},
[39]={
},
[40]={
},
[41]={
},
[42]={
},
[43]={
},
[44]={
},
[1300111]={
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="DMG yang diterima berkurang <color=#3cff28>10%</color>"
},
[4]={
["desc"]="Crit Rate <color=#3cff28>+20%</color>"
["desc"]="Crit Rate <color=#3cff28>+10%</color>"
},
[5]={
["desc"]="DMG skill <color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="Ubah <color=#3cff28>5</color> elemen non-merah secara acak di bidang menjadi merah."
},
[33]={
["desc"]="Ubah <color=#3cff28>2</color> elemen non-emas secara acak di bidang menjadi emas."
},
[34]={
["desc"]="Ubah <color=#3cff28>3</color> elemen non-emas secara acak di bidang menjadi emas."
},
[35]={
["desc"]="Ubah <color=#3cff28>5</color> elemen non-emas secara acak di bidang menjadi emas."
},
[36]={
["desc"]="Ubah <color=#3cff28>2</color> elemen non-hijau secara acak di bidang menjadi hijau."
},
[37]={
["desc"]="Ubah <color=#3cff28>3</color> elemen non-hijau secara acak di bidang menjadi hijau."
},
[38]={
["desc"]="Ubah <color=#3cff28>5</color> elemen non-hijau secara acak di bidang menjadi hijau."
},
[39]={
["desc"]="Ubah <color=#3cff28>2</color> elemen non-biru secara acak di bidang menjadi biru."
},
[40]={
["desc"]="Ubah <color=#3cff28>3</color> elemen non-biru secara acak di bidang menjadi biru."
},
[41]={
["desc"]="Ubah <color=#3cff28>5</color> elemen non-biru secara acak di bidang menjadi biru."
},
[42]={
["desc"]="Ubah <color=#3cff28>2</color> elemen non-ungu secara acak di bidang menjadi ungu."
},
[43]={
["desc"]="Ubah <color=#3cff28>3</color> elemen non-ungu secara acak di bidang menjadi ungu."
},
[44]={
["desc"]="Ubah <color=#3cff28>5</color> elemen non-ungu secara acak di bidang menjadi ungu."
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="受けるダメージが<color=#3cff28>10%</color>減少する"
},
[4]={
["desc"]="クリティカル率が<color=#3cff28>+20%</color>"
["desc"]="クリティカル率が<color=#3cff28>+10%</color>"
},
[5]={
["desc"]="技能ダメージ<color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="ランダムで<color=#3cff28>5</color>つ赤以外の元素を赤に変える"
},
[33]={
["desc"]="ランダムで<color=#3cff28>2</color>つ黄以外の元素を黄に変える。"
},
[34]={
["desc"]="ランダムで<color=#3cff28>3</color>つ黄以外の元素を黄に変える。"
},
[35]={
["desc"]="ランダムで<color=#3cff28>5</color>つ黄以外の元素を黄に変える。"
},
[36]={
["desc"]="ランダムで<color=#3cff28>2</color>つ緑以外の元素を緑に変える"
},
[37]={
["desc"]="ランダムで<color=#3cff28>3</color>つ緑以外の元素を緑に変える"
},
[38]={
["desc"]="ランダムで<color=#3cff28>5</color>つ緑以外の元素を緑に変える"
},
[39]={
["desc"]="ランダムで<color=#3cff28>2</color>つ青以外の元素を青に変える"
},
[40]={
["desc"]="ランダムで<color=#3cff28>3</color>つ青以外の元素を青に変える"
},
[41]={
["desc"]="ランダムで<color=#3cff28>5</color>つ青以外の元素を青に変える"
},
[42]={
["desc"]="ランダムで<color=#3cff28>2</color>つ紫以外の元素を紫に変える"
},
[43]={
["desc"]="ランダムで<color=#3cff28>3</color>つ紫以外の元素を紫に変える"
},
[44]={
["desc"]="ランダムで<color=#3cff28>5</color>つ紫以外の元素を紫に変える"
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="받는 대미지가 <color=#3cff28>10%</color> 감소합니다."
},
[4]={
["desc"]="치명타율 <color=#3cff28>+20%</color>"
["desc"]="치명타율 <color=#3cff28>+10%</color>"
},
[5]={
["desc"]="골드 공격력 +<color=#3cff28>{0}</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="필드에서 빨간색이 아닌 임의의 <color=#3cff28>5</color>개 원소를 빨간색으로 바꿉니다."
},
[33]={
["desc"]="보드에서 황금색이 아닌 무작위의 <color=#3cff28>2</color>개 원소를 황금색으로 바꿉니다."
},
[34]={
["desc"]="보드에서 황금색이 아닌 무작위의 <color=#3cff28>3</color>개 원소를 황금색으로 바꿉니다."
},
[35]={
["desc"]="보드에서 황금색이 아닌 무작위의 <color=#3cff28>5</color>개 원소를 황금색으로 바꿉니다."
},
[36]={
["desc"]="보드에서 녹색이 아닌 무작위의 <color=#3cff28>2</color>개 원소를 녹색으로 바꿉니다."
},
[37]={
["desc"]="보드에서 녹색이 아닌 무작위의 <color=#3cff28>3</color>개 원소를 녹색으로 바꿉니다."
},
[38]={
["desc"]="보드에서 녹색이 아닌 무작위의 <color=#3cff28>5</color>개 원소를 녹색으로 바꿉니다."
},
[39]={
["desc"]="보드에서 파란색이 아닌 무작위의 <color=#3cff28>2</color>개 원소를 파란색으로 바꿉니다."
},
[40]={
["desc"]="보드에서 파란색이 아닌 무작위의 <color=#3cff28>3</color>개 원소를 파란색으로 바꿉니다."
},
[41]={
["desc"]="보드에서 파란색이 아닌 무작위의 <color=#3cff28>5</color>개 원소를 파란색으로 바꿉니다."
},
[42]={
["desc"]="필드에서 보라색이 아닌 임의의 <color=#3cff28>2</color>개 원소를 보라색으로 바꿉니다."
},
[43]={
["desc"]="필드에서 보라색이 아닌 임의의 <color=#3cff28>3</color>개 원소를 보라색으로 바꿉니다."
},
[44]={
["desc"]="필드에서 보라색이 아닌 임의의 <color=#3cff28>5</color>개 원소를 보라색으로 바꿉니다."
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="Reduz o dano recebido em <color=#3cff28>10%</color>."
},
[4]={
["desc"]="Chance de acerto crítico + <color=#3cff28>20%</color>."
["desc"]="Chance de acerto crítico + <color=#3cff28>10%</color>."
},
[5]={
["desc"]="Dano de habilidade <color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="Transforma <color=#3cff28>5</color> elementos não Vermelhos aleatórios em Vermelhos."
},
[33]={
["desc"]="Transforma <color=#3cff28>2</color> elementos não Dourados aleatórios em Dourados."
},
[34]={
["desc"]="Transforma <color=#3cff28>3</color> elementos não Dourados aleatórios em Dourados."
},
[35]={
["desc"]="Transforma <color=#3cff28>5</color> elementos não Dourados aleatórios em Dourados."
},
[36]={
["desc"]="Transforma <color=#3cff28>2</color> elementos não Verdes aleatórios em Verdes."
},
[37]={
["desc"]="Transforma <color=#3cff28>3</color> elementos não Verdes aleatórios em Verdes."
},
[38]={
["desc"]="Transforma <color=#3cff28>5</color> elementos não Verdes aleatórios em Verdes."
},
[39]={
["desc"]="Transforma <color=#3cff28>2</color> elementos não Azuis aleatórios em Azuis."
},
[40]={
["desc"]="Transforma <color=#3cff28>3</color> elementos não Azuis aleatórios em Azuis."
},
[41]={
["desc"]="Transforma <color=#3cff28>5</color> elementos não Azuis aleatórios em Azuis."
},
[42]={
["desc"]="Transforma <color=#3cff28>2</color> elementos não Roxos aleatórios em Roxos."
},
[43]={
["desc"]="Transforma <color=#3cff28>3</color> elementos não Roxos aleatórios em Roxos."
},
[44]={
["desc"]="Transforma <color=#3cff28>5</color> elementos não Roxos aleatórios em Roxos."
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -94,42 +94,6 @@ local skill_rogue = {
},
[32]={
},
[33]={
},
[34]={
},
[35]={
},
[36]={
},
[37]={
},
[38]={
},
[39]={
},
[40]={
},
[41]={
},
[42]={
},
[43]={
},
[44]={
},
[1300111]={
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="ดาเมจที่ได้รับลดลง<color=#3cff28>10%</color>"
},
[4]={
["desc"]="อัตรา Crit<color=#3cff28>+20%</color>"
["desc"]="อัตรา Crit<color=#3cff28>+10%</color>"
},
[5]={
["desc"]="ความเสียหายทางทักษะ<color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>5</color>อันแบบสุ่มที่ไม่ใช่สีแดงบนสนามเป็นสีแดง"
},
[33]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>2</color>อันแบบสุ่มที่ไม่ใช่สีทองบนสนามเป็นสีทอง"
},
[34]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>3</color>อันแบบสุ่มที่ไม่ใช่สีทองบนสนามเป็นสีทอง"
},
[35]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>5</color>อันแบบสุ่มที่ไม่ใช่สีทองบนสนามเป็นสีทอง"
},
[36]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>2</color>อันแบบสุ่มที่ไม่ใช่สีเขียวบนสนามเป็นสีเขียว"
},
[37]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>3</color>อันแบบสุ่มที่ไม่ใช่สีเขียวบนสนามเป็นสีเขียว"
},
[38]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>5</color>อันแบบสุ่มที่ไม่ใช่สีเขียวบนสนามเป็นสีเขียว"
},
[39]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>2</color>อันแบบสุ่มที่ไม่ใช่สีฟ้าบนสนามเป็นสีฟ้า"
},
[40]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>3</color>อันแบบสุ่มที่ไม่ใช่สีฟ้าบนสนามเป็นสีฟ้า"
},
[41]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>5</color>อันแบบสุ่มที่ไม่ใช่สีฟ้าบนสนามเป็นสีฟ้า"
},
[42]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>2</color>อันแบบสุ่มที่ไม่ใช่สีม่วงบนสนามเป็นสีม่วง"
},
[43]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>3</color>อันแบบสุ่มที่ไม่ใช่สีม่วงบนสนามเป็นสีม่วง"
},
[44]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>5</color>อันแบบสุ่มที่ไม่ใช่สีม่วงบนสนามเป็นสีม่วง"
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="Sát thương phải nhận giảm <color=#3cff28>-10%</color>"
},
[4]={
["desc"]="Tỷ lệ chí mạng <color=#3cff28>+20%</color>"
["desc"]="Tỷ lệ chí mạng <color=#3cff28>+10%</color>"
},
[5]={
["desc"]="Gây tổn hại đến kỹ năng <color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>5</color> Nguyên Tố không phải Đỏ chuyển thành Đỏ"
},
[33]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>2</color> Nguyên Tố không phải Vàng chuyển thành Vàng"
},
[34]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>3</color> Nguyên Tố không phải Vàng chuyển thành Vàng"
},
[35]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>5</color> Nguyên Tố không phải Vàng chuyển thành Vàng"
},
[36]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>2</color> Nguyên Tố không phải Lục chuyển thành Lục"
},
[37]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>3</color> Nguyên Tố không phải Lục chuyển thành Lục"
},
[38]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>5</color> Nguyên Tố không phải Lục chuyển thành Lục"
},
[39]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>2</color> Nguyên Tố không phải Lam chuyển thành Lam"
},
[40]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>3</color> Nguyên Tố không phải Lam chuyển thành Lam"
},
[41]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>5</color> Nguyên Tố không phải Lam chuyển thành Lam"
},
[42]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>2</color> Nguyên Tố không phải Tím chuyển thành Tím"
},
[43]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>3</color> Nguyên Tố không phải Tím chuyển thành Tím"
},
[44]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>5</color> Nguyên Tố không phải Tím chuyển thành Tím"
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="受到所有傷害<color=#3cff28>-10%</color>"
},
[4]={
["desc"]="暴擊率<color=#3cff28>+20%</color>"
["desc"]="暴擊率<color=#3cff28>+10%</color>"
},
[5]={
["desc"]="技能傷害<color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={
["desc"]="將場上隨機<color=#3cff28>5</color>個非紅色元素變成紅色"
},
[33]={
["desc"]="將場上隨機<color=#3cff28>2</color>個非金色元素變成金色"
},
[34]={
["desc"]="將場上隨機<color=#3cff28>3</color>個非金色元素變成金色"
},
[35]={
["desc"]="將場上隨機<color=#3cff28>5</color>個非金色元素變成金色"
},
[36]={
["desc"]="將場上隨機<color=#3cff28>2</color>個非綠色元素變成綠色"
},
[37]={
["desc"]="將場上隨機<color=#3cff28>3</color>個非綠色元素變成綠色"
},
[38]={
["desc"]="將場上隨機<color=#3cff28>5</color>個非綠色元素變成綠色"
},
[39]={
["desc"]="將場上隨機<color=#3cff28>2</color>個非藍色元素變成藍色"
},
[40]={
["desc"]="將場上隨機<color=#3cff28>3</color>個非藍色元素變成藍色"
},
[41]={
["desc"]="將場上隨機<color=#3cff28>5</color>個非藍色元素變成藍色"
},
[42]={
["desc"]="將場上隨機<color=#3cff28>2</color>個非紫色元素變成紫色"
},
[43]={
["desc"]="將場上隨機<color=#3cff28>3</color>個非紫色元素變成紫色"
},
[44]={
["desc"]="將場上隨機<color=#3cff28>5</color>個非紫色元素變成紫色"
},
[1300111]={
},
@ -1189,6 +1153,6 @@ local skill_rogue = {
}
}
local config = {
data=skill_rogue,count=396
data=skill_rogue,count=384
}
return config

View File

@ -58,8 +58,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -89,8 +89,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -120,8 +120,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -151,8 +151,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -182,8 +182,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -213,8 +213,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -244,8 +244,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -275,8 +275,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -306,8 +306,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},
@ -337,8 +337,8 @@ local summon_shop = {
["discount"]={
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=88,
["id_for_nothing"]="XgA=",
["id"]=46,
["id_for_nothing"]="Ug4=",
["num"]=500,
["num_for_nothing"]="Uwhc"
},

View File

@ -7,7 +7,8 @@ local talent = {
["num"]=200000
}
},
["icon"]="talent_1"
["icon"]="talent_1",
["max_level"]=76
},
[2]={
["qlt"]=1,
@ -17,7 +18,8 @@ local talent = {
["num"]=600000
}
},
["icon"]="talent_2"
["icon"]="talent_2",
["max_level"]=76
},
[3]={
["qlt"]=1,
@ -27,7 +29,8 @@ local talent = {
["num"]=20000
}
},
["icon"]="talent_3"
["icon"]="talent_3",
["max_level"]=76
},
[4]={
["qlt"]=2,
@ -37,7 +40,8 @@ local talent = {
["num"]=300000
}
},
["icon"]="talent_4"
["icon"]="talent_4",
["max_level"]=48
},
[5]={
["qlt"]=2,
@ -47,7 +51,8 @@ local talent = {
["num"]=900000
}
},
["icon"]="talent_5"
["icon"]="talent_5",
["max_level"]=48
},
[6]={
["qlt"]=2,
@ -57,7 +62,8 @@ local talent = {
["num"]=30000
}
},
["icon"]="talent_6"
["icon"]="talent_6",
["max_level"]=48
},
[7]={
["qlt"]=2,
@ -67,7 +73,8 @@ local talent = {
["num"]=100
}
},
["icon"]="talent_7"
["icon"]="talent_7",
["max_level"]=15
},
[8]={
["qlt"]=2,
@ -77,31 +84,36 @@ local talent = {
["num"]=500
}
},
["icon"]="talent_8"
["icon"]="talent_8",
["max_level"]=20
},
[9]={
["qlt"]=3,
["value"]=1,
["fight"]=1000,
["icon"]="talent_9"
["icon"]="talent_9",
["max_level"]=3
},
[10]={
["qlt"]=3,
["value"]=500000,
["fight"]=500,
["icon"]="talent_10"
["icon"]="talent_10",
["max_level"]=15
},
[11]={
["qlt"]=3,
["value"]=1,
["fight"]=1000,
["icon"]="talent_11"
["icon"]="talent_11",
["max_level"]=1
},
[12]={
["qlt"]=3,
["value"]=500,
["fight"]=1000,
["icon"]="talent_12"
["icon"]="talent_12",
["max_level"]=15
},
[13]={
["qlt"]=3,
@ -111,7 +123,8 @@ local talent = {
["num"]=500
}
},
["icon"]="talent_13"
["icon"]="talent_13",
["max_level"]=15
},
[14]={
["qlt"]=3,
@ -121,7 +134,8 @@ local talent = {
["num"]=500
}
},
["icon"]="talent_14"
["icon"]="talent_14",
["max_level"]=15
},
[15]={
["qlt"]=3,
@ -131,13 +145,15 @@ local talent = {
["num"]=500
}
},
["icon"]="talent_15"
["icon"]="talent_15",
["max_level"]=15
},
[16]={
["qlt"]=3,
["value"]=1000,
["fight"]=1000,
["icon"]="talent_16"
["icon"]="talent_16",
["max_level"]=4
}
}
local config = {

View File

@ -34,6 +34,10 @@ HeroConst.PANEL_TYPE = {
EQUIP = 3,
}
HeroConst.PAGE_TYPE = {
SHOP = 1,
}
-- 总计
HeroConst.ATTR_SHOW_TOTAL = {
GConst.MATCH_HP_NAME, -- 生命

View File

@ -28,6 +28,7 @@ ItemConst.ITEM_ID_RUNES = 55
ItemConst.ITEM_ID_FULL_MOON = 56
ItemConst.ITEM_ID_DUNGEON_TICKET_1 = 47
ItemConst.ITEM_ID_DUNGEON_TICKET_2 = 48
ItemConst.ITEM_ID_SUMMON_SHOP_GOLD_COMMON = 46
ItemConst.ITEM_TYPE = {
RES = 1,

View File

@ -13,7 +13,7 @@ function ItemManager:getItemDesc(id)
end
function ItemManager:getItemType(id)
return I18N:getConfig("item")[id].desc
return ConfigManager:getConfig("item")[id].type
end
function ItemManager:rspRecoveryNtf(result)

View File

@ -31,6 +31,14 @@ function SummonManager:showSummonUnlockUI(params)
UIManager:showUI("app/ui/summon/summon_unlock_ui", params)
end
function SummonManager:showSummonShopUI(shopType)
UIManager:showUI("app/ui/summon/summon_shop_ui", { shopType = shopType })
end
function SummonManager:showSummonShopBoxUI(shopType, cfg)
UIManager:showUI("app/ui/summon/summon_shop_box_ui", { shopType = shopType, cfg = cfg })
end
--@region 协议
function SummonManager:onForceSummonReq(count, free, summonType)
local args = {}
@ -74,6 +82,29 @@ function SummonManager:onForceSummonRsp(result)
-- DataManager.GameSettingData:showRateUIByForceSummon()
-- end
end
-- 商店
function SummonManager:reqForceSummonShopExchange(id, count)
self:sendMessage(ProtoMsgType.FromMsgEnum.SummonShopExchangeReq, {id = id, count = count}, self.rspForceSummonShopExchange, BIReport.ITEM_GET_TYPE.FORCE_SUMMON_SHOP_EXCHANGE)
end
function SummonManager:rspForceSummonShopExchange(result)
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
return
end
GFunc.showRewardBox(result.rewards)
DataManager.SummonData:shopSuccess(result.reqData.id, result.reqData.count)
BIReport:postSummonShopExchange(BIReport.SUMMON_OP_TYPE.SUMMON_SHOP, result.reqData.id, result.reqData.count, result.rewards)
end
function SummonManager:reqSummonShopMarkUnlockTip(shopType)
-- local ids = DataManager.SummonData:getUnlockShopId(shopType)
-- self:sendMessage(ProtoMsgType.FromMsgEnum.SummonShopMarkUnlockTipReq, {ids = ids}, self.rspSummonShopMarkUnlockTip, BIReport.ITEM_GET_TYPE.SUMMON_OPEN_EXCHANGED_UI)
end
function SummonManager:rspSummonShopMarkUnlockTip(result)
-- DataManager.SummonData:onSummonShopSoulOpen(result.reqData.ids)
end
--@endregion
function SummonManager:onSummonWishSetReq(summonType, heroId)
@ -150,6 +181,7 @@ function SummonManager:activityHeroBountyClaimedRsp(result)
BIReport:postActSummonUpgrade("HeroPage_2", activityId,minIndex, maxIndex, heroId, heroLv,result.rewards)
end
end
function BIReport:postActSummonLogin(activityId, minId, maxId, cur, rewards)
local args = {
opt_type = "Reward",

View File

@ -0,0 +1,116 @@
local SummonShopCell = class("SummonShopCell", BaseCell)
function SummonShopCell:init()
local uiMap = self.baseObject:genAllChildren()
self.heroBg = uiMap["summon_shop_cell.bg.hero_bg"]
self.icon = uiMap["summon_shop_cell.bg.hero_bg.icon"]
self.heroDec = uiMap["summon_shop_cell.bg.hero_bg.dec"]
self.matchImg = uiMap["summon_shop_cell.bg.hero_bg.match_img"]
self.nameTx = uiMap["summon_shop_cell.bg.hero_bg.name_tx"]
self.costTx = uiMap["summon_shop_cell.bg.cost_bg.cost_tx"]
self.costIcon = uiMap["summon_shop_cell.bg.cost_bg.icon"]
self.maskImg = uiMap["summon_shop_cell.bg.mask_img"]
self.unlockTx = uiMap["summon_shop_cell.bg.mask_img.unlock_tx"]
self.lockImg = uiMap["summon_shop_cell.bg.mask_img.lock_img"]
self.infoBtn = uiMap["summon_shop_cell.bg.hero_bg.info_btn"]
self.itemBg = uiMap["summon_shop_cell.bg.item_bg"]
self.itemIcon = uiMap["summon_shop_cell.bg.item_bg.icon"]
self.itemNumTx = uiMap["summon_shop_cell.bg.item_bg.num_tx"]
self.disBg = uiMap["summon_shop_cell.bg.dis_bg"]
self.disTx = uiMap["summon_shop_cell.bg.dis_bg.dis_tx"]
self.unlockTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_7))
-- local meshPro = self.unlockTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO)
-- local width = meshPro.preferredWidth
GFunc.centerImgAndTx(self.lockImg, self.unlockTx, 6)
self:addClickListener(function()
if self.clickCallback ~= nil then
self.clickCallback(self.heroId)
end
end)
self.infoBtn:addClickListener(function()
if self.heroId ~= nil then
ModuleManager.HeroManager:showHeroDetailUI(self.heroId, true)
else
ModuleManager.TipsManager:showRewardTips(self.id, self.type)
end
end)
end
function SummonShopCell:refresh(cfg)
self.heroId = nil
self.cfg = cfg
if self.cfg.force_id ~= nil then
self:refreshHero()
else
self:refreshItem()
end
self:setCost()
end
function SummonShopCell:refreshHero()
-- 英雄
self.heroId = self.cfg.hero.id
self.num = self.cfg.hero.num
self.isOwn = DataManager.HeroData:getHeroIsUnlock(self.cfg.force_id)
self.itemBg:setActive(false)
self.heroBg:setActive(true)
local heroInfo = ConfigManager:getConfig("hero")[self.heroId]
self.heroBg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.FRAME_QLT[heroInfo.qlt])
self.heroDec:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HERO_DEC_QLT[heroInfo.qlt])
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO_2, tostring(heroInfo.icon))
self.nameTx:setText(ModuleManager.HeroManager:getHeroName(self.heroId))
self.maskImg:setActive(not self.isOwn)
end
function SummonShopCell:refreshItem()
-- 道具
self.id = self.cfg.hero.id
self.itemBg:setActive(true)
self.heroBg:setActive(false)
local itemInfo = ConfigManager:getConfig("item")[self.id]
self.itemBg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.FRAME_QLT[itemInfo.qlt])
self.icon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, tostring(itemInfo.icon))
self.nameTx:setText(ModuleManager.HeroManager:getHeroName(self.id))
self.itemNumTx:setText(self.cfg.hero.num)
self.maskImg:setActive(false)
end
function SummonShopCell:setCost()
local cost
local exchangesCount = DataManager.SummonData:getExchangesCount(self.cfg.id) --购买次数
if self.cfg.discount_limit == nil or exchangesCount >= self.cfg.discount_limit then
cost = self.cfg.cost
self.disBg:setActive(false)
else
cost = self.cfg.discount
if self.cfg.discount_display ~= nil then
self.disBg:setActive(self.isOwn)
self.disTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_8, self.cfg.discount_display // 1000))
else
self.disBg:setActive(false)
end
end
if cost ~= nil then
local costId = GFunc.getRewardId(cost)
local costCount = GFunc.getRewardNum(cost)
local haveItemNum = DataManager.BagData.ItemData:getItemNumById(costId) --拥有货币
if haveItemNum >= costCount then
self.costTx:setText(costCount)
else
self.costTx:setText("<color=#FF2C2C>"..costCount.."</color>")
end
self.costIcon:setSprite(GFunc.getIconRes(costId))
GFunc.centerImgAndTx(self.costIcon, self.costTx, -5)
end
end
function SummonShopCell:setShowType(showType, func, teamType)
self.showType = showType
self.clickCallback = func
end
return SummonShopCell

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 6686dc17e6ee34bcf8586b8b45960afe
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}

View File

@ -64,15 +64,23 @@ function SummonMainUI:onLoadRootComplete()
self.txFreeTime = uiMap["summon_main_ui.node.tx_free_time"]
self.btnWish = uiMap["summon_main_ui.node.btn_wish"] --心愿
self.btnWishTx = uiMap["summon_main_ui.node.btn_wish.tx_guarantee"] --心愿
self.btnWishIcon = uiMap["summon_main_ui.node.btn_wish.img_wish_icon"] --心愿
self.btnWishAddImg = uiMap["summon_main_ui.node.btn_wish.add_img"]
self.btnShop = uiMap["summon_main_ui.node.btn_shop"]
self.btnShopTx = uiMap["summon_main_ui.node.btn_shop.bg.tx_shop_num"]
-- self.btnWish = uiMap["summon_main_ui.node.btn_wish"] --心愿
-- self.btnWishTx = uiMap["summon_main_ui.node.btn_wish.tx_guarantee"] --心愿
-- self.btnWishIcon = uiMap["summon_main_ui.node.btn_wish.img_wish_icon"] --心愿
-- self.btnWishAddImg = uiMap["summon_main_ui.node.btn_wish.add_img"]
self.heroNode = uiMap["summon_main_ui.summon_node.hero_node"]
self.uiNode = uiMap["summon_main_ui.node"]
self.uiSpineObj = uiMap["summon_main_ui.summon_node.ui_spine_obj"]
self.uiSpineObj:playAnim("idle", true, true)
self.flyEndPos = GFunc.getTargetAnchoredPosition(self.btnShop, self.root)
self.flyImgs = {}
for i = 1, 4 do
self.flyImgs[i] = uiMap["summon_main_ui.fly_img_" .. i]
end
self.touchNode = uiMap["summon_main_ui.touch_node"]
self.touchNode:setActive(false)
self.btnSummonFree:addClickListener(function()
@ -116,33 +124,34 @@ function SummonMainUI:onLoadRootComplete()
uiMap["summon_main_ui.node.btn_info.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_3))
self.descBg = uiMap["summon_main_ui.node.desc_bg"]
self.descTx = uiMap["summon_main_ui.node.desc_bg.desc_tx"]
self.descBg:setActive(false)
self.btnTxs = {
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6),
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7),
}
self.pageBtns = {}
self.pageBtnTxs = {}
for i = 1, 2 do
self.pageBtns[i] = uiMap['summon_main_ui.bottom.btn_'.. i]
self.pageBtnTxs[i] = uiMap['summon_main_ui.bottom.btn_'.. i ..'.tx_desc']
self.pageBtnTxs[i]:setText(self.btnTxs[i])
self.pageBtns[i]:addClickListener(function()
if self.page == i then
return
end
self.page = i
self:onRefresh()
UIManager:updateBarsState(self)
end)
end
-- self.pageBtns = {}
-- self.pageBtnTxs = {}
-- for i = 1, 2 do
-- self.pageBtns[i] = uiMap['summon_main_ui.bottom.btn_'.. i]
-- self.pageBtnTxs[i] = uiMap['summon_main_ui.bottom.btn_'.. i ..'.tx_desc']
-- self.pageBtnTxs[i]:setText(self.btnTxs[i])
-- self.pageBtns[i]:addClickListener(function()
-- if self.page == i then
-- return
-- end
-- self.page = i
-- self:onRefresh()
-- UIManager:updateBarsState(self)
-- end)
-- end
-------------抽奖相关---------
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newHero)
self:refreshWishBtn()
-- self:refreshWishBtn()
self:playSummonAni(result, newHero)
end)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newHero)
self:refreshWishBtn()
-- self:refreshWishBtn()
ModuleManager.SummonManager:showSummonRewardUI({
rewards = result.rewards,
isWish = true,
@ -151,28 +160,31 @@ function SummonMainUI:onLoadRootComplete()
})
end)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_HERO_ID, function()
if self:isClosed() then
return
end
self:refreshWishBtn()
end)
-- self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_HERO_ID, function()
-- if self:isClosed() then
-- return
-- end
-- self:refreshWishBtn()
-- end)
self.btnWish:addClickListener(function()
if self.isUnlock then
local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
local wishGuarantee = DataManager.SummonData:getSummonWishGuarantee2(self.page)
local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
if wishCount >= wishGuarantee and wishHeroId ~= 0 then
--发送领取奖励的协议
ModuleManager.SummonManager:onSummonWishClaimReq(self.page)
else
--打开设置心愿界面
ModuleManager.SummonManager:showSummonWishUI(self.page)
end
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_LOCK))
end
-- self.btnWish:addClickListener(function()
-- if self.isUnlock then
-- local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
-- local wishGuarantee = DataManager.SummonData:getSummonWishGuarantee2(self.page)
-- local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
-- if wishCount >= wishGuarantee and wishHeroId ~= 0 then
-- --发送领取奖励的协议
-- ModuleManager.SummonManager:onSummonWishClaimReq(self.page)
-- else
-- --打开设置心愿界面
-- ModuleManager.SummonManager:showSummonWishUI(self.page)
-- end
-- else
-- GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_LOCK))
-- end
-- end)
self.btnShop:addClickListener(function()
ModuleManager.SummonManager:showSummonShopUI(1)
end)
self:bind(DataManager.SummonData, "isDirty", function()
self:onRefresh()
@ -185,6 +197,8 @@ function SummonMainUI:onLoadRootComplete()
self:updateTime()
end, 1)
self:updateTime()
self:refreshShopItem()
end
--每秒刷新单抽红点
@ -205,21 +219,21 @@ end
--刷新
function SummonMainUI:onRefresh()
self:refreshSummonBtn()
self:refreshWishBtn()
-- self:refreshWishBtn()
-- self:refreshBtnRedPoint()
self:refreshPageBtn()
-- self:refreshPageBtn()
self:updateTime()
end
function SummonMainUI:refreshPageBtn()
for i = 1, 2 do
if self.page == i then
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_1")
else
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_2")
end
end
end
-- function SummonMainUI:refreshPageBtn()
-- for i = 1, 2 do
-- if self.page == i then
-- self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_1")
-- else
-- self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_2")
-- end
-- end
-- end
--刷新抽奖按钮
function SummonMainUI:refreshSummonBtn()
@ -270,38 +284,42 @@ function SummonMainUI:refreshSummonBtn()
end
--刷新心愿按钮
function SummonMainUI:refreshWishBtn()
local guarantee1 = DataManager.SummonData:getSummonConfig(self.page).guarantee1
if not guarantee1 then
self.descBg:setActive(false)
else
self.descBg:setActive(true)
local count = guarantee1 - DataManager.SummonData:getSummonTriggerCount(self.page)
self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_4, count))
end
local love = DataManager.SummonData:getSummonWishConfig(self.page)
if not love then
self.btnWish:setActive(false)
return
end
self.btnWish:setActive(true)
local summonCount = DataManager.SummonData:getSummonCount(self.page)
local unlockCount = DataManager.SummonData:getSummonWishUnlock(self.page)
self.isUnlock = summonCount >= unlockCount
local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
local needCount = DataManager.SummonData:getSummonWishGuarantee2(self.page)
self.btnWishTx:setText(wishCount .. "/" .. needCount)
-- function SummonMainUI:refreshWishBtn()
-- local guarantee1 = DataManager.SummonData:getSummonConfig(self.page).guarantee1
-- if not guarantee1 then
-- self.descBg:setActive(false)
-- else
-- self.descBg:setActive(true)
-- local count = guarantee1 - DataManager.SummonData:getSummonTriggerCount(self.page)
-- self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_4, count))
-- end
-- local love = DataManager.SummonData:getSummonWishConfig(self.page)
-- if not love then
-- self.btnWish:setActive(false)
-- return
-- end
-- self.btnWish:setActive(true)
-- local summonCount = DataManager.SummonData:getSummonCount(self.page)
-- local unlockCount = DataManager.SummonData:getSummonWishUnlock(self.page)
-- self.isUnlock = summonCount >= unlockCount
-- local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
-- local needCount = DataManager.SummonData:getSummonWishGuarantee2(self.page)
-- self.btnWishTx:setText(wishCount .. "/" .. needCount)
local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
local cfg = DataManager.HeroData:getHeroConfig(wishHeroId)
if cfg then
self.btnWishIcon:setSprite(GFunc.getHeroIcon(cfg.icon))
self.btnWish:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[cfg.qlt])
self.btnWishAddImg:setActive(false)
else
self.btnWishIcon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
self.btnWishAddImg:setActive(true)
end
-- local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
-- local cfg = DataManager.HeroData:getHeroConfig(wishHeroId)
-- if cfg then
-- self.btnWishIcon:setSprite(GFunc.getHeroIcon(cfg.icon))
-- self.btnWish:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[cfg.qlt])
-- self.btnWishAddImg:setActive(false)
-- else
-- self.btnWishIcon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
-- self.btnWishAddImg:setActive(true)
-- end
-- end
function SummonMainUI:refreshShopItem()
self.btnShopTx:setText(DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_SHOP_GOLD_COMMON))
end
--检查单抽红点
@ -417,7 +435,7 @@ end
function SummonMainUI:showHero(idx, newHero)
if not self.summonResult[idx] then
self:enableTouch()
-- self:enableTouch()
self.uiNode:setActive(true)
for i = 1, 4 do
self.vfxs[i]:setActive(false)
@ -432,6 +450,9 @@ function SummonMainUI:showHero(idx, newHero)
callback = function(count, isAd)
self:onSummon(count, isAd)
end,
closeCallBack =function ()
self:fly()
end,
newHero = newHero,
page = self.page
})
@ -473,4 +494,18 @@ function SummonMainUI:enableTouch()
self.touchNode:setActive(false)
end
function SummonMainUI:fly()
for i = 1, 4 do
self.flyImgs[i]:setSprite(GFunc.getIconRes(GConst.ItemConst.ITEM_ID_SUMMON_SHOP_GOLD_COMMON))
local posX, posY = GFunc.randomPos(i, {x = 0, y= 0})
GFunc.imgFly(self.flyImgs[i], {x = posX, y = posY}, self.flyEndPos, function ()
if i == 4 then
GFunc.doScaleFlyImg(self.btnShop)
self:refreshShopItem()
self:enableTouch()
end
end)
end
end
return SummonMainUI

View File

@ -13,6 +13,7 @@ function SummonRewardUI:ctor(params)
self.rewards = params.rewards or {}
self.isWish = params.isWish or false
self.callback = params.callback
self.closeCallBack = params.closeCallBack
self.unlockList = params.newHero or {}
self.page = params.page
end
@ -26,6 +27,9 @@ function SummonRewardUI:onLoadRootComplete()
self.btnGet = uiMap["summon_reward_ui.bg.btn_get"]
self.btnGet:addClickListener(function()
if self.closeCallBack then
self:closeCallBack()
end
self:closeUI()
end)
self.goOne = uiMap["summon_reward_ui.bg.one"]

View File

@ -0,0 +1,267 @@
local SummonShopBoxUI = class("SummonShopBoxUI", BaseUI)
local REWARD_BOX_CELL = "app/ui/tips/cell/reward_box_cell"
function SummonShopBoxUI:isFullScreen()
return false
end
function SummonShopBoxUI:currencyParams()
local params = {}
params.showType = GConst.CURRENCY_TYPE.HORIZONTAL
params.itemIds = {
self.shopItemId,
}
return params, true
end
function SummonShopBoxUI:showCommonBG()
return false
end
function SummonShopBoxUI:getPrefabPath()
return "assets/prefabs/ui/summon/summon_shop_box_ui.prefab"
end
function SummonShopBoxUI:onPressBackspace()
self:closeUI()
end
function SummonShopBoxUI:onClose()
end
function SummonShopBoxUI:ctor(params)
self.shopType = params.shopType
if self.shopType == 1 then
self.shopItemId = GConst.ItemConst.ITEM_ID_SUMMON_SHOP_GOLD_COMMON
elseif self.shopType == 2 then
self.shopItemId = GConst.ItemConst.SUMMON_SHOP_GOLD_ACT
elseif self.shopType == 3 then
self.shopItemId = GConst.ItemConst.SOUL_SHOP_GOLD
end
self.cfg = params.cfg
self.curCount = 1
local cost = GFunc.getRewardNum(self.cfg.cost) --原价
if self.cfg.discount ~= nil then
self.discount = GFunc.getRewardNum(self.cfg.discount) --折扣价
end
self.costId = GFunc.getRewardId(self.cfg.cost)
self.discountLimit = self.cfg.discount_limit --折扣次数
local haveItemNum = DataManager.BagData.ItemData:getItemNumById(self.costId) --拥有货币
local exchangesCount = DataManager.SummonData:getExchangesCount(self.cfg.id) --购买次数
-- 计算剩余折扣次数
self.remainingDiscount = 0
if self.discountLimit ~= nil then
self.remainingDiscount = math.max(0, self.discountLimit - exchangesCount)
end
-- 计算最大可购买数量
self.maxCount = 0
if haveItemNum > 0 then
local remainingMoney = haveItemNum -- 剩余货币
-- 1. 优先用折扣价购买(如果还有折扣次数)
if self.remainingDiscount > 0 and self.discount then
local canBuyWithDiscount = math.min(math.floor(remainingMoney / self.discount), self.remainingDiscount)
self.maxCount = self.maxCount + canBuyWithDiscount
remainingMoney = remainingMoney - canBuyWithDiscount * self.discount
end
-- 2. 如果还有钱,继续用原价购买
if remainingMoney >= cost then
self.maxCount = self.maxCount + math.floor(remainingMoney / cost)
end
end
self.maxCount = math.max(1, self.maxCount)
end
function SummonShopBoxUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.btnMaskClose = uiMap["summon_shop_box_ui.btn_mask_close"]
self.content = uiMap["summon_shop_box_ui.content"]
self.btnClose = uiMap["summon_shop_box_ui.content.btn_close"]
self.txTitle = uiMap["summon_shop_box_ui.content.tx_title"]
self.infoNode = uiMap["summon_shop_box_ui.content.info_node"]
self.rewardCell = uiMap["summon_shop_box_ui.content.info_node.summon_shop_cell"]:addLuaComponent("app/ui/summon/cell/summon_shop_cell")
self.txName = uiMap["summon_shop_box_ui.content.info_node.data_node.tx_name"]
self.txCount = uiMap["summon_shop_box_ui.content.info_node.data_node.tx_count"]
self.dataLayout = uiMap["summon_shop_box_ui.content.info_node.data_node"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT)
self.scrollRectObj = uiMap["summon_shop_box_ui.content.info_node.data_node.scrollrect"]
self.scrollRect = uiMap["summon_shop_box_ui.content.info_node.data_node.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
self.select = uiMap["summon_shop_box_ui.content.select"]
self.txSelect = uiMap["summon_shop_box_ui.content.select.tx_select"]
self.btnSub = uiMap["summon_shop_box_ui.content.select.btn_sub"]
self.btnAdd = uiMap["summon_shop_box_ui.content.select.btn_add"]
self.btnMax = uiMap["summon_shop_box_ui.content.select.btn_max"]
self.btnMin = uiMap["summon_shop_box_ui.content.select.btn_min"]
self.btnBuy = uiMap["summon_shop_box_ui.content.btn_buy"]
self.txBuy = uiMap["summon_shop_box_ui.content.btn_buy.tx_buy"]
self.iconCost = uiMap["summon_shop_box_ui.content.btn_buy.icon_cost"]
self.discount = uiMap["summon_shop_box_ui.content.btn_buy.discount"]
self.txDiscount = uiMap["summon_shop_box_ui.content.btn_buy.discount.tx_discount"]
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_4))
self.btnSub:addClickListener(function()
if self.curCount <= 1 then
return
end
self.curCount = self.curCount - 1
self:refreshCount()
end)
self.btnAdd:addClickListener(function()
if self.curCount >= self.maxCount then
return
end
self.curCount = self.curCount + 1
self:refreshCount()
end)
self.btnMax:addClickListener(function()
if self.curCount >= self.maxCount then
return
end
self.curCount = self.maxCount
self:refreshCount()
end)
self.btnMin:addClickListener(function()
if self.curCount <= 1 then
return
end
self.curCount = 1
if self.curCount > self.maxCount then
self.curCount = self.maxCount
end
self:refreshCount()
end)
self.btnBuy:addClickListener(function()
local haveItemNum = DataManager.BagData.ItemData:getItemNumById(self.costId)
if haveItemNum < self.totalCost then
GFunc.showItemNotEnough(self.costId)
return
end
ModuleManager.SummonManager:reqForceSummonShopExchange(self.cfg.id, self.curCount)
self:closeUI()
end)
self.btnMaskClose:addClickListener(function()
self:closeUI()
end)
self.btnClose:addClickListener(function()
self:closeUI()
end)
end
function SummonShopBoxUI:onRefresh()
self.rewardCell:refresh(self.cfg, true)
self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.ITEM_DESC_1, self.ownCount))
if self.remainingDiscount > 0 and self.discountLimit ~= nil then
self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_7, self.remainingDiscount, self.discountLimit))
self.txName:setAnchoredPositionY(33)
else
self.txCount:setText(GConst.EMPTY_STRING)
self.txName:setAnchoredPositionY(0)
end
self.rewardId = GFunc.getRewardId(self.cfg.hero)
self.itemType = ModuleManager.ItemManager:getItemType(self.rewardId)
local cfg = ConfigManager:getConfig("item")[self.rewardId]
self.rewards = nil
-- if self.itemType == GConst.ItemConst.ITEM_TYPE.BOX_RANDOM then
-- -- 随机宝箱
-- self.rewards = cfg and cfg.box_drop
-- self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.ITEM_DESC_5))
-- elseif self.itemType == GConst.ItemConst.ITEM_TYPE.FORCE_RANDOM then
-- -- 随机宝箱
-- self.rewards = cfg and cfg.box_drop
-- self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.ITEM_DESC_5))
-- elseif self.itemType == GConst.ItemConst.ITEM_TYPE.BOX_EQUIP then
-- self.rewards = cfg and cfg.box_select
-- self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.ITEM_DESC_4))
-- elseif self.itemType == GConst.ItemConst.ITEM_TYPE.BOX_SELECT then
-- -- 自选宝箱
-- self.rewards = cfg and cfg.box_select
-- self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.ITEM_DESC_4))
-- elseif self.itemType == GConst.ItemConst.ITEM_TYPE.BOX_RANDOM_MERGE then
-- -- 随机合成宝箱
-- self.rewards = cfg and cfg.box_drop
-- self.txCount:setText(I18N:getGlobalText(I18N.GlobalConst.ITEM_DESC_5))
-- end
if self.itemType == GConst.ItemConst.ITEM_TYPE.HERO_FRAGMENT then
local heroCfg = ConfigManager:getConfig("hero")[self.rewardId]
local str = string.format("<color=%s>%s</color>", GConst.QUALITY_TYPE[heroCfg.qlt], ModuleManager.ItemManager:getItemName(self.rewardId))
self.txName:setText(str)
end
if self.rewards ~= nil then
self.scrollRectObj:setActive(true)
self:_refreshScrollrect()
else
self.scrollRectObj:setActive(false)
end
self.dataLayout:RefreshLayout()
self:refreshCount()
end
--刷新滑动列表
function SummonShopBoxUI:_refreshScrollrect()
if not self.initScrollrect then
self.initScrollrect = true
self.scrollRect:addInitCallback(function()
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
end)
self.scrollRect:addRefreshCallback(function(index, cell)
cell:refreshByConfig(self.rewards[index])
end)
self.scrollRect:clearCells()
self.scrollRect:refillCells(#self.rewards)
else
if self.scrollRect:getTotalCount() == #self.rewards then
self.scrollRect:updateAllCell()
else
self.scrollRect:refillCells(#self.rewards)
end
end
end
function SummonShopBoxUI:refreshCount()
self.txSelect:setText(self.curCount)
-- 计算总价格(考虑折扣次数)
self.totalCost = 0
local remainingDiscount = self.remainingDiscount -- 剩余折扣次数已在ctor中初始化
local remainingCount = self.curCount -- 需要购买的数量
-- 1. 优先使用折扣价购买
if remainingDiscount > 0 then
local useDiscountTimes = math.min(remainingCount, remainingDiscount)
self.totalCost = self.totalCost + useDiscountTimes * GFunc.getRewardNum(self.cfg.discount)
remainingCount = remainingCount - useDiscountTimes
if self.cfg.discount_display ~= nil then
self.discount:setActive(true)
self.txDiscount:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_8, self.cfg.discount_display // 1000))
end
else
self.discount:setActive(false)
end
-- 2. 剩余次数用原价购买
if remainingCount > 0 then
self.totalCost = self.totalCost + remainingCount * GFunc.getRewardNum(self.cfg.cost)
self.discount:setActive(false)
end
-- 更新购买按钮的文本(显示总价)
local haveItemNum = DataManager.BagData.ItemData:getItemNumById(self.costId)
self.iconCost:setSprite(ModuleManager.ItemManager:getItemIcon(self.costId))
if haveItemNum >= self.totalCost then
-- self.btnBuy:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_yellow_3")
-- self.txBuy:setText("<color=#FFFFFF>"..self.totalCost.."</color>")
else
-- self.btnBuy:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_yellow_3")
-- self.txBuy:setText("<color=#FF4747>"..self.totalCost.."</color>")
end
self.txBuy:setText(self.totalCost)
GFunc.centerImgAndTx(self.iconCost, self.txBuy) -- 保持图标和文本居中
end
return SummonShopBoxUI

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 0a8d19d9a814e4e8aaf266337af97a8d
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}

View File

@ -0,0 +1,195 @@
local SummonShopUI = class("SummonShopUI", BaseUI)
function SummonShopUI:getPrefabPath()
return "assets/prefabs/ui/summon/summon_shop_ui.prefab"
end
function SummonShopUI:getCurrencyParams()
local params = {}
params.showType = GConst.CURRENCY_TYPE.HORIZONTAL
params.itemIds = {
GConst.ItemConst.ITEM_ID_GOLD,
}
return params
end
function SummonShopUI:ctor(param)
self.shopType = param.shopType
self.titleTx = GConst.EMPTY_STRING
self.descTx = GConst.EMPTY_STRING
self.descTitleHero = GConst.EMPTY_STRING
self.descDown = GConst.EMPTY_STRING
self.descTx = GConst.EMPTY_STRING
self.shopItemId = nil
if self.shopType == 1 then
self.titleTx = I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_1)
self.descTx = I18N:getGlobalText(I18N.GlobalConst.SUMMON_HELP_1)
self.descTitleHero = I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_3)
self.descDown = I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_6)
self.shopItemId = GConst.ItemConst.ITEM_ID_SUMMON_SHOP_GOLD_COMMON
elseif self.shopType == 2 then
self.titleTx = I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_2)
self.descTx = I18N:getGlobalText(I18N.GlobalConst.SUMMON_HELP_2)
self.descTitleHero = I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_3)
self.descDown = I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_6)
self.shopItemId = GConst.ItemConst.SUMMON_SHOP_GOLD_ACT
elseif self.shopType == 3 then
self.titleTx = I18N:getGlobalText(I18N.GlobalConst.CORE_SUMMON_DESC_21)
self.descTx = I18N:getGlobalText(I18N.GlobalConst.CORE_SUMMON_DESC_24)
self.descTitleHero = I18N:getGlobalText(I18N.GlobalConst.CORE_SUMMON_DESC_22)
self.descDown = I18N:getGlobalText(I18N.GlobalConst.CORE_SUMMON_DESC_25)
self.shopItemId = GConst.ItemConst.SOUL_SHOP_GOLD
elseif self.shopType == 4 then
self.titleTx = I18N:getGlobalText(I18N.GlobalConst.MERCENARY_DESC_18)
self.descTx = I18N:getGlobalText(I18N.GlobalConst.MERCENARY_DESC_19)
self.descTitleHero = I18N:getGlobalText(I18N.GlobalConst.MERCENARY_DESC_21)
self.descDown = I18N:getGlobalText(I18N.GlobalConst.MERCENARY_DESC_20)
self.shopItemId = GConst.ItemConst.ITEM_ID_MERCENARY_EXCHANGE
end
ModuleManager.SummonManager:reqSummonShopMarkUnlockTip(self.shopType)
end
function SummonShopUI:currencyParams()
local params = {}
params.showType = GConst.CURRENCY_TYPE.HORIZONTAL
params.itemIds = {
self.shopItemId,
}
return params, true
end
function SummonShopUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.btnMaskClose = uiMap["summon_shop_ui.btn_mask_close"]
self.content = uiMap["summon_shop_ui.content"]
self.txTitle = uiMap["summon_shop_ui.content.tx_title"]
self.btnClose = uiMap["summon_shop_ui.content.btn_close"]
self.scrollrect = uiMap["summon_shop_ui.content.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
self.txDescTips = uiMap["summon_shop_ui.content.tx_desc_tips"]
self.titleHero = uiMap["summon_shop_ui.content.scrollrect.title_hero"]
self.txDescTitleHero = uiMap["summon_shop_ui.content.scrollrect.title_hero.tx_desc_title_hero"]
self.btnTips = uiMap["summon_shop_ui.content.tx_title.btn_tips"]
self.itemIcon = uiMap["summon_shop_ui.content.tx_desc_tips.item_icon"]
self:_addListeners()
end
function SummonShopUI:_addListeners()
self.btnTips:addClickListener(function()
local params = {}
params.desc = self.descTx
ModuleManager.TipsManager:showHelpTips(params)
end)
self.btnClose:addClickListener(function()
self:closeUI()
end)
self.btnMaskClose:addClickListener(function()
self:closeUI()
end)
self:bind(DataManager.SummonData, "isDirty", function()
self:onRefresh()
end)
self:bind(DataManager.BagData.ItemData, "dirty", function()
self:onRefresh()
end)
end
function SummonShopUI:isFullScreen()
return false
end
function SummonShopUI:setParentUI(parentUI)
self.parentUI = parentUI
end
function SummonShopUI:onRefresh()
self.txTitle:setText(self.titleTx)
local width = self.txTitle:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth
width = math.min(400, width)
self.txTitle:setSizeDeltaX(width)
self.txDescTitleHero:setText(self.descTitleHero)
self.txDescTips:setText(self.descDown)
local width = self.txDescTips:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth
local sizeW = self.txDescTips:getSizeDeltaX()
if width < sizeW then
self.itemIcon:setAnchoredPositionX((width - sizeW)/2)
else
self.itemIcon:setAnchoredPositionX(0)
end
self.itemIcon:setSprite(ModuleManager.ItemManager:getItemIcon(self.shopItemId))
self:_refreshScrollrect()
end
--刷新滑动列表
function SummonShopUI:_refreshScrollrect()
if self.shopType == 3 then
self.scrollrect:setCellWidth(146)
self.scrollrect:setCellHeight(210)
else
self.scrollrect:setCellWidth(144)
self.scrollrect:setCellHeight(200)
end
local list = DataManager.SummonData:getSummonShopList(self.shopType)
self.shopList = {}
for i = #list, 1, -1 do -- 从后往前遍历
local v = list[i]
local itemId = GFunc.getRewardId(v.hero)
local isRemove = false
if v.force_id ~= nil then
if not DataManager.HeroData:getHeroIsUnlock(v.force_id) and v.display == 1 then
isRemove = true
end
end
if not isRemove then
table.insert(self.shopList, v)
end
end
table.sort(self.shopList, function(a, b)
local itemId1 = GFunc.getRewardId(a.hero)
local itemId2 = GFunc.getRewardId(b.hero)
-- local type1 = ModuleManager.ItemManager:getItemType(itemId1)
-- local type2 = ModuleManager.ItemManager:getItemType(itemId2)
-- 判断是否为未解锁英雄
local isLockedHero1 = DataManager.HeroData:getHeroIsUnlock(itemId1)
local isLockedHero2 = DataManager.HeroData:getHeroIsUnlock(itemId2)
if isLockedHero1 == isLockedHero2 then
return a.id < b.id
elseif isLockedHero1 and not isLockedHero2 then
return true
elseif not isLockedHero1 and isLockedHero2 then
return false
end
return a.id < b.id
end)
if not self.initScrollrect then
self.initScrollrect = true
self.scrollrect:addInitCallback(function()
return "app/ui/summon/cell/summon_shop_cell"
end)
self.scrollrect:addRefreshCallback(function(index, cell)
cell:setShowType(GConst.HeroConst.PAGE_TYPE.SHOP, function()
local cfg = self.shopList[index]
local id = GFunc.getRewardId(cfg.hero)
if not DataManager.HeroData:getHeroIsUnlock(cfg.force_id) then
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESCR_5))
return
end
ModuleManager.SummonManager:showSummonShopBoxUI(self.shopType, self.shopList[index])
end)
cell:refresh(self.shopList[index], false, self.shopType)
end)
self.scrollrect:clearCells()
self.scrollrect:refillCells(#self.shopList)
else
-- 刷新或重新填充列表
if self.scrollrect:getTotalCount() == #self.shopList then
self.scrollrect:updateAllCell()
else
self.scrollrect:refillCells(#self.shopList)
end
end
end
return SummonShopUI

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 827e26c42d4a94cfb9bab6a43986f0e2
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}

View File

@ -17,20 +17,25 @@ function SummonData:setDirty()
self.data.isDirty = not self.data.isDirty
end
function SummonData:init(data)
function SummonData:init(data, summonShop)
data = data or {}
if EDITOR_MODE then
Logger.logHighlight("抽奖数据")
Logger.printTable(data)
end
self:initData(data.summons)
self.summonShop = summonShop or {}
self:setDirty()
if not self.isInit then
self.isInit = true
-- 跨天
-- DataManager:registerCrossDayFunc("SummonData", function()
-- self:setDirty()
-- end)
DataManager:registerCrossDayFunc("SummonData", function()
if Time:getDayofWeek() == 1 then
self.summonShop = self.summonShop or {}
self.summonShop.exchanged = {}
end
self:setDirty()
end)
end
end
@ -201,6 +206,7 @@ end
function SummonData:hasSummonCost2()
return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_2) > 0
end
--@endregion
--@region 获取消耗
@ -302,4 +308,99 @@ function SummonData:getSummonFreeNum(summonType)
end
--@endregion
--@region 商店
function SummonData:getSummonShopList(type)
if self.summonShopList == nil then
self.summonShopList = {}
local list = ConfigManager:getConfig("summon_shop")
for id, v in pairs(list) do
if self.summonShopList[v.summon] == nil then
self.summonShopList[v.summon] = {}
end
v.id = id
table.insert(self.summonShopList[v.summon], v)
end
for _, v in pairs(self.summonShopList) do
table.sort(v, function(a, b)
return a.id < b.id
end)
end
end
if type then
return self.summonShopList[type]
end
return self.summonShopList
end
-- function SummonData:setSummonShopSoulUnlock(shopIds)
-- if shopIds == nil then
-- return
-- end
-- for _, shopId in pairs(shopIds) do
-- self.summonShop.unlock_tips[shopId] = true
-- end
-- end
-- function SummonData:onSummonShopSoulOpen(shopIds)
-- for _, id in pairs(shopIds) do
-- self.summonShop.unlock_tips[id] = true
-- end
-- self:setSummonShopDirty()
-- end
--获取所有刚解锁的兑换
function SummonData:getUnlockShopId(type)
local unlockShopIds = {}
local list = self:getSummonShopList(type)
for id, cfg in ipairs(list) do
if DataManager.HeroData:getHeroIsUnlock(cfg.force_id) and cfg.display == 1 then
if self.summonShop.unlock_tips[cfg.id] == nil then
table.insert(unlockShopIds, cfg.id)
end
end
end
return unlockShopIds
end
function SummonData:getExchangesCount(id)
if self.summonShop and self.summonShop.exchanged then
if self.summonShop.exchanged[id] then
return self.summonShop.exchanged[id]
else
return 0
end
end
return 0
end
function SummonData:shopSuccess(id, count)
self.summonShop.exchanged[id] = (self.summonShop.exchanged[id] or 0) + count
self:setDirty()
end
--@region 商店红点
function SummonData:isShowShopRedPoint(id)
local list = DataManager.SummonData:getSummonShopList(id)
for _, cfg in ipairs(list) do
local exchangesCount = DataManager.SummonData:getExchangesCount(cfg.id) --购买次数
local cost
if cfg.discount_limit == nil or exchangesCount >= cfg.discount_limit then
cost = cfg.cost
else
cost = cfg.discount
end
if cost then
local costId = GFunc.getRewardId(cost)
local costCount = GFunc.getRewardNum(cost)
local haveItemNum = DataManager.BagData.ItemData:getItemNumById(costId) --拥有货币
if haveItemNum >= costCount then
return true
end
end
end
return false
end
--@endregion
--endregion
return SummonData