Merge branch 'dev_hero' into dev_equip

# Conflicts:
#	lua/app/config/localization/localization_global_const.lua
#	lua/app/config/strings/cn/global.lua
This commit is contained in:
puxuan 2025-09-16 16:12:53 +08:00
commit 2960713f83
35 changed files with 1719 additions and 5494 deletions

View File

@ -276,7 +276,7 @@ local buff = {
["decr"]=1,
["formula"]=3,
["fx_get"]={
300027
47
}
},
[33]={

View File

@ -564,8 +564,8 @@ local const = {
["type_for_nothing"]="Vw==",
["id"]=3,
["id_for_nothing"]="VQ==",
["num"]=5,
["num_for_nothing"]="Uw=="
["num"]=10,
["num_for_nothing"]="Vwg="
}
}
},

View File

@ -1,11 +1,6 @@
local daily_challenge_level = {
[1]={
["max_chapter"]=11,
["round_map"]={
1,
2,
3
},
["wave_reward"]={
{
["type"]=1,
@ -95,13 +90,6 @@ local daily_challenge_level = {
},
[2]={
["max_chapter"]=19,
["round_map"]={
1,
2,
3,
4,
5
},
["wave_reward"]={
{
["type"]=1,
@ -191,15 +179,6 @@ local daily_challenge_level = {
},
[3]={
["max_chapter"]=27,
["round_map"]={
1,
2,
3,
4,
5,
6,
7
},
["wave_reward"]={
{
["type"]=1,
@ -289,17 +268,6 @@ local daily_challenge_level = {
},
[4]={
["max_chapter"]=37,
["round_map"]={
1,
2,
3,
4,
5,
6,
7,
8,
9
},
["wave_reward"]={
{
["type"]=1,
@ -389,19 +357,6 @@ local daily_challenge_level = {
},
[5]={
["max_chapter"]=47,
["round_map"]={
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
},
["wave_reward"]={
{
["type"]=1,
@ -491,21 +446,6 @@ local daily_challenge_level = {
},
[6]={
["max_chapter"]=62,
["round_map"]={
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13
},
["wave_reward"]={
{
["type"]=1,
@ -595,23 +535,6 @@ local daily_challenge_level = {
},
[7]={
["max_chapter"]=77,
["round_map"]={
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
},
["wave_reward"]={
{
["type"]=1,

View File

@ -68,11 +68,11 @@ local func_open = {
["pop_ups"]=1
},
["arena_open"]={
["stage"]=5,
["stage"]=15,
["icon"]="module_unlock_arena"
},
["act_arena_gift"]={
["stage"]=5,
["stage"]=15,
["pop_ups"]=1
},
["equip_weapon_open"]={

View File

@ -199,6 +199,10 @@ local fx = {
["loop"]=1,
["bind"]="root"
},
[47]={
["res"]="sfx_buff_huixue_b01",
["bind"]="root"
},
[100001]={
["res"]="sfx_c1_m10001_01",
["bind"]="root"
@ -1047,6 +1051,6 @@ local fx = {
}
}
local config = {
data=fx,count=242
data=fx,count=243
}
return config

View File

@ -4354,7 +4354,7 @@ local hero = {
1100,
1200
},
["model_id"]="p23001",
["model_id"]="p25001",
["icon"]="25001",
["item_id"]=25001,
["level_id"]=10,

View File

@ -681,10 +681,20 @@ local LocalizationGlobalConst =
HERO_DESC_22 = "HERO_DESC_22",
HERO_DESC_23 = "HERO_DESC_23",
BAG_DESC_1 = "BAG_DESC_1",
EQUIP_DESC_29 = "EQUIP_DESC_29",
DAILY_CHALLENGE_DESC_2 = "DAILY_CHALLENGE_DESC_2",
DAILY_CHALLENGE_DESC_3 = "DAILY_CHALLENGE_DESC_3",
DAILY_CHALLENGE_DESC_4 = "DAILY_CHALLENGE_DESC_4",
DAILY_CHALLENGE_DESC_5 = "DAILY_CHALLENGE_DESC_5",
DAILY_CHALLENGE_DESC_6 = "DAILY_CHALLENGE_DESC_6",
DAILY_CHALLENGE_DESC_7 = "DAILY_CHALLENGE_DESC_7",
DAILY_CHALLENGE_DESC_8 = "DAILY_CHALLENGE_DESC_8",
EQUIP_DESC_30 = "EQUIP_DESC_30",
EQUIP_DESC_31 = "EQUIP_DESC_31",
EQUIP_DESC_32 = "EQUIP_DESC_32",
EQUIP_PARTS_1 = "EQUIP_PARTS_1",
EQUIP_PARTS_2 = "EQUIP_PARTS_2",
EQUIP_PARTS_3 = "EQUIP_PARTS_3",
EQUIP_PARTS_4 = "EQUIP_PARTS_4",
EQUIP_PARTS_5 = "EQUIP_PARTS_5",
EQUIP_PARTS_6 = "EQUIP_PARTS_6",
EQUIP_HERO_DESC_1 = "EQUIP_HERO_DESC_1",
EQUIP_HERO_LV_1 = "EQUIP_HERO_LV_1",
EQUIP_HERO_LV_2 = "EQUIP_HERO_LV_2",

View File

@ -2076,8 +2076,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300018,
["fx_self_mirror"]=400018
["fx_self_mirror"]=100000
},
[2400111]={
["position"]=2,
@ -2105,8 +2104,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300019,
["fx_self_mirror"]=400019
["fx_self_mirror"]=100000
},
[2400112]={
["position"]=2,
@ -2134,8 +2132,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300020,
["fx_self_mirror"]=400020
["fx_self_mirror"]=100000
},
[2400113]={
["position"]=2,
@ -2163,8 +2160,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300021,
["fx_self_mirror"]=400021
["fx_self_mirror"]=100000
},
[2400120]={
["energy"]=10,
@ -2199,13 +2195,12 @@ local skill = {
["name_hit"]={
"suffer03"
},
["fx_self"]=300022,
["bullet_time"]={
693,
3000,
400
},
["fx_self_mirror"]=400022
["fx_self_mirror"]=100000
},
[2400121]={
["position"]=2,
@ -2361,15 +2356,11 @@ local skill = {
},
["shake_time"]=100,
["shake_type"]=1,
["sound_hit"]={
1000001
},
["name_act"]="attack01",
["name_hit"]={
"suffer01"
},
["fx_self"]=300018,
["fx_self_mirror"]=400018
["fx_self_mirror"]=100000
},
[2500111]={
["position"]=2,
@ -2390,15 +2381,11 @@ local skill = {
},
["shake_time"]=100,
["shake_type"]=1,
["sound_hit"]={
1000002
},
["name_act"]="attack02",
["name_hit"]={
"suffer02"
},
["fx_self"]=300019,
["fx_self_mirror"]=400019
["fx_self_mirror"]=100000
},
[2500112]={
["position"]=2,
@ -2419,15 +2406,11 @@ local skill = {
},
["shake_time"]=100,
["shake_type"]=1,
["sound_hit"]={
1000003
},
["name_act"]="attack03",
["name_hit"]={
"suffer01"
},
["fx_self"]=300020,
["fx_self_mirror"]=400020
["fx_self_mirror"]=100000
},
[2500113]={
["position"]=2,
@ -2448,15 +2431,11 @@ local skill = {
},
["shake_time"]=100,
["shake_type"]=1,
["sound_hit"]={
1000004
},
["name_act"]="attack04",
["name_hit"]={
"suffer02"
},
["fx_self"]=300021,
["fx_self_mirror"]=400021
["fx_self_mirror"]=100000
},
[2500120]={
["energy"]=10,
@ -2489,6 +2468,12 @@ local skill = {
["ratio"]=10000,
["round"]=0
},
{
["type"]="hurt_yellow",
["num"]=20000,
["ratio"]=10000,
["round"]=0
},
{
["type"]="hurt_yellow",
["num"]=20000,
@ -2501,7 +2486,8 @@ local skill = {
1,
2,
3,
4
4,
5
},
["skill_position"]={
1,
@ -2509,22 +2495,21 @@ local skill = {
},
["shake_time"]=200,
["shake_type"]=5,
["sound"]=12001200,
["sound_delay"]=0.0,
["name_act"]="skill01",
["name_hit"]={
"suffer01",
"suffer01",
"suffer02",
"suffer03",
"suffer03",
"suffer03"
},
["fx_self"]=300022,
["bullet_time"]={
1167,
3000,
300
},
["fx_self_mirror"]=400022
["fx_self_mirror"]=100000
},
[2500121]={
["position"]=2,
@ -3090,8 +3075,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300018,
["fx_self_mirror"]=400018
["fx_self_mirror"]=100000
},
[2600111]={
["position"]=2,
@ -3119,8 +3103,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300019,
["fx_self_mirror"]=400019
["fx_self_mirror"]=100000
},
[2600112]={
["position"]=2,
@ -3148,8 +3131,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300020,
["fx_self_mirror"]=400020
["fx_self_mirror"]=100000
},
[2600113]={
["position"]=2,
@ -3177,8 +3159,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300021,
["fx_self_mirror"]=400021
["fx_self_mirror"]=100000
},
[2600120]={
["energy"]=10,
@ -3226,13 +3207,12 @@ local skill = {
"suffer02",
"suffer03"
},
["fx_self"]=300022,
["bullet_time"]={
3102,
3000,
400
},
["fx_self_mirror"]=400022
["fx_self_mirror"]=100000
},
[2600121]={
["position"]=2,
@ -3868,8 +3848,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300018,
["fx_self_mirror"]=400018
["fx_self_mirror"]=100000
},
[3500111]={
["position"]=3,
@ -3897,8 +3876,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300019,
["fx_self_mirror"]=400019
["fx_self_mirror"]=100000
},
[3500112]={
["position"]=3,
@ -3926,8 +3904,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300020,
["fx_self_mirror"]=400020
["fx_self_mirror"]=100000
},
[3500113]={
["position"]=3,
@ -3955,8 +3932,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300021,
["fx_self_mirror"]=400021
["fx_self_mirror"]=100000
},
[3500120]={
["energy"]=10,
@ -4018,13 +3994,12 @@ local skill = {
"suffer03",
"suffer03"
},
["fx_self"]=300022,
["bullet_time"]={
1485,
3000,
300
},
["fx_self_mirror"]=400022
["fx_self_mirror"]=100000
},
[3500121]={
["position"]=3,
@ -4820,8 +4795,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300018,
["fx_self_mirror"]=400018
["fx_self_mirror"]=100000
},
[4400111]={
["position"]=4,
@ -4849,8 +4823,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300019,
["fx_self_mirror"]=400019
["fx_self_mirror"]=100000
},
[4400112]={
["position"]=4,
@ -4878,8 +4851,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300020,
["fx_self_mirror"]=400020
["fx_self_mirror"]=100000
},
[4400113]={
["position"]=4,
@ -4907,8 +4879,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300021,
["fx_self_mirror"]=400021
["fx_self_mirror"]=100000
},
[4400120]={
["energy"]=10,
@ -4943,13 +4914,12 @@ local skill = {
["name_hit"]={
"suffer03"
},
["fx_self"]=300022,
["bullet_time"]={
1000,
3000,
400
},
["fx_self_mirror"]=400022
["fx_self_mirror"]=100000
},
[4400121]={
["position"]=4,
@ -5143,9 +5113,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300001,
["fx_target"]=300006,
["fx_self_mirror"]=400001
["fx_self_mirror"]=100000
},
[4500111]={
["position"]=4,
@ -5173,9 +5141,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300002,
["fx_target"]=300006,
["fx_self_mirror"]=400002
["fx_self_mirror"]=100000
},
[4500112]={
["position"]=4,
@ -5203,9 +5169,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300003,
["fx_target"]=300006,
["fx_self_mirror"]=400003
["fx_self_mirror"]=100000
},
[4500113]={
["position"]=4,
@ -5233,9 +5197,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300004,
["fx_target"]=300006,
["fx_self_mirror"]=400004
["fx_self_mirror"]=100000
},
[4500120]={
["buff_id"]={
@ -5279,14 +5241,12 @@ local skill = {
["name_hit"]={
"suffer03"
},
["fx_self"]=300005,
["fx_target"]=300006,
["bullet_time"]={
2211,
3000,
400
},
["fx_self_mirror"]=400005
["fx_self_mirror"]=100000
},
[4500121]={
["position"]=4,
@ -6569,8 +6529,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300018,
["fx_self_mirror"]=400018
["fx_self_mirror"]=100000
},
[5500211]={
["position"]=5,
@ -6598,8 +6557,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300019,
["fx_self_mirror"]=400019
["fx_self_mirror"]=100000
},
[5500212]={
["position"]=5,
@ -6627,8 +6585,7 @@ local skill = {
["name_hit"]={
"suffer01"
},
["fx_self"]=300020,
["fx_self_mirror"]=400020
["fx_self_mirror"]=100000
},
[5500213]={
["position"]=5,
@ -6656,8 +6613,7 @@ local skill = {
["name_hit"]={
"suffer02"
},
["fx_self"]=300021,
["fx_self_mirror"]=400021
["fx_self_mirror"]=100000
},
[5500220]={
["energy"]=10,
@ -6723,13 +6679,12 @@ local skill = {
["name_hit"]={
"suffer03"
},
["fx_self"]=300022,
["bullet_time"]={
2244,
3000,
400
},
["fx_self_mirror"]=400022
["fx_self_mirror"]=100000
},
[5500221]={
["position"]=5,
@ -8610,6 +8565,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -8632,6 +8589,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -8654,6 +8613,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -8723,6 +8684,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -8745,6 +8708,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -8767,6 +8732,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -8821,6 +8788,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -8843,6 +8812,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -8865,6 +8836,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -8943,6 +8916,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -8965,6 +8940,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -8987,6 +8964,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9053,6 +9032,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9075,6 +9056,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9097,6 +9080,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9175,6 +9160,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9196,6 +9183,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9217,6 +9206,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9274,6 +9265,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9295,6 +9288,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9316,6 +9311,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9392,6 +9389,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9413,6 +9412,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9434,6 +9435,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9510,6 +9513,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9532,6 +9537,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9554,6 +9561,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9654,6 +9663,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9676,6 +9687,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9698,6 +9711,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9813,6 +9828,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9834,6 +9851,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9855,6 +9874,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9916,6 +9937,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -9937,6 +9960,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -9958,6 +9983,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -9987,6 +10014,8 @@ local skill = {
},
["cd"]=3,
["cd_start"]=0,
["shake_time"]=200,
["shake_type"]=5,
["sound"]=30185,
["sound_delay"]=0.0,
["name_act"]="skill01",
@ -10047,6 +10076,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -10068,6 +10099,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -10089,6 +10122,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -10166,6 +10201,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -10187,6 +10224,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -10208,6 +10247,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -10273,6 +10314,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -10294,6 +10337,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -10315,6 +10360,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -10412,6 +10459,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -10433,6 +10482,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -10454,6 +10505,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -10565,6 +10618,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -10586,6 +10641,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -10607,6 +10664,8 @@ local skill = {
2,
0
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"
@ -10694,6 +10753,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack01",
["name_hit"]={
"suffer01"
@ -10715,6 +10776,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack02",
["name_hit"]={
"suffer02"
@ -10736,6 +10799,8 @@ local skill = {
1,
140
},
["shake_time"]=100,
["shake_type"]=1,
["name_act"]="attack03",
["name_hit"]={
"suffer01"

View File

@ -681,6 +681,13 @@ local localization_global =
["HERO_DESC_22"] = "去升星",
["HERO_DESC_23"] = "技能等级:{0}",
["BAG_DESC_1"] = "背包",
["DAILY_CHALLENGE_DESC_2"] = "提升难度",
["DAILY_CHALLENGE_DESC_3"] = "通关主线{0}-{1}{2}",
["DAILY_CHALLENGE_DESC_4"] = "难度提升将提升未领取的任务奖励和通关奖励,是否确定?",
["DAILY_CHALLENGE_DESC_5"] = "降低难度后,未领取的任务奖励和通关奖励将降低,是否确定?",
["DAILY_CHALLENGE_DESC_6"] = "请先领取已达成的任务奖励",
["DAILY_CHALLENGE_DESC_7"] = "降低难度",
["DAILY_CHALLENGE_DESC_8"] = "已达成",
["EQUIP_DESC_30"] = "穿戴",
["EQUIP_PARTS_1"] = "头盔",
["EQUIP_PARTS_2"] = "护臂",

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ local task_daily = {
[101]={
["task_type"]=22,
["number"]=1,
["value"]=20
["value"]=10
},
[102]={
["task_type"]=9,
@ -12,35 +12,52 @@ local task_daily = {
[103]={
["task_type"]=15,
["number"]=10,
["value"]=20
["value"]=10
},
[104]={
["task_type"]=18,
["number"]=5,
["value"]=20
},
[105]={
["task_type"]=10,
["number"]=1,
["value"]=10
},
[106]={
[105]={
["task_type"]=26,
["number"]=60,
["value"]=20
["value"]=10
},
[107]={
[106]={
["task_type"]=12,
["number"]=5,
["value"]=10
},
[108]={
[107]={
["task_type"]=13,
["number"]=20,
["value"]=10
},
[108]={
["task_type"]=36,
["number"]=1,
["func_open"]="daily_challenge",
["value"]=10
},
[109]={
["task_type"]=30,
["number"]=2,
["func_open"]="arena_open",
["value"]=20
},
[110]={
["task_type"]=1,
["number"]=3,
["value"]=20
},
[111]={
["task_type"]=47,
["number"]=2,
["value"]=10
}
}
local config = {
data=task_daily,count=8
data=task_daily,count=11
}
return config

View File

@ -1,15 +1,54 @@
local task_daily_stage = {
[101]={
["point"]=30,
["point"]=20,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=18,
["id_for_nothing"]="VwA=",
["num"]=150,
["num_for_nothing"]="Vw1c"
}
}
},
[102]={
["point"]=40,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=5,
["id_for_nothing"]="Uw==",
["num"]=1,
["num_for_nothing"]="Vw=="
}
}
},
[103]={
["point"]=60,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=5,
["id_for_nothing"]="Uw==",
["num"]=2,
["num_for_nothing"]="VA=="
},
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
["num"]=600,
["num_for_nothing"]="UAhc"
},
["num"]=500,
["num_for_nothing"]="Uwhc"
}
}
},
[104]={
["point"]=90,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
@ -17,69 +56,14 @@ local task_daily_stage = {
["id_for_nothing"]="VA==",
["num"]=20,
["num_for_nothing"]="VAg="
}
}
},
[102]={
["point"]=50,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
["num"]=600,
["num_for_nothing"]="UAhc"
},
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=2,
["id_for_nothing"]="VA==",
["num"]=21,
["num_for_nothing"]="VAk="
}
}
},
[103]={
["point"]=80,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
["num"]=600,
["num_for_nothing"]="UAhc"
},
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=2,
["id_for_nothing"]="VA==",
["num"]=22,
["num_for_nothing"]="VAo="
}
}
},
[104]={
["point"]=100,
["reward"]={
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
["num"]=600,
["num_for_nothing"]="UAhc"
},
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=2,
["id_for_nothing"]="VA==",
["num"]=23,
["num_for_nothing"]="VAs="
["id"]=5,
["id_for_nothing"]="Uw==",
["num"]=2,
["num_for_nothing"]="VA=="
}
}
},
@ -89,18 +73,18 @@ local task_daily_stage = {
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=1,
["id_for_nothing"]="Vw==",
["num"]=600,
["num_for_nothing"]="UAhc"
["id"]=2,
["id_for_nothing"]="VA==",
["num"]=80,
["num_for_nothing"]="Xgg="
},
{
["type"]=1,
["type_for_nothing"]="Vw==",
["id"]=2,
["id_for_nothing"]="VA==",
["num"]=24,
["num_for_nothing"]="VAw="
["id"]=42,
["id_for_nothing"]="Ugo=",
["num"]=1,
["num_for_nothing"]="Vw=="
}
}
}

View File

@ -331,11 +331,11 @@ GConst.MESSAGE_BOX_SHOW_TODAY = {
GConst.QUALITY_TYPE =
{
[1] = "#D1D1D1",
[2] = "#A3FF94",
[3] = "#4DFFF5",
[4] = "#FA79FF",
[5] = "#F3A345",
[6] = "#F34545",
[2] = "#5BFF5F",
[3] = "#4ADBFF",
[4] = "#DF70FF",
[5] = "#FF9B59",
[6] = "#FF5D5D",
}
GConst.QUALITY_COLOR = {

View File

@ -108,7 +108,11 @@ function ArenaManager:rspChallenge(result)
atkFormation = atkFormation,
defFormation = defFormation
}
ModuleManager.BattleManager:playBattle(GConst.BattleConst.BATTLE_TYPE.ARENA, params)
ModuleManager.BattleManager:playBattle(GConst.BattleConst.BATTLE_TYPE.ARENA, params, function ()
UIManager:closeAllUI()
ModuleManager.MaincityManager:showMainCityUI()
self:showArenaUI()
end)
--bi上报
LocalData:recordTodayArenaBattle()

View File

@ -12,7 +12,8 @@ function BattleControllerDailyChallenge:getChapterConfig()
end
function BattleControllerDailyChallenge:getChapterId()
return DataManager.DailyChallengeData:getChapterDailyId()
-- return DataManager.DailyChallengeData:getChapterDailyId()
return DataManager.DailyChallengeData:getDiffLv()
end
function BattleControllerDailyChallenge:getBuffs()

View File

@ -128,6 +128,7 @@ function ChapterManager:endFightFinish(result)
ModuleManager.BattleManager:showBattleResultUI(GConst.BattleConst.BATTLE_TYPE.STAGE, newRewards, reqData.combatReport, mysteryBoxIdx, nil, true)
DataManager.ChapterData:fightChapter(reqData.chapter_id, result.max_chapter_id, result.max_wave, reqData.mystery_box_idx)
DataManager.ChapterData:clearChapterBoxState()
-- 处理金猪,要在章节更新之后
DataManager.GoldPigData:addGoldPigCount()

View File

@ -234,4 +234,18 @@ function DailyChallengeManager:getCurTaskProgress(battleController)
return taskCurProgress
end
-- 修改难度
function DailyChallengeManager:onChapterDailyChallengeLevelReq(level)
local parmas = {
level = level,
}
self:sendMessage(ProtoMsgType.FromMsgEnum.ChapterDailyChallengeLevelReq, parmas, {}, self.onChapterDailyChallengeLevelRsp)
end
function DailyChallengeManager:onChapterDailyChallengeLevelRsp(result)
if result.err_code == GConst.ERROR_STR.SUCCESS then
DataManager.DailyChallengeData:setDiffLv(result.reqData.level)
end
end
return DailyChallengeManager

View File

@ -10,7 +10,7 @@ ItemConst.ITEM_ID_BOX_LV_1 = 8
ItemConst.ITEM_ID_BOX_LV_2 = 9
ItemConst.ITEM_ID_BOX_LV_3 = 10
ItemConst.ITEM_ID_BOX_LV_4 = 11
ItemConst.ITEM_ID_EXP = 12
ItemConst.ITEM_ID_EXP = 4
ItemConst.ITEM_ID_BOX_KEY_LV_1 = 13
ItemConst.ITEM_ID_BOX_KEY_LV_2 = 14
ItemConst.ITEM_ID_BOX_KEY_LV_3 = 15

View File

@ -27,9 +27,9 @@ function SummonManager:showSummonOddsUI(summonId)
UIManager:showUI("app/ui/summon/summon_odds_ui", {summonId = summonId})
end
-- function SummonManager:showSummonResultUI(params)
-- UIManager:showUI("app/ui/summon/summon_result_ui", params)
-- end
function SummonManager:showSummonUnlockUI(params)
UIManager:showUI("app/ui/summon/summon_unlock_ui", params)
end
--@region 协议
function SummonManager:onForceSummonReq(count, free, summonType)
@ -45,14 +45,13 @@ function SummonManager:onForceSummonRsp(result)
return
end
DataManager.SummonData:updateSummonCount(result.reqData.id, result.reqData.times, result.reqData.free)
local newForce = {}
local newHero = {}
local guarantee1 = DataManager.SummonData:getSummonWishGuarantee1(result.reqData.id)
for _, reward in pairs(result.rewards) do
-- local isNew = DataManager.ForceData:getForceIsNew(reward.item.id)
-- if isNew then
-- table.insert(newForce, reward.item.id)
-- DataManager.ForceData:setForceIsNew(reward.item.id, false)
-- end
local isNew = DataManager.HeroData:getHeroIsNew(reward.item.id)
if isNew then
table.insert(newHero, reward.item.id)
end
if guarantee1 then
if DataManager.HeroData:getHeroQlt(reward.item.id) == 5 then
DataManager.SummonData:setSummonTrigger(result.reqData.id, true)
@ -61,7 +60,7 @@ function SummonManager:onForceSummonRsp(result)
end
end
end
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.FORCE_SUMMON, result, newForce)
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.FORCE_SUMMON, result, newHero)
-- BIReport:postForceSummon(result.reqData.free, result.reqData.times, result.rewards, result.costs)
-- local params = {
@ -75,10 +74,8 @@ function SummonManager:onForceSummonRsp(result)
-- DataManager.GameSettingData:showRateUIByForceSummon()
-- end
end
--@endregion
function SummonManager:onSummonWishSetReq(summonType, heroId)
self:sendMessage(ProtoMsgType.FromMsgEnum.SummonWishSetReq, {id = summonType, hero = heroId}, {}, self.onSummonWishSetRsp,
BIReport.ITEM_GET_TYPE.FORCE_SUMMON_WISH_HREO_ID)

View File

@ -111,6 +111,8 @@ local ProtoMsgType = {
[2017338205] = "BossRushSettlementRsp",
[2018011867] = "TournWaveRankReq",
[2018013700] = "TournWaveRankRsp",
[2055679641] = "ChapterDailyChallengeLevelReq",
[2055681474] = "ChapterDailyChallengeLevelRsp",
[2060508030] = "ChangeAvatarFrameReq",
[2060509863] = "ChangeAvatarFrameRsp",
[2095612947] = "ChangeNameReq",
@ -408,6 +410,8 @@ local ProtoMsgType = {
BossRushSettlementRsp = 2017338205,
TournWaveRankReq = 2018011867,
TournWaveRankRsp = 2018013700,
ChapterDailyChallengeLevelReq = 2055679641,
ChapterDailyChallengeLevelRsp = 2055681474,
ChangeAvatarFrameReq = 2060508030,
ChangeAvatarFrameRsp = 2060509863,
ChangeNameReq = 2095612947,
@ -705,6 +709,8 @@ local ProtoMsgType = {
BossRushSettlementRsp = "BossRushSettlementRsp",
TournWaveRankReq = "TournWaveRankReq",
TournWaveRankRsp = "TournWaveRankRsp",
ChapterDailyChallengeLevelReq = "ChapterDailyChallengeLevelReq",
ChapterDailyChallengeLevelRsp = "ChapterDailyChallengeLevelRsp",
ChangeAvatarFrameReq = "ChangeAvatarFrameReq",
ChangeAvatarFrameRsp = "ChangeAvatarFrameRsp",
ChangeNameReq = "ChangeNameReq",

View File

@ -281,6 +281,12 @@ function ArenaUI:refreshFightBtn()
self.fightCost:setActive(false)
self.countTxNum:setActive(false)
self.fightBtn:setActive(true)
if DataManager.ArenaData:hasTicket() then
self.fightBtn:addRedPoint(120, 40, 1)
else
self.fightBtn:removeRedPoint()
end
end
return ArenaUI

View File

@ -1,21 +1,24 @@
local DailyChallengeUI = class("DailyChallengeUI", BaseUI)
-- function DailyChallengeUI:getIsOpen()
-- return DataManager.DailyChallengeData:isOpen()
-- end
-- function DailyChallengeUI:getEntranceName()
-- return I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE)
-- end
-- function DailyChallengeUI:getShowEntranceRedPoint()
-- return DataManager.DailyChallengeData:isMeetChallenge()
-- end
function DailyChallengeUI:isFullScreen()
return false
end
function DailyChallengeUI:getCurrencyParams()
if self.currencyParams == nil then
self.currencyParams = {
itemIds = {
GConst.ItemConst.ITEM_ID_GOLD,
GConst.ItemConst.ITEM_ID_GEM,
GConst.ItemConst.ITEM_ID_VIT
},
showType = GConst.CURRENCY_TYPE.HORIZONTAL
}
end
return self.currencyParams
end
function DailyChallengeUI:getPrefabPath()
return "assets/prefabs/ui/daily_challenge/daily_challenge_ui.prefab"
end
@ -32,6 +35,8 @@ function DailyChallengeUI:onLoadRootComplete()
end)
uiMap["daily_challenge_ui.title.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE))
uiMap["daily_challenge_ui.record_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.CHAPTER_DESC_1, DataManager.DailyChallengeData:getMaxWave()))
uiMap["daily_challenge_ui.up_diff_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_2))
uiMap["daily_challenge_ui.down_diff_btn.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_7))
self.tasks = GFunc.getTable()
table.insert(self.tasks, uiMap["daily_challenge_ui.task.icon_task1"])
@ -43,8 +48,8 @@ function DailyChallengeUI:onLoadRootComplete()
table.insert(self.taskMasks, uiMap["daily_challenge_ui.task.icon_task2.mask"])
table.insert(self.taskMasks, uiMap["daily_challenge_ui.task.icon_task3.mask"])
self.buffObj = uiMap["daily_challenge_ui.buffs.buff.btn_buff"]
self.debuffObj = uiMap["daily_challenge_ui.buffs.debuff.btn_debuff"]
self.buffBtn = uiMap["daily_challenge_ui.buffs.buff"]
self.debuffBtn = uiMap["daily_challenge_ui.buffs.debuff"]
self.bossSpine = uiMap["daily_challenge_ui.spine_node"]
self.countdownTx = uiMap["daily_challenge_ui.countdown.time_tx"]
@ -57,9 +62,60 @@ function DailyChallengeUI:onLoadRootComplete()
self.countTxNum = uiMap["daily_challenge_ui.fight_btn.tx_count"]
-- 按钮文本
self.txFight = uiMap["daily_challenge_ui.fight_btn.tx_desc"]
self.upDiffBtn = uiMap["daily_challenge_ui.up_diff_btn"]
self.upDiffBtnDescTx = uiMap["daily_challenge_ui.up_diff_btn.desc_tx"]
self.downDiffBtn = uiMap["daily_challenge_ui.down_diff_btn"]
self.fightBtn:addClickListener(function ()
ModuleManager.DailyChallengeManager:startChallenge()
end)
self.upDiffBtn:addClickListener(function ()
if DataManager.DailyChallengeData:canGetReward() then
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_6))
return
end
local diffChapter = DataManager.DailyChallengeData:getDiffLv()
local maxChapter = DataManager.DailyChallengeData:getMaxDiffLv()
if diffChapter == maxChapter then
return
else
local cfg = DataManager.DailyChallengeData:getDifficultyCfg(diffChapter + 1)
local chapterId = DataManager.ChapterData:getMaxChapterId()
if cfg.max_chapter <= chapterId then
local params = {
content = I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_4),
boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK),
cancelText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_CANCEL),
okFunc = function()
ModuleManager.DailyChallengeManager:onChapterDailyChallengeLevelReq(diffChapter + 1)
end,
}
GFunc.showMessageBox(params)
end
end
end)
self.downDiffBtn:addClickListener(function ()
if DataManager.DailyChallengeData:canGetReward() then
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_6))
return
end
local diffChapter = DataManager.DailyChallengeData:getDiffLv()
if diffChapter == 1 then
return
else
local params = {
content = I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_5),
boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK),
cancelText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_CANCEL),
okFunc = function()
ModuleManager.DailyChallengeManager:onChapterDailyChallengeLevelReq(diffChapter - 1)
end,
}
GFunc.showMessageBox(params)
end
end)
self:bind(DataManager.DailyChallengeData, "isDirty", function()
self:onRefresh()
@ -78,6 +134,7 @@ function DailyChallengeUI:onRefresh()
self:refreshBoss()
self:updateTime()
self:refreshFightBtn()
self:refreshDiffBtn()
if DataManager.DailyChallengeData:getIsPopTask() then
ModuleManager.DailyChallengeManager:showBattleTaskUI()
@ -118,12 +175,12 @@ end
function DailyChallengeUI:refreshBuff()
local buffIds = DataManager.DailyChallengeData:getTodayBuffIds()
self.buffObj:addClickListener(function()
ModuleManager.TipsManager:showDescTips(DataManager.DailyChallengeData:getBuffDesc(buffIds[1]), self.buffObj)
self.buffBtn:addClickListener(function()
ModuleManager.TipsManager:showDescTips(DataManager.DailyChallengeData:getBuffDesc(buffIds[1]), self.buffBtn)
end)
self.debuffObj:addClickListener(function()
ModuleManager.TipsManager:showDescTips(DataManager.DailyChallengeData:getBuffDesc(buffIds[2]), self.debuffObj)
self.debuffBtn:addClickListener(function()
ModuleManager.TipsManager:showDescTips(DataManager.DailyChallengeData:getBuffDesc(buffIds[2]), self.debuffBtn)
end)
end
@ -180,4 +237,26 @@ function DailyChallengeUI:refreshFightBtn()
end
end
function DailyChallengeUI:refreshDiffBtn()
local diffChapter = DataManager.DailyChallengeData:getDiffLv()
local maxChapter = DataManager.DailyChallengeData:getMaxDiffLv()
if diffChapter == maxChapter then
self.upDiffBtn:setActive(false)
else
self.upDiffBtn:setActive(true)
local cfg = DataManager.DailyChallengeData:getDifficultyCfg(diffChapter + 1)
local chapterId = DataManager.ChapterData:getMaxChapterId()
local chapterPage = DataManager.ChapterData:getChapterPage(diffChapter + 1)
local chapterStage = DataManager.ChapterData:getChapterStage(diffChapter + 1)
local str
if cfg.max_chapter <= chapterId then
str = I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_3, chapterPage, chapterStage, "<color=#87FF9E>(" .. I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_8) .. ")</color>")
else
str = I18N:getGlobalText(I18N.GlobalConst.DAILY_CHALLENGE_DESC_3, chapterPage, chapterStage, "<color=#FF8787>(" .. I18N:getGlobalText(I18N.GlobalConst.CHAPTER_WAVE_REAWRD_1) .. ")</color>")
end
self.upDiffBtnDescTx:setText(str)
end
self.downDiffBtn:setActive(diffChapter > 1)
end
return DailyChallengeUI

View File

@ -32,7 +32,9 @@ end
function HeroDetailUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.root:addClickListener(function()
self:closeUI()
end)
uiMap["hero_detail_ui.common.close_btn"]:addClickListener(function()
self:closeUI()
end)

View File

@ -12,7 +12,8 @@ function PlayerLevelUpUI:ctor(params)
params = params or GConst.EMPTY_TABLE
self.fromLevel = params.fromLevel
self.rewards = params.rewards or GConst.EMPTY_TABLE
self.rewards = {}
GFunc.mergeRewards2(params.rewards or GConst.EMPTY_TABLE, self.rewards, true)
end
function PlayerLevelUpUI:onLoadRootComplete()

View File

@ -11,7 +11,6 @@ local SummonMainUI = class("SummonMainUI", BaseUI)
function SummonMainUI:ctor(params)
self.page = params.summonId or 1
self._bgVfxMap = {}
end
function SummonMainUI:getPrefabPath()
@ -39,12 +38,7 @@ function SummonMainUI:getCurrencyParams()
end
function SummonMainUI:onClose()
if self._bgVfxMap then
for k, v in pairs(self._bgVfxMap) do
v:destroy()
end
self._bgVfxMap = nil
end
self.heroNode:removeAllChildren()
-- EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.MAIN_UI_CHECK_POP)
end
@ -74,22 +68,10 @@ function SummonMainUI:onLoadRootComplete()
self.btnWishTx = uiMap["summon_main_ui.node.btn_wish.unlock.tx_guarantee"] --心愿
self.btnWishIcon = uiMap["summon_main_ui.node.btn_wish.unlock.img_wish_icon"] --心愿
self.btnWishAddImg = uiMap["summon_main_ui.node.btn_wish.add_img"]
self.heroNode = uiMap["summon_main_ui.node.hero_node"]
-- self.toggleJump = uiMap["summon_main_ui.jump_tween"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TOGGLE)
-- self.isJumpTween = self.toggleJump.isOn
-- self.toggleJump.onValueChanged:AddListener(function(isOn) self.isJumpTween = isOn end)
self.touchNode = uiMap["summon_main_ui.node.touch_node"]
self.touchNode:setActive(false)
-- uiMap["summon_main_ui.jump_tween"]:setActive(false)
-- self.vfx_b13_ui_chouka_bg_b01 = uiMap["summon_main_ui.vfx_b13_ui_chouka_bg_b01"]
-- self.wishMask = uiMap["summon_main_ui.node.btn_wish.unlock.mask"]
-- self.wishQlt = uiMap["summon_main_ui.node.btn_wish.unlock.qlt"]
-- self.wishMaskSlider = uiMap["summon_main_ui.node.btn_wish.unlock.mask"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE)
-- self.descTx = uiMap["summon_main_ui.btn_wish.desc_tx"]
-- self.descTx = uiMap["summon_main_ui.btn_info.desc_tx"]
-- self.descTx = uiMap["summon_main_ui.jump_tween.desc_tx"]
self.btnSummonFree:addClickListener(function()
self:onSummon(1)
end)
@ -105,6 +87,19 @@ function SummonMainUI:onLoadRootComplete()
end)
end)
self.vfxBg = uiMap["summon_main_ui.node.vfx_c1_chouka_bg_01"]
self.vfxs = {}
self.vfx01s = {}
self.vfx02s = {}
for i = 1, 4 do
self.vfxs[i] = uiMap["summon_main_ui.node.vfx_c1_chouka_0" .. i]
self.vfx01s[i] = uiMap["summon_main_ui.node.vfx_c1_chouka_0" .. i .. "_1"]
self.vfx02s[i] = uiMap["summon_main_ui.node.vfx_c1_chouka_0" .. i .. "_2"]
self.vfxs[i]:setActive(false)
self.vfx01s[i]:setActive(false)
self.vfx02s[i]:setActive(false)
end
uiMap["summon_main_ui.node.btn_info"]:addClickListener(function()
ModuleManager.SummonManager:showSummonOddsUI(self.page)
end)
@ -118,20 +113,6 @@ function SummonMainUI:onLoadRootComplete()
uiMap["summon_main_ui.node.btn_info.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.SUMMON_FORCE_3))
self.descBg = uiMap["summon_main_ui.node.desc_bg"]
self.descTx = uiMap["summon_main_ui.node.desc_bg.desc_tx"]
-- self.spineHero = {}
-- for i = 1, 3 do
-- self.spineHero[i] = uiMap['summon_main_ui.ui_spine_obj_'..i]
-- if i ~= 1 then
-- self.spineHero[i]:setDefaultMix(0)
-- end
-- end
-- self.heroTips = {}
-- for i = 1, 2 do
-- self.heroTips[i] = {}
-- self.heroTips[i].tips = uiMap['summon_main_ui.node.hero_'..i]
-- self.heroTips[i].txName = uiMap['summon_main_ui.node.hero_'..i..'.tx_hero_name']
-- self.heroTips[i].txDesc = uiMap['summon_main_ui.node.hero_'..i..'.tx_hero_desc']
-- end
self.btnTxs = {
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_6),
I18N:getGlobalText(I18N.GlobalConst.SUMMON_DESC_7),
@ -153,16 +134,16 @@ function SummonMainUI:onLoadRootComplete()
end
-------------抽奖相关---------
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newForce)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON, function(result, newHero)
self:refreshWishBtn()
self:onSummonRsp(result, newForce)
self:onSummonRsp(result, newHero)
end)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newForce)
self:addEventListener(EventManager.CUSTOM_EVENT.FORCE_SUMMON_WISH_CLAIM, function(result, newHero)
self:refreshWishBtn()
ModuleManager.SummonManager:showSummonRewardUI({
rewards = result.rewards,
isWish = true,
newForce = newForce,
newHero = newHero,
page = self.page
})
end)
@ -232,38 +213,10 @@ function SummonMainUI:refreshPageBtn()
for i = 1, 2 do
if self.page == i then
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_btn_" .. i .."_1")
-- self.pageBtnTxs[i]:setText(self.btnTxs[i])
else
self.pageBtns[i]:setSprite(GConst.ATLAS_PATH.ACT_COMMON, "act_common_btn_" .. i .."_2")
-- self.pageBtnTxs[i]:setText("<color=#72778C>" .. self.btnTxs[i] .. "</color>")
end
end
-- for i, v in ipairs(self.pageBtns) do
-- if i <= table.nums(summonList) then
-- local isRedPoint = false
-- if i == 1 then
-- if DataManager.SummonData:hasSummonFree(1) or GFunc.checkCost(GConst.ItemConst.ITEM_ID_QLT_5_FRAGMENT, 1, false) then
-- isRedPoint = true
-- end
-- else
-- local itemCost = DataManager.SummonData:getSummonItemCost(summonList[i])
-- if itemCost then
-- local costId = GFunc.getRewardId(itemCost)
-- local costNum = GFunc.getRewardNum(itemCost)
-- if GFunc.checkCost(costId, costNum, false) then
-- isRedPoint = true
-- end
-- end
-- end
-- if isRedPoint then
-- v.btn:addRedPoint(33, 33, 1)
-- else
-- v.btn:removeRedPoint()
-- end
-- else
-- v.btn:setActive(false)
-- end
-- end
end
--刷新抽奖按钮
@ -273,13 +226,10 @@ function SummonMainUI:refreshSummonBtn()
self.btnSummonAd:setActive(adCount > 0)
self.btnSummonFree:setActive(freeCount > 0)
self.btnSummonOne:setActive(freeCount <= 0)
-- self.txFreeTime:setActive(not isFree and not DataManager.SummonData:getIsActivity())
local itemCost = DataManager.SummonData:getSummonItemCost(self.page)
local costId = itemCost.id
-- local costNum = itemCost.num
local hadNum = DataManager.BagData.ItemData:getItemNumById(costId)
-- local obj = DataManager.BagData.ItemData:getItemById(costId)
if freeCount <= 0 then
if hadNum >= 1 then
self.txNumOne:setText(1)
@ -336,7 +286,6 @@ function SummonMainUI:refreshWishBtn()
local summonCount = DataManager.SummonData:getSummonCount(self.page)
local unlockCount = DataManager.SummonData:getSummonWishUnlock(self.page)
self.isUnlock = summonCount >= unlockCount
-- self.txUnlock:setText(summonCount .. "/" .. unlockCount .. I18N:getGlobalText(I18N.GlobalConst.MAGIC_BOOK_DESC_4))
local wishCount = DataManager.SummonData:getSummonWishCount(self.page)
local needCount = DataManager.SummonData:getSummonWishGuarantee2(self.page)
self.btnWishTx:setText(wishCount .. "/" .. needCount)
@ -349,7 +298,6 @@ function SummonMainUI:refreshWishBtn()
self.btnWishAddImg:setActive(false)
else
self.btnWishIcon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
-- self.btnWish:setSprite(GConst.ATLAS_PATH.ICON_ITEM, "frame_1")
self.btnWishAddImg:setActive(true)
end
end
@ -364,12 +312,15 @@ function SummonMainUI:refreshBtnRedPoint()
end
function SummonMainUI:onSummon(count, isAd)
self.heroNode:removeAllChildren()
if isAd then
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
self:disableTouch()
ModuleManager.SummonManager:onForceSummonReq(count, 1, self.page)
else
local freeCount = DataManager.SummonData:getSummonFreeCount(self.page)
if freeCount > 0 and count == 1 then
self:disableTouch()
ModuleManager.SummonManager:onForceSummonReq(count, 2, self.page)
return
end
@ -397,6 +348,7 @@ function SummonMainUI:onSummon(count, isAd)
end
end
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
self:disableTouch()
ModuleManager.SummonManager:onForceSummonReq(count, 0, self.page)
end
GFunc.showMessageBox(params)
@ -409,41 +361,84 @@ function SummonMainUI:onSummon(count, isAd)
end
end
AudioManager:playEffect(AudioManager.EFFECT_ID.UI_SUMMON_START)
self:disableTouch()
ModuleManager.SummonManager:onForceSummonReq(count, 0, self.page)
end
end
function SummonMainUI:onSummonRsp(result, newForce)
function SummonMainUI:onSummonRsp(result, newHero)
self:refreshSummonBtn()
self.summonResult = result
if self.isJumpTween or self.selectSpineId ~= 1 then
if not result.rewards or not result.rewards[1] then
self:enableTouch()
return
end
if self.aniSeq then
self.aniSeq:Kill()
self.aniSeq = nil
end
for i = 1, 4 do
self.vfxs[i]:setActive(false)
self.vfx01s[i]:setActive(false)
self.vfx02s[i]:setActive(false)
end
local id = result.rewards[1].item.id
local qlt = DataManager.HeroData:getHeroQlt(id) - 2
self.summonResult = result.rewards
self.aniSeq = self.root:createBindTweenSequence()
if self.vfxs[qlt] then
self.vfxs[qlt]:setActive(true)
end
self.aniSeq:AppendInterval(2)
self.aniSeq:AppendCallback(function()
self:showHero(1, newHero)
end)
end
function SummonMainUI:showHero(idx, newHero)
if not self.summonResult[idx] then
self:enableTouch()
for i = 1, 4 do
self.vfxs[i]:setActive(false)
self.vfx01s[i]:setActive(false)
self.vfx02s[i]:setActive(false)
end
ModuleManager.SummonManager:showSummonRewardUI({
rewards = self.summonResult.rewards,
callback = function(count, isAd)
self:onSummon(count, isAd)
rewards = self.summonResult,
callback = function(count)
self:onSummon(count)
end,
newForce = newForce,
newHero = newHero,
page = self.page
})
else
self:disableTouch()
self.selectSpine:playAnimComplete("open01", false, true, function()
self.selectSpine:playAnim("idle02", true, false)
end, false, 0.4, function()
ModuleManager.SummonManager:showSummonRewardUI({
rewards = self.summonResult.rewards,
callback = function(count)
self:onSummon(count)
end,
tweenEnd = function()
self:enableTouch()
self.selectSpine:playAnim("idle01", true, false)
end,
newForce = newForce,
page = self.page
})
end)
return
end
for i = 1, 4 do
self.vfx01s[i]:setActive(false)
self.vfx02s[i]:setActive(false)
end
local id = self.summonResult[idx].item.id
local cfg = DataManager.HeroData:getHeroConfig(id)
local qlt = cfg.qlt - 2
self.heroNode:removeAllChildren()
SpineManager:loadHeroAsync(cfg.model_id, self.heroNode, function(spineObject)
spineObject:setActive(false)
spineObject:playAnimation("idle", true)
spineObject:setLocalScale(0.7, 0.7, 0.7)
self.vfxBg:setActive(true)
if self.vfx01s[qlt] then
self.vfx01s[qlt]:setActive(true)
end
if self.vfx02s[qlt] then
self.vfx02s[qlt]:setActive(true)
end
self:performWithDelayGlobal(function()
spineObject:setActive(true)
end, 0.25)
self:performWithDelayGlobal(function()
self:showHero(idx + 1, newHero)
end, 1)
end)
end
function SummonMainUI:disableTouch()

View File

@ -13,8 +13,7 @@ function SummonRewardUI:ctor(params)
self.rewards = params.rewards or {}
self.isWish = params.isWish or false
self.callback = params.callback
self.tweenEnd = params.tweenEnd
self.unlockList = params.newForce
self.unlockList = params.newHero or {}
self.page = params.page
end
@ -96,11 +95,6 @@ function SummonRewardUI:setCellEffectOrder(cell)
effect:setSortingOrder(self:getUIOrder(), 10)
end
end
function SummonRewardUI:onClose()
if self.tweenEnd ~= nil then
self.tweenEnd()
end
end
function SummonRewardUI:refreshSummonBtn()
local freeCount = DataManager.SummonData:getSummonFreeCount(self.page)
@ -173,10 +167,10 @@ function SummonRewardUI:onRefresh()
self.rewardOneCell:refresh(self.rewards[1], 0, self)
local qlt = DataManager.HeroData:getHeroQlt(self.rewards[1].item.id)
if qlt == 4 or qlt == 5 then
offsetTime = offsetTime + 0.5
self:doUITweenShake(0.7)
end
-- if qlt == 4 or qlt == 5 then
-- offsetTime = offsetTime + 0.5
-- self:doUITweenShake(0.7)
-- end
CS.DG.Tweening.DOVirtual.DelayedCall(0.3 + offsetTime, function()
self:checkUnlockMap()
self.btnGet:setActive(true)
@ -198,15 +192,15 @@ function SummonRewardUI:onRefresh()
if self.rewards[i] then
local delayTime = (i - 1) * 0.06 + offsetTime
local qlt = DataManager.HeroData:getHeroQlt(self.rewards[i].item.id)
if qlt == 4 or qlt == 5 then
offsetTime = offsetTime + 1
end
-- if qlt == 4 or qlt == 5 then
-- offsetTime = offsetTime + 1
-- end
self.rewardTenCells[i]:getBaseObject():setActive(false)
self:performWithDelayGlobal(function()
self.rewardTenCells[i]:refresh(self.rewards[i], i == 3 or i == 7, self)
if qlt == 4 or qlt == 5 then
self:doUITweenShake(0.3)
end
-- if qlt == 4 or qlt == 5 then
-- self:doUITweenShake(0.3)
-- end
end, delayTime)
end
end
@ -237,6 +231,7 @@ function SummonRewardUI:doUITweenShake(delayTime)
self.shakeSeq:AppendInterval(delayTime)
self.shakeSeq:Append(self.tranBg:getTransform():DOShakeAnchorPos(duration, strength,vibrato, randomness, fadeOut))
end
function SummonRewardUI:checkUnlockMap()
if self.unlockList == nil then
return
@ -245,7 +240,9 @@ function SummonRewardUI:checkUnlockMap()
return
end
if #self.unlockList > 0 then
ModuleManager.ForceManager:showForceUnlockUI(self.unlockList)
local params = {}
params.unlockList = self.unlockList
ModuleManager.SummonManager:showSummonUnlockUI(params)
end
end

View File

@ -0,0 +1,80 @@
local SummonUnlockUI = class("SummonUnlockUI", BaseUI)
local CELL_HEIGHT = 230
local CELL_HEIGHT_1 = 120
local NOT_OWN_NODE_HEIGHT = 56
local DIFF_HEIGHT = 20
local ForceCell = "app/ui/summon/cell/summon_force_cell"
function SummonUnlockUI:isFullScreen()
return false
end
function SummonUnlockUI:ctor(params)
params = params or {}
self.unlockList = params.unlockList or {}
self.idx = 1
end
function SummonUnlockUI:getPrefabPath()
return "assets/prefabs/ui/summon/summon_unlock_ui.prefab"
end
function SummonUnlockUI:onClose()
self.heroNode:removeAllChildren()
end
function SummonUnlockUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.root:addClickListener(function()
self:checkUnlockMap()
end)
self.heroNode = uiMap["summon_unlock_ui.hero_bg.hero_node"]
self.nameTx = uiMap["summon_unlock_ui.name_tx"]
self.matchTx = uiMap["summon_unlock_ui.match_node.match_tx"]
self.matchImg = uiMap["summon_unlock_ui.match_node.match_tx.match_img"]
self.qltBg = uiMap["summon_unlock_ui.qlt_bg"]
self.qltBgTx = uiMap["summon_unlock_ui.qlt_bg.qlt_tx"]
self.uiSpine = uiMap["summon_unlock_ui.ui_spine_obj"]
uiMap["summon_unlock_ui.title_bg.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACTIVITY_MOON_DESC_3))
uiMap["summon_unlock_ui.continue_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_TO_CONTINUE))
end
function SummonUnlockUI:onRefresh()
self.heroNode:removeAllChildren()
self.heroId = table.remove(self.unlockList, 1)
local heroEntity = DataManager.HeroData:getHeroById(self.heroId)
local matchType = heroEntity:getMatchType()
local qlt = heroEntity:getQlt()
self.nameTx:setText(heroEntity:getName())
self.matchTx:setText(ModuleManager.HeroManager:getMatchTypeName(matchType))
self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, ModuleManager.HeroManager:getMatchTypeIcon(matchType))
self.qltBg:setSprite(GFunc.getHeroQltImg(qlt))
self.qltBgTx:setText(GFunc.getHeroQltStr(qlt))
self:loadHero()
end
function SummonUnlockUI:loadHero()
local cfg = DataManager.HeroData:getHeroConfig(self.heroId)
local qlt = cfg.qlt - 1
SpineManager:loadHeroAsync(cfg.model_id, self.heroNode, function(spineObject)
spineObject:playAnimation("idle", true)
self.uiSpine:playAnimComplete("open0" .. qlt, false, true, function()
self.uiSpine:playAnim("idle0" .. qlt, true, true)
end)
end)
end
function SummonUnlockUI:checkUnlockMap()
if #self.unlockList <= 0 then
self:closeUI()
return
end
self.idx = self.idx + 1
self:onRefresh()
end
return SummonUnlockUI

View File

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

View File

@ -19,15 +19,18 @@ end
function TalentCell:refresh(idx, cfg, showAni)
self.idx = idx
self.bg:setSprite(GConst.ATLAS_PATH.ICON_TALENT, "talent_b_" .. cfg.qlt)
self.bg1:setSprite(GConst.ATLAS_PATH.ICON_TALENT, "talent_" .. idx)
self.descTx1:setText(I18N:getText("talent", idx, "name"))
local lv = DataManager.TalentData:getLevels(idx)
self.descTx2:setText("Lv." .. lv)
if showAni then
self.bg:setActive(true)
self.bg:setSprite(GConst.ATLAS_PATH.ICON_TALENT, "talent_b_" .. cfg.qlt)
self.animator.enabled = true
self.animator:SetTrigger("t_open")
elseif lv <= 0 then
self.bg:setActive(true)
self.bg:setSprite(GConst.ATLAS_PATH.ICON_TALENT, "talent_b_0")
else
self.bg:setActive(false)
end

View File

@ -10,6 +10,7 @@ function ArenaData:clear()
self.lastArenaGiftId = nil
self.curArenaGiftId = nil
self.giftExpireAt = nil
self.inited = nil
end
function ArenaData:init(data)
@ -39,6 +40,8 @@ function ArenaData:init(data)
DataManager.FormationData:initArena(data.attack_array_heroes, data.defend_array_heroes)
DataManager.PlayerData:initArena(data.today_ticket_buy_count, data.today_ticket_ad_count)
self.inited = true
-- 未找到相应赛季数据
if not self:hasServerData() then
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_30))
@ -461,10 +464,17 @@ end
-- 是否有入口红点
function ArenaData:hasEntranceRedDot()
if not self.inited then
return false
end
if not self:isOpen() then
return false
end
return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_ARENA_TICKET) > 0 or self:hasSeasonReward() or self:hasGradingRewardRedDot()
return self:hasSeasonReward() or self:hasGradingRewardRedDot() or self:hasTicket()
end
function ArenaData:hasTicket()
return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_ARENA_TICKET) > 0
end
-- 广告宝箱 ----------------------------------------------------------------------

View File

@ -154,6 +154,10 @@ function ChapterData:getChapterBoxNum(chapterId, index)
return 1
end
function ChapterData:clearChapterBoxState()
self.boxCanGetState = nil
end
function ChapterData:getChapterBoxCanGet()
if self.boxCanGetState == nil then
self:calcChapterBoxCanGet()
@ -162,9 +166,10 @@ function ChapterData:getChapterBoxCanGet()
end
function ChapterData:calcChapterBoxCanGet()
for chapterId = 1, self.data.maxChapterId do
local maxChapterId = self:getNextChapter(self.data.maxChapterId)
for chapterId = 1, maxChapterId do
for ii = 1, 3 do
local canGet = not self:getChapterBoxRewardGot(chapterId, ii)
local canGet = self:boxCanGet(chapterId, ii)
if canGet then
self.boxCanGetState = true
return
@ -180,7 +185,7 @@ function ChapterData:getChapterBoxCanGetInfo()
for chapterId = 1, maxChapterId do
local boxes = {}
for i = 1, 3 do
local canGet = not self:getChapterBoxRewardGot(chapterId, i) and self:boxCanGet(chapterId, i)
local canGet = self:boxCanGet(chapterId, i)
if canGet then
table.insert(boxes, i)
end
@ -346,7 +351,7 @@ function ChapterData:openBox()
for chapterId = 1, maxChapterId do
self.data.chapterInfo[chapterId] = self.data.chapterInfo[chapterId] or {total_count = 0, index = {}, mystery_box_idx = {}}
for i = 1, 3 do
local canGet = not self:getChapterBoxRewardGot(chapterId, i) and self:boxCanGet(chapterId, i)
local canGet = self:boxCanGet(chapterId, i)
if canGet then
self.data.chapterInfo[chapterId].index[i] = i
end

View File

@ -1,5 +1,6 @@
local DailyChallengeData = class("DailyChallengeData", BaseData)
local TASK_CFG = ConfigManager:getConfig("task_daily_challenge")
local CHAPTER_DAILY_CHALLENGE_CFG = ConfigManager:getConfig("chapter_daily_challenge")
local PER_TASK = {[6] = true}
local FIXED_HERO_TASK = {}
local MATCH_TYPE_TASK = {[4] = true, [6] = true}
@ -10,80 +11,81 @@ function DailyChallengeData:ctor()
end
function DailyChallengeData:init(data)
if EDITOR_MODE then
Logger.logHighlight("每日挑战 更新数据...")
Logger.printTable(data)
end
data = data or GConst.EMPTY_TABLE
self.maxWave = data.max_wave or 0
self.fixedChapterId = data.today_fixed_chapter_id or 1
self.chapterDailyId = data.rand_chapter_daily_id or 1
self.tasks = data.tasks or GConst.EMPTY_TABLE
self.buffIds = data.buff_id or GConst.EMPTY_TABLE
self.totalFightCount = data.total_challenge_count or 0
self.todayFightCount = data.today_challenge_count or 0
self.initDay = Time:getBeginningOfServerToday()
self.popTaskTime = LocalData:getChallengeTaskPopTime()
self:setDirty()
if EDITOR_MODE then
Logger.logHighlight("每日挑战 更新数据...")
Logger.printTable(data)
end
data = data or GConst.EMPTY_TABLE
self.maxWave = data.max_wave or 0
self.fixedChapterId = data.today_fixed_chapter_id or 1
self.chapterDailyId = data.rand_chapter_daily_id or 1
self.tasks = data.tasks or GConst.EMPTY_TABLE
self.buffIds = data.buff_id or GConst.EMPTY_TABLE
self.totalFightCount = data.total_challenge_count or 0
self.todayFightCount = data.today_challenge_count or 0
self.initDay = Time:getBeginningOfServerToday()
self.popTaskTime = LocalData:getChallengeTaskPopTime()
self.diffLv = data.level or 1
self:setDirty()
end
function DailyChallengeData:onGetedTaskReward(idx)
if self.tasks[idx] then
self.tasks[idx].claimed = true
self:setDirty()
end
if self.tasks[idx] then
self.tasks[idx].claimed = true
self:setDirty()
end
end
function DailyChallengeData:clear()
end
function DailyChallengeData:isOpen()
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.DAILY_CHALLENGE, true) then
return false
end
return true
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.DAILY_CHALLENGE, true) then
return false
end
return true
end
function DailyChallengeData:setDirty()
self.data.isDirty = not self.data.isDirty
self.data.isDirty = not self.data.isDirty
end
-- 是否满足挑战条件
function DailyChallengeData:isMeetChallenge()
return self:isOpen() and self:isEnoughChallengeTime() and self:isEnoughHp()
return self:isOpen() and self:isEnoughChallengeTime() and self:isEnoughHp()
end
-- 次数是否足够
function DailyChallengeData:isEnoughChallengeTime()
return self:getTodayRemainLimitCount() > 0
return self:getTodayRemainLimitCount() > 0
end
-- 获取挑战次数消耗
function DailyChallengeData:getChallengeTimeCost()
return GFunc.getConstIntValue("daily_challenge_limit")
return GFunc.getConstIntValue("daily_challenge_limit")
end
-- 体力是否足够
function DailyChallengeData:isEnoughHp()
local const = self:getChallengeHpCost()
local constNum = nil
if const then
constNum = GFunc.getRewardNum(const)
else
constNum = 0
end
return constNum <= DataManager.BagData.ItemData:getVit()
local const = self:getChallengeHpCost()
local constNum = nil
if const then
constNum = GFunc.getRewardNum(const)
else
constNum = 0
end
return constNum <= DataManager.BagData.ItemData:getVit()
end
-- 获取挑战体力消耗
function DailyChallengeData:getChallengeHpCost()
return GFunc.getConstReward("daily_challenge_cost")
return GFunc.getConstReward("daily_challenge_cost")
end
-- 获取今日挑战场景配置
function DailyChallengeData:getMapConfig()
return ConfigManager:getConfig("chapter_daily_challenge")[self:getChapterDailyId()]
return ConfigManager:getConfig("chapter_daily_challenge")[self:getChapterDailyId()]
end
function DailyChallengeData:getTaskCfg()
@ -95,173 +97,173 @@ end
-- 获取今日通关次数
function DailyChallengeData:getTodayPassNum()
return self.todayFightCount
return self.todayFightCount
end
-- 获取今日最高记录(最大通过波次)
function DailyChallengeData:getMaxWave()
return self.maxWave
return self.maxWave
end
-- 获取今日增益、负面buff
function DailyChallengeData:getTodayBuffIds()
return self.buffIds
return self.buffIds
end
-- 获取buff描述
function DailyChallengeData:getBuffDesc(buffId)
return I18N:getText("buff_daily_challenge", buffId, "desc")
return I18N:getText("buff_daily_challenge", buffId, "desc")
end
-- 获取最终boss配置信息
function DailyChallengeData:getFinalBossInfo()
if not self:isOpen() then
return
end
local mapCfg = self:getMapConfig()
if not mapCfg then
return
end
return ConfigManager:getConfig("monster")[mapCfg.monster[#mapCfg.monster]]
if not self:isOpen() then
return
end
local mapCfg = self:getMapConfig()
if not mapCfg then
return
end
return ConfigManager:getConfig("monster")[mapCfg.monster[#mapCfg.monster]]
end
-- 任务是否完成
function DailyChallengeData:isTaskFinish(index)
if not self:isOpen() then
return false
end
local cfg = self:getTaskCfgInfo(self.tasks[index].task_id)
if not cfg then
return false
end
if not self:isOpen() then
return false
end
local cfg = self:getTaskCfgInfo(self.tasks[index].task_id)
if not cfg then
return false
end
return cfg.param <= self.tasks[index].progress
return cfg.param <= self.tasks[index].progress
end
function DailyChallengeData:getTasks()
return self.tasks
return self.tasks
end
function DailyChallengeData:getTaskById(taskId)
for index, taskInfo in ipairs(self.tasks) do
if taskInfo.task_id == taskId then
return taskInfo
end
end
for index, taskInfo in ipairs(self.tasks) do
if taskInfo.task_id == taskId then
return taskInfo
end
end
return
return
end
-- 任务奖励是否可领取
function DailyChallengeData:canClaimTask(index)
if not self:isOpen() then
return false
end
if not self.tasks[index] then
return false
end
if self.tasks[index].claimed then
return false
end
if not self:isOpen() then
return false
end
if not self.tasks[index] then
return false
end
if self.tasks[index].claimed then
return false
end
return self:isTaskFinish(index)
return self:isTaskFinish(index)
end
function DailyChallengeData:getTaskProgresss(index)
if not self:isOpen() then
return 0
end
if not self.tasks[index] then
return 0
end
return self.tasks[index].progress
if not self:isOpen() then
return 0
end
if not self.tasks[index] then
return 0
end
return self.tasks[index].progress
end
function DailyChallengeData:getTaskCfgInfo(taskId)
return TASK_CFG[taskId]
return TASK_CFG[taskId]
end
function DailyChallengeData:getTaskTotalNumber(taskId)
if self:getTaskCfgInfo(taskId) then
return self:getTaskCfgInfo(taskId).param
else
return 1 -- 容错,防止报错
end
if self:getTaskCfgInfo(taskId) then
return self:getTaskCfgInfo(taskId).param
else
return 1 -- 容错,防止报错
end
end
function DailyChallengeData:getTaskRewards(taskId)
if self:getTaskCfgInfo(taskId) then
return self:getTaskCfgInfo(taskId).reward
end
return nil
if self:getTaskCfgInfo(taskId) then
return self:getTaskCfgInfo(taskId).reward
end
return nil
end
function DailyChallengeData:getTaskDesc(taskId, needProgress, customProgress)
local desc = GConst.EMPTY_STRING
if not I18N:getConfig("task_daily_challenge")[taskId] then
return desc
end
local taskNum = self:getTaskTotalNumber(taskId)
if PER_TASK[taskId] then
taskNum = taskNum * 100 // GConst.BattleConst.DEFAULT_FACTOR
end
local taskInfo = self:getTaskById(taskId)
if not taskInfo then
return desc
end
local desc = GConst.EMPTY_STRING
if not I18N:getConfig("task_daily_challenge")[taskId] then
return desc
end
local taskNum = self:getTaskTotalNumber(taskId)
if PER_TASK[taskId] then
taskNum = taskNum * 100 // GConst.BattleConst.DEFAULT_FACTOR
end
local taskInfo = self:getTaskById(taskId)
if not taskInfo then
return desc
end
local conditionStr
if FIXED_HERO_TASK[taskId] then -- 具体英雄
conditionStr = ModuleManager.HeroManager:getHeroName(taskInfo.param, true)
elseif MATCH_TYPE_TASK[taskId] then -- 颜色英雄
conditionStr = ModuleManager.HeroManager:getMatchTypeName(taskInfo.param, true)
end
local conditionStr
if FIXED_HERO_TASK[taskId] then -- 具体英雄
conditionStr = ModuleManager.HeroManager:getHeroName(taskInfo.param, true)
elseif MATCH_TYPE_TASK[taskId] then -- 颜色英雄
conditionStr = ModuleManager.HeroManager:getMatchTypeName(taskInfo.param, true)
end
if conditionStr then
desc = I18N:getText("task_daily_challenge", taskId, "desc", conditionStr, taskNum)
else
desc = I18N:getText("task_daily_challenge", taskId, "desc", taskNum)
end
if conditionStr then
desc = I18N:getText("task_daily_challenge", taskId, "desc", conditionStr, taskNum)
else
desc = I18N:getText("task_daily_challenge", taskId, "desc", taskNum)
end
if needProgress and NEED_PROGRESS_TASK[taskId] then
local progress = customProgress or taskInfo.progress
if PER_TASK[taskId] then
progress = progress * 100 // GConst.BattleConst.DEFAULT_FACTOR .. "%"
taskNum = taskNum .. "%"
end
local progressStr = string.format("<color=#5FFF53>(%s/%s)</color>", progress, taskNum)
desc = desc .. progressStr
end
return desc
if needProgress and NEED_PROGRESS_TASK[taskId] then
local progress = customProgress or taskInfo.progress
if PER_TASK[taskId] then
progress = progress * 100 // GConst.BattleConst.DEFAULT_FACTOR .. "%"
taskNum = taskNum .. "%"
end
local progressStr = string.format("<color=#5FFF53>(%s/%s)</color>", progress, taskNum)
desc = desc .. progressStr
end
return desc
end
function DailyChallengeData:getTodayRemainLimitCount()
local count = self:getChallengeTimeCost() - self.todayFightCount
if count < 0 then
count = 0
end
return count
local count = self:getChallengeTimeCost() - self.todayFightCount
if count < 0 then
count = 0
end
return count
end
-- 处理主动退出的情况
function DailyChallengeData:onFightCountReduce()
self.todayFightCount = self.todayFightCount + 1
self.todayFightCount = self.todayFightCount + 1
end
function DailyChallengeData:getFixedChapterId()
return self.fixedChapterId
return self.fixedChapterId
end
function DailyChallengeData:getChapterDailyId()
return self.chapterDailyId
return self.chapterDailyId
end
function DailyChallengeData:setFixedChapterId(id)
self.fixedChapterId = id
self.fixedChapterId = id
end
function DailyChallengeData:getTotalFightCount()
return self.totalFightCount
return self.totalFightCount
end
function DailyChallengeData:getIfCanReset()
@ -285,14 +287,14 @@ function DailyChallengeData:getIsInReset()
end
function DailyChallengeData:getIsPopTask()
if not self:isOpen() then
return false
end
return self.popTaskTime < Time:getBeginningOfServerToday()
if not self:isOpen() then
return false
end
return self.popTaskTime < Time:getBeginningOfServerToday()
end
function DailyChallengeData:markPopTask()
if self.popTaskTime >= Time:getBeginningOfServerToday() then
if self.popTaskTime >= Time:getBeginningOfServerToday() then
return
end
self.popTaskTime = Time:getBeginningOfServerToday()
@ -301,12 +303,36 @@ end
--@region 红点
function DailyChallengeData:showRedPoint()
for i = 1, 3 do
if DataManager.DailyChallengeData:canClaimTask(i) then
return true
end
end
return false
return self:canGetReward()
end
function DailyChallengeData:canGetReward()
for i = 1, 3 do
if DataManager.DailyChallengeData:canClaimTask(i) then
return true
end
end
return false
end
--@endregion
--@region 难度
function DailyChallengeData:setDiffLv(diffLv)
self.diffLv = diffLv
self:setDirty()
end
function DailyChallengeData:getDiffLv()
return self.diffLv
end
function DailyChallengeData:getMaxDiffLv()
return #CHAPTER_DAILY_CHALLENGE_CFG
end
function DailyChallengeData:getDifficultyCfg(id)
return CHAPTER_DAILY_CHALLENGE_CFG[id]
end
--@endregion
return DailyChallengeData

View File

@ -145,6 +145,11 @@ function HeroData:setHeroLv(id, lv)
BIReport:postFirstDayHeroLevel(id)
end
function HeroData:getHeroIsNew(id)
local entity = self:getHeroById(id)
return entity and entity:getIsNew() or false
end
function HeroData:getMatchActiveHeroMap()
return self.matchActiveHeroMap
end

View File

@ -9,6 +9,7 @@ function HeroEntity:ctor(cfgId, lv, skin, star)
self.data.star = star or 0
self.config = ConfigManager:getConfig("hero")[self.cfgId]
self.beginLv = 1 -- 激活等级
self.isNew = false
self.baseAttrOriginal = {}
self.starAttr = {}
@ -282,6 +283,7 @@ function HeroEntity:setLv(lv, onlyChangeLv)
if self.data.lv == lv then
return
end
self.isNew = lv == 1
self.oldLv = self.data.lv
self.data.lv = lv
self:_updateAllBaseAttr()
@ -294,6 +296,12 @@ function HeroEntity:setLv(lv, onlyChangeLv)
end
end
function HeroEntity:getIsNew()
local isNew = self.isNew
self.isNew = false
return isNew
end
function HeroEntity:getLv()
return self.data.lv
end

View File

@ -191,7 +191,15 @@ end
--@region 红点
function SummonData:hasSummonCostRedPoint()
return self:hasSummonFree(1) or self:hasSummonFree(2)
return self:hasSummonFree(1) or self:hasSummonFree(2) or self:hasSummonCost1() or self:hasSummonCost2()
end
function SummonData:hasSummonCost1()
return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_1) > 0
end
function SummonData:hasSummonCost2()
return DataManager.BagData.ItemData:getItemNumById(GConst.ItemConst.ITEM_ID_SUMMON_2) > 0
end
--@endregion