diff --git a/bin/json/game_pagoda.json b/bin/json/game_pagoda.json index f222e5a66..d28c5448b 100644 --- a/bin/json/game_pagoda.json +++ b/bin/json/game_pagoda.json @@ -343,7 +343,7 @@ "key": 11, "pagoda_type": 101, "Level_type": 1, - "layer_num": 11, + "layer_num": 1, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -376,7 +376,7 @@ "key": 12, "pagoda_type": 101, "Level_type": 1, - "layer_num": 12, + "layer_num": 2, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -409,7 +409,7 @@ "key": 13, "pagoda_type": 101, "Level_type": 1, - "layer_num": 13, + "layer_num": 3, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -442,7 +442,7 @@ "key": 14, "pagoda_type": 101, "Level_type": 1, - "layer_num": 14, + "layer_num": 4, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -475,7 +475,7 @@ "key": 15, "pagoda_type": 101, "Level_type": 1, - "layer_num": 15, + "layer_num": 5, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -508,7 +508,7 @@ "key": 16, "pagoda_type": 101, "Level_type": 1, - "layer_num": 16, + "layer_num": 6, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -541,7 +541,7 @@ "key": 17, "pagoda_type": 101, "Level_type": 1, - "layer_num": 17, + "layer_num": 7, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -574,7 +574,7 @@ "key": 18, "pagoda_type": 101, "Level_type": 1, - "layer_num": 18, + "layer_num": 8, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -607,7 +607,7 @@ "key": 19, "pagoda_type": 101, "Level_type": 1, - "layer_num": 19, + "layer_num": 9, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -640,7 +640,7 @@ "key": 20, "pagoda_type": 101, "Level_type": 1, - "layer_num": 20, + "layer_num": 10, "tab": 2, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -673,7 +673,7 @@ "key": 21, "pagoda_type": 101, "Level_type": 1, - "layer_num": 21, + "layer_num": 1, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -706,7 +706,7 @@ "key": 22, "pagoda_type": 101, "Level_type": 1, - "layer_num": 22, + "layer_num": 2, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -739,7 +739,7 @@ "key": 23, "pagoda_type": 101, "Level_type": 1, - "layer_num": 23, + "layer_num": 3, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -772,7 +772,7 @@ "key": 24, "pagoda_type": 101, "Level_type": 1, - "layer_num": 24, + "layer_num": 4, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -805,7 +805,7 @@ "key": 25, "pagoda_type": 101, "Level_type": 1, - "layer_num": 25, + "layer_num": 5, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -838,7 +838,7 @@ "key": 26, "pagoda_type": 101, "Level_type": 1, - "layer_num": 26, + "layer_num": 6, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -871,7 +871,7 @@ "key": 27, "pagoda_type": 101, "Level_type": 1, - "layer_num": 27, + "layer_num": 7, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -904,7 +904,7 @@ "key": 28, "pagoda_type": 101, "Level_type": 1, - "layer_num": 28, + "layer_num": 8, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -937,7 +937,7 @@ "key": 29, "pagoda_type": 101, "Level_type": 1, - "layer_num": 29, + "layer_num": 9, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -970,7 +970,7 @@ "key": 30, "pagoda_type": 101, "Level_type": 1, - "layer_num": 30, + "layer_num": 10, "tab": 3, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -1003,7 +1003,7 @@ "key": 31, "pagoda_type": 101, "Level_type": 1, - "layer_num": 31, + "layer_num": 1, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1036,7 +1036,7 @@ "key": 32, "pagoda_type": 101, "Level_type": 1, - "layer_num": 32, + "layer_num": 2, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1069,7 +1069,7 @@ "key": 33, "pagoda_type": 101, "Level_type": 1, - "layer_num": 33, + "layer_num": 3, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1102,7 +1102,7 @@ "key": 34, "pagoda_type": 101, "Level_type": 1, - "layer_num": 34, + "layer_num": 4, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1135,7 +1135,7 @@ "key": 35, "pagoda_type": 101, "Level_type": 1, - "layer_num": 35, + "layer_num": 5, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1168,7 +1168,7 @@ "key": 36, "pagoda_type": 101, "Level_type": 1, - "layer_num": 36, + "layer_num": 6, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1201,7 +1201,7 @@ "key": 37, "pagoda_type": 101, "Level_type": 1, - "layer_num": 37, + "layer_num": 7, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1234,7 +1234,7 @@ "key": 38, "pagoda_type": 101, "Level_type": 1, - "layer_num": 38, + "layer_num": 8, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1267,7 +1267,7 @@ "key": 39, "pagoda_type": 101, "Level_type": 1, - "layer_num": 39, + "layer_num": 9, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1300,7 +1300,7 @@ "key": 40, "pagoda_type": 101, "Level_type": 1, - "layer_num": 40, + "layer_num": 10, "tab": 4, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -1333,7 +1333,7 @@ "key": 41, "pagoda_type": 101, "Level_type": 1, - "layer_num": 41, + "layer_num": 1, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1366,7 +1366,7 @@ "key": 42, "pagoda_type": 101, "Level_type": 1, - "layer_num": 42, + "layer_num": 2, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1399,7 +1399,7 @@ "key": 43, "pagoda_type": 101, "Level_type": 1, - "layer_num": 43, + "layer_num": 3, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1432,7 +1432,7 @@ "key": 44, "pagoda_type": 101, "Level_type": 1, - "layer_num": 44, + "layer_num": 4, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1465,7 +1465,7 @@ "key": 45, "pagoda_type": 101, "Level_type": 1, - "layer_num": 45, + "layer_num": 5, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1498,7 +1498,7 @@ "key": 46, "pagoda_type": 101, "Level_type": 1, - "layer_num": 46, + "layer_num": 6, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1531,7 +1531,7 @@ "key": 47, "pagoda_type": 101, "Level_type": 1, - "layer_num": 47, + "layer_num": 7, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1564,7 +1564,7 @@ "key": 48, "pagoda_type": 101, "Level_type": 1, - "layer_num": 48, + "layer_num": 8, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1597,7 +1597,7 @@ "key": 49, "pagoda_type": 101, "Level_type": 1, - "layer_num": 49, + "layer_num": 9, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1630,7 +1630,7 @@ "key": 50, "pagoda_type": 101, "Level_type": 1, - "layer_num": 50, + "layer_num": 10, "tab": 5, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -1663,7 +1663,7 @@ "key": 51, "pagoda_type": 101, "Level_type": 1, - "layer_num": 51, + "layer_num": 1, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1696,7 +1696,7 @@ "key": 52, "pagoda_type": 101, "Level_type": 1, - "layer_num": 52, + "layer_num": 2, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1729,7 +1729,7 @@ "key": 53, "pagoda_type": 101, "Level_type": 1, - "layer_num": 53, + "layer_num": 3, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1762,7 +1762,7 @@ "key": 54, "pagoda_type": 101, "Level_type": 1, - "layer_num": 54, + "layer_num": 4, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1795,7 +1795,7 @@ "key": 55, "pagoda_type": 101, "Level_type": 1, - "layer_num": 55, + "layer_num": 5, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1828,7 +1828,7 @@ "key": 56, "pagoda_type": 101, "Level_type": 1, - "layer_num": 56, + "layer_num": 6, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1861,7 +1861,7 @@ "key": 57, "pagoda_type": 101, "Level_type": 1, - "layer_num": 57, + "layer_num": 7, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1894,7 +1894,7 @@ "key": 58, "pagoda_type": 101, "Level_type": 1, - "layer_num": 58, + "layer_num": 8, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1927,7 +1927,7 @@ "key": 59, "pagoda_type": 101, "Level_type": 1, - "layer_num": 59, + "layer_num": 9, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1960,7 +1960,7 @@ "key": 60, "pagoda_type": 101, "Level_type": 1, - "layer_num": 60, + "layer_num": 10, "tab": 6, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -1993,7 +1993,7 @@ "key": 61, "pagoda_type": 101, "Level_type": 1, - "layer_num": 61, + "layer_num": 1, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2026,7 +2026,7 @@ "key": 62, "pagoda_type": 101, "Level_type": 1, - "layer_num": 62, + "layer_num": 2, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2059,7 +2059,7 @@ "key": 63, "pagoda_type": 101, "Level_type": 1, - "layer_num": 63, + "layer_num": 3, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2092,7 +2092,7 @@ "key": 64, "pagoda_type": 101, "Level_type": 1, - "layer_num": 64, + "layer_num": 4, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2125,7 +2125,7 @@ "key": 65, "pagoda_type": 101, "Level_type": 1, - "layer_num": 65, + "layer_num": 5, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2158,7 +2158,7 @@ "key": 66, "pagoda_type": 101, "Level_type": 1, - "layer_num": 66, + "layer_num": 6, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2191,7 +2191,7 @@ "key": 67, "pagoda_type": 101, "Level_type": 1, - "layer_num": 67, + "layer_num": 7, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2224,7 +2224,7 @@ "key": 68, "pagoda_type": 101, "Level_type": 1, - "layer_num": 68, + "layer_num": 8, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2257,7 +2257,7 @@ "key": 69, "pagoda_type": 101, "Level_type": 1, - "layer_num": 69, + "layer_num": 9, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2290,7 +2290,7 @@ "key": 70, "pagoda_type": 101, "Level_type": 1, - "layer_num": 70, + "layer_num": 10, "tab": 7, "tabIcon": "xmwg_fb_rk3", "tabTitle": { @@ -2323,7 +2323,7 @@ "key": 71, "pagoda_type": 101, "Level_type": 1, - "layer_num": 71, + "layer_num": 1, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2356,7 +2356,7 @@ "key": 72, "pagoda_type": 101, "Level_type": 1, - "layer_num": 72, + "layer_num": 2, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2389,7 +2389,7 @@ "key": 73, "pagoda_type": 101, "Level_type": 1, - "layer_num": 73, + "layer_num": 3, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2422,7 +2422,7 @@ "key": 74, "pagoda_type": 101, "Level_type": 1, - "layer_num": 74, + "layer_num": 4, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2455,7 +2455,7 @@ "key": 75, "pagoda_type": 101, "Level_type": 1, - "layer_num": 75, + "layer_num": 5, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2488,7 +2488,7 @@ "key": 76, "pagoda_type": 101, "Level_type": 1, - "layer_num": 76, + "layer_num": 6, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2521,7 +2521,7 @@ "key": 77, "pagoda_type": 101, "Level_type": 1, - "layer_num": 77, + "layer_num": 7, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2554,7 +2554,7 @@ "key": 78, "pagoda_type": 101, "Level_type": 1, - "layer_num": 78, + "layer_num": 8, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2587,7 +2587,7 @@ "key": 79, "pagoda_type": 101, "Level_type": 1, - "layer_num": 79, + "layer_num": 9, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2620,7 +2620,7 @@ "key": 80, "pagoda_type": 101, "Level_type": 1, - "layer_num": 80, + "layer_num": 10, "tab": 8, "tabIcon": "xmwg_fb_rk4", "tabTitle": { @@ -2653,7 +2653,7 @@ "key": 81, "pagoda_type": 101, "Level_type": 1, - "layer_num": 81, + "layer_num": 1, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2686,7 +2686,7 @@ "key": 82, "pagoda_type": 101, "Level_type": 1, - "layer_num": 82, + "layer_num": 2, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2719,7 +2719,7 @@ "key": 83, "pagoda_type": 101, "Level_type": 1, - "layer_num": 83, + "layer_num": 3, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2752,7 +2752,7 @@ "key": 84, "pagoda_type": 101, "Level_type": 1, - "layer_num": 84, + "layer_num": 4, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2785,7 +2785,7 @@ "key": 85, "pagoda_type": 101, "Level_type": 1, - "layer_num": 85, + "layer_num": 5, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2818,7 +2818,7 @@ "key": 86, "pagoda_type": 101, "Level_type": 1, - "layer_num": 86, + "layer_num": 6, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2851,7 +2851,7 @@ "key": 87, "pagoda_type": 101, "Level_type": 1, - "layer_num": 87, + "layer_num": 7, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2884,7 +2884,7 @@ "key": 88, "pagoda_type": 101, "Level_type": 1, - "layer_num": 88, + "layer_num": 8, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2917,7 +2917,7 @@ "key": 89, "pagoda_type": 101, "Level_type": 1, - "layer_num": 89, + "layer_num": 9, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2950,7 +2950,7 @@ "key": 90, "pagoda_type": 101, "Level_type": 1, - "layer_num": 90, + "layer_num": 10, "tab": 9, "tabIcon": "xmwg_fb_rk1", "tabTitle": { @@ -2983,7 +2983,7 @@ "key": 91, "pagoda_type": 101, "Level_type": 1, - "layer_num": 91, + "layer_num": 1, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3016,7 +3016,7 @@ "key": 92, "pagoda_type": 101, "Level_type": 1, - "layer_num": 92, + "layer_num": 2, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3049,7 +3049,7 @@ "key": 93, "pagoda_type": 101, "Level_type": 1, - "layer_num": 93, + "layer_num": 3, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3082,7 +3082,7 @@ "key": 94, "pagoda_type": 101, "Level_type": 1, - "layer_num": 94, + "layer_num": 4, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3115,7 +3115,7 @@ "key": 95, "pagoda_type": 101, "Level_type": 1, - "layer_num": 95, + "layer_num": 5, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3148,7 +3148,7 @@ "key": 96, "pagoda_type": 101, "Level_type": 1, - "layer_num": 96, + "layer_num": 6, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3181,7 +3181,7 @@ "key": 97, "pagoda_type": 101, "Level_type": 1, - "layer_num": 97, + "layer_num": 7, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3214,7 +3214,7 @@ "key": 98, "pagoda_type": 101, "Level_type": 1, - "layer_num": 98, + "layer_num": 8, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3247,7 +3247,7 @@ "key": 99, "pagoda_type": 101, "Level_type": 1, - "layer_num": 99, + "layer_num": 9, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3280,7 +3280,7 @@ "key": 100, "pagoda_type": 101, "Level_type": 1, - "layer_num": 100, + "layer_num": 10, "tab": 10, "tabIcon": "xmwg_fb_rk2", "tabTitle": { @@ -3308,1905 +3308,5 @@ }, "model_display": 25001, "unlock": 1100101 - }, - { - "key": 101, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 1, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601001, - 601002, - 601003 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 150000 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer1", - "text": "第1层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 102, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 2, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601004, - 601005, - 601006 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer2", - "text": "第2层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 103, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 3, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601007, - 601008, - 601009 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer3", - "text": "第3层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 104, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 4, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601010, - 601011, - 601012 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer4", - "text": "第4层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 105, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 5, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601013, - 601014, - 601015 - ], - "reward": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer5", - "text": "第5层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 106, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 6, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601016, - 601017, - 601018 - ], - "reward": [ - { - "a": "hero", - "t": "44921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer6", - "text": "第6层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 107, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 7, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601019, - 601020, - 601021 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer7", - "text": "第7层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 108, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 8, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601022, - 601023, - 601024 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer8", - "text": "第8层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 109, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 9, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601025, - 601026, - 601027 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer9", - "text": "第9层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 110, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 10, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601028, - 601029, - 601030 - ], - "reward": [ - { - "a": "hero", - "t": "43911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer10", - "text": "第10层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 111, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 11, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601031, - 601032, - 601033 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 150000 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer11", - "text": "第11层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 112, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 12, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601034, - 601035, - 601036 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer12", - "text": "第12层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 113, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 13, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601037, - 601038, - 601039 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer13", - "text": "第13层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 114, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 14, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601040, - 601041, - 601042 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer14", - "text": "第14层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 115, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 15, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601043, - 601044, - 601045 - ], - "reward": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer15", - "text": "第15层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 116, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 16, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601046, - 601047, - 601048 - ], - "reward": [ - { - "a": "hero", - "t": "44921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer16", - "text": "第16层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 117, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 17, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601049, - 601050, - 601051 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer17", - "text": "第17层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 118, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 18, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601052, - 601053, - 601054 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer18", - "text": "第18层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 119, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 19, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601055, - 601056, - 601057 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer19", - "text": "第19层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 120, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 20, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601058, - 601059, - 601060 - ], - "reward": [ - { - "a": "hero", - "t": "43911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer20", - "text": "第20层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 121, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 21, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601061, - 601062, - 601063 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 150000 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer21", - "text": "第21层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 122, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 22, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601064, - 601065, - 601066 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer22", - "text": "第22层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 123, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 23, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601067, - 601068, - 601069 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer23", - "text": "第23层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 124, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 24, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601070, - 601071, - 601072 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer24", - "text": "第24层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 125, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 25, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601073, - 601074, - 601075 - ], - "reward": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer25", - "text": "第25层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 126, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 26, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601076, - 601077, - 601078 - ], - "reward": [ - { - "a": "hero", - "t": "44921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer26", - "text": "第26层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 127, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 27, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601079, - 601080, - 601081 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer27", - "text": "第27层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 128, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 28, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601082, - 601083, - 601084 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer28", - "text": "第28层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 129, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 29, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601085, - 601086, - 601087 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer29", - "text": "第29层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 130, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 30, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601088, - 601089, - 601090 - ], - "reward": [ - { - "a": "hero", - "t": "43911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer30", - "text": "第30层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 131, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 31, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601091, - 601092, - 601093 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 150000 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer31", - "text": "第31层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 132, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 32, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601094, - 601095, - 601096 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer32", - "text": "第32层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 133, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 33, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601097, - 601098, - 601099 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer33", - "text": "第33层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 134, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 34, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601100, - 601101, - 601102 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer34", - "text": "第34层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 135, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 35, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601103, - 601104, - 601105 - ], - "reward": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer35", - "text": "第35层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 136, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 36, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601106, - 601107, - 601108 - ], - "reward": [ - { - "a": "hero", - "t": "44921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer36", - "text": "第36层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 137, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 37, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601109, - 601110, - 601111 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer37", - "text": "第37层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 138, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 38, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601112, - 601113, - 601114 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer38", - "text": "第38层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 139, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 39, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601115, - 601116, - 601117 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer39", - "text": "第39层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 140, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 40, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601118, - 601119, - 601120 - ], - "reward": [ - { - "a": "hero", - "t": "43911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer40", - "text": "第40层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 141, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 41, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601121, - 601122, - 601123 - ], - "reward": [ - { - "a": "attr", - "t": "gold", - "n": 150000 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer41", - "text": "第41层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 142, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 42, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601124, - 601125, - 601126 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer42", - "text": "第42层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 143, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 43, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601127, - 601128, - 601129 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer43", - "text": "第43层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 144, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 44, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601130, - 601131, - 601132 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer44", - "text": "第44层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 145, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 45, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601133, - 601134, - 601135 - ], - "reward": [ - { - "a": "item", - "t": "30001", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer45", - "text": "第45层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 146, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 46, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601136, - 601137, - 601138 - ], - "reward": [ - { - "a": "hero", - "t": "44921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer46", - "text": "第46层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 147, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 47, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601139, - 601140, - 601141 - ], - "reward": [ - { - "a": "hero", - "t": "43921", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer47", - "text": "第47层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 148, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 48, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601142, - 601143, - 601144 - ], - "reward": [ - { - "a": "hero", - "t": "42911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer48", - "text": "第48层" - }, - "model_display": 25001, - "unlock": 1100101 - }, - { - "key": 149, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 49, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601145, - 601146, - 601147 - ], - "reward": [ - { - "a": "hero", - "t": "43901", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer49", - "text": "第49层" - }, - "model_display": 34006, - "unlock": 1100101 - }, - { - "key": 150, - "pagoda_type": 201, - "Level_type": 1, - "layer_num": 50, - "tab": 0, - "tabIcon": "", - "tabTitle": { - "key": "", - "text": "" - }, - "BattleReadyID": 103, - "monster_id": [ - 601148, - 601149, - 601150 - ], - "reward": [ - { - "a": "hero", - "t": "43911", - "n": 1 - }, - { - "a": "attr", - "t": "diamond", - "n": 5 - } - ], - "exp": 1200, - "fight_scene": "", - "name_display": { - "key": "pagoda_layer50", - "text": "第50层" - }, - "model_display": 25001, - "unlock": 1100101 } ] \ No newline at end of file diff --git a/modules/pagoda/api_activate.go b/modules/pagoda/api_activate.go index b5782cb3e..722ca7083 100644 --- a/modules/pagoda/api_activate.go +++ b/modules/pagoda/api_activate.go @@ -3,11 +3,7 @@ package pagoda import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/db" - "time" - "go.mongodb.org/mongo-driver/bson" - "go.mongodb.org/mongo-driver/bson/primitive" "google.golang.org/protobuf/proto" ) @@ -27,43 +23,13 @@ func (this *apiComp) Activate(session comm.IUserSession, req *pb.PagodaActivateR code = pb.ErrorCode_DBError return } - Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, list.PagodaId+1) + Nomalcfg := this.module.configure.GetPagodaConfigData(list.PagodaId + 1) if Nomalcfg == nil && !list.Complete { list.Complete = true this.module.ModifyPagodaData(session.GetUserId(), map[string]interface{}{ "complete": true, }) } - if list.Complete { - season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId()) - if season.Id == "" { - season.Id = primitive.NewObjectID().Hex() - season.Uid = session.GetUserId() - season.PagodaId = 0 // 初始数据0层 - if conn, err := db.Cross(); err == nil { - rst := conn.Mgo.FindOne(comm.TableSeasonData, bson.M{}) - server := &pb.DBServerData{} - rst.Decode(server) - season.Type = server.SeasonType - - dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn) - if err = dbModel.Add(session.GetUserId(), season); err != nil { - this.module.Errorf("err:%v", err) - return - } - - } - this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), season) - } - - list = &pb.DBPagoda{ - Id: season.Id, - Uid: season.Uid, - PagodaId: season.PagodaId, - Reward: season.Reward, - Type: season.Type, - } - } session.SendMsg(string(this.module.GetType()), PagodaActivateResp, &pb.PagodaActivateResp{Data: list}) return diff --git a/modules/pagoda/api_challenge.go b/modules/pagoda/api_challenge.go index 30ca44c26..04c182d98 100644 --- a/modules/pagoda/api_challenge.go +++ b/modules/pagoda/api_challenge.go @@ -9,7 +9,7 @@ import ( //参数校验 func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.PagodaChallengeReq) (code pb.ErrorCode) { - if req.LevelID <= 0 && req.PagodaType != 0 { + if req.Cid <= 0 { code = pb.ErrorCode_ReqParameterError return } @@ -27,7 +27,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng return // 参数校验失败直接返回 } - conf := this.module.configure.GetPagodaConfigData(req.PagodaType, req.LevelID) + conf := this.module.configure.GetPagodaConfigData(req.Cid) if conf == nil { code = pb.ErrorCode_PagodaNotFound return @@ -38,17 +38,21 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng code = pb.ErrorCode_PagodaNotFound return } - if pagoda.Complete { - pagoda, err = this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_PagodaNotFound + + if v, ok := pagoda.Data[req.Cid]; !ok { + if conf.LayerNum == 1 { + pagoda.Data[req.Cid] = 0 + } else { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 + return + } + } else { + if conf.LayerNum-1 != v { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 return } } - if pagoda.Type != conf.PagodaType || conf.LayerNum-1 != pagoda.PagodaId { - code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 - return - } + // 校验条件 if conf.Unlock != 0 { if !this.mline.CheckCommpleteStage(session.GetUserId(), conf.Unlock) { @@ -66,9 +70,8 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng return } session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{ - Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, - LevelID: req.LevelID, - PagodaType: req.PagodaType, + Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, + Cid: req.Cid, }) return } diff --git a/modules/pagoda/api_challengeover.go b/modules/pagoda/api_challengeover.go index 0e464959e..68b003d06 100644 --- a/modules/pagoda/api_challengeover.go +++ b/modules/pagoda/api_challengeover.go @@ -14,7 +14,7 @@ import ( //参数校验 func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.PagodaChallengeOverReq) (code pb.ErrorCode) { - if req.LevelID <= 0 && req.PagodaType != 0 { + if req.Cid <= 0 { code = pb.ErrorCode_ReqParameterError return } @@ -29,7 +29,6 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal costTime int32 // 本次战斗消耗的时间 isWin bool err error - bSeason bool ) mapData = make(map[string]interface{}, 0) code = this.ChallengeOverCheck(session, req) @@ -37,7 +36,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal return // 参数校验失败直接返回 } - conf := this.module.configure.GetPagodaConfigData(req.PagodaType, req.LevelID) + conf := this.module.configure.GetPagodaConfigData(req.Cid) if conf == nil { code = pb.ErrorCode_PagodaNotFound return @@ -48,18 +47,25 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal return } - if pagoda.Complete { - // 塔数据校验 - pagoda, err = this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_PagodaNotFound + if v, ok := pagoda.Data[req.Cid]; !ok { + if conf.LayerNum == 1 { + pagoda.Data[req.Cid] = 0 + } else { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 + return + } + } else { + if conf.LayerNum-1 != v { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 return } - bSeason = true } - if pagoda.Type != conf.PagodaType || conf.LayerNum-1 != pagoda.PagodaId { - code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 - return + // 校验条件 + if conf.Unlock != 0 { + if !this.mline.CheckCommpleteStage(session.GetUserId(), conf.Unlock) { + code = pb.ErrorCode_PagodaUnlock + return + } } // 校验通过 code, isWin = this.module.battle.CheckBattleReport(session, req.Report) @@ -79,87 +85,73 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal } } } - if !bSeason { // 普通塔 - pagoda.Type = req.PagodaType - mapData["pagodaId"] = conf.LayerNum - mapData["type"] = pagoda.Type - this.module.modulerank.AddPagodaRecord(session.GetUserId(), costTime, pagoda.PagodaId, conf.PagodaType) + pagoda.Data[req.Cid] += 1 - // 普通塔通关了 - Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, pagoda.PagodaId+1) - if Nomalcfg == nil { - pagoda.Complete = true - mapData["complete"] = pagoda.Complete - } + mapData["pagodaId"] = pagoda.PagodaId + mapData["type"] = pagoda.Type + mapData["data"] = pagoda.Data + this.module.modulerank.AddPagodaRecord(session.GetUserId(), costTime, pagoda.PagodaId, conf.PagodaType) + if conf.LayerNum > pagoda.PagodaId { pagoda.PagodaId = conf.LayerNum // 更新层数 - code = this.module.ModifyPagodaData(session.GetUserId(), mapData) - session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda}) - if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { // 发系统公告 - this.chat.SendSysChatToWorld(comm.ChatSystem4, nil, pagoda.PagodaId, 0, user.Name) - } else { - this.module.Errorf("no found userdata uid:%s", session.GetUserId()) - } + } + + code = this.module.ModifyPagodaData(session.GetUserId(), mapData) + session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda}) + if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { // 发系统公告 + this.chat.SendSysChatToWorld(comm.ChatSystem4, nil, pagoda.PagodaId, 0, user.Name) } else { - pagoda.PagodaId = conf.LayerNum - mapData["pagodaId"] = conf.LayerNum - // 记录爬塔明细数据 - if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { - sz := make([]*pb.LineUp, 5) - for i, v := range req.Report.Info.Redflist[0].Team { - if v != nil { - sz[i] = &pb.LineUp{ - Cid: v.HeroID, - Star: v.Star, - Lv: v.Lv, - } + this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + } + + // 记录爬塔明细数据 + if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { + sz := make([]*pb.LineUp, 5) + for i, v := range req.Report.Info.Redflist[0].Team { + if v != nil { + sz[i] = &pb.LineUp{ + Cid: v.HeroID, + Star: v.Star, + Lv: v.Lv, } } - // 数据直接插入跨服数据库中 - uid := session.GetUserId() - userinfo := this.module.ModuleUser.GetUser(session.GetUserId()) - newData := &pb.DBPagodaRecord{ - Id: primitive.NewObjectID().Hex(), - Uid: session.GetUserId(), - PagodaId: pagoda.PagodaId, - Type: pagoda.Type, - Nickname: userinfo.Name, - Icon: "", // icon 暂无 - Lv: userinfo.Lv, - CostTime: req.Report.Costtime, - } - costTime = newData.CostTime - // 数据写到跨服中 - conn_, err := db.Cross() - dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_) - dbModel.AddList(uid, newData.Id, newData) - this.module.SetPagodaRankList("pagodaList"+strconv.Itoa(int(newData.PagodaId)), int64(math.MaxInt32-newData.CostTime), newData.Id) - dbModelTable := db.NewDBModel(comm.TableSeasonPagoda, time.Hour, conn_) - if err = dbModelTable.Get(session.GetUserId(), pagoda); err == nil { - dbModelTable.Change(session.GetUserId(), mapData) // 修改跨服数据 - score := int64(pagoda.PagodaId)<<31 + int64(math.MaxInt32-costTime) - this.module.SetPagodaRankList("pagodaSeasonRank", score, session.GetUserId()) - } } - code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData) - if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { - this.chat.SendSysChatToWorld(comm.ChatSystem6, nil, pagoda.PagodaId, 0, user.Name) - } else { - this.module.Errorf("no found userdata uid:%s", session.GetUserId()) + // 数据直接插入跨服数据库中 + uid := session.GetUserId() + userinfo := this.module.ModuleUser.GetUser(session.GetUserId()) + newData := &pb.DBPagodaRecord{ + Id: primitive.NewObjectID().Hex(), + Uid: session.GetUserId(), + PagodaId: pagoda.PagodaId, + Type: pagoda.Type, + Nickname: userinfo.Name, + Icon: "", // icon 暂无 + Lv: userinfo.Lv, + CostTime: req.Report.Costtime, + } + costTime = newData.CostTime + // 数据写到跨服中 + conn_, err := db.Cross() + dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_) + dbModel.AddList(uid, newData.Id, newData) + this.module.SetPagodaRankList("pagodaList"+strconv.Itoa(int(newData.PagodaId)), int64(math.MaxInt32-newData.CostTime), newData.Id) + dbModelTable := db.NewDBModel(comm.TableSeasonPagoda, time.Hour, conn_) + if err = dbModelTable.Get(session.GetUserId(), pagoda); err == nil { + dbModelTable.Change(session.GetUserId(), mapData) // 修改跨服数据 + score := int64(pagoda.PagodaId)<<31 + int64(math.MaxInt32-costTime) + this.module.SetPagodaRankList("pagodaSeasonRank", score, session.GetUserId()) } - - session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda}) } + // 通关奖励 code = this.module.DispenseRes(session, conf.Reward, true) if code != pb.ErrorCode_Success { return } // 任务相关 - if req.PagodaType == comm.PagodaType { - this.module.ModuleRtask.SendToRtask(session, comm.Rtype58, 1) - this.module.ModuleRtask.SendToRtask(session, comm.Rtype59, pagoda.PagodaId) - } + + this.module.ModuleRtask.SendToRtask(session, comm.Rtype58, 1) + this.module.ModuleRtask.SendToRtask(session, comm.Rtype59, pagoda.PagodaId) return } diff --git a/modules/pagoda/api_ranklist.go b/modules/pagoda/api_ranklist.go index 5ae070b1b..2983d7633 100644 --- a/modules/pagoda/api_ranklist.go +++ b/modules/pagoda/api_ranklist.go @@ -33,10 +33,10 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListR var ( pipe *pipe.RedisPipe = conn.Redis.RedisPipe(context.TODO()) ) - if req.FloorId == 0 { + if req.Cid == 0 { rd = pipe.ZRevRange("pagodaSeasonRank", 0, comm.MaxRankList) } else { - rd = pipe.ZRange("pagodaList"+strconv.Itoa(int(req.FloorId)), 0, comm.MaxRankList) + rd = pipe.ZRange("pagodaList"+strconv.Itoa(int(req.Cid)), 0, comm.MaxRankList) } if _, err = pipe.Exec(); err != nil { diff --git a/modules/pagoda/comp_configure.go b/modules/pagoda/comp_configure.go index b84c6b8c2..0d0aa9d9e 100644 --- a/modules/pagoda/comp_configure.go +++ b/modules/pagoda/comp_configure.go @@ -20,9 +20,9 @@ const ( ///配置管理基础组件 type configureComp struct { modules.MCompConfigure - module *Pagoda - hlock sync.RWMutex - _pagodaMap map[int64]*cfg.GamePagodaData + module *Pagoda + hlock sync.RWMutex + _checkType map[int32][]*cfg.GamePassCheckData // key type } @@ -34,10 +34,10 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp //game_pagoda: cfg.NewGame_pagoda, game_pagodaseasonreward: cfg.NewGamePagodaSeasonReward, game_pagodataskreward: cfg.NewGamePagodaTaskReward, + game_pagoda: cfg.NewGamePagoda, }) - this._pagodaMap = make(map[int64]*cfg.GamePagodaData, 0) - configure.RegisterConfigure(game_pagoda, cfg.NewGamePagoda, this.LoadPagodaData) + //configure.RegisterConfigure(game_pagoda, cfg.NewGamePagoda, this.LoadPagodaData) this._checkType = make(map[int32][]*cfg.GamePassCheckData, 0) configure.RegisterConfigure(game_passcheck, cfg.NewGamePassCheck, this.LoadPassCheck) @@ -46,12 +46,6 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp return } -// 获取爬塔信息 参数1 塔类型 参数2 层数 -func (this *configureComp) GetPagodaConfigData(PagodaType int32, floorId int32) (data *cfg.GamePagodaData) { - - return this._pagodaMap[int64(PagodaType<<16)+int64(floorId)] -} - //加载多个配置文件 func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) { for k, v := range confs { @@ -147,22 +141,6 @@ func (this *configureComp) GetPagodaSeasonReward() []*cfg.GamePagodaSeasonReward return nil } -func (this *configureComp) LoadPagodaData() { - var err error - if v, err := this.GetConfigure(game_pagoda); err == nil { - if configure, ok := v.(*cfg.GamePagoda); ok { - this.hlock.Lock() - defer this.hlock.Unlock() - for _, value := range configure.GetDataList() { - this._pagodaMap[int64(value.PagodaType<<16)+int64(value.LayerNum)] = value - } - return - } - } - log.Errorf("get game_pagoda conf err:%v", err) - return -} - func (this *configureComp) LoadPassCheck() { var err error if v, err := this.GetConfigure(game_passcheck); err == nil { @@ -178,3 +156,15 @@ func (this *configureComp) LoadPassCheck() { log.Errorf("get game_pagoda conf err:%v", err) return } + +func (this *configureComp) GetPagodaConfigData(id int32) (data *cfg.GamePagodaData) { + var err error + if v, err := this.GetConfigure(game_pagoda); err == nil { + if configure, ok := v.(*cfg.GamePagoda); ok { + + return configure.Get(id) + } + } + log.Errorf("get game_pagoda conf err:%v", err) + return +} diff --git a/modules/pagoda/model_pagoda.go b/modules/pagoda/model_pagoda.go index fd7c54d67..76daa0653 100644 --- a/modules/pagoda/model_pagoda.go +++ b/modules/pagoda/model_pagoda.go @@ -36,6 +36,7 @@ func (this *ModelPagoda) getPagodaList(uid string) (result *pb.DBPagoda, err err result.Uid = uid result.PagodaId = 0 // 初始数据0层 result.Reward = make(map[int32]bool, 0) + result.Data = make(map[int32]int32, 0) result.Type = comm.PagodaType err = this.module.modelPagoda.addNewPagoda(uid, result) diff --git a/modules/pagoda/module.go b/modules/pagoda/module.go index d62c6914a..3bac1c0b9 100644 --- a/modules/pagoda/module.go +++ b/modules/pagoda/module.go @@ -96,7 +96,7 @@ func (this *Pagoda) ModifyPagodaFloor(session comm.IUserSession, level int32) (c mapData := make(map[string]interface{}, 0) mapData["pagodaId"] = level // 通关校验 - Nomalcfg := this.configure.GetPagodaConfigData(comm.PagodaType, level+1) + Nomalcfg := this.configure.GetPagodaConfigData(level + 1) if Nomalcfg == nil { list.Complete = true mapData["complete"] = true diff --git a/pb/pagoda_db.pb.go b/pb/pagoda_db.pb.go index 8808b7b70..b30fa5e23 100644 --- a/pb/pagoda_db.pb.go +++ b/pb/pagoda_db.pb.go @@ -25,14 +25,15 @@ type DBPagoda struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID - Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID - PagodaId int32 `protobuf:"varint,3,opt,name=pagodaId,proto3" json:"pagodaId" bson:"pagodaId"` //塔层 - Reward map[int32]bool `protobuf:"bytes,4,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 是否领奖 - Type int32 `protobuf:"varint,5,opt,name=type,proto3" json:"type"` - Complete bool `protobuf:"varint,6,opt,name=complete,proto3" json:"complete"` // 是否通关 - PassCheckID int32 `protobuf:"varint,7,opt,name=passCheckID,proto3" json:"passCheckID"` // 战令领奖ID - VipPassCheckID int32 `protobuf:"varint,8,opt,name=vipPassCheckID,proto3" json:"vipPassCheckID"` // vip战令领奖ID + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID + PagodaId int32 `protobuf:"varint,3,opt,name=pagodaId,proto3" json:"pagodaId" bson:"pagodaId"` //塔层 + Reward map[int32]bool `protobuf:"bytes,4,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 是否领奖 + Type int32 `protobuf:"varint,5,opt,name=type,proto3" json:"type"` + Complete bool `protobuf:"varint,6,opt,name=complete,proto3" json:"complete"` // 是否通关 + PassCheckID int32 `protobuf:"varint,7,opt,name=passCheckID,proto3" json:"passCheckID"` // 战令领奖ID + VipPassCheckID int32 `protobuf:"varint,8,opt,name=vipPassCheckID,proto3" json:"vipPassCheckID"` // vip战令领奖ID + Data map[int32]int32 `protobuf:"bytes,9,rep,name=data,proto3" json:"data" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 页签 value 层数 } func (x *DBPagoda) Reset() { @@ -123,6 +124,13 @@ func (x *DBPagoda) GetVipPassCheckID() int32 { return 0 } +func (x *DBPagoda) GetData() map[int32]int32 { + if x != nil { + return x.Data + } + return nil +} + // 爬塔数据明细 type DBPagodaRecord struct { state protoimpl.MessageState @@ -249,7 +257,7 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{ 0x0a, 0x16, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x2f, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xac, 0x02, 0x0a, 0x08, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x12, 0x0e, + 0x6f, 0x22, 0x8e, 0x03, 0x0a, 0x08, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, @@ -264,27 +272,33 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{ 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x76, 0x69, 0x70, 0x50, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x70, 0x50, 0x61, 0x73, 0x73, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x49, 0x44, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xf5, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, - 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, - 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x39, + 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xf5, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, + 0x61, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, + 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, + 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, + 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x07, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -299,21 +313,23 @@ func file_pagoda_pagoda_db_proto_rawDescGZIP() []byte { return file_pagoda_pagoda_db_proto_rawDescData } -var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_pagoda_pagoda_db_proto_goTypes = []interface{}{ (*DBPagoda)(nil), // 0: DBPagoda (*DBPagodaRecord)(nil), // 1: DBPagodaRecord nil, // 2: DBPagoda.RewardEntry - (*LineUp)(nil), // 3: LineUp + nil, // 3: DBPagoda.DataEntry + (*LineUp)(nil), // 4: LineUp } var file_pagoda_pagoda_db_proto_depIdxs = []int32{ 2, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry - 3, // 1: DBPagodaRecord.line:type_name -> LineUp - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 3, // 1: DBPagoda.data:type_name -> DBPagoda.DataEntry + 4, // 2: DBPagodaRecord.line:type_name -> LineUp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_pagoda_pagoda_db_proto_init() } @@ -354,7 +370,7 @@ func file_pagoda_pagoda_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pagoda_pagoda_db_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/pagoda_msg.pb.go b/pb/pagoda_msg.pb.go index ae4b3e089..c189e7818 100644 --- a/pb/pagoda_msg.pb.go +++ b/pb/pagoda_msg.pb.go @@ -207,9 +207,8 @@ type PagodaChallengeReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LevelID int32 `protobuf:"varint,1,opt,name=levelID,proto3" json:"levelID"` // 挑战层数 - PagodaType int32 `protobuf:"varint,2,opt,name=PagodaType,proto3" json:"PagodaType"` // 塔类型 - Battle *BattleFormation `protobuf:"bytes,3,opt,name=battle,proto3" json:"battle"` + Cid int32 `protobuf:"varint,1,opt,name=cid,proto3" json:"cid"` // 塔的配置id + Battle *BattleFormation `protobuf:"bytes,3,opt,name=battle,proto3" json:"battle"` } func (x *PagodaChallengeReq) Reset() { @@ -244,16 +243,9 @@ func (*PagodaChallengeReq) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{4} } -func (x *PagodaChallengeReq) GetLevelID() int32 { +func (x *PagodaChallengeReq) GetCid() int32 { if x != nil { - return x.LevelID - } - return 0 -} - -func (x *PagodaChallengeReq) GetPagodaType() int32 { - if x != nil { - return x.PagodaType + return x.Cid } return 0 } @@ -270,9 +262,8 @@ type PagodaChallengeResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` - LevelID int32 `protobuf:"varint,2,opt,name=levelID,proto3" json:"levelID"` // 挑战层数 - PagodaType int32 `protobuf:"varint,3,opt,name=PagodaType,proto3" json:"PagodaType"` // 塔类型 + Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` + Cid int32 `protobuf:"varint,2,opt,name=cid,proto3" json:"cid"` // 塔的配置id } func (x *PagodaChallengeResp) Reset() { @@ -314,16 +305,9 @@ func (x *PagodaChallengeResp) GetInfo() *BattleInfo { return nil } -func (x *PagodaChallengeResp) GetLevelID() int32 { +func (x *PagodaChallengeResp) GetCid() int32 { if x != nil { - return x.LevelID - } - return 0 -} - -func (x *PagodaChallengeResp) GetPagodaType() int32 { - if x != nil { - return x.PagodaType + return x.Cid } return 0 } @@ -334,9 +318,8 @@ type PagodaChallengeOverReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LevelID int32 `protobuf:"varint,1,opt,name=levelID,proto3" json:"levelID"` // 挑战层数 - PagodaType int32 `protobuf:"varint,2,opt,name=PagodaType,proto3" json:"PagodaType"` // 塔类型 - Report *BattleReport `protobuf:"bytes,3,opt,name=report,proto3" json:"report"` //战报 + Cid int32 `protobuf:"varint,1,opt,name=cid,proto3" json:"cid"` // 塔的配置id + Report *BattleReport `protobuf:"bytes,3,opt,name=report,proto3" json:"report"` //战报 } func (x *PagodaChallengeOverReq) Reset() { @@ -371,16 +354,9 @@ func (*PagodaChallengeOverReq) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{6} } -func (x *PagodaChallengeOverReq) GetLevelID() int32 { +func (x *PagodaChallengeOverReq) GetCid() int32 { if x != nil { - return x.LevelID - } - return 0 -} - -func (x *PagodaChallengeOverReq) GetPagodaType() int32 { - if x != nil { - return x.PagodaType + return x.Cid } return 0 } @@ -445,8 +421,8 @@ type PagodaRankListReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FloorId int32 `protobuf:"varint,1,opt,name=floorId,proto3" json:"floorId"` // 层数 0 标识总榜 - Friend bool `protobuf:"varint,2,opt,name=friend,proto3" json:"friend"` // true 好友榜 + Cid int32 `protobuf:"varint,1,opt,name=cid,proto3" json:"cid"` // + Friend bool `protobuf:"varint,2,opt,name=friend,proto3" json:"friend"` // true 好友榜 } func (x *PagodaRankListReq) Reset() { @@ -481,9 +457,9 @@ func (*PagodaRankListReq) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{8} } -func (x *PagodaRankListReq) GetFloorId() int32 { +func (x *PagodaRankListReq) GetCid() int32 { if x != nil { - return x.FloorId + return x.Cid } return 0 } @@ -826,36 +802,28 @@ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{ 0x52, 0x02, 0x69, 0x64, 0x22, 0x34, 0x0a, 0x13, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x78, 0x0a, 0x12, 0x50, 0x61, + 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x50, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x22, 0x70, 0x0a, 0x13, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, - 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x54, 0x79, 0x70, 0x65, 0x22, 0x79, 0x0a, 0x16, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, + 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, + 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x48, 0x0a, 0x13, + 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x16, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, - 0x67, 0x6f, 0x64, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x22, 0x38, 0x0a, 0x17, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, - 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, - 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x11, 0x50, - 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, + 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, + 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x38, 0x0a, 0x17, 0x50, 0x61, 0x67, + 0x6f, 0x64, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x3d, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x6b, diff --git a/sys/configure/structs/game.pagoda.go b/sys/configure/structs/game.pagoda.go index a261f2336..91003d398 100644 --- a/sys/configure/structs/game.pagoda.go +++ b/sys/configure/structs/game.pagoda.go @@ -9,26 +9,34 @@ package cfg type GamePagoda struct { + _dataMap map[int32]*GamePagodaData _dataList []*GamePagodaData } func NewGamePagoda(_buf []map[string]interface{}) (*GamePagoda, error) { _dataList := make([]*GamePagodaData, 0, len(_buf)) + dataMap := make(map[int32]*GamePagodaData) for _, _ele_ := range _buf { if _v, err2 := DeserializeGamePagodaData(_ele_); err2 != nil { return nil, err2 } else { _dataList = append(_dataList, _v) + dataMap[_v.Key] = _v } } - return &GamePagoda{_dataList:_dataList}, nil + return &GamePagoda{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GamePagoda) GetDataMap() map[int32]*GamePagodaData { + return table._dataMap } func (table *GamePagoda) GetDataList() []*GamePagodaData { return table._dataList } -func (table *GamePagoda) Get(index int) *GamePagodaData { - return table._dataList[index] +func (table *GamePagoda) Get(key int32) *GamePagodaData { + return table._dataMap[key] } +