From 8d6a271d6c5c348bbb559210274f05e369ae4d41 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 24 Aug 2022 16:48:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_pagoda.json | 600 +++++++++++------------ comm/const.go | 10 + lego/sys/redis/single/list.go | 3 +- modules/pagoda/api_challenge.go | 108 ++-- modules/pagoda/api_getlist.go | 33 +- modules/pagoda/api_ranklist.go | 2 +- modules/pagoda/model_rank.go | 26 +- modules/pagoda/model_seasonpagoda.go | 62 +++ modules/pagoda/module.go | 19 +- modules/timer/forum.go | 18 +- modules/timer/module.go | 13 +- modules/timer/options.go | 23 + modules/timer/pagodarank.go | 67 +++ pb/pagoda_db.pb.go | 166 +++++-- sys/configure/structs/game.pagodaData.go | 4 +- 15 files changed, 737 insertions(+), 417 deletions(-) create mode 100644 modules/pagoda/model_seasonpagoda.go create mode 100644 modules/timer/options.go create mode 100644 modules/timer/pagodarank.go diff --git a/bin/json/game_pagoda.json b/bin/json/game_pagoda.json index 7a1dc6b71..ff526993e 100644 --- a/bin/json/game_pagoda.json +++ b/bin/json/game_pagoda.json @@ -3,7 +3,7 @@ "key": 1, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 2, + "PreLevel": 0, "layer_num": 1, "monster_lv": [ 10, @@ -62,7 +62,7 @@ "key": 2, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 3, + "PreLevel": 1, "layer_num": 2, "monster_lv": [ 11, @@ -133,7 +133,7 @@ "key": 3, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 4, + "PreLevel": 2, "layer_num": 3, "monster_lv": [ 12, @@ -216,7 +216,7 @@ "key": 4, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 5, + "PreLevel": 3, "layer_num": 4, "monster_lv": [ 13, @@ -305,7 +305,7 @@ "key": 5, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 6, + "PreLevel": 4, "layer_num": 5, "monster_lv": [ 14, @@ -394,7 +394,7 @@ "key": 6, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 7, + "PreLevel": 5, "layer_num": 6, "monster_lv": [ 15, @@ -483,7 +483,7 @@ "key": 7, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 8, + "PreLevel": 6, "layer_num": 7, "monster_lv": [ 16, @@ -572,7 +572,7 @@ "key": 8, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 9, + "PreLevel": 7, "layer_num": 8, "monster_lv": [ 17, @@ -661,7 +661,7 @@ "key": 9, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 10, + "PreLevel": 8, "layer_num": 9, "monster_lv": [ 18, @@ -750,7 +750,7 @@ "key": 10, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 11, + "PreLevel": 9, "layer_num": 10, "monster_lv": [ 19, @@ -839,7 +839,7 @@ "key": 11, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 12, + "PreLevel": 10, "layer_num": 11, "monster_lv": [ 20, @@ -928,7 +928,7 @@ "key": 12, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 13, + "PreLevel": 11, "layer_num": 12, "monster_lv": [ 21, @@ -1017,7 +1017,7 @@ "key": 13, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 14, + "PreLevel": 12, "layer_num": 13, "monster_lv": [ 22, @@ -1106,7 +1106,7 @@ "key": 14, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 15, + "PreLevel": 13, "layer_num": 14, "monster_lv": [ 23, @@ -1195,7 +1195,7 @@ "key": 15, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 16, + "PreLevel": 14, "layer_num": 15, "monster_lv": [ 24, @@ -1284,7 +1284,7 @@ "key": 16, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 17, + "PreLevel": 15, "layer_num": 16, "monster_lv": [ 25, @@ -1373,7 +1373,7 @@ "key": 17, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 18, + "PreLevel": 16, "layer_num": 17, "monster_lv": [ 26, @@ -1462,7 +1462,7 @@ "key": 18, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 19, + "PreLevel": 17, "layer_num": 18, "monster_lv": [ 27, @@ -1551,7 +1551,7 @@ "key": 19, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 20, + "PreLevel": 18, "layer_num": 19, "monster_lv": [ 28, @@ -1640,7 +1640,7 @@ "key": 20, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 21, + "PreLevel": 19, "layer_num": 20, "monster_lv": [ 29, @@ -1729,7 +1729,7 @@ "key": 21, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 22, + "PreLevel": 20, "layer_num": 21, "monster_lv": [ 30, @@ -1818,7 +1818,7 @@ "key": 22, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 23, + "PreLevel": 21, "layer_num": 22, "monster_lv": [ 31, @@ -1907,7 +1907,7 @@ "key": 23, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 24, + "PreLevel": 22, "layer_num": 23, "monster_lv": [ 32, @@ -1996,7 +1996,7 @@ "key": 24, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 25, + "PreLevel": 23, "layer_num": 24, "monster_lv": [ 33, @@ -2085,7 +2085,7 @@ "key": 25, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 26, + "PreLevel": 24, "layer_num": 25, "monster_lv": [ 34, @@ -2174,7 +2174,7 @@ "key": 26, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 27, + "PreLevel": 25, "layer_num": 26, "monster_lv": [ 35, @@ -2263,7 +2263,7 @@ "key": 27, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 28, + "PreLevel": 26, "layer_num": 27, "monster_lv": [ 36, @@ -2352,7 +2352,7 @@ "key": 28, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 29, + "PreLevel": 27, "layer_num": 28, "monster_lv": [ 37, @@ -2441,7 +2441,7 @@ "key": 29, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 30, + "PreLevel": 28, "layer_num": 29, "monster_lv": [ 38, @@ -2530,7 +2530,7 @@ "key": 30, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 31, + "PreLevel": 29, "layer_num": 30, "monster_lv": [ 39, @@ -2619,7 +2619,7 @@ "key": 31, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 32, + "PreLevel": 30, "layer_num": 31, "monster_lv": [ 40, @@ -2708,7 +2708,7 @@ "key": 32, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 33, + "PreLevel": 31, "layer_num": 32, "monster_lv": [ 41, @@ -2797,7 +2797,7 @@ "key": 33, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 34, + "PreLevel": 32, "layer_num": 33, "monster_lv": [ 42, @@ -2886,7 +2886,7 @@ "key": 34, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 35, + "PreLevel": 33, "layer_num": 34, "monster_lv": [ 43, @@ -2975,7 +2975,7 @@ "key": 35, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 36, + "PreLevel": 34, "layer_num": 35, "monster_lv": [ 44, @@ -3064,7 +3064,7 @@ "key": 36, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 37, + "PreLevel": 35, "layer_num": 36, "monster_lv": [ 45, @@ -3153,7 +3153,7 @@ "key": 37, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 38, + "PreLevel": 36, "layer_num": 37, "monster_lv": [ 46, @@ -3242,7 +3242,7 @@ "key": 38, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 39, + "PreLevel": 37, "layer_num": 38, "monster_lv": [ 47, @@ -3331,7 +3331,7 @@ "key": 39, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 40, + "PreLevel": 38, "layer_num": 39, "monster_lv": [ 48, @@ -3420,7 +3420,7 @@ "key": 40, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 41, + "PreLevel": 39, "layer_num": 40, "monster_lv": [ 49, @@ -3509,7 +3509,7 @@ "key": 41, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 42, + "PreLevel": 40, "layer_num": 41, "monster_lv": [ 50, @@ -3598,7 +3598,7 @@ "key": 42, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 43, + "PreLevel": 41, "layer_num": 42, "monster_lv": [ 51, @@ -3687,7 +3687,7 @@ "key": 43, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 44, + "PreLevel": 42, "layer_num": 43, "monster_lv": [ 52, @@ -3776,7 +3776,7 @@ "key": 44, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 45, + "PreLevel": 43, "layer_num": 44, "monster_lv": [ 53, @@ -3865,7 +3865,7 @@ "key": 45, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 46, + "PreLevel": 44, "layer_num": 45, "monster_lv": [ 54, @@ -3954,7 +3954,7 @@ "key": 46, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 47, + "PreLevel": 45, "layer_num": 46, "monster_lv": [ 55, @@ -4043,7 +4043,7 @@ "key": 47, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 48, + "PreLevel": 46, "layer_num": 47, "monster_lv": [ 56, @@ -4132,7 +4132,7 @@ "key": 48, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 49, + "PreLevel": 47, "layer_num": 48, "monster_lv": [ 57, @@ -4221,7 +4221,7 @@ "key": 49, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 50, + "PreLevel": 48, "layer_num": 49, "monster_lv": [ 58, @@ -4310,7 +4310,7 @@ "key": 50, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 51, + "PreLevel": 49, "layer_num": 50, "monster_lv": [ 59, @@ -4399,7 +4399,7 @@ "key": 51, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 52, + "PreLevel": 50, "layer_num": 51, "monster_lv": [ 60, @@ -4488,7 +4488,7 @@ "key": 52, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 53, + "PreLevel": 51, "layer_num": 52, "monster_lv": [ 61, @@ -4577,7 +4577,7 @@ "key": 53, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 54, + "PreLevel": 52, "layer_num": 53, "monster_lv": [ 62, @@ -4666,7 +4666,7 @@ "key": 54, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 55, + "PreLevel": 53, "layer_num": 54, "monster_lv": [ 63, @@ -4755,7 +4755,7 @@ "key": 55, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 56, + "PreLevel": 54, "layer_num": 55, "monster_lv": [ 64, @@ -4844,7 +4844,7 @@ "key": 56, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 57, + "PreLevel": 55, "layer_num": 56, "monster_lv": [ 65, @@ -4933,7 +4933,7 @@ "key": 57, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 58, + "PreLevel": 56, "layer_num": 57, "monster_lv": [ 66, @@ -5022,7 +5022,7 @@ "key": 58, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 59, + "PreLevel": 57, "layer_num": 58, "monster_lv": [ 67, @@ -5111,7 +5111,7 @@ "key": 59, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 60, + "PreLevel": 58, "layer_num": 59, "monster_lv": [ 68, @@ -5200,7 +5200,7 @@ "key": 60, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 61, + "PreLevel": 59, "layer_num": 60, "monster_lv": [ 69, @@ -5289,7 +5289,7 @@ "key": 61, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 62, + "PreLevel": 60, "layer_num": 61, "monster_lv": [ 70, @@ -5378,7 +5378,7 @@ "key": 62, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 63, + "PreLevel": 61, "layer_num": 62, "monster_lv": [ 71, @@ -5467,7 +5467,7 @@ "key": 63, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 64, + "PreLevel": 62, "layer_num": 63, "monster_lv": [ 72, @@ -5556,7 +5556,7 @@ "key": 64, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 65, + "PreLevel": 63, "layer_num": 64, "monster_lv": [ 73, @@ -5645,7 +5645,7 @@ "key": 65, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 66, + "PreLevel": 64, "layer_num": 65, "monster_lv": [ 74, @@ -5734,7 +5734,7 @@ "key": 66, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 67, + "PreLevel": 65, "layer_num": 66, "monster_lv": [ 75, @@ -5823,7 +5823,7 @@ "key": 67, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 68, + "PreLevel": 66, "layer_num": 67, "monster_lv": [ 76, @@ -5912,7 +5912,7 @@ "key": 68, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 69, + "PreLevel": 67, "layer_num": 68, "monster_lv": [ 77, @@ -6001,7 +6001,7 @@ "key": 69, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 70, + "PreLevel": 68, "layer_num": 69, "monster_lv": [ 78, @@ -6090,7 +6090,7 @@ "key": 70, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 71, + "PreLevel": 69, "layer_num": 70, "monster_lv": [ 79, @@ -6179,7 +6179,7 @@ "key": 71, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 72, + "PreLevel": 70, "layer_num": 71, "monster_lv": [ 80, @@ -6268,7 +6268,7 @@ "key": 72, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 73, + "PreLevel": 71, "layer_num": 72, "monster_lv": [ 81, @@ -6357,7 +6357,7 @@ "key": 73, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 74, + "PreLevel": 72, "layer_num": 73, "monster_lv": [ 82, @@ -6446,7 +6446,7 @@ "key": 74, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 75, + "PreLevel": 73, "layer_num": 74, "monster_lv": [ 83, @@ -6535,7 +6535,7 @@ "key": 75, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 76, + "PreLevel": 74, "layer_num": 75, "monster_lv": [ 84, @@ -6624,7 +6624,7 @@ "key": 76, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 77, + "PreLevel": 75, "layer_num": 76, "monster_lv": [ 85, @@ -6713,7 +6713,7 @@ "key": 77, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 78, + "PreLevel": 76, "layer_num": 77, "monster_lv": [ 86, @@ -6802,7 +6802,7 @@ "key": 78, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 79, + "PreLevel": 77, "layer_num": 78, "monster_lv": [ 87, @@ -6891,7 +6891,7 @@ "key": 79, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 80, + "PreLevel": 78, "layer_num": 79, "monster_lv": [ 88, @@ -6980,7 +6980,7 @@ "key": 80, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 81, + "PreLevel": 79, "layer_num": 80, "monster_lv": [ 89, @@ -7069,7 +7069,7 @@ "key": 81, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 82, + "PreLevel": 80, "layer_num": 81, "monster_lv": [ 90, @@ -7158,7 +7158,7 @@ "key": 82, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 83, + "PreLevel": 81, "layer_num": 82, "monster_lv": [ 91, @@ -7247,7 +7247,7 @@ "key": 83, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 84, + "PreLevel": 82, "layer_num": 83, "monster_lv": [ 92, @@ -7336,7 +7336,7 @@ "key": 84, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 85, + "PreLevel": 83, "layer_num": 84, "monster_lv": [ 93, @@ -7425,7 +7425,7 @@ "key": 85, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 86, + "PreLevel": 84, "layer_num": 85, "monster_lv": [ 94, @@ -7514,7 +7514,7 @@ "key": 86, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 87, + "PreLevel": 85, "layer_num": 86, "monster_lv": [ 95, @@ -7603,7 +7603,7 @@ "key": 87, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 88, + "PreLevel": 86, "layer_num": 87, "monster_lv": [ 96, @@ -7692,7 +7692,7 @@ "key": 88, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 89, + "PreLevel": 87, "layer_num": 88, "monster_lv": [ 97, @@ -7781,7 +7781,7 @@ "key": 89, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 90, + "PreLevel": 88, "layer_num": 89, "monster_lv": [ 98, @@ -7870,7 +7870,7 @@ "key": 90, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 91, + "PreLevel": 89, "layer_num": 90, "monster_lv": [ 99, @@ -7959,7 +7959,7 @@ "key": 91, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 92, + "PreLevel": 90, "layer_num": 91, "monster_lv": [ 100, @@ -8048,7 +8048,7 @@ "key": 92, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 93, + "PreLevel": 91, "layer_num": 92, "monster_lv": [ 101, @@ -8137,7 +8137,7 @@ "key": 93, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 94, + "PreLevel": 92, "layer_num": 93, "monster_lv": [ 102, @@ -8226,7 +8226,7 @@ "key": 94, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 95, + "PreLevel": 93, "layer_num": 94, "monster_lv": [ 103, @@ -8315,7 +8315,7 @@ "key": 95, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 96, + "PreLevel": 94, "layer_num": 95, "monster_lv": [ 104, @@ -8404,7 +8404,7 @@ "key": 96, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 97, + "PreLevel": 95, "layer_num": 96, "monster_lv": [ 105, @@ -8493,7 +8493,7 @@ "key": 97, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 98, + "PreLevel": 96, "layer_num": 97, "monster_lv": [ 106, @@ -8582,7 +8582,7 @@ "key": 98, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 99, + "PreLevel": 97, "layer_num": 98, "monster_lv": [ 107, @@ -8671,7 +8671,7 @@ "key": 99, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 100, + "PreLevel": 98, "layer_num": 99, "monster_lv": [ 108, @@ -8760,7 +8760,7 @@ "key": 100, "pagoda_type": 101, "Level_type": 1, - "NextLevel": 101, + "PreLevel": 99, "layer_num": 100, "monster_lv": [ 109, @@ -8849,7 +8849,7 @@ "key": 101, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 2, + "PreLevel": 0, "layer_num": 1, "monster_lv": [ 10, @@ -8908,7 +8908,7 @@ "key": 102, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 3, + "PreLevel": 1, "layer_num": 2, "monster_lv": [ 11, @@ -8979,7 +8979,7 @@ "key": 103, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 4, + "PreLevel": 2, "layer_num": 3, "monster_lv": [ 12, @@ -9062,7 +9062,7 @@ "key": 104, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 5, + "PreLevel": 3, "layer_num": 4, "monster_lv": [ 13, @@ -9151,7 +9151,7 @@ "key": 105, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 6, + "PreLevel": 4, "layer_num": 5, "monster_lv": [ 14, @@ -9240,7 +9240,7 @@ "key": 106, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 7, + "PreLevel": 5, "layer_num": 6, "monster_lv": [ 15, @@ -9329,7 +9329,7 @@ "key": 107, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 8, + "PreLevel": 6, "layer_num": 7, "monster_lv": [ 16, @@ -9418,7 +9418,7 @@ "key": 108, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 9, + "PreLevel": 7, "layer_num": 8, "monster_lv": [ 17, @@ -9507,7 +9507,7 @@ "key": 109, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 10, + "PreLevel": 8, "layer_num": 9, "monster_lv": [ 18, @@ -9596,7 +9596,7 @@ "key": 110, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 11, + "PreLevel": 9, "layer_num": 10, "monster_lv": [ 19, @@ -9685,7 +9685,7 @@ "key": 111, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 12, + "PreLevel": 10, "layer_num": 11, "monster_lv": [ 20, @@ -9774,7 +9774,7 @@ "key": 112, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 13, + "PreLevel": 11, "layer_num": 12, "monster_lv": [ 21, @@ -9863,7 +9863,7 @@ "key": 113, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 14, + "PreLevel": 12, "layer_num": 13, "monster_lv": [ 22, @@ -9952,7 +9952,7 @@ "key": 114, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 15, + "PreLevel": 13, "layer_num": 14, "monster_lv": [ 23, @@ -10041,7 +10041,7 @@ "key": 115, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 16, + "PreLevel": 14, "layer_num": 15, "monster_lv": [ 24, @@ -10130,7 +10130,7 @@ "key": 116, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 17, + "PreLevel": 15, "layer_num": 16, "monster_lv": [ 25, @@ -10219,7 +10219,7 @@ "key": 117, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 18, + "PreLevel": 16, "layer_num": 17, "monster_lv": [ 26, @@ -10308,7 +10308,7 @@ "key": 118, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 19, + "PreLevel": 17, "layer_num": 18, "monster_lv": [ 27, @@ -10397,7 +10397,7 @@ "key": 119, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 20, + "PreLevel": 18, "layer_num": 19, "monster_lv": [ 28, @@ -10486,7 +10486,7 @@ "key": 120, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 21, + "PreLevel": 19, "layer_num": 20, "monster_lv": [ 29, @@ -10575,7 +10575,7 @@ "key": 121, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 22, + "PreLevel": 20, "layer_num": 21, "monster_lv": [ 30, @@ -10664,7 +10664,7 @@ "key": 122, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 23, + "PreLevel": 21, "layer_num": 22, "monster_lv": [ 31, @@ -10753,7 +10753,7 @@ "key": 123, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 24, + "PreLevel": 22, "layer_num": 23, "monster_lv": [ 32, @@ -10842,7 +10842,7 @@ "key": 124, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 25, + "PreLevel": 23, "layer_num": 24, "monster_lv": [ 33, @@ -10931,7 +10931,7 @@ "key": 125, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 26, + "PreLevel": 24, "layer_num": 25, "monster_lv": [ 34, @@ -11020,7 +11020,7 @@ "key": 126, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 27, + "PreLevel": 25, "layer_num": 26, "monster_lv": [ 35, @@ -11109,7 +11109,7 @@ "key": 127, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 28, + "PreLevel": 26, "layer_num": 27, "monster_lv": [ 36, @@ -11198,7 +11198,7 @@ "key": 128, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 29, + "PreLevel": 27, "layer_num": 28, "monster_lv": [ 37, @@ -11287,7 +11287,7 @@ "key": 129, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 30, + "PreLevel": 28, "layer_num": 29, "monster_lv": [ 38, @@ -11376,7 +11376,7 @@ "key": 130, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 31, + "PreLevel": 29, "layer_num": 30, "monster_lv": [ 39, @@ -11465,7 +11465,7 @@ "key": 131, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 32, + "PreLevel": 30, "layer_num": 31, "monster_lv": [ 40, @@ -11554,7 +11554,7 @@ "key": 132, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 33, + "PreLevel": 31, "layer_num": 32, "monster_lv": [ 41, @@ -11643,7 +11643,7 @@ "key": 133, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 34, + "PreLevel": 32, "layer_num": 33, "monster_lv": [ 42, @@ -11732,7 +11732,7 @@ "key": 134, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 35, + "PreLevel": 33, "layer_num": 34, "monster_lv": [ 43, @@ -11821,7 +11821,7 @@ "key": 135, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 36, + "PreLevel": 34, "layer_num": 35, "monster_lv": [ 44, @@ -11910,7 +11910,7 @@ "key": 136, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 37, + "PreLevel": 35, "layer_num": 36, "monster_lv": [ 45, @@ -11999,7 +11999,7 @@ "key": 137, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 38, + "PreLevel": 36, "layer_num": 37, "monster_lv": [ 46, @@ -12088,7 +12088,7 @@ "key": 138, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 39, + "PreLevel": 37, "layer_num": 38, "monster_lv": [ 47, @@ -12177,7 +12177,7 @@ "key": 139, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 40, + "PreLevel": 38, "layer_num": 39, "monster_lv": [ 48, @@ -12266,7 +12266,7 @@ "key": 140, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 41, + "PreLevel": 39, "layer_num": 40, "monster_lv": [ 49, @@ -12355,7 +12355,7 @@ "key": 141, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 42, + "PreLevel": 40, "layer_num": 41, "monster_lv": [ 50, @@ -12444,7 +12444,7 @@ "key": 142, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 43, + "PreLevel": 41, "layer_num": 42, "monster_lv": [ 51, @@ -12533,7 +12533,7 @@ "key": 143, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 44, + "PreLevel": 42, "layer_num": 43, "monster_lv": [ 52, @@ -12622,7 +12622,7 @@ "key": 144, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 45, + "PreLevel": 43, "layer_num": 44, "monster_lv": [ 53, @@ -12711,7 +12711,7 @@ "key": 145, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 46, + "PreLevel": 44, "layer_num": 45, "monster_lv": [ 54, @@ -12800,7 +12800,7 @@ "key": 146, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 47, + "PreLevel": 45, "layer_num": 46, "monster_lv": [ 55, @@ -12889,7 +12889,7 @@ "key": 147, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 48, + "PreLevel": 46, "layer_num": 47, "monster_lv": [ 56, @@ -12978,7 +12978,7 @@ "key": 148, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 49, + "PreLevel": 47, "layer_num": 48, "monster_lv": [ 57, @@ -13067,7 +13067,7 @@ "key": 149, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 50, + "PreLevel": 48, "layer_num": 49, "monster_lv": [ 58, @@ -13156,7 +13156,7 @@ "key": 150, "pagoda_type": 201, "Level_type": 1, - "NextLevel": 51, + "PreLevel": 49, "layer_num": 50, "monster_lv": [ 59, @@ -13245,7 +13245,7 @@ "key": 151, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 2, + "PreLevel": 0, "layer_num": 1, "monster_lv": [ 10, @@ -13304,7 +13304,7 @@ "key": 152, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 3, + "PreLevel": 1, "layer_num": 2, "monster_lv": [ 11, @@ -13375,7 +13375,7 @@ "key": 153, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 4, + "PreLevel": 2, "layer_num": 3, "monster_lv": [ 12, @@ -13458,7 +13458,7 @@ "key": 154, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 5, + "PreLevel": 3, "layer_num": 4, "monster_lv": [ 13, @@ -13547,7 +13547,7 @@ "key": 155, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 6, + "PreLevel": 4, "layer_num": 5, "monster_lv": [ 14, @@ -13636,7 +13636,7 @@ "key": 156, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 7, + "PreLevel": 5, "layer_num": 6, "monster_lv": [ 15, @@ -13725,7 +13725,7 @@ "key": 157, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 8, + "PreLevel": 6, "layer_num": 7, "monster_lv": [ 16, @@ -13814,7 +13814,7 @@ "key": 158, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 9, + "PreLevel": 7, "layer_num": 8, "monster_lv": [ 17, @@ -13903,7 +13903,7 @@ "key": 159, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 10, + "PreLevel": 8, "layer_num": 9, "monster_lv": [ 18, @@ -13992,7 +13992,7 @@ "key": 160, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 11, + "PreLevel": 9, "layer_num": 10, "monster_lv": [ 19, @@ -14081,7 +14081,7 @@ "key": 161, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 12, + "PreLevel": 10, "layer_num": 11, "monster_lv": [ 20, @@ -14170,7 +14170,7 @@ "key": 162, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 13, + "PreLevel": 11, "layer_num": 12, "monster_lv": [ 21, @@ -14259,7 +14259,7 @@ "key": 163, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 14, + "PreLevel": 12, "layer_num": 13, "monster_lv": [ 22, @@ -14348,7 +14348,7 @@ "key": 164, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 15, + "PreLevel": 13, "layer_num": 14, "monster_lv": [ 23, @@ -14437,7 +14437,7 @@ "key": 165, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 16, + "PreLevel": 14, "layer_num": 15, "monster_lv": [ 24, @@ -14526,7 +14526,7 @@ "key": 166, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 17, + "PreLevel": 15, "layer_num": 16, "monster_lv": [ 25, @@ -14615,7 +14615,7 @@ "key": 167, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 18, + "PreLevel": 16, "layer_num": 17, "monster_lv": [ 26, @@ -14704,7 +14704,7 @@ "key": 168, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 19, + "PreLevel": 17, "layer_num": 18, "monster_lv": [ 27, @@ -14793,7 +14793,7 @@ "key": 169, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 20, + "PreLevel": 18, "layer_num": 19, "monster_lv": [ 28, @@ -14882,7 +14882,7 @@ "key": 170, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 21, + "PreLevel": 19, "layer_num": 20, "monster_lv": [ 29, @@ -14971,7 +14971,7 @@ "key": 171, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 22, + "PreLevel": 20, "layer_num": 21, "monster_lv": [ 30, @@ -15060,7 +15060,7 @@ "key": 172, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 23, + "PreLevel": 21, "layer_num": 22, "monster_lv": [ 31, @@ -15149,7 +15149,7 @@ "key": 173, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 24, + "PreLevel": 22, "layer_num": 23, "monster_lv": [ 32, @@ -15238,7 +15238,7 @@ "key": 174, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 25, + "PreLevel": 23, "layer_num": 24, "monster_lv": [ 33, @@ -15327,7 +15327,7 @@ "key": 175, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 26, + "PreLevel": 24, "layer_num": 25, "monster_lv": [ 34, @@ -15416,7 +15416,7 @@ "key": 176, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 27, + "PreLevel": 25, "layer_num": 26, "monster_lv": [ 35, @@ -15505,7 +15505,7 @@ "key": 177, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 28, + "PreLevel": 26, "layer_num": 27, "monster_lv": [ 36, @@ -15594,7 +15594,7 @@ "key": 178, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 29, + "PreLevel": 27, "layer_num": 28, "monster_lv": [ 37, @@ -15683,7 +15683,7 @@ "key": 179, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 30, + "PreLevel": 28, "layer_num": 29, "monster_lv": [ 38, @@ -15772,7 +15772,7 @@ "key": 180, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 31, + "PreLevel": 29, "layer_num": 30, "monster_lv": [ 39, @@ -15861,7 +15861,7 @@ "key": 181, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 32, + "PreLevel": 30, "layer_num": 31, "monster_lv": [ 40, @@ -15950,7 +15950,7 @@ "key": 182, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 33, + "PreLevel": 31, "layer_num": 32, "monster_lv": [ 41, @@ -16039,7 +16039,7 @@ "key": 183, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 34, + "PreLevel": 32, "layer_num": 33, "monster_lv": [ 42, @@ -16128,7 +16128,7 @@ "key": 184, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 35, + "PreLevel": 33, "layer_num": 34, "monster_lv": [ 43, @@ -16217,7 +16217,7 @@ "key": 185, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 36, + "PreLevel": 34, "layer_num": 35, "monster_lv": [ 44, @@ -16306,7 +16306,7 @@ "key": 186, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 37, + "PreLevel": 35, "layer_num": 36, "monster_lv": [ 45, @@ -16395,7 +16395,7 @@ "key": 187, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 38, + "PreLevel": 36, "layer_num": 37, "monster_lv": [ 46, @@ -16484,7 +16484,7 @@ "key": 188, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 39, + "PreLevel": 37, "layer_num": 38, "monster_lv": [ 47, @@ -16573,7 +16573,7 @@ "key": 189, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 40, + "PreLevel": 38, "layer_num": 39, "monster_lv": [ 48, @@ -16662,7 +16662,7 @@ "key": 190, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 41, + "PreLevel": 39, "layer_num": 40, "monster_lv": [ 49, @@ -16751,7 +16751,7 @@ "key": 191, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 42, + "PreLevel": 40, "layer_num": 41, "monster_lv": [ 50, @@ -16840,7 +16840,7 @@ "key": 192, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 43, + "PreLevel": 41, "layer_num": 42, "monster_lv": [ 51, @@ -16929,7 +16929,7 @@ "key": 193, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 44, + "PreLevel": 42, "layer_num": 43, "monster_lv": [ 52, @@ -17018,7 +17018,7 @@ "key": 194, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 45, + "PreLevel": 43, "layer_num": 44, "monster_lv": [ 53, @@ -17107,7 +17107,7 @@ "key": 195, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 46, + "PreLevel": 44, "layer_num": 45, "monster_lv": [ 54, @@ -17196,7 +17196,7 @@ "key": 196, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 47, + "PreLevel": 45, "layer_num": 46, "monster_lv": [ 55, @@ -17285,7 +17285,7 @@ "key": 197, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 48, + "PreLevel": 46, "layer_num": 47, "monster_lv": [ 56, @@ -17374,7 +17374,7 @@ "key": 198, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 49, + "PreLevel": 47, "layer_num": 48, "monster_lv": [ 57, @@ -17463,7 +17463,7 @@ "key": 199, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 50, + "PreLevel": 48, "layer_num": 49, "monster_lv": [ 58, @@ -17552,7 +17552,7 @@ "key": 200, "pagoda_type": 202, "Level_type": 1, - "NextLevel": 51, + "PreLevel": 49, "layer_num": 50, "monster_lv": [ 59, @@ -17641,7 +17641,7 @@ "key": 201, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 2, + "PreLevel": 0, "layer_num": 1, "monster_lv": [ 10, @@ -17700,7 +17700,7 @@ "key": 202, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 3, + "PreLevel": 1, "layer_num": 2, "monster_lv": [ 11, @@ -17771,7 +17771,7 @@ "key": 203, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 4, + "PreLevel": 2, "layer_num": 3, "monster_lv": [ 12, @@ -17854,7 +17854,7 @@ "key": 204, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 5, + "PreLevel": 3, "layer_num": 4, "monster_lv": [ 13, @@ -17943,7 +17943,7 @@ "key": 205, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 6, + "PreLevel": 4, "layer_num": 5, "monster_lv": [ 14, @@ -18032,7 +18032,7 @@ "key": 206, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 7, + "PreLevel": 5, "layer_num": 6, "monster_lv": [ 15, @@ -18121,7 +18121,7 @@ "key": 207, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 8, + "PreLevel": 6, "layer_num": 7, "monster_lv": [ 16, @@ -18210,7 +18210,7 @@ "key": 208, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 9, + "PreLevel": 7, "layer_num": 8, "monster_lv": [ 17, @@ -18299,7 +18299,7 @@ "key": 209, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 10, + "PreLevel": 8, "layer_num": 9, "monster_lv": [ 18, @@ -18388,7 +18388,7 @@ "key": 210, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 11, + "PreLevel": 9, "layer_num": 10, "monster_lv": [ 19, @@ -18477,7 +18477,7 @@ "key": 211, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 12, + "PreLevel": 10, "layer_num": 11, "monster_lv": [ 20, @@ -18566,7 +18566,7 @@ "key": 212, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 13, + "PreLevel": 11, "layer_num": 12, "monster_lv": [ 21, @@ -18655,7 +18655,7 @@ "key": 213, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 14, + "PreLevel": 12, "layer_num": 13, "monster_lv": [ 22, @@ -18744,7 +18744,7 @@ "key": 214, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 15, + "PreLevel": 13, "layer_num": 14, "monster_lv": [ 23, @@ -18833,7 +18833,7 @@ "key": 215, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 16, + "PreLevel": 14, "layer_num": 15, "monster_lv": [ 24, @@ -18922,7 +18922,7 @@ "key": 216, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 17, + "PreLevel": 15, "layer_num": 16, "monster_lv": [ 25, @@ -19011,7 +19011,7 @@ "key": 217, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 18, + "PreLevel": 16, "layer_num": 17, "monster_lv": [ 26, @@ -19100,7 +19100,7 @@ "key": 218, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 19, + "PreLevel": 17, "layer_num": 18, "monster_lv": [ 27, @@ -19189,7 +19189,7 @@ "key": 219, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 20, + "PreLevel": 18, "layer_num": 19, "monster_lv": [ 28, @@ -19278,7 +19278,7 @@ "key": 220, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 21, + "PreLevel": 19, "layer_num": 20, "monster_lv": [ 29, @@ -19367,7 +19367,7 @@ "key": 221, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 22, + "PreLevel": 20, "layer_num": 21, "monster_lv": [ 30, @@ -19456,7 +19456,7 @@ "key": 222, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 23, + "PreLevel": 21, "layer_num": 22, "monster_lv": [ 31, @@ -19545,7 +19545,7 @@ "key": 223, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 24, + "PreLevel": 22, "layer_num": 23, "monster_lv": [ 32, @@ -19634,7 +19634,7 @@ "key": 224, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 25, + "PreLevel": 23, "layer_num": 24, "monster_lv": [ 33, @@ -19723,7 +19723,7 @@ "key": 225, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 26, + "PreLevel": 24, "layer_num": 25, "monster_lv": [ 34, @@ -19812,7 +19812,7 @@ "key": 226, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 27, + "PreLevel": 25, "layer_num": 26, "monster_lv": [ 35, @@ -19901,7 +19901,7 @@ "key": 227, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 28, + "PreLevel": 26, "layer_num": 27, "monster_lv": [ 36, @@ -19990,7 +19990,7 @@ "key": 228, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 29, + "PreLevel": 27, "layer_num": 28, "monster_lv": [ 37, @@ -20079,7 +20079,7 @@ "key": 229, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 30, + "PreLevel": 28, "layer_num": 29, "monster_lv": [ 38, @@ -20168,7 +20168,7 @@ "key": 230, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 31, + "PreLevel": 29, "layer_num": 30, "monster_lv": [ 39, @@ -20257,7 +20257,7 @@ "key": 231, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 32, + "PreLevel": 30, "layer_num": 31, "monster_lv": [ 40, @@ -20346,7 +20346,7 @@ "key": 232, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 33, + "PreLevel": 31, "layer_num": 32, "monster_lv": [ 41, @@ -20435,7 +20435,7 @@ "key": 233, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 34, + "PreLevel": 32, "layer_num": 33, "monster_lv": [ 42, @@ -20524,7 +20524,7 @@ "key": 234, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 35, + "PreLevel": 33, "layer_num": 34, "monster_lv": [ 43, @@ -20613,7 +20613,7 @@ "key": 235, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 36, + "PreLevel": 34, "layer_num": 35, "monster_lv": [ 44, @@ -20702,7 +20702,7 @@ "key": 236, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 37, + "PreLevel": 35, "layer_num": 36, "monster_lv": [ 45, @@ -20791,7 +20791,7 @@ "key": 237, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 38, + "PreLevel": 36, "layer_num": 37, "monster_lv": [ 46, @@ -20880,7 +20880,7 @@ "key": 238, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 39, + "PreLevel": 37, "layer_num": 38, "monster_lv": [ 47, @@ -20969,7 +20969,7 @@ "key": 239, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 40, + "PreLevel": 38, "layer_num": 39, "monster_lv": [ 48, @@ -21058,7 +21058,7 @@ "key": 240, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 41, + "PreLevel": 39, "layer_num": 40, "monster_lv": [ 49, @@ -21147,7 +21147,7 @@ "key": 241, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 42, + "PreLevel": 40, "layer_num": 41, "monster_lv": [ 50, @@ -21236,7 +21236,7 @@ "key": 242, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 43, + "PreLevel": 41, "layer_num": 42, "monster_lv": [ 51, @@ -21325,7 +21325,7 @@ "key": 243, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 44, + "PreLevel": 42, "layer_num": 43, "monster_lv": [ 52, @@ -21414,7 +21414,7 @@ "key": 244, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 45, + "PreLevel": 43, "layer_num": 44, "monster_lv": [ 53, @@ -21503,7 +21503,7 @@ "key": 245, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 46, + "PreLevel": 44, "layer_num": 45, "monster_lv": [ 54, @@ -21592,7 +21592,7 @@ "key": 246, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 47, + "PreLevel": 45, "layer_num": 46, "monster_lv": [ 55, @@ -21681,7 +21681,7 @@ "key": 247, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 48, + "PreLevel": 46, "layer_num": 47, "monster_lv": [ 56, @@ -21770,7 +21770,7 @@ "key": 248, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 49, + "PreLevel": 47, "layer_num": 48, "monster_lv": [ 57, @@ -21859,7 +21859,7 @@ "key": 249, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 50, + "PreLevel": 48, "layer_num": 49, "monster_lv": [ 58, @@ -21948,7 +21948,7 @@ "key": 250, "pagoda_type": 203, "Level_type": 1, - "NextLevel": 51, + "PreLevel": 49, "layer_num": 50, "monster_lv": [ 59, @@ -22037,7 +22037,7 @@ "key": 251, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 2, + "PreLevel": 0, "layer_num": 1, "monster_lv": [ 10, @@ -22096,7 +22096,7 @@ "key": 252, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 3, + "PreLevel": 1, "layer_num": 2, "monster_lv": [ 11, @@ -22167,7 +22167,7 @@ "key": 253, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 4, + "PreLevel": 2, "layer_num": 3, "monster_lv": [ 12, @@ -22250,7 +22250,7 @@ "key": 254, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 5, + "PreLevel": 3, "layer_num": 4, "monster_lv": [ 13, @@ -22339,7 +22339,7 @@ "key": 255, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 6, + "PreLevel": 4, "layer_num": 5, "monster_lv": [ 14, @@ -22428,7 +22428,7 @@ "key": 256, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 7, + "PreLevel": 5, "layer_num": 6, "monster_lv": [ 15, @@ -22517,7 +22517,7 @@ "key": 257, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 8, + "PreLevel": 6, "layer_num": 7, "monster_lv": [ 16, @@ -22606,7 +22606,7 @@ "key": 258, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 9, + "PreLevel": 7, "layer_num": 8, "monster_lv": [ 17, @@ -22695,7 +22695,7 @@ "key": 259, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 10, + "PreLevel": 8, "layer_num": 9, "monster_lv": [ 18, @@ -22784,7 +22784,7 @@ "key": 260, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 11, + "PreLevel": 9, "layer_num": 10, "monster_lv": [ 19, @@ -22873,7 +22873,7 @@ "key": 261, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 12, + "PreLevel": 10, "layer_num": 11, "monster_lv": [ 20, @@ -22962,7 +22962,7 @@ "key": 262, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 13, + "PreLevel": 11, "layer_num": 12, "monster_lv": [ 21, @@ -23051,7 +23051,7 @@ "key": 263, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 14, + "PreLevel": 12, "layer_num": 13, "monster_lv": [ 22, @@ -23140,7 +23140,7 @@ "key": 264, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 15, + "PreLevel": 13, "layer_num": 14, "monster_lv": [ 23, @@ -23229,7 +23229,7 @@ "key": 265, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 16, + "PreLevel": 14, "layer_num": 15, "monster_lv": [ 24, @@ -23318,7 +23318,7 @@ "key": 266, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 17, + "PreLevel": 15, "layer_num": 16, "monster_lv": [ 25, @@ -23407,7 +23407,7 @@ "key": 267, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 18, + "PreLevel": 16, "layer_num": 17, "monster_lv": [ 26, @@ -23496,7 +23496,7 @@ "key": 268, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 19, + "PreLevel": 17, "layer_num": 18, "monster_lv": [ 27, @@ -23585,7 +23585,7 @@ "key": 269, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 20, + "PreLevel": 18, "layer_num": 19, "monster_lv": [ 28, @@ -23674,7 +23674,7 @@ "key": 270, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 21, + "PreLevel": 19, "layer_num": 20, "monster_lv": [ 29, @@ -23763,7 +23763,7 @@ "key": 271, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 22, + "PreLevel": 20, "layer_num": 21, "monster_lv": [ 30, @@ -23852,7 +23852,7 @@ "key": 272, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 23, + "PreLevel": 21, "layer_num": 22, "monster_lv": [ 31, @@ -23941,7 +23941,7 @@ "key": 273, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 24, + "PreLevel": 22, "layer_num": 23, "monster_lv": [ 32, @@ -24030,7 +24030,7 @@ "key": 274, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 25, + "PreLevel": 23, "layer_num": 24, "monster_lv": [ 33, @@ -24119,7 +24119,7 @@ "key": 275, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 26, + "PreLevel": 24, "layer_num": 25, "monster_lv": [ 34, @@ -24208,7 +24208,7 @@ "key": 276, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 27, + "PreLevel": 25, "layer_num": 26, "monster_lv": [ 35, @@ -24297,7 +24297,7 @@ "key": 277, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 28, + "PreLevel": 26, "layer_num": 27, "monster_lv": [ 36, @@ -24386,7 +24386,7 @@ "key": 278, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 29, + "PreLevel": 27, "layer_num": 28, "monster_lv": [ 37, @@ -24475,7 +24475,7 @@ "key": 279, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 30, + "PreLevel": 28, "layer_num": 29, "monster_lv": [ 38, @@ -24564,7 +24564,7 @@ "key": 280, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 31, + "PreLevel": 29, "layer_num": 30, "monster_lv": [ 39, @@ -24653,7 +24653,7 @@ "key": 281, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 32, + "PreLevel": 30, "layer_num": 31, "monster_lv": [ 40, @@ -24742,7 +24742,7 @@ "key": 282, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 33, + "PreLevel": 31, "layer_num": 32, "monster_lv": [ 41, @@ -24831,7 +24831,7 @@ "key": 283, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 34, + "PreLevel": 32, "layer_num": 33, "monster_lv": [ 42, @@ -24920,7 +24920,7 @@ "key": 284, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 35, + "PreLevel": 33, "layer_num": 34, "monster_lv": [ 43, @@ -25009,7 +25009,7 @@ "key": 285, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 36, + "PreLevel": 34, "layer_num": 35, "monster_lv": [ 44, @@ -25098,7 +25098,7 @@ "key": 286, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 37, + "PreLevel": 35, "layer_num": 36, "monster_lv": [ 45, @@ -25187,7 +25187,7 @@ "key": 287, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 38, + "PreLevel": 36, "layer_num": 37, "monster_lv": [ 46, @@ -25276,7 +25276,7 @@ "key": 288, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 39, + "PreLevel": 37, "layer_num": 38, "monster_lv": [ 47, @@ -25365,7 +25365,7 @@ "key": 289, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 40, + "PreLevel": 38, "layer_num": 39, "monster_lv": [ 48, @@ -25454,7 +25454,7 @@ "key": 290, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 41, + "PreLevel": 39, "layer_num": 40, "monster_lv": [ 49, @@ -25543,7 +25543,7 @@ "key": 291, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 42, + "PreLevel": 40, "layer_num": 41, "monster_lv": [ 50, @@ -25632,7 +25632,7 @@ "key": 292, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 43, + "PreLevel": 41, "layer_num": 42, "monster_lv": [ 51, @@ -25721,7 +25721,7 @@ "key": 293, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 44, + "PreLevel": 42, "layer_num": 43, "monster_lv": [ 52, @@ -25810,7 +25810,7 @@ "key": 294, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 45, + "PreLevel": 43, "layer_num": 44, "monster_lv": [ 53, @@ -25899,7 +25899,7 @@ "key": 295, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 46, + "PreLevel": 44, "layer_num": 45, "monster_lv": [ 54, @@ -25988,7 +25988,7 @@ "key": 296, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 47, + "PreLevel": 45, "layer_num": 46, "monster_lv": [ 55, @@ -26077,7 +26077,7 @@ "key": 297, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 48, + "PreLevel": 46, "layer_num": 47, "monster_lv": [ 56, @@ -26166,7 +26166,7 @@ "key": 298, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 49, + "PreLevel": 47, "layer_num": 48, "monster_lv": [ 57, @@ -26255,7 +26255,7 @@ "key": 299, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 50, + "PreLevel": 48, "layer_num": 49, "monster_lv": [ 58, @@ -26344,7 +26344,7 @@ "key": 300, "pagoda_type": 204, "Level_type": 1, - "NextLevel": 51, + "PreLevel": 49, "layer_num": 50, "monster_lv": [ 59, diff --git a/comm/const.go b/comm/const.go index a94da3b91..71cb5e63a 100644 --- a/comm/const.go +++ b/comm/const.go @@ -109,6 +109,8 @@ const ( TablePagodaRank = "pagodarank" /// 美食馆 TableSmithy = "smithy" + /// 赛季塔数据表 + TableSeasonPagoda = "seasonpagoda" ) //RPC服务接口定义处 @@ -218,3 +220,11 @@ const ( ResonanceAtkPro = "atkpro" ResonanceDefPro = "defpro" ) + +const ( + PagodaType = 101 // 普通塔 +) + +const ( + MaxRankList = 50 +) diff --git a/lego/sys/redis/single/list.go b/lego/sys/redis/single/list.go index 141274734..a63927a5f 100644 --- a/lego/sys/redis/single/list.go +++ b/lego/sys/redis/single/list.go @@ -103,6 +103,7 @@ func (this *Redis) LRange(key string, start, end int, v interface{}) (err error) } return } + /* Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素, 以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推 @@ -185,7 +186,7 @@ Redis Rpush 命令用于将一个或多个值插入到列表的尾部(最右边) */ func (this *Redis) RPush(key string, values ...interface{}) (err error) { agrs := make([]interface{}, 0) - agrs = append(agrs, "RPUSH") + agrs = append(agrs, "RPUSH", key) for _, v := range values { result, _ := this.codec.Marshal(v) agrs = append(agrs, result) diff --git a/modules/pagoda/api_challenge.go b/modules/pagoda/api_challenge.go index debe67f07..c5e1f598b 100644 --- a/modules/pagoda/api_challenge.go +++ b/modules/pagoda/api_challenge.go @@ -10,7 +10,7 @@ import ( //参数校验 func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.PagodaChallengeReq) (code pb.ErrorCode) { - if req.LevelID <= 0 { + if req.LevelID <= 0 && req.PagodaType != 0 { code = pb.ErrorCode_ReqParameterError return } @@ -19,11 +19,15 @@ func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.PagodaCha ///挑战主线关卡 func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChallengeReq) (code pb.ErrorCode, data proto.Message) { - + var ( + mapData map[string]interface{} + ) + mapData = make(map[string]interface{}, 0) code = this.ChallengeCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } + pagoda, err := this.module.modelPagoda.getPagodaList(session.GetUserId()) if err != nil { code = pb.ErrorCode_PagodaNotFound @@ -34,45 +38,81 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng code = pb.ErrorCode_PagodaNotFound return } - if pagoda.Type == cfg.PagodaType && cfg.LayerNum != pagoda.PagodaId { - code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 - return - } + if req.PagodaType == comm.PagodaType { // 普通塔 - //// todo 战斗相关 - mapData := make(map[string]interface{}, 0) - if pagoda.Type != cfg.PagodaType { - pagoda.Type = cfg.PagodaType - mapData["type"] = pagoda.Type - } - pagoda.Type = req.PagodaType + if pagoda.Type != cfg.PagodaType || cfg.PreLevel != pagoda.PagodaId { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 + return + } - ///// - rst, _ := this.module.modulerank.GetUserRandData(session.GetUserId()) - if rst.Uid == "" { - rst.Uid = session.GetUserId() - rst.Id = primitive.NewObjectID().Hex() - rst.Type = req.PagodaType - rst.Nickname = this.module.ModuleUser.GetUser(session.GetUserId()).Name - rst.Lv = this.module.ModuleUser.GetUser(session.GetUserId()).Lv - rst.PagodaId = pagoda.PagodaId - this.module.modulerank.AddRank(session.GetUserId(), rst) - } else { - mapData := make(map[string]interface{}, 0) + //// todo 战斗相关 + + pagoda.Type = req.PagodaType mapData["pagodaId"] = cfg.LayerNum mapData["type"] = pagoda.Type this.module.modulerank.ChangeUserRank(session.GetUserId(), mapData) - } - ///// - // 通关奖励 - code = this.module.DispenseRes(session, cfg.Reward, true) - if code != pb.ErrorCode_Success { + + // 通关奖励 + code = this.module.DispenseRes(session, cfg.Reward, true) + if code != pb.ErrorCode_Success { + return + } + pagoda.PagodaId = cfg.LayerNum // 更新层数 + mapData["pagodaId"] = cfg.LayerNum + code = this.module.ModifyPagodaData(session.GetUserId(), mapData) + session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{Data: pagoda}) return + } else { + // 普通塔通关了 + Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, pagoda.PagodaId+1) + if Nomalcfg != nil { + code = pb.ErrorCode_PagodaNotFound + return + } + seasonPagoda, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId()) + + if seasonPagoda == nil { + if req.LevelID != 1 { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 + return + } + } else { + if seasonPagoda.Type != req.PagodaType || cfg.PreLevel != seasonPagoda.PagodaId { + code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配 + return + } + } + // 挑战处理 + if seasonPagoda == nil { + seasonPagoda = &pb.DBSeasonPagoda{} + seasonPagoda.Id = primitive.NewObjectID().Hex() + + seasonPagoda.Uid = session.GetUserId() + seasonPagoda.PagodaId = 1 // 初始数据1层 + seasonPagoda.Type = req.PagodaType + this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), seasonPagoda) + + } else { + pagoda.PagodaId = cfg.LayerNum + mapData["pagodaId"] = cfg.LayerNum + code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData) + } + + rst, _ := this.module.modulerank.GetUserRandData(session.GetUserId()) + if rst.Uid == "" { + rst.Uid = session.GetUserId() + rst.Id = primitive.NewObjectID().Hex() + rst.Type = req.PagodaType + rst.Nickname = this.module.ModuleUser.GetUser(session.GetUserId()).Name + rst.Lv = this.module.ModuleUser.GetUser(session.GetUserId()).Lv + rst.PagodaId = pagoda.PagodaId + this.module.modulerank.AddRank(session.GetUserId(), rst) + } else { + mapData["pagodaId"] = cfg.LayerNum + this.module.modulerank.ChangeUserRank(session.GetUserId(), mapData) + } } - pagoda.PagodaId = cfg.NextLevel // 更新层数 - mapData["pagodaId"] = cfg.NextLevel - code = this.module.ModifyPagodaData(session.GetUserId(), mapData) - session.SendMsg(string(this.module.GetType()), PagodaChallengeResp, &pb.PagodaChallengeResp{Data: pagoda}) + return } diff --git a/modules/pagoda/api_getlist.go b/modules/pagoda/api_getlist.go index 8f1ea808b..bfcfb612c 100644 --- a/modules/pagoda/api_getlist.go +++ b/modules/pagoda/api_getlist.go @@ -3,6 +3,7 @@ package pagoda import ( "go_dreamfactory/comm" "go_dreamfactory/pb" + "log" "go.mongodb.org/mongo-driver/bson/primitive" "google.golang.org/protobuf/proto" @@ -16,27 +17,35 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.PagodaGetLi ///获取主线关卡信息 func (this *apiComp) GetList(session comm.IUserSession, req *pb.PagodaGetListReq) (code pb.ErrorCode, data proto.Message) { - + var ( + list *pb.DBPagoda + ) code = this.GetListCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - list, _ := this.module.modelPagoda.getPagodaList(session.GetUserId()) + list, _ = this.module.modelPagoda.getPagodaList(session.GetUserId()) + defer func() { + session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: list}) + }() if list == nil { // redis没有数据 - result := &pb.DBPagoda{} - result.Id = primitive.NewObjectID().Hex() + list = &pb.DBPagoda{} + list.Id = primitive.NewObjectID().Hex() - //_mData := make(map[string]interface{}, 0) - result.Uid = session.GetUserId() - result.PagodaId = 1 // 初始数据1层 - result.Type = 101 - this.module.modelPagoda.addNewPagoda(session.GetUserId(), result) - session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: result}) + list.Uid = session.GetUserId() + list.PagodaId = 0 // 初始数据1层 + list.Type = comm.PagodaType + this.module.modelPagoda.addNewPagoda(session.GetUserId(), list) return } - - session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: list}) + season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId()) + if season != nil { + list.PagodaId = season.PagodaId + list.Type = season.Type + } + ranklist, _ := this.module.modulerank.GetRankData() + log.Fatalf("%v", ranklist) return } diff --git a/modules/pagoda/api_ranklist.go b/modules/pagoda/api_ranklist.go index 2510c5069..2dfe7164e 100644 --- a/modules/pagoda/api_ranklist.go +++ b/modules/pagoda/api_ranklist.go @@ -20,7 +20,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListR return // 参数校验失败直接返回 } // 临时测试用 - szRank, err := this.module.modulerank.GetRankData(req.FloorId, req.Type) + szRank, err := this.module.modulerank.GetRankData() if err != nil { code = pb.ErrorCode_DBError } diff --git a/modules/pagoda/model_rank.go b/modules/pagoda/model_rank.go index 2a05d4567..6cd309b90 100644 --- a/modules/pagoda/model_rank.go +++ b/modules/pagoda/model_rank.go @@ -1,15 +1,11 @@ package pagoda import ( - "context" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/redis" "go_dreamfactory/modules" "go_dreamfactory/pb" - - "go.mongodb.org/mongo-driver/bson" - "go.mongodb.org/mongo-driver/mongo/options" ) type ModelRank struct { @@ -60,26 +56,8 @@ func (this *ModelRank) ChangeUserRank(uid string, value map[string]interface{}) } // 临时测试 -func (this *ModelRank) GetRankData(floorId int32, pagodaType int32) (data []*pb.DBPagodaRank, err error) { - if floorId == 0 { - if _data, err := this.DB.Find(comm.TablePagodaRank, bson.M{"type": pagodaType}, options.Find().SetSort(bson.M{"pagodaId": -1})); err == nil { - for _data.Next(context.TODO()) { - temp := &pb.DBPagodaRank{} - if err = _data.Decode(temp); err == nil { - data = append(data, temp) - } - } - } - } else { - if _data, err := this.DB.Find(comm.TablePagodaRank, bson.M{"pagodaId": bson.M{"$gte": floorId}, "type": pagodaType}, options.Find().SetSort(bson.M{"pagodaId": -1})); err == nil { - for _data.Next(context.TODO()) { - temp := &pb.DBPagodaRank{} - if err = _data.Decode(temp); err == nil { - data = append(data, temp) - } - } - } - } +func (this *ModelRank) GetRankData() (data []*pb.DBPagodaRank, err error) { + err = this.Redis.Get(comm.TablePagodaRank, data) return } diff --git a/modules/pagoda/model_seasonpagoda.go b/modules/pagoda/model_seasonpagoda.go new file mode 100644 index 000000000..9248c99bb --- /dev/null +++ b/modules/pagoda/model_seasonpagoda.go @@ -0,0 +1,62 @@ +package pagoda + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/redis" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/x/bsonx" +) + +/// 赛季塔 +type ModelSeasonPagoda struct { + modules.MCompModel + module *Pagoda +} + +func (this *ModelSeasonPagoda) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + this.TableName = string(comm.TableSeasonPagoda) + err = this.MCompModel.Init(service, module, comp, options) + this.module = module.(*Pagoda) + //创建uid索引 + this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ + Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, + }) + return +} + +// 获取爬塔信息 +func (this *ModelSeasonPagoda) getSeasonPagodaList(uid string) (result *pb.DBSeasonPagoda, err error) { + result = &pb.DBSeasonPagoda{} + if err = this.Get(uid, result); err != nil { + if redis.RedisNil != err { + result = nil + } + return + } + err = nil + return result, err +} + +// 修改爬塔数据信息 +func (this *ModelSeasonPagoda) modifySeasonPagodaDataByObjId(uid string, data map[string]interface{}) error { + return this.Change(uid, data) +} + +// 创建一个新的塔数据 +func (this *ModelSeasonPagoda) addNewSeasonPagoda(uId string, data *pb.DBSeasonPagoda) (err error) { + if err = this.Add(uId, data); err != nil { + this.module.Errorf("err:%v", err) + return + } + return nil +} + +// 赛季结束 清理所有塔数据 +func (this *ModelSeasonPagoda) DleAllSeasonData() { + + return +} diff --git a/modules/pagoda/module.go b/modules/pagoda/module.go index 5ae2bc897..9cffca96f 100644 --- a/modules/pagoda/module.go +++ b/modules/pagoda/module.go @@ -9,10 +9,11 @@ import ( type Pagoda struct { modules.ModuleBase - modelPagoda *ModelPagoda - api *apiComp - modulerank *ModelRank - configure *configureComp + modelPagoda *ModelPagoda + modelSeasonPagoda *ModelSeasonPagoda + api *apiComp + modulerank *ModelRank + configure *configureComp } func NewModule() core.IModule { @@ -33,6 +34,7 @@ func (this *Pagoda) OnInstallComp() { this.ModuleBase.OnInstallComp() this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.modelPagoda = this.RegisterComp(new(ModelPagoda)).(*ModelPagoda) + this.modelSeasonPagoda = this.RegisterComp(new(ModelSeasonPagoda)).(*ModelSeasonPagoda) this.modulerank = this.RegisterComp(new(ModelRank)).(*ModelRank) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } @@ -45,3 +47,12 @@ func (this *Pagoda) ModifyPagodaData(uid string, data map[string]interface{}) (c } return } + +// 修改赛季塔信息 +func (this *Pagoda) ModifySeasonPagodaData(uid string, data map[string]interface{}) (code pb.ErrorCode) { + err := this.modelSeasonPagoda.modifySeasonPagodaDataByObjId(uid, data) + if err != nil { + code = pb.ErrorCode_DBError + } + return +} diff --git a/modules/timer/forum.go b/modules/timer/forum.go index 213c47cd6..6b7754ddb 100644 --- a/modules/timer/forum.go +++ b/modules/timer/forum.go @@ -1,33 +1,31 @@ package timer import ( + "go_dreamfactory/comm" "go_dreamfactory/modules" "go_dreamfactory/lego/core" - "go_dreamfactory/lego/sys/cron" ) /* 装备模块 API */ type forumComp struct { - modules.MCompGate + modules.MCompModel service core.IService } //组件初始化接口 func (this *forumComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { - this.MCompGate.Init(service, module, comp, options) + + this.TableName = comm.TablePagodaRank + this.MCompModel.Init(service, module, comp, options) this.service = service return } -func (this *forumComp) Start() (err error) { - err = this.MCompGate.Start() - cron.AddFunc("*/5 * * * * ?", this.Timer) //每五秒执行一次 +func (this *forumComp) Start(timeSec int32) (err error) { + err = this.MCompModel.Start() + //cron.AddFunc("*/5 * * * * ?", this.Timer) //每五秒执行一次 return } - -func (this *forumComp) Timer() { - -} diff --git a/modules/timer/module.go b/modules/timer/module.go index 71a3a94d6..ccc2cea8b 100644 --- a/modules/timer/module.go +++ b/modules/timer/module.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/core/cbase" + "go_dreamfactory/modules" ) /* @@ -14,12 +15,15 @@ import ( */ func NewModule() core.IModule { m := new(Timer) + return m } type Timer struct { cbase.ModuleBase + modules.MCompModel service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口 + rank *PagodaRank } //模块名 @@ -27,6 +31,11 @@ func (this *Timer) GetType() core.M_Modules { return comm.ModuleTimer } +// NewOptions 模块自定义参数 +func (this *Timer) NewOptions() (options core.IModuleOptions) { + return new(Options) +} + //模块初始化接口 注册用户创建角色事件 func (this *Timer) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) @@ -36,10 +45,12 @@ func (this *Timer) Init(service core.IService, module core.IModule, options core func (this *Timer) Start() (err error) { err = this.ModuleBase.Start() + return } -//装备组件 func (this *Timer) OnInstallComp() { this.ModuleBase.OnInstallComp() + this.rank = this.RegisterComp(new(PagodaRank)).(*PagodaRank) + } diff --git a/modules/timer/options.go b/modules/timer/options.go new file mode 100644 index 000000000..d94b89172 --- /dev/null +++ b/modules/timer/options.go @@ -0,0 +1,23 @@ +package timer + +import ( + "go_dreamfactory/lego/utils/mapstructure" + "go_dreamfactory/modules" +) + +type ( + Options struct { + modules.Options + } +) + +// LoadConfig 配置文件序列化为Options +func (this *Options) LoadConfig(settings map[string]interface{}) (err error) { + if settings != nil { + if err = this.Options.LoadConfig(settings); err != nil { + return + } + err = mapstructure.Decode(settings, this) + } + return +} diff --git a/modules/timer/pagodarank.go b/modules/timer/pagodarank.go new file mode 100644 index 000000000..da7494c14 --- /dev/null +++ b/modules/timer/pagodarank.go @@ -0,0 +1,67 @@ +package timer + +import ( + "context" + "go_dreamfactory/comm" + "go_dreamfactory/modules" + "go_dreamfactory/pb" + + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/cron" + "go_dreamfactory/lego/sys/log" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo/options" +) + +type PagodaRank struct { + modules.MCompModel + service core.IService +} + +//组件初始化接口 +func (this *PagodaRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + + this.TableName = comm.TablePagodaRank + this.MCompModel.Init(service, module, comp, options) + this.service = service + return +} + +func (this *PagodaRank) Start() (err error) { + err = this.MCompModel.Start() + cron.AddFunc("*/5 * * * * ?", this.Timer) //每五秒执行一次 + return +} + +// 处理排行榜排序 +func (this *PagodaRank) Timer() { + data := make([]interface{}, 0) // options.Find().SetLimit(comm.MaxRankList) + if _data, err := this.DB.Find(comm.TablePagodaRank, bson.M{}, options.Find().SetSort(bson.M{"pagodaId": -1}).SetLimit(comm.MaxRankList)); err == nil { + for _data.Next(context.TODO()) { + temp := &pb.DBPagodaRank{} + if err = _data.Decode(temp); err == nil { + data = append(data, temp) + } + } + } + if len(data) > 0 { + // keys, err := this.Redis.Keys(comm.TablePagodaRank) // 这种方式效率太低不建议使用 + // if err != nil { + // for _, v := range keys { + // err = this.Redis.Delete(v) + // if err != nil { + // log.Errorf("delete failed") + // } + // } + // } + // iLne, _ := this.Redis.Llen(comm.TablePagodaRank) + err := this.Redis.RPush(comm.TablePagodaRank, data...) + if err == nil { + err = this.Redis.Ltrim(comm.TablePagodaRank, -1*len(data), -1) //对一个列表进行修剪 + if err != nil { + log.Errorf("delete failed") + } + } + } +} diff --git a/pb/pagoda_db.pb.go b/pb/pagoda_db.pb.go index 34a0f0717..b51b32682 100644 --- a/pb/pagoda_db.pb.go +++ b/pb/pagoda_db.pb.go @@ -20,6 +20,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +//普通塔 type DBPagoda struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -99,6 +100,86 @@ func (x *DBPagoda) GetType() int32 { return 0 } +// 赛季塔 赛季结束会清理 +type DBSeasonPagoda struct { + state protoimpl.MessageState + 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"` +} + +func (x *DBSeasonPagoda) Reset() { + *x = DBSeasonPagoda{} + if protoimpl.UnsafeEnabled { + mi := &file_pagoda_pagoda_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBSeasonPagoda) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBSeasonPagoda) ProtoMessage() {} + +func (x *DBSeasonPagoda) ProtoReflect() protoreflect.Message { + mi := &file_pagoda_pagoda_db_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DBSeasonPagoda.ProtoReflect.Descriptor instead. +func (*DBSeasonPagoda) Descriptor() ([]byte, []int) { + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{1} +} + +func (x *DBSeasonPagoda) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBSeasonPagoda) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBSeasonPagoda) GetPagodaId() int32 { + if x != nil { + return x.PagodaId + } + return 0 +} + +func (x *DBSeasonPagoda) GetReward() map[int32]bool { + if x != nil { + return x.Reward + } + return nil +} + +func (x *DBSeasonPagoda) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + type DBPagodaRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -111,13 +192,13 @@ type DBPagodaRank struct { Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"` // 昵称 Icon string `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon"` // 头像 Lv int32 `protobuf:"varint,7,opt,name=lv,proto3" json:"lv"` // 等级 - CostTime int32 `protobuf:"varint,8,opt,name=costTime,proto3" json:"costTime" bson:"costTime"` //塔层 + CostTime int32 `protobuf:"varint,8,opt,name=costTime,proto3" json:"costTime" bson:"costTime"` //每层塔耗时 单位s } func (x *DBPagodaRank) Reset() { *x = DBPagodaRank{} if protoimpl.UnsafeEnabled { - mi := &file_pagoda_pagoda_db_proto_msgTypes[1] + mi := &file_pagoda_pagoda_db_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -130,7 +211,7 @@ func (x *DBPagodaRank) String() string { func (*DBPagodaRank) ProtoMessage() {} func (x *DBPagodaRank) ProtoReflect() protoreflect.Message { - mi := &file_pagoda_pagoda_db_proto_msgTypes[1] + mi := &file_pagoda_pagoda_db_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -143,7 +224,7 @@ func (x *DBPagodaRank) ProtoReflect() protoreflect.Message { // Deprecated: Use DBPagodaRank.ProtoReflect.Descriptor instead. func (*DBPagodaRank) Descriptor() ([]byte, []int) { - return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{1} + return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{2} } func (x *DBPagodaRank) GetId() string { @@ -219,19 +300,33 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{ 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, 0xbc, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, - 0x6e, 0x6b, 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, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x08, 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, + 0x01, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 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, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, + 0x49, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x67, + 0x6f, 0x64, 0x61, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 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, 0xbc, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x50, 0x61, 0x67, + 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 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, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 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 ( @@ -246,19 +341,22 @@ 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, 5) var file_pagoda_pagoda_db_proto_goTypes = []interface{}{ - (*DBPagoda)(nil), // 0: DBPagoda - (*DBPagodaRank)(nil), // 1: DBPagodaRank - nil, // 2: DBPagoda.RewardEntry + (*DBPagoda)(nil), // 0: DBPagoda + (*DBSeasonPagoda)(nil), // 1: DBSeasonPagoda + (*DBPagodaRank)(nil), // 2: DBPagodaRank + nil, // 3: DBPagoda.RewardEntry + nil, // 4: DBSeasonPagoda.RewardEntry } var file_pagoda_pagoda_db_proto_depIdxs = []int32{ - 2, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 3, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry + 4, // 1: DBSeasonPagoda.reward:type_name -> DBSeasonPagoda.RewardEntry + 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 } func init() { file_pagoda_pagoda_db_proto_init() } @@ -280,6 +378,18 @@ func file_pagoda_pagoda_db_proto_init() { } } file_pagoda_pagoda_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBSeasonPagoda); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pagoda_pagoda_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DBPagodaRank); i { case 0: return &v.state @@ -298,7 +408,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: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/game.pagodaData.go b/sys/configure/structs/game.pagodaData.go index 39529db64..20412088d 100644 --- a/sys/configure/structs/game.pagodaData.go +++ b/sys/configure/structs/game.pagodaData.go @@ -14,7 +14,7 @@ type GamePagodaData struct { Key int32 PagodaType int32 LevelType int32 - NextLevel int32 + PreLevel int32 LayerNum int32 MonsterLv []int32 MonsterHp []float32 @@ -42,7 +42,7 @@ func (_v *GamePagodaData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pagoda_type"].(float64); !_ok_ { err = errors.New("pagoda_type error"); return }; _v.PagodaType = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Level_type"].(float64); !_ok_ { err = errors.New("Level_type error"); return }; _v.LevelType = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["NextLevel"].(float64); !_ok_ { err = errors.New("NextLevel error"); return }; _v.NextLevel = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PreLevel"].(float64); !_ok_ { err = errors.New("PreLevel error"); return }; _v.PreLevel = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["layer_num"].(float64); !_ok_ { err = errors.New("layer_num error"); return }; _v.LayerNum = int32(_tempNum_) } { var _arr_ []interface{}