召唤商店

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:checkShopDiscountRedPoint()
-- self.ShopData:checkLoginPopInfo() -- 需要写在shopdata所有初始化之后 -- self.ShopData:checkLoginPopInfo() -- 需要写在shopdata所有初始化之后
self.SummonData:init(data.summon_data) self.SummonData:init(data.summon_data, data.summon_shop)
self.AIHelperData:init(nil, true) self.AIHelperData:init(nil, true)
-- 任务数据最后初始化,依赖其他模块的数据 -- 任务数据最后初始化,依赖其他模块的数据

View File

@ -449,6 +449,18 @@ local attr = {
["name"]="attr_hpp_all", ["name"]="attr_hpp_all",
["power"]=50, ["power"]=50,
["is_percent"]=1 ["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 = { local keys = {
@ -532,12 +544,14 @@ local keys = {
["attr_normal_hurt"]=attr[77], ["attr_normal_hurt"]=attr[77],
["attr_skill_hurt"]=attr[78], ["attr_skill_hurt"]=attr[78],
["dmgdec"]=attr[79], ["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 = { local config = {
data=attr, data=attr,
keys=keys, keys=keys,
count=80 count=82
} }
return config return config

View File

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

View File

@ -1000,6 +1000,41 @@ local buff = {
["icon"]="attr_normal_hurtp_all_add", ["icon"]="attr_normal_hurtp_all_add",
["show_name"]=true, ["show_name"]=true,
["ispercent"]=1 ["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 = { local keys = {
@ -1108,12 +1143,17 @@ local keys = {
["hpp_purple_add"]=buff[102], ["hpp_purple_add"]=buff[102],
["forever_normal_attack_add"]=buff[103], ["forever_normal_attack_add"]=buff[103],
["forever_uncontrolled"]=buff[104], ["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 = { local config = {
data=buff, data=buff,
keys=keys, keys=keys,
count=105 count=110
} }
return config return config

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@ -103,6 +103,25 @@ local skill = {
}, },
["obj"]=1 ["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]={ [1300110]={
["position"]=1, ["position"]=1,
["effect_type"]=1, ["effect_type"]=1,
@ -13662,6 +13681,6 @@ local skill = {
} }
} }
local config = { local config = {
data=skill,count=443 data=skill,count=444
} }
return config return config

View File

@ -1,279 +1,48 @@
local skill_rogue = { local skill_rogue = {
[1]={ [1]={
["universal"]=1, ["universal"]=1,
["toast_mark"]=1, ["limit_times"]=1,
["limit_times"]=3, ["weight"]=1000,
["weight"]=3000, ["qlt"]=5,
["qlt"]=2, ["type"]=9,
["type"]=5, ["effect"]={
["attr"]={ {
["type"]="atkp_color_add", ["type"]="add_skill",
["minnum"]=300, ["num"]=15,
["maxnum"]=500 ["ratio"]=10000,
["round"]=0
}
}, },
["obj"]=1, ["obj"]=8,
["icon"]="1" ["icon"]="7"
}, },
[2]={ [2]={
["universal"]=1, ["universal"]=1,
["toast_mark"]=1, ["limit_times"]=1,
["limit_times"]=2, ["weight"]=1000,
["weight"]=2000, ["qlt"]=5,
["qlt"]=3, ["type"]=20,
["type"]=5, ["parameter"]={
["attr"]={ 1000
["type"]="atkp_color_add",
["minnum"]=800,
["maxnum"]=1200
}, },
["obj"]=1, ["icon"]="17"
["icon"]="1"
}, },
[3]={ [3]={
["universal"]=1, ["universal"]=1,
["toast_mark"]=1,
["limit_times"]=1, ["limit_times"]=1,
["weight"]=1000, ["weight"]=1000,
["qlt"]=4, ["qlt"]=5,
["type"]=5, ["type"]=21,
["attr"]={ ["parameter"]={
["type"]="atkp_color_add", 1
["minnum"]=1300,
["maxnum"]=2000
}, },
["obj"]=1, ["icon"]="29"
["icon"]="1"
}, },
[4]={ [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, ["universal"]=1,
["limit_times"]=1, ["limit_times"]=1,
["weight"]=1500, ["weight"]=1500,
["qlt"]=4, ["qlt"]=5,
["type"]=9, ["type"]=9,
["effect"]={ ["effect"]={
{ {
@ -286,132 +55,147 @@ local skill_rogue = {
["obj"]=8, ["obj"]=8,
["icon"]="7" ["icon"]="7"
}, },
[20]={ [5]={
["universal"]=1, ["universal"]=1,
["toast_mark"]=7, ["toast_mark"]=1,
["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,
["limit_times"]=1, ["limit_times"]=1,
["weight"]=1000, ["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, ["qlt"]=4,
["type"]=5, ["type"]=5,
["attr"]={ ["attr"]={
["type"]="hpp_add", ["type"]="atkp_color_add",
["minnum"]=1300, ["minnum"]=1000,
["maxnum"]=2000 ["maxnum"]=1000
}, },
["obj"]=1, ["obj"]=1,
["icon"]="9" ["icon"]="1"
}, },
[24]={ [7]={
["universal"]=1, ["universal"]=1,
["limit_times"]=2, ["toast_mark"]=1,
["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,
["limit_times"]=3, ["limit_times"]=3,
["weight"]=2000, ["weight"]=2000,
["qlt"]=3, ["qlt"]=3,
["type"]=5, ["type"]=5,
["attr"]={ ["attr"]={
["type"]="crit_add", ["type"]="atkp_color_add",
["minnum"]=400, ["minnum"]=500,
["maxnum"]=400 ["maxnum"]=500
}, },
["obj"]=1, ["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, ["universal"]=1,
["toast_mark"]=13, ["toast_mark"]=13,
["limit_times"]=3, ["limit_times"]=3,
["weight"]=2000, ["weight"]=2000,
["qlt"]=3, ["qlt"]=4,
["type"]=5, ["type"]=5,
["attr"]={ ["attr"]={
["type"]="dec_dmg_all_add", ["type"]="dec_dmg_all_add",
@ -421,38 +205,194 @@ local skill_rogue = {
["obj"]=1, ["obj"]=1,
["icon"]="14" ["icon"]="14"
}, },
[29]={ [15]={
["universal"]=1, ["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, ["qlt"]=3,
["type"]=9, ["type"]=9,
["effect"]={ ["effect"]={
{ {
["type"]="heal", ["type"]="red_refresh_weight",
["num"]=10000, ["num"]=500,
["ratio"]=10000, ["ratio"]=10000,
["round"]=1 ["round"]=0
} }
}, },
["obj"]=1, ["obj"]=1,
["icon"]="30" ["icon"]="30"
}, },
[30]={ [24]={
["universal"]=1, ["universal"]=1,
["weight"]=3000, ["limit_times"]=2,
["qlt"]=2, ["weight"]=1000,
["type"]=10, ["qlt"]=3,
["parameter"]={ ["type"]=9,
1 ["effect"]={
},
["boardrange"]={
{ {
["type"]=0, ["type"]="yellow_refresh_weight",
["range"]=2 ["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, ["universal"]=1,
["weight"]=2000, ["weight"]=2000,
["qlt"]=2, ["qlt"]=2,
@ -468,39 +408,7 @@ local skill_rogue = {
}, },
["icon"]="16" ["icon"]="16"
}, },
[32]={ [29]={
["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]={
["universal"]=1, ["universal"]=1,
["weight"]=2000, ["weight"]=2000,
["qlt"]=2, ["qlt"]=2,
@ -516,39 +424,7 @@ local skill_rogue = {
}, },
["icon"]="19" ["icon"]="19"
}, },
[35]={ [30]={
["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]={
["universal"]=1, ["universal"]=1,
["weight"]=2000, ["weight"]=2000,
["qlt"]=2, ["qlt"]=2,
@ -564,39 +440,7 @@ local skill_rogue = {
}, },
["icon"]="22" ["icon"]="22"
}, },
[38]={ [31]={
["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]={
["universal"]=1, ["universal"]=1,
["weight"]=2000, ["weight"]=2000,
["qlt"]=2, ["qlt"]=2,
@ -612,39 +456,7 @@ local skill_rogue = {
}, },
["icon"]="25" ["icon"]="25"
}, },
[41]={ [32]={
["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]={
["universal"]=1, ["universal"]=1,
["weight"]=2000, ["weight"]=2000,
["qlt"]=2, ["qlt"]=2,
@ -660,22 +472,6 @@ local skill_rogue = {
}, },
["icon"]="28" ["icon"]="28"
}, },
[44]={
["universal"]=1,
["weight"]=1000,
["qlt"]=3,
["type"]=10,
["parameter"]={
5
},
["boardrange"]={
{
["type"]=0,
["range"]=5
}
},
["icon"]="29"
},
[1300111]={ [1300111]={
["method"]=2, ["method"]=2,
["universal"]=2, ["universal"]=2,
@ -9054,6 +8850,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=450 data=skill_rogue,count=438
} }
return config return config

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@ local buff_daily_challenge = {
["desc"]="all damage taken <color=#3cff28>-10%</color>" ["desc"]="all damage taken <color=#3cff28>-10%</color>"
}, },
[4]={ [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]={ [5]={
["desc"]="Skill damage <color=#3cff28>+15%</color>" ["desc"]="Skill damage <color=#3cff28>+15%</color>"

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="Turns <color=#3cff28>5</color> random Non-Red elements into Red" ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="Convierte <color=#3cff28>5</color> elementos aleatorios en el campo que no sean rojos en rojo." ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="Ubah <color=#3cff28>5</color> elemen non-merah secara acak di bidang menjadi merah." ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="ランダムで<color=#3cff28>5</color>つ赤以外の元素を赤に変える" ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="필드에서 빨간색이 아닌 임의의 <color=#3cff28>5</color>개 원소를 빨간색으로 바꿉니다." ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="Transforma <color=#3cff28>5</color> elementos não Vermelhos aleatórios em Vermelhos." ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="เปลี่ยนธาตุ<color=#3cff28>5</color>อันแบบสุ่มที่ไม่ใช่สีแดงบนสนามเป็นสีแดง" ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config 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>" ["desc"]="Sát thương phải nhận giảm <color=#3cff28>-10%</color>"
}, },
[4]={ [4]={
["desc"]="Tỷ lệ chí mạng <color=#3cff28>+20%</color>" ["desc"]="Tỷ lệ chí mạng <color=#3cff28>+10%</color>"
}, },
[5]={ [5]={
["desc"]="Gây tổn hại đến kỹ năng <color=#3cff28>+15%</color>" ["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]={ [32]={
["desc"]="Trong trận ngẫu nhiên <color=#3cff28>5</color> Nguyên Tố không phải Đỏ chuyển thành Đỏ" ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

@ -95,42 +95,6 @@ local skill_rogue = {
[32]={ [32]={
["desc"]="將場上隨機<color=#3cff28>5</color>個非紅色元素變成紅色" ["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]={ [1300111]={
}, },
@ -1189,6 +1153,6 @@ local skill_rogue = {
} }
} }
local config = { local config = {
data=skill_rogue,count=396 data=skill_rogue,count=384
} }
return config return config

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -31,6 +31,14 @@ function SummonManager:showSummonUnlockUI(params)
UIManager:showUI("app/ui/summon/summon_unlock_ui", params) UIManager:showUI("app/ui/summon/summon_unlock_ui", params)
end 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 协议 --@region 协议
function SummonManager:onForceSummonReq(count, free, summonType) function SummonManager:onForceSummonReq(count, free, summonType)
local args = {} local args = {}
@ -74,6 +82,29 @@ function SummonManager:onForceSummonRsp(result)
-- DataManager.GameSettingData:showRateUIByForceSummon() -- DataManager.GameSettingData:showRateUIByForceSummon()
-- end -- end
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 --@endregion
function SummonManager:onSummonWishSetReq(summonType, heroId) function SummonManager:onSummonWishSetReq(summonType, heroId)
@ -150,6 +181,7 @@ function SummonManager:activityHeroBountyClaimedRsp(result)
BIReport:postActSummonUpgrade("HeroPage_2", activityId,minIndex, maxIndex, heroId, heroLv,result.rewards) BIReport:postActSummonUpgrade("HeroPage_2", activityId,minIndex, maxIndex, heroId, heroLv,result.rewards)
end end
end end
function BIReport:postActSummonLogin(activityId, minId, maxId, cur, rewards) function BIReport:postActSummonLogin(activityId, minId, maxId, cur, rewards)
local args = { local args = {
opt_type = "Reward", 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.txFreeTime = uiMap["summon_main_ui.node.tx_free_time"]
self.btnWish = uiMap["summon_main_ui.node.btn_wish"] --心愿 self.btnShop = uiMap["summon_main_ui.node.btn_shop"]
self.btnWishTx = uiMap["summon_main_ui.node.btn_wish.tx_guarantee"] --心愿 self.btnShopTx = uiMap["summon_main_ui.node.btn_shop.bg.tx_shop_num"]
self.btnWishIcon = uiMap["summon_main_ui.node.btn_wish.img_wish_icon"] --心愿 -- self.btnWish = uiMap["summon_main_ui.node.btn_wish"] --心愿
self.btnWishAddImg = uiMap["summon_main_ui.node.btn_wish.add_img"] -- 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.heroNode = uiMap["summon_main_ui.summon_node.hero_node"]
self.uiNode = uiMap["summon_main_ui.node"] self.uiNode = uiMap["summon_main_ui.node"]
self.uiSpineObj = uiMap["summon_main_ui.summon_node.ui_spine_obj"] self.uiSpineObj = uiMap["summon_main_ui.summon_node.ui_spine_obj"]
self.uiSpineObj:playAnim("idle", true, true) 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 = uiMap["summon_main_ui.touch_node"]
self.touchNode:setActive(false) self.touchNode:setActive(false)
self.btnSummonFree:addClickListener(function() 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)) 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.descBg = uiMap["summon_main_ui.node.desc_bg"]
self.descTx = uiMap["summon_main_ui.node.desc_bg.desc_tx"] self.descTx = uiMap["summon_main_ui.node.desc_bg.desc_tx"]
self.descBg:setActive(false)
self.btnTxs = { self.btnTxs = {
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6), I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6),
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7), I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7),
} }
self.pageBtns = {} -- self.pageBtns = {}
self.pageBtnTxs = {} -- self.pageBtnTxs = {}
for i = 1, 2 do -- for i = 1, 2 do
self.pageBtns[i] = uiMap['summon_main_ui.bottom.btn_'.. i] -- 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] = uiMap['summon_main_ui.bottom.btn_'.. i ..'.tx_desc']
self.pageBtnTxs[i]:setText(self.btnTxs[i]) -- self.pageBtnTxs[i]:setText(self.btnTxs[i])
self.pageBtns[i]:addClickListener(function() -- self.pageBtns[i]:addClickListener(function()
if self.page == i then -- if self.page == i then
return -- return
end -- end
self.page = i -- self.page = i
self:onRefresh() -- self:onRefresh()
UIManager:updateBarsState(self) -- UIManager:updateBarsState(self)
end) -- end)
end -- end
-------------抽奖相关--------- -------------抽奖相关---------
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newHero) self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newHero)
self:refreshWishBtn() -- self:refreshWishBtn()
self:playSummonAni(result, newHero) self:playSummonAni(result, newHero)
end) end)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newHero) self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newHero)
self:refreshWishBtn() -- self:refreshWishBtn()
ModuleManager.SummonManager:showSummonRewardUI({ ModuleManager.SummonManager:showSummonRewardUI({
rewards = result.rewards, rewards = result.rewards,
isWish = true, isWish = true,
@ -151,28 +160,31 @@ function SummonMainUI:onLoadRootComplete()
}) })
end) end)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_HERO_ID, function() -- self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_HERO_ID, function()
if self:isClosed() then -- if self:isClosed() then
return -- return
end -- end
self:refreshWishBtn() -- self:refreshWishBtn()
end) -- end)
self.btnWish:addClickListener(function() -- self.btnWish:addClickListener(function()
if self.isUnlock then -- if self.isUnlock then
local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page) -- local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
local wishGuarantee = DataManager.SummonData:getSummonWishGuarantee2(self.page) -- local wishGuarantee = DataManager.SummonData:getSummonWishGuarantee2(self.page)
local wishCount = DataManager.SummonData:getSummonWishCount(self.page) -- local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
if wishCount >= wishGuarantee and wishHeroId ~= 0 then -- if wishCount >= wishGuarantee and wishHeroId ~= 0 then
--发送领取奖励的协议 -- --发送领取奖励的协议
ModuleManager.SummonManager:onSummonWishClaimReq(self.page) -- ModuleManager.SummonManager:onSummonWishClaimReq(self.page)
else -- else
--打开设置心愿界面 -- --打开设置心愿界面
ModuleManager.SummonManager:showSummonWishUI(self.page) -- ModuleManager.SummonManager:showSummonWishUI(self.page)
end -- end
else -- else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_LOCK)) -- GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.SUMMON_WISH_LOCK))
end -- end
-- end)
self.btnShop:addClickListener(function()
ModuleManager.SummonManager:showSummonShopUI(1)
end) end)
self:bind(DataManager.SummonData, "isDirty", function() self:bind(DataManager.SummonData, "isDirty", function()
self:onRefresh() self:onRefresh()
@ -185,6 +197,8 @@ function SummonMainUI:onLoadRootComplete()
self:updateTime() self:updateTime()
end, 1) end, 1)
self:updateTime() self:updateTime()
self:refreshShopItem()
end end
--每秒刷新单抽红点 --每秒刷新单抽红点
@ -205,21 +219,21 @@ end
--刷新 --刷新
function SummonMainUI:onRefresh() function SummonMainUI:onRefresh()
self:refreshSummonBtn() self:refreshSummonBtn()
self:refreshWishBtn() -- self:refreshWishBtn()
-- self:refreshBtnRedPoint() -- self:refreshBtnRedPoint()
self:refreshPageBtn() -- self:refreshPageBtn()
self:updateTime() self:updateTime()
end end
function SummonMainUI:refreshPageBtn() -- function SummonMainUI:refreshPageBtn()
for i = 1, 2 do -- for i = 1, 2 do
if self.page == i then -- if self.page == i then
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_1") -- self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_1")
else -- else
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_2") -- self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, "act_common_btn_" .. i .."_2")
end -- end
end -- end
end -- end
--刷新抽奖按钮 --刷新抽奖按钮
function SummonMainUI:refreshSummonBtn() function SummonMainUI:refreshSummonBtn()
@ -270,38 +284,42 @@ function SummonMainUI:refreshSummonBtn()
end end
--刷新心愿按钮 --刷新心愿按钮
function SummonMainUI:refreshWishBtn() -- function SummonMainUI:refreshWishBtn()
local guarantee1 = DataManager.SummonData:getSummonConfig(self.page).guarantee1 -- local guarantee1 = DataManager.SummonData:getSummonConfig(self.page).guarantee1
if not guarantee1 then -- if not guarantee1 then
self.descBg:setActive(false) -- self.descBg:setActive(false)
else -- else
self.descBg:setActive(true) -- self.descBg:setActive(true)
local count = guarantee1 - DataManager.SummonData:getSummonTriggerCount(self.page) -- local count = guarantee1 - DataManager.SummonData:getSummonTriggerCount(self.page)
self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_4, count)) -- self.descTx:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_4, count))
end -- end
local love = DataManager.SummonData:getSummonWishConfig(self.page) -- local love = DataManager.SummonData:getSummonWishConfig(self.page)
if not love then -- if not love then
self.btnWish:setActive(false) -- self.btnWish:setActive(false)
return -- return
end -- end
self.btnWish:setActive(true) -- self.btnWish:setActive(true)
local summonCount = DataManager.SummonData:getSummonCount(self.page) -- local summonCount = DataManager.SummonData:getSummonCount(self.page)
local unlockCount = DataManager.SummonData:getSummonWishUnlock(self.page) -- local unlockCount = DataManager.SummonData:getSummonWishUnlock(self.page)
self.isUnlock = summonCount >= unlockCount -- self.isUnlock = summonCount >= unlockCount
local wishCount = DataManager.SummonData:getSummonWishCount(self.page) -- local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
local needCount = DataManager.SummonData:getSummonWishGuarantee2(self.page) -- local needCount = DataManager.SummonData:getSummonWishGuarantee2(self.page)
self.btnWishTx:setText(wishCount .. "/" .. needCount) -- self.btnWishTx:setText(wishCount .. "/" .. needCount)
local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page) -- local wishHeroId = DataManager.SummonData:getSummonWishHeroId(self.page)
local cfg = DataManager.HeroData:getHeroConfig(wishHeroId) -- local cfg = DataManager.HeroData:getHeroConfig(wishHeroId)
if cfg then -- if cfg then
self.btnWishIcon:setSprite(GFunc.getHeroIcon(cfg.icon)) -- self.btnWishIcon:setSprite(GFunc.getHeroIcon(cfg.icon))
self.btnWish:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[cfg.qlt]) -- self.btnWish:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[cfg.qlt])
self.btnWishAddImg:setActive(false) -- self.btnWishAddImg:setActive(false)
else -- else
self.btnWishIcon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha") -- self.btnWishIcon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
self.btnWishAddImg:setActive(true) -- self.btnWishAddImg:setActive(true)
end -- end
-- end
function SummonMainUI:refreshShopItem()
self.btnShopTx:setText(DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_SHOP_GOLD_COMMON))
end end
--检查单抽红点 --检查单抽红点
@ -417,7 +435,7 @@ end
function SummonMainUI:showHero(idx, newHero) function SummonMainUI:showHero(idx, newHero)
if not self.summonResult[idx] then if not self.summonResult[idx] then
self:enableTouch() -- self:enableTouch()
self.uiNode:setActive(true) self.uiNode:setActive(true)
for i = 1, 4 do for i = 1, 4 do
self.vfxs[i]:setActive(false) self.vfxs[i]:setActive(false)
@ -432,6 +450,9 @@ function SummonMainUI:showHero(idx, newHero)
callback = function(count, isAd) callback = function(count, isAd)
self:onSummon(count, isAd) self:onSummon(count, isAd)
end, end,
closeCallBack =function ()
self:fly()
end,
newHero = newHero, newHero = newHero,
page = self.page page = self.page
}) })
@ -473,4 +494,18 @@ function SummonMainUI:enableTouch()
self.touchNode:setActive(false) self.touchNode:setActive(false)
end 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 return SummonMainUI

