From ebfc1c5b5dafddbbc2f81c319aec918d2b4e6082 Mon Sep 17 00:00:00 2001
From: liwei <2211068034@qq.com>
Date: Mon, 10 Jul 2023 14:22:13 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=85=B1=E9=B8=A3=E6=B0=B4?=
=?UTF-8?q?=E6=99=B6=E8=A1=A5=E5=85=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bin/json/game_buriedcondi.json | 12 +-
bin/json/game_caravanlv.json | 52 +-
bin/json/game_caravanthing.json | 60 +-
bin/json/game_circulate.json | 4257 +++++++++++++++++
bin/json/game_mainstage.json | 16 +-
bin/json/game_passon.json | 84 +-
bin/json/game_skillafteratk.json | 32 +-
bin/json/game_skillatk.json | 19 +-
bin/json/game_skillbuff.json | 32 +-
bin/json/game_skillpassive.json | 4 +-
modules/passon/api_clearcd.go | 62 +
modules/passon/api_info.go | 35 +-
modules/passon/api_inroom.go | 28 +
modules/passon/configure_comp.go | 1 -
pb/errorcode.pb.go | 11 +-
.../structs/Game.CaravanThingData.go | 2 +
sys/configure/structs/Game.Circulate.go | 42 +
sys/configure/structs/Game.CirculateData.go | 102 +
sys/configure/structs/Game.PassonData.go | 2 +
sys/configure/structs/Tables.go | 7 +
20 files changed, 4772 insertions(+), 88 deletions(-)
create mode 100644 bin/json/game_circulate.json
create mode 100644 modules/passon/api_clearcd.go
create mode 100644 sys/configure/structs/Game.Circulate.go
create mode 100644 sys/configure/structs/Game.CirculateData.go
diff --git a/bin/json/game_buriedcondi.json b/bin/json/game_buriedcondi.json
index 3b9743220..c18a9719f 100644
--- a/bin/json/game_buriedcondi.json
+++ b/bin/json/game_buriedcondi.json
@@ -21197,7 +21197,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_747",
- "text": "功夫大师挑战塔3层"
+ "text": "高能武者挑战塔3层"
},
"type": 168,
"valid": 0,
@@ -21663,7 +21663,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_763",
- "text": "功夫大师挑战塔5层"
+ "text": "高能武者挑战塔5层"
},
"type": 168,
"valid": 0,
@@ -22128,7 +22128,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_779",
- "text": "功夫大师挑战塔5层"
+ "text": "高能武者挑战塔5层"
},
"type": 168,
"valid": 0,
@@ -22532,7 +22532,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_793",
- "text": "功夫大师挑战塔10层"
+ "text": "高能武者挑战塔10层"
},
"type": 168,
"valid": 0,
@@ -23019,7 +23019,7 @@
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_810",
- "text": "功夫大师挑战塔20层"
+ "text": "高能武者挑战塔20层"
},
"type": 168,
"valid": 0,
@@ -23204,7 +23204,7 @@
"NPC": 10904,
"value": 1,
"filter": [
- 1200103
+ 1101203
],
"filter2": [
"关卡ID",
diff --git a/bin/json/game_caravanlv.json b/bin/json/game_caravanlv.json
index 921502b80..6cd3cc326 100644
--- a/bin/json/game_caravanlv.json
+++ b/bin/json/game_caravanlv.json
@@ -2,8 +2,8 @@
{
"lv": 0,
"newmoneyexp": 0,
- "bagtop": 20,
- "bagtagnum": 5,
+ "bagtop": 50,
+ "bagtagnum": 10,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -21,8 +21,8 @@
{
"lv": 1,
"newmoneyexp": 100000,
- "bagtop": 24,
- "bagtagnum": 10,
+ "bagtop": 60,
+ "bagtagnum": 12,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -46,8 +46,8 @@
{
"lv": 2,
"newmoneyexp": 200000,
- "bagtop": 28,
- "bagtagnum": 15,
+ "bagtop": 70,
+ "bagtagnum": 14,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -71,8 +71,8 @@
{
"lv": 3,
"newmoneyexp": 300000,
- "bagtop": 32,
- "bagtagnum": 20,
+ "bagtop": 80,
+ "bagtagnum": 16,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -96,8 +96,8 @@
{
"lv": 4,
"newmoneyexp": 400000,
- "bagtop": 36,
- "bagtagnum": 22,
+ "bagtop": 90,
+ "bagtagnum": 18,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -121,8 +121,8 @@
{
"lv": 5,
"newmoneyexp": 500000,
- "bagtop": 40,
- "bagtagnum": 24,
+ "bagtop": 100,
+ "bagtagnum": 20,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -146,8 +146,8 @@
{
"lv": 6,
"newmoneyexp": 600000,
- "bagtop": 44,
- "bagtagnum": 25,
+ "bagtop": 110,
+ "bagtagnum": 22,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -171,8 +171,8 @@
{
"lv": 7,
"newmoneyexp": 700000,
- "bagtop": 48,
- "bagtagnum": 27,
+ "bagtop": 120,
+ "bagtagnum": 24,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -196,8 +196,8 @@
{
"lv": 8,
"newmoneyexp": 800000,
- "bagtop": 52,
- "bagtagnum": 29,
+ "bagtop": 130,
+ "bagtagnum": 26,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -221,8 +221,8 @@
{
"lv": 9,
"newmoneyexp": 900000,
- "bagtop": 56,
- "bagtagnum": 30,
+ "bagtop": 140,
+ "bagtagnum": 28,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -246,8 +246,8 @@
{
"lv": 10,
"newmoneyexp": 1000000,
- "bagtop": 60,
- "bagtagnum": 31,
+ "bagtop": 150,
+ "bagtagnum": 30,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -271,8 +271,8 @@
{
"lv": 11,
"newmoneyexp": 1100000,
- "bagtop": 64,
- "bagtagnum": 31,
+ "bagtop": 160,
+ "bagtagnum": 30,
"tickettop": {
"a": "item",
"t": "21000001",
@@ -296,8 +296,8 @@
{
"lv": 12,
"newmoneyexp": 1200000,
- "bagtop": 68,
- "bagtagnum": 32,
+ "bagtop": 200,
+ "bagtagnum": 35,
"tickettop": {
"a": "item",
"t": "21000001",
diff --git a/bin/json/game_caravanthing.json b/bin/json/game_caravanthing.json
index e04595c39..0fd6c6473 100644
--- a/bin/json/game_caravanthing.json
+++ b/bin/json/game_caravanthing.json
@@ -26,7 +26,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 1
},
{
"itemid": "21000003",
@@ -55,7 +56,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 2
},
{
"itemid": "21000004",
@@ -84,7 +86,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 3
},
{
"itemid": "21000005",
@@ -113,7 +116,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 4
},
{
"itemid": "21000006",
@@ -142,7 +146,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 5
},
{
"itemid": "21000007",
@@ -171,7 +176,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 6
},
{
"itemid": "21000008",
@@ -200,7 +206,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 7
},
{
"itemid": "21000009",
@@ -229,7 +236,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 8
},
{
"itemid": "21000010",
@@ -258,7 +266,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 9
},
{
"itemid": "21000011",
@@ -287,7 +296,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 10
},
{
"itemid": "21000012",
@@ -316,7 +326,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 11
},
{
"itemid": "21000013",
@@ -345,7 +356,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 12
},
{
"itemid": "21000014",
@@ -374,7 +386,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 13
},
{
"itemid": "21000015",
@@ -403,7 +416,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 14
},
{
"itemid": "21000016",
@@ -432,7 +446,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 15
},
{
"itemid": "21000017",
@@ -461,7 +476,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 16
},
{
"itemid": "21000018",
@@ -490,7 +506,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 17
},
{
"itemid": "21000019",
@@ -519,7 +536,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 18
},
{
"itemid": "21000020",
@@ -548,7 +566,8 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 19
},
{
"itemid": "21000021",
@@ -577,6 +596,7 @@
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000,
- "goodsnum": 80
+ "goodsnum": 80,
+ "weight": 20
}
]
\ No newline at end of file
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/bin/json/game_passon.json b/bin/json/game_passon.json
index a07be92af..8fa4ae00c 100644
--- a/bin/json/game_passon.json
+++ b/bin/json/game_passon.json
@@ -4,83 +4,143 @@
"openlv": 20,
"cd": 24,
"sift": 3,
- "text": "passon_unlock_text_1"
+ "text": "passon_unlock_text_1",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 2,
"openlv": 22,
"cd": 24,
"sift": 3,
- "text": "passon_unlock_text_2"
+ "text": "passon_unlock_text_2",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 3,
"openlv": 24,
"cd": 24,
"sift": 3,
- "text": "passon_unlock_text_3"
+ "text": "passon_unlock_text_3",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 4,
"openlv": 26,
"cd": 24,
"sift": 4,
- "text": "passon_unlock_text_4"
+ "text": "passon_unlock_text_4",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 5,
"openlv": 28,
"cd": 24,
"sift": 4,
- "text": "passon_unlock_text_5"
+ "text": "passon_unlock_text_5",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 6,
"openlv": 30,
"cd": 24,
"sift": 5,
- "text": "passon_unlock_text_6"
+ "text": "passon_unlock_text_6",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 7,
"openlv": 32,
"cd": 24,
"sift": 3,
- "text": "passon_unlock_text_7"
+ "text": "passon_unlock_text_7",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 8,
"openlv": 34,
"cd": 24,
"sift": 4,
- "text": "passon_unlock_text_8"
+ "text": "passon_unlock_text_8",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 9,
"openlv": 36,
"cd": 24,
"sift": 5,
- "text": "passon_unlock_text_9"
+ "text": "passon_unlock_text_9",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 10,
"openlv": 38,
"cd": 24,
"sift": 3,
- "text": "passon_unlock_text_10"
+ "text": "passon_unlock_text_10",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 11,
"openlv": 40,
"cd": 24,
"sift": 4,
- "text": "passon_unlock_text_11"
+ "text": "passon_unlock_text_11",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
},
{
"exework": 12,
"openlv": 42,
"cd": 24,
"sift": 5,
- "text": "passon_unlock_text_12"
+ "text": "passon_unlock_text_12",
+ "remake": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 200
+ }
}
]
\ No newline at end of file
diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json
index 0535d483b..060f1e3f2 100644
--- a/bin/json/game_skillafteratk.json
+++ b/bin/json/game_skillafteratk.json
@@ -393,7 +393,7 @@
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
- 390001207,
+ 390001452,
1000,
1,
2
@@ -410,6 +410,30 @@
{
"Id": 225004312,
"EmitPR": 1000,
+ "From": 3,
+ "Where": [],
+ "Order": "",
+ "Limit": 1,
+ "ExecuteCnt": 1,
+ "Type": 3,
+ "Argu": [
+ 390001207,
+ 1000,
+ 1,
+ 2
+ ],
+ "FollowSK": [],
+ "SucFollowSK": [],
+ "FailFollowSK": [],
+ "MustHit": false,
+ "DpsRevisiType": 0,
+ "DpsCondition": "",
+ "RevisiCondition": "",
+ "RevisiParams": []
+ },
+ {
+ "Id": 225004313,
+ "EmitPR": 1000,
"From": 1,
"Where": [],
"Order": "",
@@ -432,7 +456,7 @@
"RevisiParams": []
},
{
- "Id": 225004313,
+ "Id": 225004314,
"EmitPR": 1000,
"From": 3,
"Where": [],
@@ -455,7 +479,7 @@
"RevisiParams": []
},
{
- "Id": 225004314,
+ "Id": 225004315,
"EmitPR": 1000,
"From": 1,
"Where": [],
@@ -478,7 +502,7 @@
"RevisiParams": []
},
{
- "Id": 225004315,
+ "Id": 225004316,
"EmitPR": 1000,
"From": 1,
"Where": [],
diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json
index 37581a7f6..724f2febb 100644
--- a/bin/json/game_skillatk.json
+++ b/bin/json/game_skillatk.json
@@ -332,6 +332,9 @@
"Target": 0,
"ChildSkill": {
"Id": [
+ 225004311,
+ 225004312,
+ 225004313,
225004314
]
},
@@ -363,6 +366,9 @@
"Target": 0,
"ChildSkill": {
"Id": [
+ 225004311,
+ 225004312,
+ 225004313,
225004314
]
},
@@ -394,6 +400,9 @@
"Target": 0,
"ChildSkill": {
"Id": [
+ 225004311,
+ 225004312,
+ 225004313,
225004314
]
},
@@ -425,6 +434,9 @@
"Target": 0,
"ChildSkill": {
"Id": [
+ 225004311,
+ 225004312,
+ 225004313,
225004314
]
},
@@ -456,6 +468,9 @@
"Target": 0,
"ChildSkill": {
"Id": [
+ 225004311,
+ 225004312,
+ 225004313,
225004314
]
},
@@ -9701,7 +9716,7 @@
},
"Desc": {
"key": "skill_skill_atk_Desc_135005311_1",
- "text": "幸运·普雷斯科特为己方附加2回合[color=#37d8a9]免疫[/color]和[color=#37d8a9]防御提升[/color]状态,并对敌方目标造成攻击力4 00%的伤害,并附加2回合[color=#e5621b]攻击下降[/color]的状态。"
+ "text": "幸运·普雷斯科特为己方附加2回合[color=#37d8a9]免疫[/color]和[color=#37d8a9]防御提升[/color]状态,并对敌方目标造成攻击力4 00%的伤害,并附加2回合[color=#e5621b]防御下降[/color]的状态。"
},
"buffid": [
390001111,
@@ -21712,7 +21727,7 @@
},
"Desc": {
"key": "skill_skill_atk_Desc_155002111_1",
- "text": "对敌方单体目标发起一次攻击,并造成1次伤害。"
+ "text": "对敌方全体目标发起一次攻击。"
},
"buffid": [],
"map": ""
diff --git a/bin/json/game_skillbuff.json b/bin/json/game_skillbuff.json
index 9d89576a1..d32027c01 100644
--- a/bin/json/game_skillbuff.json
+++ b/bin/json/game_skillbuff.json
@@ -1432,7 +1432,7 @@
"OverlayTimes": 1,
"SameID": false,
"golbalbufficon": "",
- "buffIcon": "ty_icon_buff_xy",
+ "buffIcon": "",
"buffeffect": "",
"buffpos": "根节点"
},
@@ -1463,7 +1463,7 @@
"OverlayTimes": 1,
"SameID": false,
"golbalbufficon": "",
- "buffIcon": "ty_icon_buff_xy",
+ "buffIcon": "",
"buffeffect": "",
"buffpos": "根节点"
},
@@ -4119,5 +4119,33 @@
"buffIcon": "",
"buffeffect": "",
"buffpos": "根节点"
+ },
+ {
+ "Id": 390001452,
+ "Name": {
+ "key": "skill_skill_buff_Name_390001452",
+ "text": "[color=#37d8a9]喜悦[/color] "
+ },
+ "Desc": {
+ "key": "skill_skill_buff_Desc_390001452",
+ "text": "喜悦"
+ },
+ "BuffType": 0,
+ "EffectArgu": [],
+ "BufParNum": 1,
+ "RelyCheckArgu": [],
+ "CoexistCheckArgu": [],
+ "Effect": [
+ 0
+ ],
+ "AddEffect": false,
+ "RemoveType": false,
+ "NotOverlay": 0,
+ "OverlayTimes": 1,
+ "SameID": false,
+ "golbalbufficon": "",
+ "buffIcon": "ty_icon_buff_xy",
+ "buffeffect": "",
+ "buffpos": "根节点"
}
]
\ No newline at end of file
diff --git a/bin/json/game_skillpassive.json b/bin/json/game_skillpassive.json
index e540c5662..9f2cdaa75 100644
--- a/bin/json/game_skillpassive.json
+++ b/bin/json/game_skillpassive.json
@@ -50,8 +50,8 @@
"MaxEmitTimes": 0,
"MaxEmitTimesInRound": 1,
"Callback": [
- 225004314,
- 225004315
+ 225004315,
+ 225004316
]
},
{
diff --git a/modules/passon/api_clearcd.go b/modules/passon/api_clearcd.go
new file mode 100644
index 000000000..bc2caaa6a
--- /dev/null
+++ b/modules/passon/api_clearcd.go
@@ -0,0 +1,62 @@
+package passon
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/sys/mgo"
+ "go_dreamfactory/pb"
+ cfg "go_dreamfactory/sys/configure/structs"
+)
+
+// 参数校验
+func (this *apiComp) ClearCDCheck(session comm.IUserSession, req *pb.PassonClearCDReq) (errdata *pb.ErrorData) {
+
+ return
+}
+
+// /获取自己的排行榜信息
+func (this *apiComp) ClearCD(session comm.IUserSession, req *pb.PassonClearCDReq) (errdata *pb.ErrorData) {
+ var (
+ info *pb.DBPasson
+ conf *cfg.GamePassonData
+ err error
+ )
+
+ if errdata = this.ClearCDCheck(session, req); errdata != nil {
+ return
+ }
+ if conf, err = this.module.configure.GetPassonConf(req.Index); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_ConfigNoFound,
+ Title: pb.ErrorCode_ConfigNoFound.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+
+ if errdata = this.module.DispenseRes(session, []*cfg.Gameatn{conf.Remake}, true); errdata != nil {
+ return
+ }
+
+ if info, err = this.module.modelPasson.getUserPasson(session.GetUserId()); err != nil && err != mgo.MongodbNil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_DBError,
+ Title: pb.ErrorCode_DBError.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+
+ info.Student[req.Index].Heroid = ""
+ info.Student[req.Index].State = 0
+ info.Student[req.Index].Cdtime = 0
+ if err = this.module.modelPasson.updateUserPasson(session.GetUserId(), info); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_DBError,
+ Title: pb.ErrorCode_DBError.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+ session.SendMsg(string(this.module.GetType()), "clearcd", &pb.PassonClearCDResp{Index: req.Index})
+ return
+}
diff --git a/modules/passon/api_info.go b/modules/passon/api_info.go
index 824d0b2f3..0f486d761 100644
--- a/modules/passon/api_info.go
+++ b/modules/passon/api_info.go
@@ -4,6 +4,9 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/pb"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
+ "time"
)
// 参数校验
@@ -15,8 +18,10 @@ func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.PassonInfoReq)
// /获取自己的排行榜信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.PassonInfoReq) (errdata *pb.ErrorData) {
var (
- info *pb.DBPasson
- err error
+ info *pb.DBPasson
+ conf *cfg.GamePassonData
+ chanage bool
+ err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
@@ -32,6 +37,32 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.PassonInfoReq) (err
return
}
+ for i, v := range info.Student {
+ if v.State == 2 {
+ if conf, err = this.module.configure.GetPassonConf(int32(i + 1)); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_ConfigNoFound,
+ Title: pb.ErrorCode_ConfigNoFound.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+ if int32(configure.Now().Sub(time.Unix(v.Cdtime, 0)).Hours()) >= conf.Cd {
+ chanage = true
+ v.State = 0
+ }
+ }
+ }
+ if chanage {
+ if err = this.module.modelPasson.updateUserPasson(session.GetUserId(), info); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_DBError,
+ Title: pb.ErrorCode_DBError.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+ }
session.SendMsg(string(this.module.GetType()), "info", &pb.PassonInfoResp{Info: info})
return
}
diff --git a/modules/passon/api_inroom.go b/modules/passon/api_inroom.go
index ce71b63a9..9f64cf65d 100644
--- a/modules/passon/api_inroom.go
+++ b/modules/passon/api_inroom.go
@@ -4,6 +4,9 @@ import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
+ "time"
)
// 参数校验
@@ -24,6 +27,7 @@ func (this *apiComp) InRoom(session comm.IUserSession, req *pb.PassonInRoomReq)
heros []*pb.DBHero
hero *pb.DBHero
passon *pb.DBPasson
+ conf *cfg.GamePassonData
err error
)
@@ -81,6 +85,30 @@ func (this *apiComp) InRoom(session comm.IUserSession, req *pb.PassonInRoomReq)
}
return
}
+
+ if passon.Student[req.Index].State != 2 {
+ if conf, err = this.module.configure.GetPassonConf(req.Index); err != nil {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_ConfigNoFound,
+ Title: pb.ErrorCode_ConfigNoFound.ToString(),
+ Message: err.Error(),
+ }
+ return
+ }
+ if int32(configure.Now().Sub(time.Unix(passon.Student[req.Index].Cdtime, 0)).Hours()) >= conf.Cd {
+ passon.Student[req.Index].State = 0
+ }
+ }
+
+ if passon.Student[req.Index].State != 0 {
+ errdata = &pb.ErrorData{
+ Code: pb.ErrorCode_PassonSeatStateErr,
+ Title: pb.ErrorCode_PassonSeatStateErr.ToString(),
+ Message: fmt.Sprintf("seat:%d state:%d", req.Index, passon.Student[req.Index].State),
+ }
+ return
+ }
+
hero.Ispasson = true
if errdata = this.module.ModuleHero.PassonHero(session, map[string]bool{hero.Id: true}); errdata != nil {
return
diff --git a/modules/passon/configure_comp.go b/modules/passon/configure_comp.go
index 328ad31f4..c58209f42 100644
--- a/modules/passon/configure_comp.go
+++ b/modules/passon/configure_comp.go
@@ -22,7 +22,6 @@ type Configure_Comp struct {
func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.LoadConfigure(game_passon, cfg.NewGamePasson)
-
return
}
diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go
index 5e09af9a9..ba267a643 100644
--- a/pb/errorcode.pb.go
+++ b/pb/errorcode.pb.go
@@ -408,6 +408,7 @@ const (
//传功房
ErrorCode_PassonHeroNumNotEnough ErrorCode = 4701 //英雄数量不足
ErrorCode_PassonHeroUnavailable ErrorCode = 4702 //当前英雄不可用
+ ErrorCode_PassonSeatStateErr ErrorCode = 4703 //传功塔状态错误
)
// Enum value maps for ErrorCode.
@@ -758,6 +759,7 @@ var (
4605: "OldtimesNoAllFinished",
4701: "PassonHeroNumNotEnough",
4702: "PassonHeroUnavailable",
+ 4703: "PassonSeatStateErr",
}
ErrorCode_value = map[string]int32{
"Success": 0,
@@ -1105,6 +1107,7 @@ var (
"OldtimesNoAllFinished": 4605,
"PassonHeroNumNotEnough": 4701,
"PassonHeroUnavailable": 4702,
+ "PassonSeatStateErr": 4703,
}
)
@@ -1139,7 +1142,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2a, 0xc5, 0x3f, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+ 0x6f, 0x2a, 0xde, 0x3f, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
@@ -1647,8 +1650,10 @@ var file_errorcode_proto_rawDesc = []byte{
0x12, 0x1b, 0x0a, 0x16, 0x50, 0x61, 0x73, 0x73, 0x6f, 0x6e, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x75,
0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdd, 0x24, 0x12, 0x1a, 0x0a,
0x15, 0x50, 0x61, 0x73, 0x73, 0x6f, 0x6e, 0x48, 0x65, 0x72, 0x6f, 0x55, 0x6e, 0x61, 0x76, 0x61,
- 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xde, 0x24, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
- 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0xde, 0x24, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x73,
+ 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x10,
+ 0xdf, 0x24, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
}
var (
diff --git a/sys/configure/structs/Game.CaravanThingData.go b/sys/configure/structs/Game.CaravanThingData.go
index 38be2158a..4f6a6ed13 100644
--- a/sys/configure/structs/Game.CaravanThingData.go
+++ b/sys/configure/structs/Game.CaravanThingData.go
@@ -22,6 +22,7 @@ type GameCaravanThingData struct {
Pricemin int32
Pricemax int32
Goodsnum int32
+ Weight int32
}
const TypeId_GameCaravanThingData = 638455774
@@ -107,6 +108,7 @@ func (_v *GameCaravanThingData)Deserialize(_buf map[string]interface{}) (err err
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pricemin"].(float64); !_ok_ { err = errors.New("pricemin error"); return }; _v.Pricemin = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pricemax"].(float64); !_ok_ { err = errors.New("pricemax error"); return }; _v.Pricemax = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsnum"].(float64); !_ok_ { err = errors.New("goodsnum error"); return }; _v.Goodsnum = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["weight"].(float64); !_ok_ { err = errors.New("weight error"); return }; _v.Weight = int32(_tempNum_) }
return
}
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/Game.PassonData.go b/sys/configure/structs/Game.PassonData.go
index 786f6417a..0a4bf4105 100644
--- a/sys/configure/structs/Game.PassonData.go
+++ b/sys/configure/structs/Game.PassonData.go
@@ -16,6 +16,7 @@ type GamePassonData struct {
Cd int32
Sift int32
Text string
+ Remake *Gameatn
}
const TypeId_GamePassonData = -1897293578
@@ -30,6 +31,7 @@ func (_v *GamePassonData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["cd"].(float64); !_ok_ { err = errors.New("cd error"); return }; _v.Cd = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sift"].(float64); !_ok_ { err = errors.New("sift error"); return }; _v.Sift = int32(_tempNum_) }
{ var _ok_ bool; if _v.Text, _ok_ = _buf["text"].(string); !_ok_ { err = errors.New("text error"); return } }
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["remake"].(map[string]interface{}); !_ok_ { err = errors.New("remake error"); return }; if _v.Remake, err = DeserializeGameatn(_x_); err != nil { return } }
return
}
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
}