From 6adbd3be879d28d422443c412e7d58f3b4972d8d Mon Sep 17 00:00:00 2001
From: meixiongfeng <766881921@qq.com>
Date: Mon, 10 Jul 2023 11:19:22 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E4=BC=98=E5=8C=96=20?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A7=A3=E6=9E=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bin/json/game_circulate.json | 4257 +++++++++++++++++++
bin/json/game_mainstage.json | 16 +-
modules/pagoda/comp_configure.go | 25 +-
pb/pagoda_db.pb.go | 43 +-
pb/pagoda_msg.pb.go | 103 +-
sys/configure/structs/Game.Circulate.go | 42 +
sys/configure/structs/Game.CirculateData.go | 102 +
sys/configure/structs/Tables.go | 7 +
8 files changed, 4518 insertions(+), 77 deletions(-)
create mode 100644 bin/json/game_circulate.json
create mode 100644 sys/configure/structs/Game.Circulate.go
create mode 100644 sys/configure/structs/Game.CirculateData.go
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
}