View File

@ -13,6 +13,7 @@ function SummonRewardUI:ctor(params)
self.rewards = params.rewards or {} self.rewards = params.rewards or {}
self.isWish = params.isWish or false self.isWish = params.isWish or false
self.callback = params.callback self.callback = params.callback
self.closeCallBack = params.closeCallBack
self.unlockList = params.newHero or {} self.unlockList = params.newHero or {}
self.page = params.page self.page = params.page
end end
@ -26,6 +27,9 @@ function SummonRewardUI:onLoadRootComplete()
self.btnGet = uiMap["summon_reward_ui.bg.btn_get"] self.btnGet = uiMap["summon_reward_ui.bg.btn_get"]
self.btnGet:addClickListener(function() self.btnGet:addClickListener(function()
if self.closeCallBack then
self:closeCallBack()
end
self:closeUI() self:closeUI()
end) end)
self.goOne = uiMap["summon_reward_ui.bg.one"] 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 self.data.isDirty = not self.data.isDirty
end end
function SummonData:init(data) function SummonData:init(data, summonShop)
data = data or {} data = data or {}
if EDITOR_MODE then if EDITOR_MODE then
Logger.logHighlight("抽奖数据") Logger.logHighlight("抽奖数据")
Logger.printTable(data) Logger.printTable(data)
end end
self:initData(data.summons) self:initData(data.summons)
self.summonShop = summonShop or {}
self:setDirty() self:setDirty()
if not self.isInit then if not self.isInit then
self.isInit = true self.isInit = true
-- 跨天 -- 跨天
-- DataManager:registerCrossDayFunc("SummonData", function() DataManager:registerCrossDayFunc("SummonData", function()
-- self:setDirty() if Time:getDayofWeek() == 1 then
-- end) self.summonShop = self.summonShop or {}
self.summonShop.exchanged = {}
end
self:setDirty()
end)
end end
end end
@ -201,6 +206,7 @@ end
function SummonData:hasSummonCost2() function SummonData:hasSummonCost2()
return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_2) > 0 return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_2) > 0
end end
--@endregion --@endregion
--@region 获取消耗 --@region 获取消耗
@ -302,4 +308,99 @@ function SummonData:getSummonFreeNum(summonType)
end end
--@endregion --@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 return SummonData