This commit is contained in:
puxuan 2025-08-15 21:35:16 +08:00
parent 9752a8ff72
commit dd4b156c07
17 changed files with 1438 additions and 604 deletions

View File

@ -532,7 +532,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=2,
["next_chapter"]=4,
["icon"]="chapter_3",
["icon"]="chapter_1",
["scene"]="bg_3",
["block_icon"]="battle_hinder_3",
["chess_board"]="chessboard_1",
@ -783,7 +783,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=3,
["next_chapter"]=5,
["icon"]="chapter_4",
["icon"]="chapter_2",
["scene"]="bg_4",
["block_icon"]="battle_hinder_4",
["chess_board"]="chessboard_1",
@ -1050,7 +1050,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=4,
["next_chapter"]=6,
["icon"]="chapter_5",
["icon"]="chapter_1",
["scene"]="bg_5",
["block_icon"]="battle_hinder_5",
["chess_board"]="chessboard_1",
@ -1322,7 +1322,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=5,
["next_chapter"]=7,
["icon"]="chapter_6",
["icon"]="chapter_2",
["scene"]="bg_6",
["block_icon"]="battle_hinder_6",
["chess_board"]="chessboard_2",
@ -1594,7 +1594,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=6,
["next_chapter"]=8,
["icon"]="chapter_7",
["icon"]="chapter_1",
["scene"]="bg_7",
["block_icon"]="battle_hinder_7",
["chess_board"]="chessboard_2",
@ -1866,7 +1866,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=7,
["next_chapter"]=9,
["icon"]="chapter_8",
["icon"]="chapter_2",
["scene"]="bg_8",
["block_icon"]="battle_hinder_8",
["chess_board"]="chessboard_2",
@ -2138,7 +2138,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=8,
["next_chapter"]=10,
["icon"]="chapter_9",
["icon"]="chapter_1",
["scene"]="bg_9",
["block_icon"]="battle_hinder_9",
["chess_board"]="chessboard_2",
@ -2410,7 +2410,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=9,
["next_chapter"]=11,
["icon"]="chapter_10",
["icon"]="chapter_2",
["scene"]="bg_10",
["block_icon"]="battle_hinder_10",
["chess_board"]="chessboard_2",
@ -2682,7 +2682,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=10,
["next_chapter"]=12,
["icon"]="chapter_11",
["icon"]="chapter_1",
["scene"]="bg_11",
["block_icon"]="battle_hinder_11",
["chess_board"]="chessboard_2",
@ -2954,7 +2954,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=11,
["next_chapter"]=13,
["icon"]="chapter_12",
["icon"]="chapter_2",
["scene"]="bg_12",
["block_icon"]="battle_hinder_12",
["chess_board"]="chessboard_2",
@ -3226,7 +3226,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=12,
["next_chapter"]=14,
["icon"]="chapter_13",
["icon"]="chapter_1",
["scene"]="bg_13",
["block_icon"]="battle_hinder_13",
["chess_board"]="chessboard_2",
@ -3498,7 +3498,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=13,
["next_chapter"]=15,
["icon"]="chapter_15",
["icon"]="chapter_2",
["scene"]="bg_15",
["block_icon"]="battle_hinder_15",
["chess_board"]="chessboard_1",
@ -3770,7 +3770,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=14,
["next_chapter"]=16,
["icon"]="chapter_14",
["icon"]="chapter_1",
["scene"]="bg_14",
["block_icon"]="battle_hinder_14",
["chess_board"]="chessboard_1",
@ -4042,7 +4042,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=15,
["next_chapter"]=17,
["icon"]="chapter_16",
["icon"]="chapter_2",
["scene"]="bg_16",
["block_icon"]="battle_hinder_16",
["chess_board"]="chessboard_1",
@ -4314,7 +4314,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=16,
["next_chapter"]=18,
["icon"]="chapter_17",
["icon"]="chapter_1",
["scene"]="bg_17",
["block_icon"]="battle_hinder_17",
["chess_board"]="chessboard_1",
@ -4586,7 +4586,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=17,
["next_chapter"]=19,
["icon"]="chapter_19",
["icon"]="chapter_2",
["scene"]="bg_19",
["block_icon"]="battle_hinder_19",
["chess_board"]="chessboard_1",
@ -4858,7 +4858,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=18,
["next_chapter"]=20,
["icon"]="chapter_18",
["icon"]="chapter_1",
["scene"]="bg_18",
["block_icon"]="battle_hinder_18",
["chess_board"]="chessboard_1",
@ -5130,7 +5130,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=19,
["next_chapter"]=21,
["icon"]="chapter_20",
["icon"]="chapter_2",
["scene"]="bg_20",
["block_icon"]="battle_hinder_20",
["chess_board"]="chessboard_1",
@ -5402,7 +5402,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=20,
["next_chapter"]=22,
["icon"]="chapter_20",
["icon"]="chapter_1",
["scene"]="bg_20",
["block_icon"]="battle_hinder_20",
["chess_board"]="chessboard_1",
@ -5674,7 +5674,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=21,
["next_chapter"]=23,
["icon"]="chapter_21",
["icon"]="chapter_2",
["scene"]="bg_21",
["block_icon"]="battle_hinder_21",
["chess_board"]="chessboard_1",
@ -5946,7 +5946,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=22,
["next_chapter"]=24,
["icon"]="chapter_22",
["icon"]="chapter_1",
["scene"]="bg_22",
["block_icon"]="battle_hinder_22",
["chess_board"]="chessboard_1",
@ -6218,7 +6218,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=23,
["next_chapter"]=25,
["icon"]="chapter_23",
["icon"]="chapter_2",
["scene"]="bg_23",
["block_icon"]="battle_hinder_23",
["chess_board"]="chessboard_2",
@ -6490,7 +6490,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=24,
["next_chapter"]=26,
["icon"]="chapter_23",
["icon"]="chapter_1",
["scene"]="bg_23",
["block_icon"]="battle_hinder_23",
["chess_board"]="chessboard_2",
@ -6762,7 +6762,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=25,
["next_chapter"]=27,
["icon"]="chapter_24",
["icon"]="chapter_2",
["scene"]="bg_24",
["block_icon"]="battle_hinder_24",
["chess_board"]="chessboard_3",
@ -7034,7 +7034,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=26,
["next_chapter"]=28,
["icon"]="chapter_24",
["icon"]="chapter_1",
["scene"]="bg_24",
["block_icon"]="battle_hinder_24",
["chess_board"]="chessboard_3",
@ -7306,7 +7306,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=27,
["next_chapter"]=29,
["icon"]="chapter_24",
["icon"]="chapter_2",
["scene"]="bg_24",
["block_icon"]="battle_hinder_24",
["chess_board"]="chessboard_3",
@ -7578,7 +7578,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=28,
["next_chapter"]=30,
["icon"]="chapter_25",
["icon"]="chapter_1",
["scene"]="bg_25",
["block_icon"]="battle_hinder_25",
["chess_board"]="chessboard_3",
@ -7850,7 +7850,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=29,
["next_chapter"]=31,
["icon"]="chapter_25",
["icon"]="chapter_2",
["scene"]="bg_25",
["block_icon"]="battle_hinder_25",
["chess_board"]="chessboard_3",
@ -8122,7 +8122,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=30,
["next_chapter"]=32,
["icon"]="chapter_26",
["icon"]="chapter_1",
["scene"]="bg_26",
["block_icon"]="battle_hinder_26",
["chess_board"]="chessboard_1",
@ -8394,7 +8394,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=31,
["next_chapter"]=33,
["icon"]="chapter_27",
["icon"]="chapter_2",
["scene"]="bg_27",
["block_icon"]="battle_hinder_27",
["chess_board"]="chessboard_1",
@ -8666,7 +8666,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=32,
["next_chapter"]=34,
["icon"]="chapter_28",
["icon"]="chapter_1",
["scene"]="bg_28",
["block_icon"]="battle_hinder_28",
["chess_board"]="chessboard_1",
@ -8938,7 +8938,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=33,
["next_chapter"]=35,
["icon"]="chapter_29",
["icon"]="chapter_2",
["scene"]="bg_29",
["block_icon"]="battle_hinder_30",
["chess_board"]="chessboard_3",
@ -9210,7 +9210,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=34,
["next_chapter"]=36,
["icon"]="chapter_30",
["icon"]="chapter_1",
["scene"]="bg_30",
["block_icon"]="battle_hinder_29",
["chess_board"]="chessboard_3",
@ -9482,7 +9482,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=35,
["next_chapter"]=37,
["icon"]="chapter_31",
["icon"]="chapter_2",
["scene"]="bg_31",
["block_icon"]="battle_hinder_33",
["chess_board"]="chessboard_2",
@ -9754,7 +9754,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=36,
["next_chapter"]=38,
["icon"]="chapter_32",
["icon"]="chapter_1",
["scene"]="bg_32",
["block_icon"]="battle_hinder_34",
["chess_board"]="chessboard_2",
@ -10026,7 +10026,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=37,
["next_chapter"]=39,
["icon"]="chapter_33",
["icon"]="chapter_2",
["scene"]="bg_33",
["block_icon"]="battle_hinder_31",
["chess_board"]="chessboard_1",
@ -10298,7 +10298,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=38,
["next_chapter"]=40,
["icon"]="chapter_34",
["icon"]="chapter_1",
["scene"]="bg_34",
["block_icon"]="battle_hinder_32",
["chess_board"]="chessboard_1",
@ -10570,7 +10570,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=39,
["next_chapter"]=41,
["icon"]="chapter_35",
["icon"]="chapter_2",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -11386,7 +11386,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=42,
["next_chapter"]=44,
["icon"]="chapter_3",
["icon"]="chapter_1",
["scene"]="bg_3",
["block_icon"]="battle_hinder_3",
["chess_board"]="chessboard_1",
@ -11658,7 +11658,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=43,
["next_chapter"]=45,
["icon"]="chapter_4",
["icon"]="chapter_2",
["scene"]="bg_4",
["block_icon"]="battle_hinder_4",
["chess_board"]="chessboard_1",
@ -11930,7 +11930,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=44,
["next_chapter"]=46,
["icon"]="chapter_5",
["icon"]="chapter_1",
["scene"]="bg_5",
["block_icon"]="battle_hinder_5",
["chess_board"]="chessboard_1",
@ -12202,7 +12202,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=45,
["next_chapter"]=47,
["icon"]="chapter_6",
["icon"]="chapter_2",
["scene"]="bg_6",
["block_icon"]="battle_hinder_6",
["chess_board"]="chessboard_2",
@ -12474,7 +12474,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=46,
["next_chapter"]=48,
["icon"]="chapter_7",
["icon"]="chapter_1",
["scene"]="bg_7",
["block_icon"]="battle_hinder_7",
["chess_board"]="chessboard_2",
@ -12746,7 +12746,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=47,
["next_chapter"]=49,
["icon"]="chapter_8",
["icon"]="chapter_2",
["scene"]="bg_8",
["block_icon"]="battle_hinder_8",
["chess_board"]="chessboard_2",
@ -13018,7 +13018,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=48,
["next_chapter"]=50,
["icon"]="chapter_9",
["icon"]="chapter_1",
["scene"]="bg_9",
["block_icon"]="battle_hinder_9",
["chess_board"]="chessboard_2",
@ -13290,7 +13290,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=49,
["next_chapter"]=51,
["icon"]="chapter_10",
["icon"]="chapter_2",
["scene"]="bg_10",
["block_icon"]="battle_hinder_10",
["chess_board"]="chessboard_2",
@ -13562,7 +13562,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=50,
["next_chapter"]=52,
["icon"]="chapter_11",
["icon"]="chapter_1",
["scene"]="bg_11",
["block_icon"]="battle_hinder_11",
["chess_board"]="chessboard_2",
@ -13834,7 +13834,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=51,
["next_chapter"]=53,
["icon"]="chapter_12",
["icon"]="chapter_2",
["scene"]="bg_12",
["block_icon"]="battle_hinder_12",
["chess_board"]="chessboard_2",
@ -14106,7 +14106,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=52,
["next_chapter"]=54,
["icon"]="chapter_13",
["icon"]="chapter_1",
["scene"]="bg_13",
["block_icon"]="battle_hinder_13",
["chess_board"]="chessboard_2",
@ -14378,7 +14378,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=53,
["next_chapter"]=55,
["icon"]="chapter_15",
["icon"]="chapter_2",
["scene"]="bg_15",
["block_icon"]="battle_hinder_15",
["chess_board"]="chessboard_1",
@ -14650,7 +14650,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=54,
["next_chapter"]=56,
["icon"]="chapter_14",
["icon"]="chapter_1",
["scene"]="bg_14",
["block_icon"]="battle_hinder_14",
["chess_board"]="chessboard_1",
@ -14922,7 +14922,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=55,
["next_chapter"]=57,
["icon"]="chapter_16",
["icon"]="chapter_2",
["scene"]="bg_16",
["block_icon"]="battle_hinder_16",
["chess_board"]="chessboard_1",
@ -15194,7 +15194,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=56,
["next_chapter"]=58,
["icon"]="chapter_17",
["icon"]="chapter_1",
["scene"]="bg_17",
["block_icon"]="battle_hinder_17",
["chess_board"]="chessboard_1",
@ -15466,7 +15466,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=57,
["next_chapter"]=59,
["icon"]="chapter_19",
["icon"]="chapter_2",
["scene"]="bg_19",
["block_icon"]="battle_hinder_19",
["chess_board"]="chessboard_1",
@ -15738,7 +15738,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=58,
["next_chapter"]=60,
["icon"]="chapter_18",
["icon"]="chapter_1",
["scene"]="bg_18",
["block_icon"]="battle_hinder_18",
["chess_board"]="chessboard_1",
@ -16010,7 +16010,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=59,
["next_chapter"]=61,
["icon"]="chapter_20",
["icon"]="chapter_2",
["scene"]="bg_20",
["block_icon"]="battle_hinder_20",
["chess_board"]="chessboard_1",
@ -16282,7 +16282,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=60,
["next_chapter"]=62,
["icon"]="chapter_20",
["icon"]="chapter_1",
["scene"]="bg_20",
["block_icon"]="battle_hinder_20",
["chess_board"]="chessboard_1",
@ -16554,7 +16554,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=61,
["next_chapter"]=63,
["icon"]="chapter_21",
["icon"]="chapter_2",
["scene"]="bg_21",
["block_icon"]="battle_hinder_21",
["chess_board"]="chessboard_1",
@ -16826,7 +16826,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=62,
["next_chapter"]=64,
["icon"]="chapter_22",
["icon"]="chapter_1",
["scene"]="bg_22",
["block_icon"]="battle_hinder_22",
["chess_board"]="chessboard_1",
@ -17098,7 +17098,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=63,
["next_chapter"]=65,
["icon"]="chapter_23",
["icon"]="chapter_2",
["scene"]="bg_23",
["block_icon"]="battle_hinder_23",
["chess_board"]="chessboard_2",
@ -17370,7 +17370,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=64,
["next_chapter"]=66,
["icon"]="chapter_23",
["icon"]="chapter_1",
["scene"]="bg_23",
["block_icon"]="battle_hinder_23",
["chess_board"]="chessboard_2",
@ -17642,7 +17642,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=65,
["next_chapter"]=67,
["icon"]="chapter_24",
["icon"]="chapter_2",
["scene"]="bg_24",
["block_icon"]="battle_hinder_24",
["chess_board"]="chessboard_3",
@ -17914,7 +17914,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=66,
["next_chapter"]=68,
["icon"]="chapter_24",
["icon"]="chapter_1",
["scene"]="bg_24",
["block_icon"]="battle_hinder_24",
["chess_board"]="chessboard_3",
@ -18186,7 +18186,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=67,
["next_chapter"]=69,
["icon"]="chapter_24",
["icon"]="chapter_2",
["scene"]="bg_24",
["block_icon"]="battle_hinder_24",
["chess_board"]="chessboard_3",
@ -18458,7 +18458,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=68,
["next_chapter"]=70,
["icon"]="chapter_25",
["icon"]="chapter_1",
["scene"]="bg_25",
["block_icon"]="battle_hinder_25",
["chess_board"]="chessboard_3",
@ -18730,7 +18730,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=69,
["next_chapter"]=71,
["icon"]="chapter_25",
["icon"]="chapter_2",
["scene"]="bg_25",
["block_icon"]="battle_hinder_25",
["chess_board"]="chessboard_3",
@ -19002,7 +19002,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=70,
["next_chapter"]=72,
["icon"]="chapter_26",
["icon"]="chapter_1",
["scene"]="bg_26",
["block_icon"]="battle_hinder_26",
["chess_board"]="chessboard_1",
@ -19274,7 +19274,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=71,
["next_chapter"]=73,
["icon"]="chapter_27",
["icon"]="chapter_2",
["scene"]="bg_27",
["block_icon"]="battle_hinder_27",
["chess_board"]="chessboard_1",
@ -19546,7 +19546,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=72,
["next_chapter"]=74,
["icon"]="chapter_28",
["icon"]="chapter_1",
["scene"]="bg_28",
["block_icon"]="battle_hinder_28",
["chess_board"]="chessboard_1",
@ -19818,7 +19818,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=73,
["next_chapter"]=75,
["icon"]="chapter_29",
["icon"]="chapter_2",
["scene"]="bg_29",
["block_icon"]="battle_hinder_30",
["chess_board"]="chessboard_3",
@ -20090,7 +20090,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=74,
["next_chapter"]=76,
["icon"]="chapter_30",
["icon"]="chapter_1",
["scene"]="bg_30",
["block_icon"]="battle_hinder_29",
["chess_board"]="chessboard_3",
@ -20362,7 +20362,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=75,
["next_chapter"]=77,
["icon"]="chapter_31",
["icon"]="chapter_2",
["scene"]="bg_31",
["block_icon"]="battle_hinder_33",
["chess_board"]="chessboard_2",
@ -20634,7 +20634,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=76,
["next_chapter"]=78,
["icon"]="chapter_32",
["icon"]="chapter_1",
["scene"]="bg_32",
["block_icon"]="battle_hinder_34",
["chess_board"]="chessboard_2",
@ -20906,7 +20906,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=77,
["next_chapter"]=79,
["icon"]="chapter_33",
["icon"]="chapter_2",
["scene"]="bg_33",
["block_icon"]="battle_hinder_31",
["chess_board"]="chessboard_1",
@ -21178,7 +21178,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=78,
["next_chapter"]=80,
["icon"]="chapter_34",
["icon"]="chapter_1",
["scene"]="bg_34",
["block_icon"]="battle_hinder_32",
["chess_board"]="chessboard_1",
@ -21450,7 +21450,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=79,
["next_chapter"]=81,
["icon"]="chapter_35",
["icon"]="chapter_2",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -21722,7 +21722,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=80,
["next_chapter"]=82,
["icon"]="chapter_35",
["icon"]="chapter_1",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -21994,7 +21994,7 @@ local chapter = {
["stage"]=5,
["before_chapter"]=81,
["next_chapter"]=83,
["icon"]="chapter_35",
["icon"]="chapter_2",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -22266,7 +22266,7 @@ local chapter = {
["stage"]=1,
["before_chapter"]=82,
["next_chapter"]=84,
["icon"]="chapter_35",
["icon"]="chapter_1",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -22538,7 +22538,7 @@ local chapter = {
["stage"]=2,
["before_chapter"]=83,
["next_chapter"]=85,
["icon"]="chapter_35",
["icon"]="chapter_2",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -22810,7 +22810,7 @@ local chapter = {
["stage"]=3,
["before_chapter"]=84,
["next_chapter"]=86,
["icon"]="chapter_35",
["icon"]="chapter_1",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -23082,7 +23082,7 @@ local chapter = {
["stage"]=4,
["before_chapter"]=85,
["next_chapter"]=87,
["icon"]="chapter_35",
["icon"]="chapter_2",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",
@ -23353,7 +23353,7 @@ local chapter = {
["chapter"]=20,
["stage"]=5,
["before_chapter"]=86,
["icon"]="chapter_35",
["icon"]="chapter_1",
["scene"]="bg_35",
["block_icon"]="battle_hinder_35",
["chess_board"]="chessboard_2",

View File

@ -2831,7 +2831,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="24001",
["battle_icon"]="25002",
["effect_type"]=1,
["trigger"]=1,
["effect"]={
@ -2913,7 +2913,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="24001",
["battle_icon"]="25002",
["effect_type"]=1,
["trigger"]=1,
["effect"]={
@ -3189,7 +3189,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="24001",
["battle_icon"]="25002",
["effect_type"]=1,
["trigger"]=1,
["effect"]={
@ -4631,7 +4631,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="53001",
["battle_icon"]="43001",
["effect_type"]=1,
["trigger"]=1,
["effect"]={
@ -4938,7 +4938,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="53001",
["battle_icon"]="43001",
["effect_type"]=1,
["trigger"]=1,
["effect"]={
@ -5268,7 +5268,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="53001",
["battle_icon"]="43001",
["effect_type"]=1,
["trigger"]=1,
["effect"]={
@ -5639,7 +5639,7 @@ local skill = {
["boardrange"]={
},
["battle_icon"]="53001",
["battle_icon"]="45002",
["effect_type"]=1,
["trigger"]=1,
["effect"]={

View File

@ -16,69 +16,165 @@ local item = {
["desc"]="累计达到一定数量可升级。"
},
[5]={
["name"]="普通钥匙",
["name"]="普通信件",
["desc"]="用于商城开启普通宝箱。"
},
[6]={
["name"]="精致钥匙",
["name"]="高级信件",
["desc"]="用于商城开启精致宝箱。"
},
[7]={
["name"]="珍贵钥匙",
["name"]="神秘信件",
["desc"]="用于商城开启珍贵宝箱。"
},
[8]={
["name"]="入场",
["name"]="竞技",
["desc"]="每次挑战需要给竞技场记录员一张券。每天都有免费的券发放。"
},
[9]={
["name"]="元素英雄升级材",
["name"]="色能量饮",
["desc"]="红元素英雄升级材料"
},
[10]={
["name"]="元素英雄升级材",
["name"]="色能量饮",
["desc"]="黄元素英雄升级材料"
},
[11]={
["name"]="绿元素英雄升级材",
["name"]="绿色能量饮",
["desc"]="绿元素英雄升级材料"
},
[12]={
["name"]="元素英雄升级材",
["name"]="色能量饮",
["desc"]="蓝元素英雄升级材料"
},
[13]={
["name"]="元素英雄升级材",
["name"]="色能量饮",
["desc"]="紫元素英雄升级材料"
},
[14]={
["name"]="稀有英雄升星材料",
["name"]="稀有契约",
["desc"]="稀有英雄升星材料"
},
[15]={
["name"]="史诗英雄升星材料",
["name"]="史诗契约",
["desc"]="史诗英雄升星材料"
},
[16]={
["name"]="传说英雄升星材料",
["name"]="传说契约",
["desc"]="传说英雄升星材料"
},
[17]={
["name"]="神话英雄升星材料",
["name"]="神话契约",
["desc"]="神话英雄升星材料"
},
[18]={
["name"]="随机元素升级材",
["name"]="随机能量饮",
["desc"]="随机元素升级材料"
},
[19]={
["name"]="装备强化石",
["name"]="强化石",
["desc"]="用于强化装备,提升强化等级。"
},
[20]={
["name"]="装备精炼石",
["name"]="精炼石",
["desc"]="用于提升装备精炼等级。"
},
[21]={
["name"]="随机绿色1星装备宝箱",
["desc"]="使用后获得1件随机绿色1星装备"
},
[22]={
["name"]="随机绿色2星装备宝箱",
["desc"]="使用后获得1件随机绿色2星装备"
},
[23]={
["name"]="随机蓝色1星装备宝箱",
["desc"]="使用后获得1件随机蓝色1星装备"
},
[24]={
["name"]="随机蓝色2星装备宝箱",
["desc"]="使用后获得1件随机蓝色2星装备"
},
[25]={
["name"]="随机蓝色3星装备宝箱",
["desc"]="使用后获得1件随机蓝色3星装备"
},
[26]={
["name"]="随机紫色1星装备宝箱",
["desc"]="使用后获得1件随机紫色1星装备"
},
[27]={
["name"]="随机紫色2星装备宝箱",
["desc"]="使用后获得1件随机紫色2星装备"
},
[28]={
["name"]="随机紫色3星装备宝箱",
["desc"]="使用后获得1件随机紫色3星装备"
},
[29]={
["name"]="随机紫色4星装备宝箱",
["desc"]="使用后获得1件随机紫色4星装备"
},
[30]={
["name"]="随机橙色1星装备宝箱",
["desc"]="使用后获得1件随机橙色1星装备"
},
[31]={
["name"]="随机橙色2星装备宝箱",
["desc"]="使用后获得1件随机橙色2星装备"
},
[32]={
["name"]="随机橙色3星装备宝箱",
["desc"]="使用后获得1件随机橙色3星装备"
},
[33]={
["name"]="随机橙色4星装备宝箱",
["desc"]="使用后获得1件随机橙色4星装备"
},
[34]={
["name"]="随机橙色5星装备宝箱",
["desc"]="使用后获得1件随机橙色5星装备"
},
[35]={
["name"]="随机红色1星装备宝箱",
["desc"]="使用后获得1件随机红色1星装备"
},
[36]={
["name"]="随机红色2星装备宝箱",
["desc"]="使用后获得1件随机红色2星装备"
},
[37]={
["name"]="随机红色3星装备宝箱",
["desc"]="使用后获得1件随机红色3星装备"
},
[38]={
["name"]="随机红色4星装备宝箱",
["desc"]="使用后获得1件随机红色4星装备"
},
[39]={
["name"]="随机红色5星装备宝箱",
["desc"]="使用后获得1件随机红色5星装备"
},
[40]={
["name"]="随机史诗英雄宝箱",
["desc"]="使用后获得1个随机史诗英雄碎片"
},
[41]={
["name"]="随机传说英雄宝箱1",
["desc"]="使用后获得1个随机传说英雄碎片"
},
[42]={
["name"]="随机传说英雄宝箱5",
["desc"]="使用后获得5个随机传说英雄碎片"
},
[43]={
["name"]="随机传说英雄宝箱20",
["desc"]="使用后获得20个随机传说英雄碎片"
},
[44]={
["name"]="自选传说英雄宝箱",
["desc"]="使用后可以自选1个传说英雄碎片"
},
[13001]={
["name"]="熔芯",
["desc"]="凑齐可解锁或升级。"
@ -128,11 +224,11 @@ local item = {
["desc"]="凑齐可解锁或升级。"
},
[35001]={
["name"]="快递仙人",
["name"]="树懒镖师",
["desc"]="凑齐可解锁或升级。"
},
[35002]={
["name"]="树懒镖师",
["name"]="快递仙人",
["desc"]="凑齐可解锁或升级。"
},
[43001]={
@ -144,11 +240,11 @@ local item = {
["desc"]="凑齐可解锁或升级。"
},
[45001]={
["name"]="冰鲜队长",
["name"]="外卖天使",
["desc"]="凑齐可解锁或升级。"
},
[45002]={
["name"]="外卖天使",
["name"]="冰鲜队长",
["desc"]="凑齐可解锁或升级。"
},
[53001]={
@ -160,15 +256,15 @@ local item = {
["desc"]="凑齐可解锁或升级。"
},
[55001]={
["name"]="血族快递伯爵",
["name"]="死灵法师",
["desc"]="凑齐可解锁或升级。"
},
[55002]={
["name"]="死灵法师",
["name"]="血族快递伯爵",
["desc"]="凑齐可解锁或升级。"
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -58,6 +58,78 @@ local item = {
},
[20]={
},
[21]={
},
[22]={
},
[23]={
},
[24]={
},
[25]={
},
[26]={
},
[27]={
},
[28]={
},
[29]={
},
[30]={
},
[31]={
},
[32]={
},
[33]={
},
[34]={
},
[35]={
},
[36]={
},
[37]={
},
[38]={
},
[39]={
},
[40]={
},
[41]={
},
[42]={
},
[43]={
},
[44]={
},
[13001]={
@ -127,6 +199,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="Each challenge requires one ticket for the Arena record keeper. Free tickets are issued daily."
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="Para realizar un desafío, necesitas dar un boleto para el anotador de la Arena. Se lanzan boletos gratuitos todos los días."
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -58,6 +58,78 @@ local item = {
},
[20]={
},
[21]={
},
[22]={
},
[23]={
},
[24]={
},
[25]={
},
[26]={
},
[27]={
},
[28]={
},
[29]={
},
[30]={
},
[31]={
},
[32]={
},
[33]={
},
[34]={
},
[35]={
},
[36]={
},
[37]={
},
[38]={
},
[39]={
},
[40]={
},
[41]={
},
[42]={
},
[43]={
},
[44]={
},
[13001]={
@ -127,6 +199,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="Setiap tantangan membutuhkan satu tiket untuk pencatat rekor Arena. Tiket gratis dikeluarkan setiap hari."
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="挑戦するたびに、闘技場の記録スタッフにチケットを1枚渡す必要があります。無料チケットは毎日配布されます。"
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="도전할 때마다 아레나 기록원에게 티켓 한 장을 건네야 합니다. 매일 무료 티켓이 지급됩니다."
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="Você precisa dar um ingresso ao funcionário do registro da Arena para cada desafio. São distribuídos Ingressos gratuitos todos os dias."
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -58,6 +58,78 @@ local item = {
},
[20]={
},
[21]={
},
[22]={
},
[23]={
},
[24]={
},
[25]={
},
[26]={
},
[27]={
},
[28]={
},
[29]={
},
[30]={
},
[31]={
},
[32]={
},
[33]={
},
[34]={
},
[35]={
},
[36]={
},
[37]={
},
[38]={
},
[39]={
},
[40]={
},
[41]={
},
[42]={
},
[43]={
},
[44]={
},
[13001]={
@ -127,6 +199,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="การท้าทายแต่ละครั้งต้องให้ตั๋ว 1 ใบให้นักบันทึกอารีน่า แจกตั๋วฟรีทุกวัน"
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="Mỗi lần khiêu chiến cần đưa 1 vé cho nhân viên đấu trường. Mỗi ngày đều có phát vé miễn phí."
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -32,40 +32,112 @@ local item = {
["desc"]="每次挑戰需要給競技場記錄員一張券。每天都有免費的券發放。"
},
[9]={
["name"]="红色能量饮料"
},
[10]={
["name"]="黄色能量饮料"
},
[11]={
["name"]="绿色能量饮料"
},
[12]={
["name"]="蓝色能量饮料"
},
[13]={
["name"]="紫色能量饮料"
},
[14]={
["name"]="稀有契约"
},
[15]={
["name"]="史诗契约"
},
[16]={
["name"]="传说契约"
},
[17]={
["name"]="神话契约"
},
[18]={
["name"]="随机能量饮料"
},
[19]={
["name"]="强化石"
},
[20]={
["name"]="精炼石"
},
[21]={
["name"]="随机绿色1星装备宝箱"
},
[22]={
["name"]="随机绿色2星装备宝箱"
},
[23]={
["name"]="随机蓝色1星装备宝箱"
},
[24]={
["name"]="随机蓝色2星装备宝箱"
},
[25]={
["name"]="随机蓝色3星装备宝箱"
},
[26]={
["name"]="随机紫色1星装备宝箱"
},
[27]={
["name"]="随机紫色2星装备宝箱"
},
[28]={
["name"]="随机紫色3星装备宝箱"
},
[29]={
["name"]="随机紫色4星装备宝箱"
},
[30]={
["name"]="随机橙色1星装备宝箱"
},
[31]={
["name"]="随机橙色2星装备宝箱"
},
[32]={
["name"]="随机橙色3星装备宝箱"
},
[33]={
["name"]="随机橙色4星装备宝箱"
},
[34]={
["name"]="随机橙色5星装备宝箱"
},
[35]={
["name"]="随机红色1星装备宝箱"
},
[36]={
["name"]="随机红色2星装备宝箱"
},
[37]={
["name"]="随机红色3星装备宝箱"
},
[38]={
["name"]="随机红色4星装备宝箱"
},
[39]={
["name"]="随机红色5星装备宝箱"
},
[40]={
["name"]="随机史诗英雄宝箱"
},
[41]={
["name"]="随机传说英雄宝箱1"
},
[42]={
["name"]="随机传说英雄宝箱5"
},
[43]={
["name"]="随机传说英雄宝箱20"
},
[44]={
["name"]="自选传说英雄宝箱"
},
[13001]={
@ -135,6 +207,6 @@ local item = {
}
}
local config = {
data=item,count=42
data=item,count=66
}
return config

View File

@ -237,7 +237,7 @@ GConst.ATLAS_PATH = {
TASK = "assets/arts/atlas/ui/task.asset",
ACT_HEROFUND = "assets/arts/atlas/ui/act_herofund.asset",
ACT_BOSS_RUSH = "assets/arts/atlas/ui/act_bossrush.asset",
ACT_COMMON = "assets/arts/atlas/ui/act_common.asset",
UI_CHAPTER = "assets/arts/atlas/ui/chapter.asset",
UI_DUNGEON_RUNE = "assets/arts/atlas/ui/dungeon_rune.asset",
UI_ACT_PVP = "assets/arts/atlas/ui/act_pvp.asset",
UI_TALENT = "assets/arts/atlas/ui/talent.asset",

View File

@ -4,7 +4,7 @@ local UISpineObject = require "app/bf/unity/ui_spine_object"
-- local CHAPTER_PATH = "assets/arts/textures/background/chapter/%s.png"
local HERO_SPINE_ASSET_PATH = "assets/arts/spines/characters/%s/%s_skeletondata.asset"
local CHAPTER_PATH = "assets/arts/prefabs/ui/chapter/%s.prefab"
local CHAPTER_PATH = "assets/prefabs/ui/chapter/%s.prefab"
local CHAPTER_PAGE = 5
function MainComp:onOpen()
@ -59,8 +59,6 @@ function MainComp:init()
self.chapterBg = uiMap["main_comp.bg"]
self.chapterBg:setAnchoredPositionX(-720)
self.bossSmoke = uiMap["main_comp.boss_smoke"]
self.bossSmoke:setAnchoredPositionX(10000)
self.smokeNodeTop = uiMap["main_comp.smoke_node_1"]
self.monsterNodeTop = uiMap["main_comp.monster_node_1"]
self.bossNode = uiMap["main_comp.boss_node"]
@ -170,35 +168,47 @@ end
function MainComp:refreshChapter(force)
local chapterId = DataManager.ChapterData:getChapterId()
self.chapterList = DataManager.ChapterData:getChapterList(self.chapterPage)
self.currChapterId = chapterId
if self.currChapterId ~= chapterId or force then
self:refreshChapterBg()
self:refreshFightBtn()
self:doBossAction()
end
self.currChapterId = chapterId
self:refreshChapterInfo()
self:doChapterMove()
self:doMonsterAction()
-- self:doChapterMove()
-- self:doMonsterAction()
self:refreshChapterBtn()
end
function MainComp:refreshChapterBg()
if self.isLoading then
return
end
local chapterId = DataManager.ChapterData:getChapterId()
local icon = DataManager.ChapterData:getChapterCfg()[chapterId].icon
local scene = DataManager.ChapterData:getChapterCfg()[chapterId].scene
local bgPath = string.format(CHAPTER_PATH, icon)
if self.currScenePath == bgPath then
return
end
if self.chapterScenes[bgPath] then
self.chapterScenes[bgPath]:setActive(true)
if self.currScenePath and self.chapterScenes[self.currScenePath] then
self.chapterScenes[self.currScenePath]:setActive(false)
end
self.currScenePath = bgPath
self.chapterBg:setSprite(GConst.ATLAS_PATH.UI_CHAPTER, scene)
else
self.isLoading = true
local oldPath = self.currScenePath
UIPrefabManager:loadUIWidgetAsync(bgPath, self.backGroundNode, function(prefab)
if self.currScenePath and self.chapterScenes[self.currScenePath] then
self.chapterScenes[self.currScenePath]:setActive(false)
self.isLoading = false
if oldPath and self.chapterScenes[oldPath] then
self.chapterScenes[oldPath]:setActive(false)
end
self.currScenePath = bgPath
self.chapterScenes[self.currScenePath] = prefab
self.chapterBg:setSprite(GConst.ATLAS_PATH.UI_CHAPTER, scene)
end)
end
end
@ -252,19 +262,19 @@ function MainComp:refreshChapterInfo()
end
-- region 动画
function MainComp:doChapterMove()
if self.chapterMoveSeq then
return
end
self.chapterBg:setAnchoredPositionX(-720)
self.chapterMoveSeq = self.chapterBg:createBindTweenSequence()
local moveTween = self.chapterBg:getTransform():DOAnchorPosX(720, 20):SetEase(CS.DG.Tweening.Ease.Linear)
self.chapterMoveSeq:Append(moveTween)
self.chapterMoveSeq:AppendCallback(function()
self.chapterBg:setAnchoredPositionX(-720)
end)
self.chapterMoveSeq:SetLoops(-1)
end
-- function MainComp:doChapterMove()
-- if self.chapterMoveSeq then
-- return
-- end
-- self.chapterBg:setAnchoredPositionX(-720)
-- self.chapterMoveSeq = self.chapterBg:createBindTweenSequence()
-- local moveTween = self.chapterBg:getTransform():DOAnchorPosX(720, 20):SetEase(CS.DG.Tweening.Ease.Linear)
-- self.chapterMoveSeq:Append(moveTween)
-- self.chapterMoveSeq:AppendCallback(function()
-- self.chapterBg:setAnchoredPositionX(-720)
-- end)
-- self.chapterMoveSeq:SetLoops(-1)
-- end
function MainComp:doBossAction()
if self.currChapterId == nil then
@ -274,43 +284,34 @@ function MainComp:doBossAction()
if chapterInfo == nil then
return
end
local monsterIdList = chapterInfo.monster_id
monsterIdList = {20001, 10001, 10002}
local monsterIdList = chapterInfo.monster
-- monsterIdList = {20001, 10001, 10002}
if monsterIdList == nil then
return
end
self.chapterMonsterShowList = monsterIdList
if self.chapterBossId == nil then -- 还没显示boss模型
self.chapterBossId = self.chapterMonsterShowList[1]
self.chapterBossId = self.chapterMonsterShowList[#self.chapterMonsterShowList]
local chapterBossId = self.chapterBossId
local monsterCfg = ConfigManager:getConfig("monster_base")
local monsterCfg = ConfigManager:getConfig("monster")
local monsterInfo = monsterCfg[self.chapterBossId]
if monsterInfo then
local modelId = monsterInfo.model_id
local path = string.format(HERO_SPINE_ASSET_PATH, modelId, modelId)
self.bossNode:setActive(false)
local scale = monsterInfo.ui or 1
local shadowScale = (monsterInfo.shadow or 1) * scale
-- local shadowOffset = (monsterInfo.shadow_offset or 0) * scale
-- self.bossShadow:setLocalScale(shadowScale, shadowScale, shadowScale)
-- self.bossShadow:setAnchoredPosition(10000, shadowOffset)
self.bossSmoke:setLocalScale(-shadowScale, shadowScale, shadowScale)
self.bossSmoke:setAnchoredPositionX(10000)
self.bossSpine:loadAssetAsync(modelId, function()
if chapterBossId == self.chapterBossId then
self.bossNode:setActive(true)
self.bossSpine:setLocalScale(scale, scale, scale)
self.bossSpine:playAnim("move", true, true, true)
-- self.bossShadow:setAnchoredPositionX(0)
self.bossSmoke:playAnim("idle", true, true, true)
self.bossSmoke:setAnchoredPositionX(0)
else -- 加载完成后已经切换到其他boss了
self:doChangeBossAction()
end
end, path)
end
else
local chapterBossId = self.chapterMonsterShowList[1]
local chapterBossId = self.chapterMonsterShowList[#self.chapterMonsterShowList]
if self.chapterBossId ~= chapterBossId then
self.chapterBossId = chapterBossId
self:doChangeBossAction()
@ -321,27 +322,18 @@ end
-- 切换boss
function MainComp:doChangeBossAction()
local chapterBossId = self.chapterBossId
local monsterCfg = ConfigManager:getConfig("monster_base")
local monsterCfg = ConfigManager:getConfig("monster")
local monsterInfo = monsterCfg[self.chapterBossId]
if monsterInfo then
local modelId = monsterInfo.model_id
local path = string.format(HERO_SPINE_ASSET_PATH, modelId, modelId)
self.bossNode:setActive(false)
local scale = monsterInfo.ui or 1
local shadowScale = (monsterInfo.shadow or 1) * scale
-- local shadowOffset = (monsterInfo.shadow_offset or 0) * scale
-- self.bossShadow:setLocalScale(shadowScale, shadowScale, shadowScale)
-- self.bossShadow:setAnchoredPosition(10000, shadowOffset)
self.bossSmoke:setLocalScale(-shadowScale, shadowScale, shadowScale)
self.bossSmoke:setAnchoredPositionX(10000)
self.bossSpine:loadAssetAsync(modelId, function()
if chapterBossId == self.chapterBossId then
self.bossNode:setActive(true)
self.bossSpine:setLocalScale(-scale, scale, scale)
self.bossSpine:setLocalScale(scale, scale, scale)
self.bossSpine:playAnim("move", true, true, true)
-- self.bossShadow:setAnchoredPositionX(0)
self.bossSmoke:playAnim("idle", true, true, true)
self.bossSmoke:setAnchoredPositionX(0)
else -- 加载完成后已经切换到其他boss了
self:doChangeBossAction()
end
@ -349,342 +341,224 @@ function MainComp:doChangeBossAction()
end
end
function MainComp:doMonsterAction()
if self.chapterMonsterGenerateSeq then
return
end
self.chapterMonsterGenerateSeq = DOTweenManager:createSeqWithIntId()
local interval = GFunc.getConstValue("chapter_idel_monster_x") / 1000
interval = 2
self.chapterMonsterGenerateSeq:AppendCallback(function()
self:generateChapterMonsters()
end)
self.chapterMonsterGenerateSeq:AppendInterval(interval)
self.chapterMonsterGenerateSeq:SetLoops(-1)
end
-- function MainComp:doMonsterAction()
-- if self.chapterMonsterGenerateSeq then
-- return
-- end
-- self.chapterMonsterGenerateSeq = DOTweenManager:createSeqWithIntId()
-- local interval = GFunc.getConstValue("chapter_idel_monster_x") / 1000
-- interval = 2
-- self.chapterMonsterGenerateSeq:AppendCallback(function()
-- self:generateChapterMonsters()
-- end)
-- self.chapterMonsterGenerateSeq:AppendInterval(interval)
-- self.chapterMonsterGenerateSeq:SetLoops(-1)
-- end
function MainComp:generateChapterMonsters()
local monsterId
if #self.chapterMonsterShowList <= 2 then
monsterId = self.chapterMonsterShowList[2]
else
monsterId = self.chapterMonsterShowList[math.random(2, #self.chapterMonsterShowList)]
end
if monsterId == nil then
return
end
local monsterCfg = ConfigManager:getConfig("monster_base")
local monsterInfo = monsterCfg[monsterId]
if monsterInfo == nil then
return
end
if self.isTopTurn == nil then
self.isTopTurn = math.random(1, 100) > 50
end
local modelId = monsterInfo.model_id
local pool
local list
local parent
local posY
if self.isTopTurn then -- 刷上面
pool = self.monsterSpineTopPool[modelId]
list = self.monsterSpineTopList
parent = self.monsterNodeTop
posY = math.random(1, 300)
else -- 刷下面
pool = self.monsterSpineDownPool[modelId]
list = self.monsterSpineDownList
parent = self.monsterNodeDown
posY = -math.random(1, 240)
end
self.isTopTurn = not self.isTopTurn
if pool and #pool > 0 then
local spine = table.remove(pool)
table.insert(list, spine)
spine:setActive(true)
self:doMonsterMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
else
SpineManager:loadUIHeroSpineWidgetAsync(modelId, parent, function(spine)
if not self.startMonsterAction then
spine:destroy()
return
end
table.insert(list, spine)
local scale = monsterInfo.ui or 1
spine:setLocalScale(-scale, scale, scale)
self:doMonsterMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
end)
end
end
-- function MainComp:generateChapterMonsters()
-- local monsterId
-- if #self.chapterMonsterShowList <= 2 then
-- monsterId = self.chapterMonsterShowList[2]
-- else
-- monsterId = self.chapterMonsterShowList[math.random(2, #self.chapterMonsterShowList)]
-- end
-- if monsterId == nil then
-- return
-- end
-- local monsterCfg = ConfigManager:getConfig("monster_base")
-- local monsterInfo = monsterCfg[monsterId]
-- if monsterInfo == nil then
-- return
-- end
-- if self.isTopTurn == nil then
-- self.isTopTurn = math.random(1, 100) > 50
-- end
-- local modelId = monsterInfo.model_id
-- local pool
-- local list
-- local parent
-- local posY
-- if self.isTopTurn then -- 刷上面
-- pool = self.monsterSpineTopPool[modelId]
-- list = self.monsterSpineTopList
-- parent = self.monsterNodeTop
-- posY = math.random(1, 300)
-- else -- 刷下面
-- pool = self.monsterSpineDownPool[modelId]
-- list = self.monsterSpineDownList
-- parent = self.monsterNodeDown
-- posY = -math.random(1, 240)
-- end
-- self.isTopTurn = not self.isTopTurn
-- if pool and #pool > 0 then
-- local spine = table.remove(pool)
-- table.insert(list, spine)
-- spine:setActive(true)
-- self:doMonsterMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
-- else
-- SpineManager:loadUIHeroSpineWidgetAsync(modelId, parent, function(spine)
-- if not self.startMonsterAction then
-- spine:destroy()
-- return
-- end
-- table.insert(list, spine)
-- local scale = monsterInfo.ui or 1
-- spine:setLocalScale(-scale, scale, scale)
-- self:doMonsterMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
-- end)
-- end
-- end
function MainComp:doMonsterMove(modelId, spine, posY, monsterInfo, isTopTurn)
spine:playAnim("move", true, true, true)
local posX = GConst.UI_SCREEN_WIDTH / 2 + 100
local targetPosX = -GConst.UI_SCREEN_WIDTH / 2 - 300
spine:setAnchoredPosition(posX, posY)
local seq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
if self.chapterMonsterSpeed == nil then
-- self.chapterMonsterSpeed = GFunc.getConstValue("chapter_idel_monstermove")
self.chapterMonsterSpeed = 150
end
local distance = posX - targetPosX
local moveTime = distance / self.chapterMonsterSpeed
local moveTween = spine:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
seq:Append(moveTween)
-- function MainComp:doMonsterMove(modelId, spine, posY, monsterInfo, isTopTurn)
-- spine:playAnim("move", true, true, true)
-- local posX = GConst.UI_SCREEN_WIDTH / 2 + 100
-- local targetPosX = -GConst.UI_SCREEN_WIDTH / 2 - 300
-- spine:setAnchoredPosition(posX, posY)
-- local seq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
-- if self.chapterMonsterSpeed == nil then
-- -- self.chapterMonsterSpeed = GFunc.getConstValue("chapter_idel_monstermove")
-- self.chapterMonsterSpeed = 150
-- end
-- local distance = posX - targetPosX
-- local moveTime = distance / self.chapterMonsterSpeed
-- local moveTween = spine:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- seq:Append(moveTween)
-- end
-- local monsterShadow = self:getMonsterShadow()
local scale = monsterInfo.ui or 1
local shadowScale = (monsterInfo.shadow or 1) * scale
-- monsterShadow:setLocalScale(shadowScale, shadowScale, shadowScale)
-- local shadowOffset = (monsterInfo.shadow_offset or 0) * scale
-- monsterShadow:setAnchoredPosition(posX, posY + shadowOffset)
-- local moveTween2 = monsterShadow:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- seq:Join(moveTween2)
local monsterSmoke = self:getMonsterSmoke(isTopTurn)
monsterSmoke:setAnchoredPosition(posX, posY)
monsterSmoke:setLocalScale(-shadowScale, shadowScale, shadowScale)
monsterSmoke:playAnim("idle", true, true, true)
local moveTween3 = monsterSmoke:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
seq:Join(moveTween3)
seq:AppendCallback(function()
spine:setActive(false)
-- monsterShadow:setAnchoredPositionX(10000)
-- table.insert(self.monsterShadowPool, monsterShadow)
monsterSmoke:setAnchoredPositionX(10000)
table.insert(self.monsterSmokePool, monsterSmoke)
if isTopTurn then
local pool = self.monsterSpineTopPool[modelId]
if pool == nil then
pool = {}
self.monsterSpineTopPool[modelId] = pool
end
table.insert(pool, spine)
for k, v in ipairs(self.monsterSpineTopList) do
if v == spine then
table.remove(self.monsterSpineTopList, k)
break
end
end
else
local pool = self.monsterSpineDownPool[modelId]
if pool == nil then
pool = {}
self.monsterSpineDownPool[modelId] = pool
end
table.insert(pool, spine)
for k, v in ipairs(self.monsterSpineDownList) do
if v == spine then
table.remove(self.monsterSpineDownList, k)
break
end
end
end
end)
end
function MainComp:enterChapterBattle()
-- boss等一会再跑
local bossWaitTime = GFunc.getConstValue("chapter_fight_bosswait") / 1000
local bossSeq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
bossSeq:AppendInterval(bossWaitTime)
local bossSpeed = GFunc.getConstValue("chapter_fight_bossmove")
local distance = GConst.UI_SCREEN_WIDTH/2 + 100
local moveTime = distance / bossSpeed
local targetPosX = -GConst.UI_SCREEN_WIDTH / 2 - 300
local moveTween = self.bossNode:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
bossSeq:Append(moveTween)
local moveTween2 = self.dialogueNode:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
bossSeq:Join(moveTween2)
-- local moveTween3 = self.bossShadow:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- bossSeq:Join(moveTween3)
-- function MainComp:enterChapterBattle()
-- -- boss等一会再跑
-- local bossWaitTime = GFunc.getConstValue("chapter_fight_bosswait") / 1000
-- local bossSeq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
-- bossSeq:AppendInterval(bossWaitTime)
-- local bossSpeed = GFunc.getConstValue("chapter_fight_bossmove")
-- local distance = GConst.UI_SCREEN_WIDTH/2 + 100
-- local moveTime = distance / bossSpeed
-- local targetPosX = -GConst.UI_SCREEN_WIDTH / 2 - 300
-- local moveTween = self.bossNode:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- bossSeq:Append(moveTween)
-- local moveTween2 = self.dialogueNode:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- bossSeq:Join(moveTween2)
-- -- local moveTween3 = self.bossShadow:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- -- bossSeq:Join(moveTween3)
-- 出来一批小怪从右边跑向左边
local monsterCount = GFunc.getConstIntValue("chapter_fight_monster_num")
self.chapterFightMonsterCount = monsterCount
local wave = 5
local monsterCountPerWave = math.ceil(monsterCount / wave)
-- 分批处理
local monsterSeq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
for i = 1, wave do
monsterSeq:AppendCallback(function ()
if monsterCountPerWave > monsterCount then
monsterCountPerWave = monsterCount
end
monsterCount = monsterCount - monsterCountPerWave
for j = 1, monsterCountPerWave do
self:generateChapterFightMonsters()
end
end)
monsterSeq:AppendInterval(0.03)
end
return GFunc.getConstValue("chapter_fight_wait") / 1000
end
-- -- 出来一批小怪从右边跑向左边
-- local monsterCount = GFunc.getConstIntValue("chapter_fight_monster_num")
-- self.chapterFightMonsterCount = monsterCount
-- local wave = 5
-- local monsterCountPerWave = math.ceil(monsterCount / wave)
-- -- 分批处理
-- local monsterSeq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
-- for i = 1, wave do
-- monsterSeq:AppendCallback(function ()
-- if monsterCountPerWave > monsterCount then
-- monsterCountPerWave = monsterCount
-- end
-- monsterCount = monsterCount - monsterCountPerWave
-- for j = 1, monsterCountPerWave do
-- self:generateChapterFightMonsters()
-- end
-- end)
-- monsterSeq:AppendInterval(0.03)
-- end
-- return GFunc.getConstValue("chapter_fight_wait") / 1000
-- end
function MainComp:generateChapterFightMonsters()
local monsterId
if #self.chapterMonsterShowList <= 2 then
monsterId = self.chapterMonsterShowList[2]
else
monsterId = self.chapterMonsterShowList[math.random(2, #self.chapterMonsterShowList)]
end
if monsterId == nil then
return
end
local monsterCfg = ConfigManager:getConfig("monster_base")
local monsterInfo = monsterCfg[monsterId]
if monsterInfo == nil then
return
end
local modelId = monsterInfo.model_id
local pool
local list
local parent
local posY
if self.isTopTurn then -- 刷上面
pool = self.monsterSpineTopPool[modelId]
list = self.monsterSpineTopList
parent = self.monsterNodeTop
posY = math.random(1, 300)
else -- 刷下面
pool = self.monsterSpineDownPool[modelId]
list = self.monsterSpineDownList
parent = self.monsterNodeDown
posY = -math.random(1, 240)
end
self.isTopTurn = not self.isTopTurn
if pool and #pool > 0 then
local spine = table.remove(pool)
table.insert(list, spine)
spine:setActive(true)
self:doMonsterFightMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
else
SpineManager:loadUIHeroSpineWidgetAsync(modelId, parent, function(spine)
if not self.startMonsterAction then
spine:destroy()
return
end
table.insert(list, spine)
local scale = monsterInfo.ui or 1
spine:setLocalScale(-scale, scale, scale)
self:doMonsterFightMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
end)
end
end
-- function MainComp:generateChapterFightMonsters()
-- local monsterId
-- if #self.chapterMonsterShowList <= 2 then
-- monsterId = self.chapterMonsterShowList[2]
-- else
-- monsterId = self.chapterMonsterShowList[math.random(2, #self.chapterMonsterShowList)]
-- end
-- if monsterId == nil then
-- return
-- end
-- local monsterCfg = ConfigManager:getConfig("monster_base")
-- local monsterInfo = monsterCfg[monsterId]
-- if monsterInfo == nil then
-- return
-- end
-- local modelId = monsterInfo.model_id
-- local pool
-- local list
-- local parent
-- local posY
-- if self.isTopTurn then -- 刷上面
-- pool = self.monsterSpineTopPool[modelId]
-- list = self.monsterSpineTopList
-- parent = self.monsterNodeTop
-- posY = math.random(1, 300)
-- else -- 刷下面
-- pool = self.monsterSpineDownPool[modelId]
-- list = self.monsterSpineDownList
-- parent = self.monsterNodeDown
-- posY = -math.random(1, 240)
-- end
-- self.isTopTurn = not self.isTopTurn
-- if pool and #pool > 0 then
-- local spine = table.remove(pool)
-- table.insert(list, spine)
-- spine:setActive(true)
-- self:doMonsterFightMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
-- else
-- SpineManager:loadUIHeroSpineWidgetAsync(modelId, parent, function(spine)
-- if not self.startMonsterAction then
-- spine:destroy()
-- return
-- end
-- table.insert(list, spine)
-- local scale = monsterInfo.ui or 1
-- spine:setLocalScale(-scale, scale, scale)
-- self:doMonsterFightMove(modelId, spine, posY, monsterInfo, not self.isTopTurn)
-- end)
-- end
-- end
function MainComp:doMonsterFightMove(modelId, spine, posY, monsterInfo, isTopTurn)
spine:playAnim("move", true, true, true)
local posX = GConst.UI_SCREEN_WIDTH / 2 + math.random(100, math.floor(GConst.UI_SCREEN_WIDTH*2/3))
spine:setAnchoredPosition(posX, posY)
local seq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
if self.chapterMonsterFightSpeed == nil then
-- self.chapterMonsterFightSpeed = GFunc.getConstValue("chapter_fight_monstermove")
self.chapterMonsterFightSpeed = 880
end
local distance = posX + GConst.UI_SCREEN_WIDTH/2 + 100
local moveTime = distance / self.chapterMonsterFightSpeed
local targetPosX = -GConst.UI_SCREEN_WIDTH / 2 - 100
local moveTween = spine:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
seq:Append(moveTween)
-- function MainComp:doMonsterFightMove(modelId, spine, posY, monsterInfo, isTopTurn)
-- spine:playAnim("move", true, true, true)
-- local posX = GConst.UI_SCREEN_WIDTH / 2 + math.random(100, math.floor(GConst.UI_SCREEN_WIDTH*2/3))
-- spine:setAnchoredPosition(posX, posY)
-- local seq = DOTweenManager:createSeqWithIntId(GConst.DOTWEEN_IDS.CHAPTER_MONSTER)
-- if self.chapterMonsterFightSpeed == nil then
-- -- self.chapterMonsterFightSpeed = GFunc.getConstValue("chapter_fight_monstermove")
-- self.chapterMonsterFightSpeed = 880
-- end
-- local distance = posX + GConst.UI_SCREEN_WIDTH/2 + 100
-- local moveTime = distance / self.chapterMonsterFightSpeed
-- local targetPosX = -GConst.UI_SCREEN_WIDTH / 2 - 100
-- local moveTween = spine:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- seq:Append(moveTween)
-- local monsterShadow = self:getMonsterShadow()
local scale = monsterInfo.ui or 1
local shadowScale = (monsterInfo.shadow or 1) * scale
-- monsterShadow:setLocalScale(shadowScale, shadowScale, shadowScale)
-- local shadowOffset = (monsterInfo.shadow_offset or 0) * scale
-- monsterShadow:setAnchoredPosition(posX, posY + shadowOffset)
-- local moveTween2 = monsterShadow:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
-- seq:Join(moveTween2)
-- if self.chapterFightMonsterCount then
-- self.chapterFightMonsterCount = self.chapterFightMonsterCount - 1
-- if self.chapterFightMonsterCount == 0 then -- 最后一个怪物生成完毕后,重新排一下序
-- self:sortChapterFightMonstersOrder()
-- self:sortChapterFightMonstersOrder()
-- self:sortChapterFightMonstersOrder()
-- self:sortChapterFightMonstersOrder()
-- end
-- end
-- end
local monsterSmoke = self:getMonsterSmoke(isTopTurn)
monsterSmoke:setAnchoredPosition(posX, posY)
monsterSmoke:setLocalScale(-shadowScale, shadowScale, shadowScale)
monsterSmoke:playAnim("idle", true, true, true)
local moveTween3 = monsterSmoke:getTransform():DOAnchorPosX(targetPosX, moveTime):SetEase(CS.DG.Tweening.Ease.Linear)
seq:Join(moveTween3)
-- function MainComp:sortChapterFightMonstersOrder()
-- self:sortChildrenOrder(self.monsterNodeTop)
-- self:sortChildrenOrder(self.monsterNodeDown)
-- end
seq:AppendCallback(function()
spine:setActive(false)
-- monsterShadow:setAnchoredPositionX(10000)
-- table.insert(self.monsterShadowPool, monsterShadow)
monsterSmoke:setAnchoredPositionX(10000)
table.insert(self.monsterSmokePool, monsterSmoke)
if isTopTurn then
local pool = self.monsterSpineTopPool[modelId]
if pool == nil then
pool = {}
self.monsterSpineTopPool[modelId] = pool
end
table.insert(pool, spine)
for k, v in ipairs(self.monsterSpineTopList) do
if v == spine then
table.remove(self.monsterSpineTopList, k)
break
end
end
else
local pool = self.monsterSpineDownPool[modelId]
if pool == nil then
pool = {}
self.monsterSpineDownPool[modelId] = pool
end
table.insert(pool, spine)
for k, v in ipairs(self.monsterSpineDownList) do
if v == spine then
table.remove(self.monsterSpineDownList, k)
break
end
end
end
end)
-- function MainComp:sortChildrenOrder(parent)
-- local children = parent:getChildList()
-- if children and #children > 0 then
-- table.sort(children, function(a, b)
-- return a:getAnchoredPositionY() > b:getAnchoredPositionY()
-- end)
if self.chapterFightMonsterCount then
self.chapterFightMonsterCount = self.chapterFightMonsterCount - 1
if self.chapterFightMonsterCount == 0 then -- 最后一个怪物生成完毕后,重新排一下序
self:sortChapterFightMonstersOrder()
self:sortChapterFightMonstersOrder()
self:sortChapterFightMonstersOrder()
self:sortChapterFightMonstersOrder()
end
end
end
-- for i = #children, 1, -1 do
-- children[i]:getTransform():SetSiblingIndex(i - 1)
-- end
-- end
-- end
function MainComp:sortChapterFightMonstersOrder()
self:sortChildrenOrder(self.monsterNodeTop)
self:sortChildrenOrder(self.monsterNodeDown)
self:sortChildrenOrder(self.smokeNodeTop)
self:sortChildrenOrder(self.smokeNodeDown)
end
function MainComp:sortChildrenOrder(parent)
local children = parent:getChildList()
if children and #children > 0 then
table.sort(children, function(a, b)
return a:getAnchoredPositionY() > b:getAnchoredPositionY()
end)
for i = #children, 1, -1 do
children[i]:getTransform():SetSiblingIndex(i - 1)
end
end
end
function MainComp:getMonsterSmoke(isTop)
local monsterSmoke
if #self.monsterSmokePool > 0 then
monsterSmoke = table.remove(self.monsterSmokePool)
monsterSmoke:setParent(isTop and self.smokeNodeTop or self.smokeNodeDown, false)
else
local shadowObj = CS.UnityEngine.Object.Instantiate(self.bossSmoke:getGameObject())
monsterSmoke = UISpineObject:create()
monsterSmoke:initWithPrefab(GConst.EMPTY_STRING, shadowObj)
monsterSmoke:getAnimationState()
monsterSmoke:setParent(isTop and self.smokeNodeTop or self.smokeNodeDown, false)
end
return monsterSmoke
end
-- endregion
return MainComp