diff --git a/bin/json/game_circulate.json b/bin/json/game_circulate.json new file mode 100644 index 000000000..425e69047 --- /dev/null +++ b/bin/json/game_circulate.json @@ -0,0 +1,4257 @@ +[ + { + "id": 11000001, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 1, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_1", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_1", + "text": "第1层" + }, + "model_display": 13002 + }, + { + "id": 11000002, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 2, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_2", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_2", + "text": "第2层" + }, + "model_display": 13002 + }, + { + "id": 11000003, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 3, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_3", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_3", + "text": "第3层" + }, + "model_display": 13002 + }, + { + "id": 11000004, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 4, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_4", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_4", + "text": "第4层" + }, + "model_display": 13002 + }, + { + "id": 11000005, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 5, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_5", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_5", + "text": "第5层" + }, + "model_display": 13002 + }, + { + "id": 11000006, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 6, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_6", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_6", + "text": "第6层" + }, + "model_display": 13002 + }, + { + "id": 11000007, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 7, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_7", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_7", + "text": "第7层" + }, + "model_display": 13002 + }, + { + "id": 11000008, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 8, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_8", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_8", + "text": "第8层" + }, + "model_display": 13002 + }, + { + "id": 11000009, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 9, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_9", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_9", + "text": "第9层" + }, + "model_display": 13002 + }, + { + "id": 11000010, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 10, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_10", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_10", + "text": "第10层" + }, + "model_display": 13002 + }, + { + "id": 11000011, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 11, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_11", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_11", + "text": "第11层" + }, + "model_display": 13002 + }, + { + "id": 11000012, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 12, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_12", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_12", + "text": "第12层" + }, + "model_display": 13002 + }, + { + "id": 11000013, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 13, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_13", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_13", + "text": "第13层" + }, + "model_display": 13002 + }, + { + "id": 11000014, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 14, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_14", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_14", + "text": "第14层" + }, + "model_display": 13002 + }, + { + "id": 11000015, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 15, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_15", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_15", + "text": "第15层" + }, + "model_display": 13002 + }, + { + "id": 11000016, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 16, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_16", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_16", + "text": "第16层" + }, + "model_display": 13002 + }, + { + "id": 11000017, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 17, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_17", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_17", + "text": "第17层" + }, + "model_display": 13002 + }, + { + "id": 11000018, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 18, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_18", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_18", + "text": "第18层" + }, + "model_display": 13002 + }, + { + "id": 11000019, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 19, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_19", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_19", + "text": "第19层" + }, + "model_display": 13002 + }, + { + "id": 11000020, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 20, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_20", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_20", + "text": "第20层" + }, + "model_display": 13002 + }, + { + "id": 11000021, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 21, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_21", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_21", + "text": "第21层" + }, + "model_display": 13002 + }, + { + "id": 11000022, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 22, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_22", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_22", + "text": "第22层" + }, + "model_display": 13002 + }, + { + "id": 11000023, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 23, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_23", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_23", + "text": "第23层" + }, + "model_display": 13002 + }, + { + "id": 11000024, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 24, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_24", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_24", + "text": "第24层" + }, + "model_display": 13002 + }, + { + "id": 11000025, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 25, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_25", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_25", + "text": "第25层" + }, + "model_display": 13002 + }, + { + "id": 11000026, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 26, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_26", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_26", + "text": "第26层" + }, + "model_display": 13002 + }, + { + "id": 11000027, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 27, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_27", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_27", + "text": "第27层" + }, + "model_display": 13002 + }, + { + "id": 11000028, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 28, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_28", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_28", + "text": "第28层" + }, + "model_display": 13002 + }, + { + "id": 11000029, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 29, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_29", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_29", + "text": "第29层" + }, + "model_display": 13002 + }, + { + "id": 11000030, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 30, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_30", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_30", + "text": "第30层" + }, + "model_display": 13002 + }, + { + "id": 11000031, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 31, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_31", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_31", + "text": "第31层" + }, + "model_display": 13002 + }, + { + "id": 11000032, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 32, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_32", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_32", + "text": "第32层" + }, + "model_display": 13002 + }, + { + "id": 11000033, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 33, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_33", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_33", + "text": "第33层" + }, + "model_display": 13002 + }, + { + "id": 11000034, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 34, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_34", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_34", + "text": "第34层" + }, + "model_display": 13002 + }, + { + "id": 11000035, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 35, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_35", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_35", + "text": "第35层" + }, + "model_display": 13002 + }, + { + "id": 11000036, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 36, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_36", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_36", + "text": "第36层" + }, + "model_display": 13002 + }, + { + "id": 11000037, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 37, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_37", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_37", + "text": "第37层" + }, + "model_display": 13002 + }, + { + "id": 11000038, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 38, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_38", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_38", + "text": "第38层" + }, + "model_display": 13002 + }, + { + "id": 11000039, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 39, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_39", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_39", + "text": "第39层" + }, + "model_display": 13002 + }, + { + "id": 11000040, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 40, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_40", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_40", + "text": "第40层" + }, + "model_display": 13002 + }, + { + "id": 11000041, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 41, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_41", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_41", + "text": "第41层" + }, + "model_display": 13002 + }, + { + "id": 11000042, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 42, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_42", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_42", + "text": "第42层" + }, + "model_display": 13002 + }, + { + "id": 11000043, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 43, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_43", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_43", + "text": "第43层" + }, + "model_display": 13002 + }, + { + "id": 11000044, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 44, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_44", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_44", + "text": "第44层" + }, + "model_display": 13002 + }, + { + "id": 11000045, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 45, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_45", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_45", + "text": "第45层" + }, + "model_display": 13002 + }, + { + "id": 11000046, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 46, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_46", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_46", + "text": "第46层" + }, + "model_display": 13002 + }, + { + "id": 11000047, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 47, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_47", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_47", + "text": "第47层" + }, + "model_display": 13002 + }, + { + "id": 11000048, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 48, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_48", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_48", + "text": "第48层" + }, + "model_display": 13002 + }, + { + "id": 11000049, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 49, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_49", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_49", + "text": "第49层" + }, + "model_display": 13002 + }, + { + "id": 11000050, + "name": 1, + "restriction": 0, + "battlereadyID": 129, + "openingtime": [], + "unlock": 1, + "floors": 50, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_50", + "text": "循环之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_50", + "text": "第50层" + }, + "model_display": 13002 + }, + { + "id": 21000001, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 1, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_51", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_51", + "text": "第1层" + }, + "model_display": 0 + }, + { + "id": 21000002, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 2, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_52", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_52", + "text": "第2层" + }, + "model_display": 0 + }, + { + "id": 21000003, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 3, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_53", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_53", + "text": "第3层" + }, + "model_display": 0 + }, + { + "id": 21000004, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 4, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_54", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_54", + "text": "第4层" + }, + "model_display": 0 + }, + { + "id": 21000005, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 5, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_55", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_55", + "text": "第5层" + }, + "model_display": 0 + }, + { + "id": 21000006, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 6, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_56", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_56", + "text": "第6层" + }, + "model_display": 0 + }, + { + "id": 21000007, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 7, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_57", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_57", + "text": "第7层" + }, + "model_display": 0 + }, + { + "id": 21000008, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 8, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_58", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_58", + "text": "第8层" + }, + "model_display": 0 + }, + { + "id": 21000009, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 9, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_59", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_59", + "text": "第9层" + }, + "model_display": 0 + }, + { + "id": 21000010, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 10, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_60", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_60", + "text": "第10层" + }, + "model_display": 0 + }, + { + "id": 21000011, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 11, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_61", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_61", + "text": "第11层" + }, + "model_display": 0 + }, + { + "id": 21000012, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 12, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_62", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_62", + "text": "第12层" + }, + "model_display": 0 + }, + { + "id": 21000013, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 13, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_63", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_63", + "text": "第13层" + }, + "model_display": 0 + }, + { + "id": 21000014, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 14, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_64", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_64", + "text": "第14层" + }, + "model_display": 0 + }, + { + "id": 21000015, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 15, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_65", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_65", + "text": "第15层" + }, + "model_display": 0 + }, + { + "id": 21000016, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 16, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_66", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_66", + "text": "第16层" + }, + "model_display": 0 + }, + { + "id": 21000017, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 17, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_67", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_67", + "text": "第17层" + }, + "model_display": 0 + }, + { + "id": 21000018, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 18, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_68", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_68", + "text": "第18层" + }, + "model_display": 0 + }, + { + "id": 21000019, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 19, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_69", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_69", + "text": "第19层" + }, + "model_display": 0 + }, + { + "id": 21000020, + "name": 2, + "restriction": 1, + "battlereadyID": 129, + "openingtime": [ + 1, + 5, + 7 + ], + "unlock": 1100102, + "floors": 20, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_70", + "text": "真诚阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_70", + "text": "第20层" + }, + "model_display": 0 + }, + { + "id": 22000001, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 1, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_71", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_71", + "text": "第1层" + }, + "model_display": 0 + }, + { + "id": 22000002, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 2, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_72", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_72", + "text": "第2层" + }, + "model_display": 0 + }, + { + "id": 22000003, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 3, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_73", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_73", + "text": "第3层" + }, + "model_display": 0 + }, + { + "id": 22000004, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 4, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_74", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_74", + "text": "第4层" + }, + "model_display": 0 + }, + { + "id": 22000005, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 5, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_75", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_75", + "text": "第5层" + }, + "model_display": 0 + }, + { + "id": 22000006, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 6, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_76", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_76", + "text": "第6层" + }, + "model_display": 0 + }, + { + "id": 22000007, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 7, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_77", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_77", + "text": "第7层" + }, + "model_display": 0 + }, + { + "id": 22000008, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 8, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_78", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_78", + "text": "第8层" + }, + "model_display": 0 + }, + { + "id": 22000009, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 9, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_79", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_79", + "text": "第9层" + }, + "model_display": 0 + }, + { + "id": 22000010, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 10, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_80", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_80", + "text": "第10层" + }, + "model_display": 0 + }, + { + "id": 22000011, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 11, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_81", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_81", + "text": "第11层" + }, + "model_display": 0 + }, + { + "id": 22000012, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 12, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_82", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_82", + "text": "第12层" + }, + "model_display": 0 + }, + { + "id": 22000013, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 13, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_83", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_83", + "text": "第13层" + }, + "model_display": 0 + }, + { + "id": 22000014, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 14, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_84", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_84", + "text": "第14层" + }, + "model_display": 0 + }, + { + "id": 22000015, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 15, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_85", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_85", + "text": "第15层" + }, + "model_display": 0 + }, + { + "id": 22000016, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 16, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_86", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_86", + "text": "第16层" + }, + "model_display": 0 + }, + { + "id": 22000017, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 17, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_87", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_87", + "text": "第17层" + }, + "model_display": 0 + }, + { + "id": 22000018, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 18, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_88", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_88", + "text": "第18层" + }, + "model_display": 0 + }, + { + "id": 22000019, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 19, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_89", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_89", + "text": "第19层" + }, + "model_display": 0 + }, + { + "id": 22000020, + "name": 2, + "restriction": 2, + "battlereadyID": 129, + "openingtime": [ + 2, + 5, + 7 + ], + "unlock": 1100102, + "floors": 20, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_90", + "text": "共情阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_90", + "text": "第20层" + }, + "model_display": 0 + }, + { + "id": 23000001, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 1, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_91", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_91", + "text": "第1层" + }, + "model_display": 0 + }, + { + "id": 23000002, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 2, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_92", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_92", + "text": "第2层" + }, + "model_display": 0 + }, + { + "id": 23000003, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 3, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_93", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_93", + "text": "第3层" + }, + "model_display": 0 + }, + { + "id": 23000004, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 4, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_94", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_94", + "text": "第4层" + }, + "model_display": 0 + }, + { + "id": 23000005, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 5, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_95", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_95", + "text": "第5层" + }, + "model_display": 0 + }, + { + "id": 23000006, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 6, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_96", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_96", + "text": "第6层" + }, + "model_display": 0 + }, + { + "id": 23000007, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 7, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_97", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_97", + "text": "第7层" + }, + "model_display": 0 + }, + { + "id": 23000008, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 8, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_98", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_98", + "text": "第8层" + }, + "model_display": 0 + }, + { + "id": 23000009, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 9, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_99", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_99", + "text": "第9层" + }, + "model_display": 0 + }, + { + "id": 23000010, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 10, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_100", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_100", + "text": "第10层" + }, + "model_display": 0 + }, + { + "id": 23000011, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 11, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_101", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_101", + "text": "第11层" + }, + "model_display": 0 + }, + { + "id": 23000012, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 12, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_102", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_102", + "text": "第12层" + }, + "model_display": 0 + }, + { + "id": 23000013, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 13, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_103", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_103", + "text": "第13层" + }, + "model_display": 0 + }, + { + "id": 23000014, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 14, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_104", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_104", + "text": "第14层" + }, + "model_display": 0 + }, + { + "id": 23000015, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 15, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_105", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_105", + "text": "第15层" + }, + "model_display": 0 + }, + { + "id": 23000016, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 16, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_106", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_106", + "text": "第16层" + }, + "model_display": 0 + }, + { + "id": 23000017, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 17, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_107", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_107", + "text": "第17层" + }, + "model_display": 0 + }, + { + "id": 23000018, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 18, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_108", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_108", + "text": "第18层" + }, + "model_display": 0 + }, + { + "id": 23000019, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 19, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_109", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "attr", + "t": "gold", + "n": 50000 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_109", + "text": "第19层" + }, + "model_display": 0 + }, + { + "id": 23000020, + "name": 2, + "restriction": 3, + "battlereadyID": 129, + "openingtime": [ + 3, + 6, + 7 + ], + "unlock": 1100102, + "floors": 20, + "gaineffect": 0, + "tabIcon": "", + "tabTitle": { + "key": "circularcamptower_Sheet1_tabTitle_110", + "text": "直觉阵营之塔" + }, + "monsterlineup": [], + "reward": [ + { + "a": "item", + "t": "10000001", + "n": 1 + }, + { + "a": "item", + "t": "20000002", + "n": 1 + }, + { + "a": "item", + "t": "10000005", + "n": 5 + } + ], + "exp": 100, + "name_display": { + "key": "circularcamptower_Sheet1_name_display_110", + "text": "第20层" + }, + "model_display": 0 + } +] \ No newline at end of file diff --git a/bin/json/game_mainstage.json b/bin/json/game_mainstage.json index da760cfd1..af51a6abf 100644 --- a/bin/json/game_mainstage.json +++ b/bin/json/game_mainstage.json @@ -63,7 +63,7 @@ }, { "a": "equi", - "t": "10120", + "t": "10110", "n": 1 } ], @@ -152,7 +152,7 @@ }, { "a": "equi", - "t": "10121", + "t": "10111", "n": 1 } ], @@ -241,7 +241,7 @@ }, { "a": "equi", - "t": "10122", + "t": "10112", "n": 1 } ], @@ -330,7 +330,7 @@ }, { "a": "equi", - "t": "10123", + "t": "10113", "n": 1 } ], @@ -419,7 +419,7 @@ }, { "a": "equi", - "t": "10124", + "t": "10114", "n": 1 } ], @@ -513,7 +513,7 @@ }, { "a": "equi", - "t": "10125", + "t": "10115", "n": 1 } ], @@ -602,7 +602,7 @@ }, { "a": "equi", - "t": "10124", + "t": "10114", "n": 1 } ], @@ -691,7 +691,7 @@ }, { "a": "equi", - "t": "10125", + "t": "10115", "n": 1 } ], diff --git a/modules/pagoda/comp_configure.go b/modules/pagoda/comp_configure.go index d5ad01c8c..aa962a1a7 100644 --- a/modules/pagoda/comp_configure.go +++ b/modules/pagoda/comp_configure.go @@ -17,6 +17,7 @@ const ( game_pagodaseasonreward = "game_pagodaseasonreward.json" game_pagodataskreward = "game_pagodataskreward.json" game_passcheck = "game_passcheck.json" + game_circulate = "game_circulate.json" ) ///配置管理基础组件 @@ -27,7 +28,8 @@ type configureComp struct { _checkType map[int32][]*cfg.GamePassCheckData // key type _mapPagoda map[int32]*cfg.GamePagodaData - _mapFloor map[int32]int32 // key 页签 value 层数 + _mapFloor map[int32]int32 // key 页签 value 层数 + _mapRace map[int32]*cfg.GameCirculateData // 阵营塔 } //组件初始化接口 @@ -41,7 +43,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp configure.RegisterConfigure(game_passcheck, cfg.NewGamePassCheck, this.LoadPassCheck) configure.RegisterConfigure(game_pagoda, cfg.NewGamePagoda, this.LoadPagoda) - + configure.RegisterConfigure(game_circulate, cfg.NewGameCirculate, this.LoadCirculate) return } @@ -167,7 +169,6 @@ func (this *configureComp) GetPagodaConfigData(id int32) (data *cfg.GamePagodaDa } func (this *configureComp) LoadPagoda() { - var err error if v, err := this.GetConfigure(game_pagoda); err == nil { if configure, ok := v.(*cfg.GamePagoda); ok { this.hlock.Lock() @@ -182,7 +183,6 @@ func (this *configureComp) LoadPagoda() { return } } - log.Errorf("get game_pagoda conf err:%v", err) return } @@ -197,3 +197,20 @@ func (this *configureComp) GetPagodaConfBytab(tab int32, ly int32) (data *cfg.Ga err = comm.NewNotFoundConfErr("pagoda", game_pagoda, fmt.Errorf("tab %d ,ly %d not found", tab, ly)) return } + +func (this *configureComp) LoadCirculate() { + + if v, err := this.GetConfigure(game_circulate); err == nil { + if configure, ok := v.(*cfg.GameCirculate); ok { + this.hlock.Lock() + defer this.hlock.Unlock() + this._mapRace = make(map[int32]*cfg.GameCirculateData) + for _, value := range configure.GetDataList() { + this._mapRace[value.Restriction] = value + } + return + } + } + + return +} diff --git a/pb/pagoda_db.pb.go b/pb/pagoda_db.pb.go index 11660a49f..10d435b07 100644 --- a/pb/pagoda_db.pb.go +++ b/pb/pagoda_db.pb.go @@ -312,10 +312,11 @@ type RaceData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Buf []int32 `protobuf:"varint,1,rep,packed,name=buf,proto3" json:"buf"` - Rtime int64 `protobuf:"varint,2,opt,name=rtime,proto3" json:"rtime"` // 刷新时间 客户端不用 - Defeat int32 `protobuf:"varint,3,opt,name=defeat,proto3" json:"defeat"` // 今日战胜的次数 - Floor map[int32]int64 `protobuf:"bytes,4,rep,name=floor,proto3" json:"floor" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key 层数 value 耗时 + Race int32 `protobuf:"varint,1,opt,name=race,proto3" json:"race"` // 阵营ID 0:循环塔 1: 阵营1 + Buf []int32 `protobuf:"varint,2,rep,packed,name=buf,proto3" json:"buf"` + Rtime int64 `protobuf:"varint,3,opt,name=rtime,proto3" json:"rtime"` // 刷新时间 客户端不用 + Defeat int32 `protobuf:"varint,4,opt,name=defeat,proto3" json:"defeat"` // 今日战胜的次数 + Floor map[int32]int64 `protobuf:"bytes,5,rep,name=floor,proto3" json:"floor" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //key 层数 value 耗时 } func (x *RaceData) Reset() { @@ -350,6 +351,13 @@ func (*RaceData) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{3} } +func (x *RaceData) GetRace() int32 { + if x != nil { + return x.Race + } + return 0 +} + func (x *RaceData) GetBuf() []int32 { if x != nil { return x.Buf @@ -431,19 +439,20 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x63, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x03, 0x62, 0x75, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x65, 0x66, 0x65, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x64, 0x65, 0x66, - 0x65, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6c, - 0x6f, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x1a, - 0x38, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 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, 0x03, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x63, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x75, 0x66, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x62, 0x75, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x64, 0x65, 0x66, 0x65, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x6c, + 0x6f, 0x6f, 0x72, 0x1a, 0x38, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/pagoda_msg.pb.go b/pb/pagoda_msg.pb.go index ebf9bd5a3..26e714bf3 100644 --- a/pb/pagoda_msg.pb.go +++ b/pb/pagoda_msg.pb.go @@ -972,8 +972,8 @@ type PagodaCallengeRaceOverResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Race *DBPagodaRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"` - Reward []*UserAtno `protobuf:"bytes,2,rep,name=reward,proto3" json:"reward"` + Race *RaceData `protobuf:"bytes,1,opt,name=race,proto3" json:"race"` + Reward []*UserAtno `protobuf:"bytes,2,rep,name=reward,proto3" json:"reward"` } func (x *PagodaCallengeRaceOverResp) Reset() { @@ -1008,7 +1008,7 @@ func (*PagodaCallengeRaceOverResp) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{19} } -func (x *PagodaCallengeRaceOverResp) GetRace() *DBPagodaRace { +func (x *PagodaCallengeRaceOverResp) GetRace() *RaceData { if x != nil { return x.Race } @@ -1066,7 +1066,7 @@ type PagodaGetRaceResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Race []*DBPagodaRace `protobuf:"bytes,1,rep,name=race,proto3" json:"race"` + Race map[int32]*RaceData `protobuf:"bytes,1,rep,name=race,proto3" json:"race" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // 塔信息 } func (x *PagodaGetRaceResp) Reset() { @@ -1101,7 +1101,7 @@ func (*PagodaGetRaceResp) Descriptor() ([]byte, []int) { return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{21} } -func (x *PagodaGetRaceResp) GetRace() []*DBPagodaRace { +func (x *PagodaGetRaceResp) GetRace() map[int32]*RaceData { if x != nil { return x.Race } @@ -1187,18 +1187,23 @@ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{ 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 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, 0x62, 0x0a, 0x1a, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x5e, 0x0a, 0x1a, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x61, - 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x61, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, - 0x6f, 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, - 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x22, 0x36, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, - 0x74, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x61, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, - 0x64, 0x61, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x42, 0x06, 0x5a, 0x04, + 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x72, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x72, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x12, 0x0a, 0x10, + 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x22, 0x89, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, + 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x42, 0x0a, 0x09, 0x52, 0x61, 0x63, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } @@ -1214,7 +1219,7 @@ func file_pagoda_pagoda_msg_proto_rawDescGZIP() []byte { return file_pagoda_pagoda_msg_proto_rawDescData } -var file_pagoda_pagoda_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_pagoda_pagoda_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{ (*PagodaGetListReq)(nil), // 0: PagodaGetListReq (*PagodaGetListResp)(nil), // 1: PagodaGetListResp @@ -1238,38 +1243,40 @@ var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{ (*PagodaCallengeRaceOverResp)(nil), // 19: PagodaCallengeRaceOverResp (*PagodaGetRaceReq)(nil), // 20: PagodaGetRaceReq (*PagodaGetRaceResp)(nil), // 21: PagodaGetRaceResp - (*DBPagoda)(nil), // 22: DBPagoda - (*BattleFormation)(nil), // 23: BattleFormation - (*BattleInfo)(nil), // 24: BattleInfo - (*BattleReport)(nil), // 25: BattleReport - (*DBPagodaRecord)(nil), // 26: DBPagodaRecord - (*UserAssets)(nil), // 27: UserAssets - (*DBPagodaRace)(nil), // 28: DBPagodaRace - (*UserAtno)(nil), // 29: UserAtno + nil, // 22: PagodaGetRaceResp.RaceEntry + (*DBPagoda)(nil), // 23: DBPagoda + (*BattleFormation)(nil), // 24: BattleFormation + (*BattleInfo)(nil), // 25: BattleInfo + (*BattleReport)(nil), // 26: BattleReport + (*DBPagodaRecord)(nil), // 27: DBPagodaRecord + (*UserAssets)(nil), // 28: UserAssets + (*RaceData)(nil), // 29: RaceData + (*UserAtno)(nil), // 30: UserAtno } var file_pagoda_pagoda_msg_proto_depIdxs = []int32{ - 22, // 0: PagodaGetListResp.data:type_name -> DBPagoda - 22, // 1: PagodaGetRewardResp.data:type_name -> DBPagoda - 23, // 2: PagodaChallengeReq.battle:type_name -> BattleFormation - 24, // 3: PagodaChallengeResp.info:type_name -> BattleInfo - 25, // 4: PagodaChallengeOverReq.report:type_name -> BattleReport - 22, // 5: PagodaChallengeOverResp.data:type_name -> DBPagoda - 26, // 6: PagodaRankListResp.ranks:type_name -> DBPagodaRecord - 26, // 7: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord - 22, // 8: PagodaActivateResp.data:type_name -> DBPagoda - 22, // 9: PagodaWarOrderResp.data:type_name -> DBPagoda - 27, // 10: PagodaWarOrderResp.itmes:type_name -> UserAssets - 23, // 11: PagodaCallengeRaceReq.battle:type_name -> BattleFormation - 24, // 12: PagodaCallengeRaceResp.info:type_name -> BattleInfo - 25, // 13: PagodaCallengeRaceOverReq.report:type_name -> BattleReport - 28, // 14: PagodaCallengeRaceOverResp.race:type_name -> DBPagodaRace - 29, // 15: PagodaCallengeRaceOverResp.reward:type_name -> UserAtno - 28, // 16: PagodaGetRaceResp.race:type_name -> DBPagodaRace - 17, // [17:17] is the sub-list for method output_type - 17, // [17:17] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 23, // 0: PagodaGetListResp.data:type_name -> DBPagoda + 23, // 1: PagodaGetRewardResp.data:type_name -> DBPagoda + 24, // 2: PagodaChallengeReq.battle:type_name -> BattleFormation + 25, // 3: PagodaChallengeResp.info:type_name -> BattleInfo + 26, // 4: PagodaChallengeOverReq.report:type_name -> BattleReport + 23, // 5: PagodaChallengeOverResp.data:type_name -> DBPagoda + 27, // 6: PagodaRankListResp.ranks:type_name -> DBPagodaRecord + 27, // 7: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord + 23, // 8: PagodaActivateResp.data:type_name -> DBPagoda + 23, // 9: PagodaWarOrderResp.data:type_name -> DBPagoda + 28, // 10: PagodaWarOrderResp.itmes:type_name -> UserAssets + 24, // 11: PagodaCallengeRaceReq.battle:type_name -> BattleFormation + 25, // 12: PagodaCallengeRaceResp.info:type_name -> BattleInfo + 26, // 13: PagodaCallengeRaceOverReq.report:type_name -> BattleReport + 29, // 14: PagodaCallengeRaceOverResp.race:type_name -> RaceData + 30, // 15: PagodaCallengeRaceOverResp.reward:type_name -> UserAtno + 22, // 16: PagodaGetRaceResp.race:type_name -> PagodaGetRaceResp.RaceEntry + 29, // 17: PagodaGetRaceResp.RaceEntry.value:type_name -> RaceData + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_pagoda_pagoda_msg_proto_init() } @@ -1552,7 +1559,7 @@ func file_pagoda_pagoda_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pagoda_pagoda_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 22, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.Circulate.go b/sys/configure/structs/Game.Circulate.go new file mode 100644 index 000000000..d2c17b9f5 --- /dev/null +++ b/sys/configure/structs/Game.Circulate.go @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +type GameCirculate struct { + _dataMap map[int32]*GameCirculateData + _dataList []*GameCirculateData +} + +func NewGameCirculate(_buf []map[string]interface{}) (*GameCirculate, error) { + _dataList := make([]*GameCirculateData, 0, len(_buf)) + dataMap := make(map[int32]*GameCirculateData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameCirculateData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &GameCirculate{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameCirculate) GetDataMap() map[int32]*GameCirculateData { + return table._dataMap +} + +func (table *GameCirculate) GetDataList() []*GameCirculateData { + return table._dataList +} + +func (table *GameCirculate) Get(key int32) *GameCirculateData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.CirculateData.go b/sys/configure/structs/Game.CirculateData.go new file mode 100644 index 000000000..0399564e7 --- /dev/null +++ b/sys/configure/structs/Game.CirculateData.go @@ -0,0 +1,102 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +package cfg + +import "errors" + +type GameCirculateData struct { + Id int32 + Name int32 + Restriction int32 + BattlereadyID int32 + Openingtime []int32 + Unlock int32 + Floors int32 + Gaineffect int32 + TabIcon string + TabTitle string + Monsterlineup []int32 + Reward []*Gameatn + Exp int32 + NameDisplay string + ModelDisplay int32 +} + +const TypeId_GameCirculateData = -253541710 + +func (*GameCirculateData) GetTypeId() int32 { + return -253541710 +} + +func (_v *GameCirculateData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["name"].(float64); !_ok_ { err = errors.New("name error"); return }; _v.Name = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["restriction"].(float64); !_ok_ { err = errors.New("restriction error"); return }; _v.Restriction = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["battlereadyID"].(float64); !_ok_ { err = errors.New("battlereadyID error"); return }; _v.BattlereadyID = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["openingtime"].([]interface{}); !_ok_ { err = errors.New("openingtime error"); return } + + _v.Openingtime = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Openingtime = append(_v.Openingtime, _list_v_) + } + } + + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["unlock"].(float64); !_ok_ { err = errors.New("unlock error"); return }; _v.Unlock = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["floors"].(float64); !_ok_ { err = errors.New("floors error"); return }; _v.Floors = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gaineffect"].(float64); !_ok_ { err = errors.New("gaineffect error"); return }; _v.Gaineffect = int32(_tempNum_) } + { var _ok_ bool; if _v.TabIcon, _ok_ = _buf["tabIcon"].(string); !_ok_ { err = errors.New("tabIcon error"); return } } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["tabTitle"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TabTitle error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TabTitle, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["monsterlineup"].([]interface{}); !_ok_ { err = errors.New("monsterlineup error"); return } + + _v.Monsterlineup = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Monsterlineup = append(_v.Monsterlineup, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return } + + _v.Reward = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } } + _v.Reward = append(_v.Reward, _list_v_) + } + } + + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) } + {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name_display"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.NameDisplay error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.NameDisplay, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["model_display"].(float64); !_ok_ { err = errors.New("model_display error"); return }; _v.ModelDisplay = int32(_tempNum_) } + return +} + +func DeserializeGameCirculateData(_buf map[string]interface{}) (*GameCirculateData, error) { + v := &GameCirculateData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 919272422..630d29146 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -184,6 +184,7 @@ type Tables struct { CardPool *GameCardPool Robot *GameRobot Passon *GamePasson + Circulate *GameCirculate } func NewTables(loader JsonLoader) (*Tables, error) { @@ -1229,5 +1230,11 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.Passon, err = NewGamePasson(buf) ; err != nil { return nil, err } + if buf, err = loader("game_circulate") ; err != nil { + return nil, err + } + if tables.Circulate, err = NewGameCirculate(buf) ; err != nil { + return nil, err + } return tables, nil }