This commit is contained in:
liwei1dao 2022-09-15 15:56:43 +08:00
commit 82a2f11b9a
64 changed files with 4977 additions and 6648 deletions

View File

@ -6,9 +6,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -18,9 +18,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -30,9 +30,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -42,9 +42,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -54,9 +54,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -66,9 +66,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -78,9 +78,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -90,9 +90,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -102,9 +102,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -114,9 +114,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -126,9 +126,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -138,9 +138,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -150,9 +150,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -162,9 +162,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -174,9 +174,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -186,9 +186,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -198,9 +198,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -210,9 +210,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -222,9 +222,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
},
{
@ -234,9 +234,9 @@
255,
200,
100,
0,
0,
0
100,
100,
100
]
}
]

View File

@ -27,7 +27,7 @@
}
],
"drop": 1001,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401001,
401002,
@ -67,7 +67,7 @@
}
],
"drop": 1002,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401004,
401005,
@ -112,7 +112,7 @@
}
],
"drop": 1003,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401007,
401008,
@ -157,7 +157,7 @@
}
],
"drop": 1004,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401010,
401011,
@ -202,7 +202,7 @@
}
],
"drop": 1005,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401013,
401014,
@ -247,7 +247,7 @@
}
],
"drop": 1006,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401016,
401017,
@ -292,7 +292,7 @@
}
],
"drop": 1007,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401019,
401020,
@ -337,7 +337,7 @@
}
],
"drop": 1008,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401022,
401023,
@ -382,7 +382,7 @@
}
],
"drop": 1009,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401025,
401026,
@ -427,7 +427,7 @@
}
],
"drop": 1010,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
401028,
401029,
@ -462,7 +462,7 @@
}
],
"drop": 1011,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402001,
402002,
@ -502,7 +502,7 @@
}
],
"drop": 1012,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402004,
402005,
@ -547,7 +547,7 @@
}
],
"drop": 1013,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402007,
402008,
@ -592,7 +592,7 @@
}
],
"drop": 1014,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402010,
402011,
@ -637,7 +637,7 @@
}
],
"drop": 1015,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402013,
402014,
@ -682,7 +682,7 @@
}
],
"drop": 1016,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402016,
402017,
@ -727,7 +727,7 @@
}
],
"drop": 1017,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402019,
402020,
@ -772,7 +772,7 @@
}
],
"drop": 1018,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402022,
402023,
@ -817,7 +817,7 @@
}
],
"drop": 1019,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402025,
402026,
@ -862,7 +862,7 @@
}
],
"drop": 1020,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
402028,
402029,
@ -897,7 +897,7 @@
}
],
"drop": 1021,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403001,
403002,
@ -937,7 +937,7 @@
}
],
"drop": 1022,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403004,
403005,
@ -982,7 +982,7 @@
}
],
"drop": 1023,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403007,
403008,
@ -1027,7 +1027,7 @@
}
],
"drop": 1024,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403010,
403011,
@ -1072,7 +1072,7 @@
}
],
"drop": 1025,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403013,
403014,
@ -1117,7 +1117,7 @@
}
],
"drop": 1026,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403016,
403017,
@ -1162,7 +1162,7 @@
}
],
"drop": 1027,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403019,
403020,
@ -1207,7 +1207,7 @@
}
],
"drop": 1028,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403022,
403023,
@ -1252,7 +1252,7 @@
}
],
"drop": 1029,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403025,
403026,
@ -1297,7 +1297,7 @@
}
],
"drop": 1030,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
403028,
403029,
@ -1332,7 +1332,7 @@
}
],
"drop": 1021,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404001,
404002,
@ -1372,7 +1372,7 @@
}
],
"drop": 1022,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404004,
404005,
@ -1417,7 +1417,7 @@
}
],
"drop": 1023,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404007,
404008,
@ -1462,7 +1462,7 @@
}
],
"drop": 1024,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404010,
404011,
@ -1507,7 +1507,7 @@
}
],
"drop": 1025,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404013,
404014,
@ -1552,7 +1552,7 @@
}
],
"drop": 1026,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404016,
404017,
@ -1597,7 +1597,7 @@
}
],
"drop": 1027,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404019,
404020,
@ -1642,7 +1642,7 @@
}
],
"drop": 1028,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404022,
404023,
@ -1687,7 +1687,7 @@
}
],
"drop": 1029,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404025,
404026,
@ -1732,7 +1732,7 @@
}
],
"drop": 1030,
"bossmodel": 35001,
"bossmodel": 11018,
"boss": [
404028,
404029,

View File

@ -14,8 +14,10 @@
"effects": "effects1",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [
114
],
"use_skip": 114,
"upper_limit": -1,
"uselv": 0,
"isani": 1,
@ -35,7 +37,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "初级经验精灵不足"
"tipstxt": {
"key": "itemtipstxt_10001",
"text": "初级经验精灵不足"
}
},
{
"id": "10002",
@ -52,8 +57,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -73,7 +78,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "石头不足"
"tipstxt": {
"key": "itemtipstxt_10002",
"text": "石头不足"
}
},
{
"id": "10003",
@ -90,8 +98,8 @@
"effects": "",
"box_id": 10002,
"synthetize_num": 50,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": -1,
"uselv": 0,
"isani": 0,
@ -111,7 +119,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "5星阿宝碎片不足"
"tipstxt": {
"key": "itemtipstxt_10003",
"text": "5星阿宝碎片不足"
}
},
{
"id": "10004",
@ -128,8 +139,8 @@
"effects": "",
"box_id": 20001,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -149,7 +160,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "金币自选箱子不足"
"tipstxt": {
"key": "itemtipstxt_10004",
"text": "金币自选箱子不足"
}
},
{
"id": "10005",
@ -166,8 +180,8 @@
"effects": "",
"box_id": 20002,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -187,7 +201,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "随机金币箱子不足"
"tipstxt": {
"key": "itemtipstxt_10005",
"text": "随机金币箱子不足"
}
},
{
"id": "10006",
@ -204,8 +221,8 @@
"effects": "",
"box_id": 20003,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -225,7 +242,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "金币箱子不足"
"tipstxt": {
"key": "itemtipstxt_10006",
"text": "金币箱子不足"
}
},
{
"id": "10007",
@ -242,8 +262,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -263,7 +283,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "2小时金币不足"
"tipstxt": {
"key": "itemtipstxt_10007",
"text": "2小时金币不足"
}
},
{
"id": "10008",
@ -280,8 +303,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -301,7 +324,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "特殊2小时金币不足"
"tipstxt": {
"key": "itemtipstxt_10008",
"text": "特殊2小时金币不足"
}
},
{
"id": "10009",
@ -318,8 +344,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -339,7 +365,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "被封印的魔法书不足"
"tipstxt": {
"key": "itemtipstxt_10009",
"text": "被封印的魔法书不足"
}
},
{
"id": "10010",
@ -356,8 +385,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -377,7 +406,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "古代硬币不足"
"tipstxt": {
"key": "itemtipstxt_10010",
"text": "古代硬币不足"
}
},
{
"id": "10011",
@ -394,8 +426,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -415,7 +447,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "坏掉的钟表不足"
"tipstxt": {
"key": "itemtipstxt_10011",
"text": "坏掉的钟表不足"
}
},
{
"id": "10012",
@ -432,8 +467,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -453,7 +488,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "木材不足"
"tipstxt": {
"key": "itemtipstxt_10012",
"text": "木材不足"
}
},
{
"id": "10013",
@ -470,8 +508,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -491,7 +529,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "四叶草不足"
"tipstxt": {
"key": "itemtipstxt_10013",
"text": "四叶草不足"
}
},
{
"id": "10014",
@ -508,8 +549,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -529,7 +570,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "冒险家勋章不足"
"tipstxt": {
"key": "itemtipstxt_10014",
"text": "冒险家勋章不足"
}
},
{
"id": "10015",
@ -546,8 +590,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -567,7 +611,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "猫猫护身符不足"
"tipstxt": {
"key": "itemtipstxt_10015",
"text": "猫猫护身符不足"
}
},
{
"id": "10016",
@ -584,8 +631,8 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -605,7 +652,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "人造钻石不足"
"tipstxt": {
"key": "itemtipstxt_10016",
"text": "人造钻石不足"
}
},
{
"id": "20001",
@ -622,8 +672,8 @@
"effects": "",
"box_id": 10001,
"synthetize_num": 50,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": -1,
"uselv": 0,
"isani": 0,
@ -643,7 +693,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "随机英雄碎片不足"
"tipstxt": {
"key": "itemtipstxt_20001",
"text": "随机英雄碎片不足"
}
},
{
"id": "20002",
@ -660,8 +713,8 @@
"effects": "",
"box_id": 10002,
"synthetize_num": 50,
"access": "",
"use_skip": "",
"access": [],
"use_skip": 0,
"upper_limit": -1,
"uselv": 0,
"isani": 0,
@ -681,7 +734,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "25001号碎片不足"
"tipstxt": {
"key": "itemtipstxt_20002",
"text": "25001号碎片不足"
}
},
{
"id": "30001",
@ -698,8 +754,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "store",
"use_skip": "recruit",
"access": [
107
],
"use_skip": 107,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -713,7 +771,10 @@
},
"sale": [],
"synthetize_deplete": [],
"tipstxt": "普通招募券不足"
"tipstxt": {
"key": "itemtipstxt_30001",
"text": "普通招募券不足"
}
},
{
"id": "30002",
@ -730,8 +791,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "store",
"use_skip": "recruit",
"access": [
108
],
"use_skip": 108,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -745,7 +808,10 @@
},
"sale": [],
"synthetize_deplete": [],
"tipstxt": "阵营1招募券不足"
"tipstxt": {
"key": "itemtipstxt_30002",
"text": "阵营1招募券不足"
}
},
{
"id": "30003",
@ -762,8 +828,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "store",
"use_skip": "recruit",
"access": [
108
],
"use_skip": 108,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -777,7 +845,10 @@
},
"sale": [],
"synthetize_deplete": [],
"tipstxt": "阵营2招募券不足"
"tipstxt": {
"key": "itemtipstxt_30003",
"text": "阵营2招募券不足"
}
},
{
"id": "30004",
@ -794,8 +865,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "store",
"use_skip": "recruit",
"access": [
108
],
"use_skip": 108,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -809,7 +882,10 @@
},
"sale": [],
"synthetize_deplete": [],
"tipstxt": "阵营3招募券不足"
"tipstxt": {
"key": "itemtipstxt_30004",
"text": "阵营3招募券不足"
}
},
{
"id": "30005",
@ -826,8 +902,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "store",
"use_skip": "recruit",
"access": [
108
],
"use_skip": 108,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -841,7 +919,10 @@
},
"sale": [],
"synthetize_deplete": [],
"tipstxt": "阵营4招募券不足"
"tipstxt": {
"key": "itemtipstxt_30005",
"text": "阵营4招募券不足"
}
},
{
"id": "50001",
@ -858,8 +939,10 @@
"effects": "",
"box_id": 50005,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -885,7 +968,10 @@
"n": 1000
}
],
"tipstxt": "闪耀声波-低级不足"
"tipstxt": {
"key": "itemtipstxt_50001",
"text": "闪耀声波-低级不足"
}
},
{
"id": "50002",
@ -902,8 +988,10 @@
"effects": "",
"box_id": 50006,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -929,7 +1017,10 @@
"n": 1000
}
],
"tipstxt": "灼热声波-低级不足"
"tipstxt": {
"key": "itemtipstxt_50002",
"text": "灼热声波-低级不足"
}
},
{
"id": "50003",
@ -946,8 +1037,10 @@
"effects": "",
"box_id": 50007,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -973,7 +1066,10 @@
"n": 1000
}
],
"tipstxt": "呼啸声波-低级不足"
"tipstxt": {
"key": "itemtipstxt_50003",
"text": "呼啸声波-低级不足"
}
},
{
"id": "50004",
@ -990,8 +1086,10 @@
"effects": "",
"box_id": 50008,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1017,7 +1115,10 @@
"n": 1000
}
],
"tipstxt": "涌动声波-低级不足"
"tipstxt": {
"key": "itemtipstxt_50004",
"text": "涌动声波-低级不足"
}
},
{
"id": "50005",
@ -1034,8 +1135,10 @@
"effects": "",
"box_id": 50009,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1061,7 +1164,10 @@
"n": 1000
}
],
"tipstxt": "闪耀声波-中级不足"
"tipstxt": {
"key": "itemtipstxt_50005",
"text": "闪耀声波-中级不足"
}
},
{
"id": "50006",
@ -1078,8 +1184,10 @@
"effects": "",
"box_id": 50010,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1105,7 +1213,10 @@
"n": 1000
}
],
"tipstxt": "灼热声波-中级不足"
"tipstxt": {
"key": "itemtipstxt_50006",
"text": "灼热声波-中级不足"
}
},
{
"id": "50007",
@ -1122,8 +1233,10 @@
"effects": "",
"box_id": 50011,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1149,7 +1262,10 @@
"n": 1000
}
],
"tipstxt": "呼啸声波-中级不足"
"tipstxt": {
"key": "itemtipstxt_50007",
"text": "呼啸声波-中级不足"
}
},
{
"id": "50008",
@ -1166,8 +1282,10 @@
"effects": "",
"box_id": 50012,
"synthetize_num": 5,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1193,7 +1311,10 @@
"n": 1000
}
],
"tipstxt": "涌动声波-中级不足"
"tipstxt": {
"key": "itemtipstxt_50008",
"text": "涌动声波-中级不足"
}
},
{
"id": "50009",
@ -1210,8 +1331,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1231,7 +1354,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "闪耀声波-高级不足"
"tipstxt": {
"key": "itemtipstxt_50009",
"text": "闪耀声波-高级不足"
}
},
{
"id": "50010",
@ -1248,8 +1374,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1269,7 +1397,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "灼热声波-高级不足"
"tipstxt": {
"key": "itemtipstxt_50010",
"text": "灼热声波-高级不足"
}
},
{
"id": "50011",
@ -1286,8 +1417,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1307,7 +1440,10 @@
}
],
"synthetize_deplete": [],
"tipstxt": "呼啸声波-高级不足"
"tipstxt": {
"key": "itemtipstxt_50011",
"text": "呼啸声波-高级不足"
}
},
{
"id": "50012",
@ -1324,8 +1460,10 @@
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "resonancepopup",
"use_skip": "resonancepopup",
"access": [
109
],
"use_skip": 109,
"upper_limit": 999,
"uselv": 0,
"isani": 0,
@ -1345,82 +1483,9 @@
}
],
"synthetize_deplete": [],
"tipstxt": "涌动声波-高级不足"
},
{
"id": "10017",
"name": {
"key": "itemname_10017",
"text": "阵营招募劵"
},
"usetype": 3,
"color": 5,
"bagtype": 1,
"index": 19,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10017",
"ico": "wp_icon_10017",
"intr": {
"key": "itemdesc_10017",
"text": "作用于阵营招募界面"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"synthetize_deplete": [],
"tipstxt": "阵营招募劵不足"
},
{
"id": "10018",
"name": {
"key": "itemname_10018",
"text": "普通招募劵"
},
"usetype": 3,
"color": 5,
"bagtype": 1,
"index": 20,
"special_type": 0,
"time": 0,
"effects": "",
"box_id": 0,
"synthetize_num": 0,
"access": "",
"use_skip": "",
"upper_limit": 999,
"uselv": 0,
"isani": 0,
"star": 0,
"race": 0,
"img": "wp_icon_10018",
"ico": "wp_icon_10018",
"intr": {
"key": "itemdesc_10018",
"text": "作用于普通招募界面"
},
"sale": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"synthetize_deplete": [],
"tipstxt": "普通招募劵不足"
"tipstxt": {
"key": "itemtipstxt_50012",
"text": "涌动声波-高级不足"
}
}
]

File diff suppressed because it is too large Load Diff

View File

@ -4,8 +4,8 @@
"preson": "12003",
"presonshow": "12003",
"presonstory": "12003",
"height": 0.7829384,
"weight": 0.31803352,
"height": 1,
"weight": 0.1,
"ico": "tx_js_25004",
"fight": "ytx_js_25004",
"img": "sbkp_js_12003",
@ -28,7 +28,7 @@
"preson": "13001",
"presonshow": "13001",
"presonstory": "13001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_13001",
@ -52,7 +52,7 @@
"preson": "13002",
"presonshow": "13002",
"presonstory": "13002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_13002",
@ -76,7 +76,7 @@
"preson": "13003",
"presonshow": "13003",
"presonstory": "13003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_13003",
@ -100,7 +100,7 @@
"preson": "13004",
"presonshow": "13004",
"presonstory": "13004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_13004",
@ -124,7 +124,7 @@
"preson": "13005",
"presonshow": "13005",
"presonstory": "13005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_13005",
@ -148,7 +148,7 @@
"preson": "14001",
"presonshow": "14001",
"presonstory": "14001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14001",
@ -172,7 +172,7 @@
"preson": "14002",
"presonshow": "14002",
"presonstory": "14002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14002",
@ -196,7 +196,7 @@
"preson": "14003",
"presonshow": "14003",
"presonstory": "14003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14003",
@ -220,7 +220,7 @@
"preson": "14004",
"presonshow": "14004",
"presonstory": "14004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14004",
@ -244,7 +244,7 @@
"preson": "14005",
"presonshow": "14005",
"presonstory": "14005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14005",
@ -268,7 +268,7 @@
"preson": "14006",
"presonshow": "14006",
"presonstory": "14006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14006",
@ -292,8 +292,8 @@
"preson": "14007",
"presonshow": "14007",
"presonstory": "14007",
"height": 0.85105866,
"weight": 0.76853245,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_14007",
"img": "sbkp_js_24003",
@ -316,7 +316,7 @@
"preson": "15001",
"presonshow": "15001",
"presonstory": "15001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_15001",
@ -340,7 +340,7 @@
"preson": "15002",
"presonshow": "15002",
"presonstory": "15002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_15002",
@ -364,7 +364,7 @@
"preson": "15003",
"presonshow": "15003",
"presonstory": "15003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_15003",
@ -388,8 +388,8 @@
"preson": "15004",
"presonshow": "15004",
"presonstory": "15004",
"height": 1.4323738,
"weight": 0.85761625,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_15004",
"img": "sbkp_js_24003",
@ -412,8 +412,8 @@
"preson": "15005",
"presonshow": "15005",
"presonstory": "15005",
"height": 2.411216,
"weight": 1.4189725,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_15005",
"img": "sbkp_js_24003",
@ -436,7 +436,7 @@
"preson": "23001",
"presonshow": "23001",
"presonstory": "23001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_23001",
@ -460,7 +460,7 @@
"preson": "23002",
"presonshow": "23002",
"presonstory": "23002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_23002",
@ -484,7 +484,7 @@
"preson": "23003",
"presonshow": "23003",
"presonstory": "23003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_23003",
@ -508,7 +508,7 @@
"preson": "23004",
"presonshow": "23004",
"presonstory": "23004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_23004",
@ -532,7 +532,7 @@
"preson": "24001",
"presonshow": "24001",
"presonstory": "24001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_24001",
@ -556,8 +556,8 @@
"preson": "24002",
"presonshow": "24002",
"presonstory": "24002",
"height": 1.8473234,
"weight": 0.9049654,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_24003",
"fight": "ytx_js_24002",
"img": "sbkp_js_24003",
@ -580,8 +580,8 @@
"preson": "24003",
"presonshow": "24003",
"presonstory": "24003",
"height": 1.881202,
"weight": 0.747842,
"height": 1,
"weight": 1,
"ico": "tx_js_24003",
"fight": "ytx_js_24003",
"img": "sbkp_js_24003",
@ -604,7 +604,7 @@
"preson": "24004",
"presonshow": "24004",
"presonstory": "24004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25001",
"fight": "ytx_js_24004",
@ -628,7 +628,7 @@
"preson": "24005",
"presonshow": "24005",
"presonstory": "24005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25001",
"fight": "ytx_js_24005",
@ -652,7 +652,7 @@
"preson": "24006",
"presonshow": "24006",
"presonstory": "24006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25001",
"fight": "ytx_js_24006",
@ -676,7 +676,7 @@
"preson": "24007",
"presonshow": "24007",
"presonstory": "24007",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25001",
"fight": "ytx_js_24007",
@ -700,7 +700,7 @@
"preson": "24008",
"presonshow": "24008",
"presonstory": "24008",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25001",
"fight": "ytx_js_24008",
@ -724,7 +724,7 @@
"preson": "24009",
"presonshow": "24009",
"presonstory": "24009",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25001",
"fight": "ytx_js_24009",
@ -748,8 +748,8 @@
"preson": "25001",
"presonshow": "25001_exhibition",
"presonstory": "25001_story",
"height": 2,
"weight": 1.6020712,
"height": 2.2,
"weight": 0.1,
"ico": "tx_js_25001",
"fight": "ytx_js_25001",
"img": "sbkp_js_25001",
@ -772,7 +772,7 @@
"preson": "25002",
"presonshow": "25002",
"presonstory": "25002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25004",
"fight": "ytx_js_25002",
@ -796,7 +796,7 @@
"preson": "25003",
"presonshow": "25003",
"presonstory": "25003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_js_25004",
"fight": "ytx_js_25003",
@ -819,9 +819,9 @@
"id": "25004",
"preson": "25004",
"presonshow": "25004_exhibition",
"presonstory": "25004",
"height": 0.7829384,
"weight": 0.31803352,
"presonstory": "25004_story",
"height": 0.8,
"weight": 0.1,
"ico": "tx_js_25004",
"fight": "ytx_js_25004",
"img": "sbkp_js_25004",
@ -844,7 +844,7 @@
"preson": "33001",
"presonshow": "33001",
"presonstory": "33001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_33001",
@ -868,7 +868,7 @@
"preson": "33002",
"presonshow": "33002",
"presonstory": "33002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_33002",
@ -892,7 +892,7 @@
"preson": "33003",
"presonshow": "33003",
"presonstory": "33003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_33003",
@ -916,7 +916,7 @@
"preson": "33004",
"presonshow": "33004",
"presonstory": "33004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_33004",
@ -940,7 +940,7 @@
"preson": "33005",
"presonshow": "33005",
"presonstory": "33005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_33005",
@ -964,7 +964,7 @@
"preson": "33006",
"presonshow": "33006",
"presonstory": "33006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_33006",
@ -988,7 +988,7 @@
"preson": "34001",
"presonshow": "34001",
"presonstory": "34001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_34001",
@ -1012,7 +1012,7 @@
"preson": "34002",
"presonshow": "34002",
"presonstory": "34002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_34002",
@ -1036,7 +1036,7 @@
"preson": "34003",
"presonshow": "34003",
"presonstory": "34003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_34003",
@ -1060,8 +1060,8 @@
"preson": "34004",
"presonshow": "34004",
"presonstory": "34004",
"height": 1.7591145,
"weight": 0.73550177,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_34004",
"img": "sbkp_js_34006",
@ -1084,7 +1084,7 @@
"preson": "34005",
"presonshow": "34005",
"presonstory": "34005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_34006",
"fight": "ytx_js_34005",
@ -1108,8 +1108,8 @@
"preson": "34006",
"presonshow": "34006",
"presonstory": "34006",
"height": 0.34745464,
"weight": 0.5590392,
"height": 1,
"weight": 1,
"ico": "tx_js_34006",
"fight": "ytx_js_34006",
"img": "sbkp_js_34006",
@ -1132,7 +1132,7 @@
"preson": "34007",
"presonshow": "34007",
"presonstory": "34007",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_34007",
@ -1156,7 +1156,7 @@
"preson": "34008",
"presonshow": "34008",
"presonstory": "34008",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_34008",
@ -1179,9 +1179,9 @@
"id": "35001",
"preson": "35001",
"presonshow": "35001",
"presonstory": "35001",
"height": 1.2926539,
"weight": 0.89468586,
"presonstory": "35001_story",
"height": 1,
"weight": 1,
"ico": "tx_js_35001",
"fight": "ytx_js_35001",
"img": "sbkp_js_35001",
@ -1203,9 +1203,9 @@
"id": "35002",
"preson": "35002",
"presonshow": "35002",
"presonstory": "35002",
"height": 1.9970105,
"weight": 0.72512907,
"presonstory": "35002_story",
"height": 1,
"weight": 1,
"ico": "tx_js_35002",
"fight": "ytx_js_35002",
"img": "sbkp_js_35002",
@ -1228,7 +1228,7 @@
"preson": "35003",
"presonshow": "35003",
"presonstory": "35003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35003",
@ -1252,7 +1252,7 @@
"preson": "35004",
"presonshow": "35004",
"presonstory": "35004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35004",
@ -1276,7 +1276,7 @@
"preson": "35005",
"presonshow": "35005",
"presonstory": "35005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35005",
@ -1300,7 +1300,7 @@
"preson": "35006",
"presonshow": "35006",
"presonstory": "35006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35006",
@ -1324,7 +1324,7 @@
"preson": "43001",
"presonshow": "43001",
"presonstory": "43001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43001",
@ -1348,7 +1348,7 @@
"preson": "43002",
"presonshow": "43002",
"presonstory": "43002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43002",
@ -1372,7 +1372,7 @@
"preson": "43003",
"presonshow": "43003",
"presonstory": "43003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43003",
@ -1396,7 +1396,7 @@
"preson": "43004",
"presonshow": "43004",
"presonstory": "43004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43004",
@ -1420,7 +1420,7 @@
"preson": "43005",
"presonshow": "43005",
"presonstory": "43005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43005",
@ -1444,7 +1444,7 @@
"preson": "43006",
"presonshow": "43006",
"presonstory": "43006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43006",
@ -1468,7 +1468,7 @@
"preson": "43007",
"presonshow": "43007",
"presonstory": "43007",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43007",
@ -1492,7 +1492,7 @@
"preson": "44001",
"presonshow": "44001",
"presonstory": "44001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_44001",
@ -1516,7 +1516,7 @@
"preson": "44002",
"presonshow": "44002",
"presonstory": "44002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_44002",
@ -1540,7 +1540,7 @@
"preson": "44003",
"presonshow": "44003",
"presonstory": "44003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_44003",
@ -1564,7 +1564,7 @@
"preson": "44004",
"presonshow": "44004",
"presonstory": "44004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_44004",
@ -1588,8 +1588,8 @@
"preson": "44005",
"presonshow": "44005",
"presonstory": "44005_story",
"height": 2.0109868,
"weight": 1.0673661,
"height": 1.5,
"weight": 0.3,
"ico": "tx_js_44005",
"fight": "ytx_js_44005",
"img": "sbkp_js_44005",
@ -1612,8 +1612,8 @@
"preson": "44006",
"presonshow": "44006",
"presonstory": "44006",
"height": 2.1711943,
"weight": 1.4083804,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_44006",
"img": "sbkp_js_35002",
@ -1636,7 +1636,7 @@
"preson": "45001",
"presonshow": "45001",
"presonstory": "45001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_45001",
@ -1660,7 +1660,7 @@
"preson": "45002",
"presonshow": "45002",
"presonstory": "45002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_45002",
@ -1684,8 +1684,8 @@
"preson": "45003",
"presonshow": "45003",
"presonstory": "45003",
"height": 2.0389562,
"weight": 0.6590784,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_45003",
"fight": "ytx_js_45003",
"img": "sbkp_js_45003",
@ -1708,7 +1708,7 @@
"preson": "45004",
"presonshow": "45004",
"presonstory": "45004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_45004",
@ -1732,7 +1732,7 @@
"preson": "43901",
"presonshow": "43901",
"presonstory": "43901",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43901",
@ -1756,7 +1756,7 @@
"preson": "42911",
"presonshow": "42911",
"presonstory": "42911",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_42911",
@ -1780,7 +1780,7 @@
"preson": "43911",
"presonshow": "43911",
"presonstory": "43911",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_43911",
@ -1804,7 +1804,7 @@
"preson": "44911",
"presonshow": "44911",
"presonstory": "44911",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_44911",
@ -1828,7 +1828,7 @@
"preson": "43921",
"presonshow": "43921",
"presonstory": "43921",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35002",
@ -1852,7 +1852,7 @@
"preson": "44921",
"presonshow": "44921",
"presonstory": "44921",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35002",
@ -1876,7 +1876,7 @@
"preson": "45921",
"presonshow": "45921",
"presonstory": "45921",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_35002",
@ -1900,7 +1900,7 @@
"preson": "51001",
"presonshow": "51001",
"presonstory": "51001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51001",
@ -1924,7 +1924,7 @@
"preson": "51002",
"presonshow": "51002",
"presonstory": "51002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51002",
@ -1948,7 +1948,7 @@
"preson": "51003",
"presonshow": "51003",
"presonstory": "51003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51003",
@ -1972,7 +1972,7 @@
"preson": "51004",
"presonshow": "51004",
"presonstory": "51004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51004",
@ -1996,7 +1996,7 @@
"preson": "51005",
"presonshow": "51005",
"presonstory": "51005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51005",
@ -2020,7 +2020,7 @@
"preson": "51006",
"presonshow": "51006",
"presonstory": "51006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51006",
@ -2044,7 +2044,7 @@
"preson": "51007",
"presonshow": "51007",
"presonstory": "51007",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51007",
@ -2068,7 +2068,7 @@
"preson": "51008",
"presonshow": "51008",
"presonstory": "51008",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51008",
@ -2092,7 +2092,7 @@
"preson": "51009",
"presonshow": "51009",
"presonstory": "51009",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51009",
@ -2116,7 +2116,7 @@
"preson": "51010",
"presonshow": "51010",
"presonstory": "51010",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51010",
@ -2140,7 +2140,7 @@
"preson": "51011",
"presonshow": "51011",
"presonstory": "51011",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51011",
@ -2164,7 +2164,7 @@
"preson": "51012",
"presonshow": "51012",
"presonstory": "51012",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51012",
@ -2188,7 +2188,7 @@
"preson": "51013",
"presonshow": "51013",
"presonstory": "51013",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51013",
@ -2212,7 +2212,7 @@
"preson": "51014",
"presonshow": "51014",
"presonstory": "51014",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_51014",
@ -2236,7 +2236,7 @@
"preson": "53001",
"presonshow": "53001",
"presonstory": "53001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_53001",
@ -2260,7 +2260,7 @@
"preson": "53002",
"presonshow": "53002",
"presonstory": "53002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_53002",
@ -2284,7 +2284,7 @@
"preson": "53003",
"presonshow": "53003",
"presonstory": "53003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_53003",
@ -2308,7 +2308,7 @@
"preson": "53004",
"presonshow": "53004",
"presonstory": "53004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_53004",
@ -2332,7 +2332,7 @@
"preson": "53005",
"presonshow": "53005",
"presonstory": "53005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_53005",
@ -2356,7 +2356,7 @@
"preson": "53006",
"presonshow": "53006",
"presonstory": "53006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_53006",
@ -2380,7 +2380,7 @@
"preson": "55001",
"presonshow": "55001",
"presonstory": "55001",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55001",
@ -2404,7 +2404,7 @@
"preson": "55002",
"presonshow": "55002",
"presonstory": "55002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55002",
@ -2428,7 +2428,7 @@
"preson": "55002",
"presonshow": "55002",
"presonstory": "55002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55003",
@ -2452,7 +2452,7 @@
"preson": "55004",
"presonshow": "55004",
"presonstory": "55004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55004",
@ -2476,7 +2476,7 @@
"preson": "55004",
"presonshow": "55004",
"presonstory": "55004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55005",
@ -2500,7 +2500,7 @@
"preson": "55006",
"presonshow": "55006",
"presonstory": "55006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55006",
@ -2524,7 +2524,7 @@
"preson": "55007",
"presonshow": "55007",
"presonstory": "55007",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_55007",
@ -2548,7 +2548,7 @@
"preson": "63002",
"presonshow": "63002",
"presonstory": "63002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_63002",
@ -2572,7 +2572,7 @@
"preson": "63003",
"presonshow": "63003",
"presonstory": "63003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_63003",
@ -2596,7 +2596,7 @@
"preson": "63004",
"presonshow": "63004",
"presonstory": "63004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_63004",
@ -2620,7 +2620,7 @@
"preson": "64003",
"presonshow": "64003",
"presonstory": "64003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_64003",
@ -2644,7 +2644,7 @@
"preson": "74002",
"presonshow": "74002",
"presonstory": "74002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_74002",
@ -2668,7 +2668,7 @@
"preson": "74003",
"presonshow": "74003",
"presonstory": "74003",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_74003",
@ -2692,7 +2692,7 @@
"preson": "74004",
"presonshow": "74004",
"presonstory": "74004",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_74004",
@ -2716,7 +2716,7 @@
"preson": "83002",
"presonshow": "83002",
"presonstory": "83002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_83002",
@ -2740,7 +2740,7 @@
"preson": "83006",
"presonshow": "83006",
"presonstory": "83006",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_83006",
@ -2764,7 +2764,7 @@
"preson": "84002",
"presonshow": "84002",
"presonstory": "84002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_84002",
@ -2788,7 +2788,7 @@
"preson": "94002",
"presonshow": "94002",
"presonstory": "94002",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_94002",
@ -2812,7 +2812,7 @@
"preson": "94005",
"presonshow": "94005",
"presonstory": "94005",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_94005",
@ -2836,7 +2836,7 @@
"preson": "64007",
"presonshow": "64007",
"presonstory": "64007",
"height": 2,
"height": 1,
"weight": 1,
"ico": "tx_hhjs_35002",
"fight": "ytx_js_64007",

View File

@ -5,14 +5,14 @@
"key": "opencond_name_10002",
"text": "英雄"
},
"main": 0,
"main": 1,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "",
"text": ""
"key": "opencond_prompt_hero",
"text": "玩家达到1级解锁"
},
"uiid": 0
},
@ -22,14 +22,14 @@
"key": "opencond_name_10006",
"text": "背包"
},
"main": 0,
"main": 2,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "",
"text": ""
"key": "opencond_prompt_backpack",
"text": "玩家达到2级解锁"
},
"uiid": 0
},
@ -39,14 +39,14 @@
"key": "opencond_name_10003",
"text": "商店"
},
"main": 999,
"main": 3,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_shop",
"text": "玩家达到3级解锁"
},
"uiid": 1
},
@ -56,14 +56,14 @@
"key": "opencond_name_10004",
"text": "好友"
},
"main": 999,
"main": 4,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_friend",
"text": "玩家达到4级解锁"
},
"uiid": 0
},
@ -73,14 +73,14 @@
"key": "opencond_name_10007",
"text": "活动"
},
"main": 999,
"main": 5,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_alliance",
"text": "玩家达到5级解锁"
},
"uiid": 0
},
@ -90,14 +90,14 @@
"key": "opencond_name_10005",
"text": "任务"
},
"main": 999,
"main": 6,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "",
"text": ""
"key": "opencond_prompt_task",
"text": "玩家达到6级解锁"
},
"uiid": 0
},
@ -107,14 +107,14 @@
"key": "num_1001",
"text": "主线入口"
},
"main": 0,
"main": 7,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "",
"text": ""
"key": "opencond_prompt_trials",
"text": "玩家达到7级解锁"
},
"uiid": 0
},
@ -124,14 +124,14 @@
"key": "num_1002",
"text": "招募"
},
"main": 0,
"main": 8,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_moon",
"text": "玩家达到8级解锁"
},
"uiid": 0
},
@ -141,14 +141,14 @@
"key": "num_1003",
"text": "剧情副本"
},
"main": 999,
"main": 9,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_story",
"text": "玩家达到9级解锁"
},
"uiid": 0
},
@ -158,14 +158,14 @@
"key": "num_1004",
"text": "武馆入口"
},
"main": 0,
"main": 10,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_kungfu",
"text": "玩家达到10级解锁"
},
"uiid": 0
},
@ -175,14 +175,14 @@
"key": "num_1005",
"text": "主题活动入口"
},
"main": 999,
"main": 11,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_event",
"text": "玩家达到11级解锁"
},
"uiid": 0
},
@ -192,14 +192,14 @@
"key": "num_1006",
"text": "迷雾岛屿"
},
"main": 999,
"main": 12,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_mistyIsland",
"text": "玩家达到12级解锁"
},
"uiid": 0
},
@ -209,14 +209,14 @@
"key": "num_1007",
"text": "维京远征"
},
"main": 0,
"main": 13,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_vikingexpedition",
"text": "玩家达到13级解锁"
},
"uiid": 0
},
@ -226,14 +226,14 @@
"key": "num_1007",
"text": "维京远征"
},
"main": 0,
"main": 14,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_vikingexpedition2",
"text": "玩家达到14级解锁"
},
"uiid": 0
},
@ -243,14 +243,14 @@
"key": "num_1007",
"text": "维京远征"
},
"main": 0,
"main": 15,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_vikingexpedition3",
"text": "玩家达到15级解锁"
},
"uiid": 0
},
@ -260,14 +260,14 @@
"key": "num_1008",
"text": "心魔塔"
},
"main": 0,
"main": 16,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_hjeart demon tower",
"text": "玩家达到16级解锁"
},
"uiid": 0
},
@ -277,14 +277,14 @@
"key": "num_1009",
"text": "捕羊大赛"
},
"main": 999,
"main": 17,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_catchsheep",
"text": "玩家达到17级解锁"
},
"uiid": 0
},
@ -294,14 +294,14 @@
"key": "num_1010",
"text": "黑暗料理大赛"
},
"main": 999,
"main": 18,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_darkcuisine",
"text": "玩家达到18级解锁"
},
"uiid": 0
},
@ -311,14 +311,14 @@
"key": "num_1011",
"text": "地下角斗场"
},
"main": 999,
"main": 19,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_underground Arena",
"text": "玩家达到19级解锁"
},
"uiid": 0
},
@ -328,14 +328,14 @@
"key": "num_1012",
"text": "疯狂竞技赛"
},
"main": 999,
"main": 20,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_crazycompetition",
"text": "玩家达到20级解锁"
},
"uiid": 0
},
@ -345,14 +345,14 @@
"key": "num_1013",
"text": "五侠擂台"
},
"main": 999,
"main": 21,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_fiveheroeschallenge",
"text": "玩家达到21级解锁"
},
"uiid": 0
},
@ -362,14 +362,14 @@
"key": "num_1014",
"text": "藏书馆"
},
"main": 999,
"main": 22,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "",
"text": ""
"key": "opencond_prompt_library",
"text": "玩家达到22级解锁"
},
"uiid": 0
},
@ -379,14 +379,14 @@
"key": "num_1015",
"text": "篝火舞会"
},
"main": 999,
"main": 23,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_bonfiredance",
"text": "玩家达到23级解锁"
},
"uiid": 0
},
@ -396,14 +396,14 @@
"key": "num_1016",
"text": "商队"
},
"main": 999,
"main": 24,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_caravan",
"text": "玩家达到24级解锁"
},
"uiid": 0
},
@ -413,14 +413,14 @@
"key": "num_1017",
"text": "美食馆"
},
"main": 0,
"main": 25,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_gourmetrestaurant",
"text": "玩家达到25级解锁"
},
"uiid": 0
},
@ -430,14 +430,14 @@
"key": "num_1018",
"text": "戈伯铁匠铺"
},
"main": 0,
"main": 26,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_goberblacksmithshop",
"text": "玩家达到26级解锁"
},
"uiid": 0
},
@ -447,14 +447,14 @@
"key": "num_1019",
"text": "狩猎"
},
"main": 0,
"main": 27,
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_hunting",
"text": "玩家达到27级解锁"
},
"uiid": 0
},
@ -468,10 +468,10 @@
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_channel_lock_icon",
"text": "玩家达到10级解锁"
},
"uiid": 0
},
@ -485,10 +485,10 @@
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_channel_lock_world",
"text": "玩家达到10级解锁"
},
"uiid": 0
},
@ -502,10 +502,10 @@
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_channel_lock_guild",
"text": "玩家达到20级解锁"
},
"uiid": 0
},
@ -519,10 +519,10 @@
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_channel_lock_private",
"text": "玩家达到15级解锁"
},
"uiid": 0
},
@ -536,10 +536,10 @@
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_channel_lock_public",
"text": "玩家达到40级解锁"
},
"uiid": 0
},
@ -553,10 +553,10 @@
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"img": "zc_icon_01",
"prompt": {
"key": "opencond_prompt_10002",
"text": "暂不开启,敬请期待"
"key": "opencond_prompt_channel_lock_system",
"text": "玩家达到10级解锁"
},
"uiid": 0
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,8 @@
101
],
"sidequest": [
1001
1001,
1002
]
},
{
@ -20,20 +21,19 @@
101
],
"sidequest": [
1002,
1003,
1004
1003
]
},
{
"id": 100102,
"group": 1,
"type": 2,
"preTid": 100101,
"preTid": 100100,
"condition": [
101
],
"sidequest": [
1004,
1005
]
},
@ -41,7 +41,7 @@
"id": 100103,
"group": 1,
"type": 2,
"preTid": 100102,
"preTid": 100101,
"condition": [
101
],
@ -58,11 +58,7 @@
101
],
"sidequest": [
1007,
1008,
1009,
1010,
1011
1007
]
},
{
@ -74,7 +70,7 @@
101
],
"sidequest": [
1012
1008
]
}
]

View File

@ -21,7 +21,7 @@
"id": 10003,
"num": 1,
"preTid": 0,
"gotoLevel": "101",
"gotoLevel": "",
"needItem": [
0
]
@ -38,7 +38,7 @@
{
"id": 10005,
"num": 2,
"preTid": 0,
"preTid": 105,
"gotoLevel": "",
"needItem": [
0
@ -47,7 +47,7 @@
{
"id": 10006,
"num": 1,
"preTid": 0,
"preTid": 105,
"gotoLevel": "",
"needItem": [
0
@ -65,7 +65,7 @@
{
"id": 10008,
"num": 3,
"preTid": 170,
"preTid": 0,
"gotoLevel": "",
"needItem": [
0
@ -83,7 +83,7 @@
{
"id": 100010,
"num": 2,
"preTid": 0,
"preTid": 105,
"gotoLevel": "",
"needItem": [
0
@ -93,7 +93,7 @@
"id": 100011,
"num": 1,
"preTid": 0,
"gotoLevel": "101",
"gotoLevel": "",
"needItem": [
0
]

View File

@ -693,7 +693,17 @@
"id": 170,
"datatype": 2,
"type": 1,
"data1": 35001,
"data1": 12003,
"data2": 0,
"data3": 0,
"data4": 0,
"data5": 0
},
{
"id": 171,
"datatype": 2,
"type": 70,
"data1": 101,
"data2": 0,
"data3": 0,
"data4": 0,

View File

@ -3,20 +3,20 @@
"id": 1001,
"objType": 1,
"location": "middle",
"modelaction": "",
"modelaction": "Enter",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"y": 90,
"z": 0
},
"point": "model_01",
"point": "model_07",
"storyBegin": 1,
"chooseId": [
10001,
10002
],
"storyEnd": 2,
"storyEnd": 0,
"nextTid": 100101,
"reward": [],
"CD": 0,
@ -26,51 +26,41 @@
"id": 1002,
"objType": 1,
"location": "middle",
"modelaction": "Enter",
"modelstate": 1,
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"y": -150,
"z": 0
},
"point": "model_02",
"storyBegin": 4,
"chooseId": [
10003
],
"storyEnd": 6,
"nextTid": 100102,
"reward": [
{
"a": "attr",
"t": "diamond",
"n": 10
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"point": "model_04",
"storyBegin": 2,
"chooseId": [],
"storyEnd": 0,
"nextTid": -1,
"reward": [],
"CD": 0,
"endTid": -1
},
{
"id": 1003,
"objType": 1,
"objType": 2,
"location": "middle",
"modelaction": "Run",
"modelstate": 2,
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "model_03",
"storyBegin": 3,
"chooseId": [],
"point": "icon_03",
"storyBegin": 6,
"chooseId": [
10003,
10004
],
"storyEnd": 0,
"nextTid": -1,
"nextTid": 100103,
"reward": [],
"CD": 0,
"endTid": -1
@ -83,11 +73,35 @@
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"y": -150,
"z": 0
},
"point": "model_04",
"storyBegin": 3,
"chooseId": [
10005,
10006,
10007
],
"storyEnd": 0,
"nextTid": 100101,
"reward": [],
"CD": 0,
"endTid": -1
},
{
"id": 1005,
"objType": 1,
"location": "middle",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": 90,
"z": 0
},
"point": "model_07",
"storyBegin": 16,
"storyBegin": 4,
"chooseId": [],
"storyEnd": 0,
"nextTid": -1,
@ -96,9 +110,32 @@
"endTid": -1
},
{
"id": 1005,
"id": 1006,
"objType": 2,
"location": "left",
"location": "middle",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "icon_03",
"storyBegin": 8,
"chooseId": [
10008,
10009
],
"storyEnd": 0,
"nextTid": 100104,
"reward": [],
"CD": 0,
"endTid": -1
},
{
"id": 1007,
"objType": 2,
"location": "middle",
"modelaction": "",
"modelstate": 0,
"rotation": {
@ -107,109 +144,41 @@
"z": 0
},
"point": "icon_01",
"storyBegin": 7,
"storyBegin": 10,
"chooseId": [
10004,
10005
100010,
100011,
100012
],
"storyEnd": 0,
"nextTid": 100103,
"reward": [],
"CD": 0,
"endTid": -1
},
{
"id": 1006,
"objType": 2,
"location": "top",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "icon_02",
"storyBegin": 9,
"chooseId": [
10006,
10007,
10008
],
"storyEnd": 0,
"nextTid": 100104,
"reward": [
{
"a": "attr",
"t": "diamond",
"n": 10
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"CD": 0,
"endTid": -1
},
{
"id": 1007,
"objType": 1,
"location": "middle",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "model_01",
"storyBegin": 15,
"chooseId": [
10009,
100010
],
"storyEnd": 0,
"nextTid": 100105,
"reward": [
{
"a": "attr",
"t": "diamond",
"n": 10
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"CD": 0,
"endTid": -1
},
{
"id": 1008,
"objType": 1,
"location": "middle",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "model_02",
"storyBegin": 11,
"chooseId": [],
"storyEnd": 0,
"nextTid": -1,
"reward": [],
"CD": 0,
"endTid": -1
},
{
"id": 1008,
"objType": 2,
"location": "",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "icon_04",
"storyBegin": 12,
"chooseId": [],
"storyEnd": 13,
"nextTid": -1,
"reward": [],
"CD": 0,
"endTid": 160
},
{
"id": 1009,
"objType": 1,
"objType": 2,
"location": "middle",
"modelaction": "",
"modelstate": 0,
@ -229,7 +198,7 @@
},
{
"id": 1010,
"objType": 1,
"objType": 2,
"location": "middle",
"modelaction": "",
"modelstate": 0,
@ -266,39 +235,5 @@
"reward": [],
"CD": 0,
"endTid": -1
},
{
"id": 1012,
"objType": 2,
"location": "right",
"modelaction": "",
"modelstate": 0,
"rotation": {
"x": 0,
"y": -180,
"z": 0
},
"point": "icon_03",
"storyBegin": 17,
"chooseId": [
100011,
100012
],
"storyEnd": 0,
"nextTid": 0,
"reward": [
{
"a": "attr",
"t": "diamond",
"n": 10
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"CD": 0,
"endTid": -1
}
]

View File

@ -2,8 +2,14 @@
{
"shopid": 1,
"tab": 1,
"shopname": "金币商店",
"upper_shop": "",
"shopname": {
"key": "shop_1",
"text": "金币商店"
},
"upper_shop": {
"key": "",
"text": ""
},
"needshow": [
{
"a": "attr",
@ -35,8 +41,14 @@
{
"shopid": 2,
"tab": 2,
"shopname": "钻石商店",
"upper_shop": "",
"shopname": {
"key": "shop_2",
"text": "钻石商店"
},
"upper_shop": {
"key": "",
"text": ""
},
"needshow": [
{
"a": "attr",
@ -60,8 +72,14 @@
{
"shopid": 3,
"tab": 3,
"shopname": "PVP商店",
"upper_shop": "玩法商店",
"shopname": {
"key": "shop_3",
"text": "PVP商店"
},
"upper_shop": {
"key": "shop_title1",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",
@ -85,8 +103,14 @@
{
"shopid": 4,
"tab": 4,
"shopname": "PVE商店",
"upper_shop": "玩法商店",
"shopname": {
"key": "shop_4",
"text": "PVE商店"
},
"upper_shop": {
"key": "shop_title1",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",
@ -110,8 +134,14 @@
{
"shopid": 5,
"tab": 5,
"shopname": "联盟商店",
"upper_shop": "玩法商店",
"shopname": {
"key": "shop_5",
"text": "联盟商店"
},
"upper_shop": {
"key": "shop_title1",
"text": "玩法商店"
},
"needshow": [
{
"a": "attr",

View File

@ -5365,7 +5365,7 @@
500
],
"FollowSK": [
244006114
244006115
],
"SucFollowSK": [],
"FailFollowSK": [],
@ -5386,7 +5386,7 @@
500
],
"FollowSK": [
244006115
244006114
],
"SucFollowSK": [],
"FailFollowSK": [],
@ -5752,7 +5752,9 @@
4,
2300
],
"FollowSK": [],
"FollowSK": [
244006315
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false
@ -5772,9 +5774,7 @@
1,
0
],
"FollowSK": [
244006315
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false
@ -5789,7 +5789,6 @@
"ExecuteCnt": 1,
"Type": 17,
"Argu": [
244006313,
300
],
"FollowSK": [],
@ -5848,7 +5847,6 @@
"ExecuteCnt": 1,
"Type": 17,
"Argu": [
244006323,
300
],
"FollowSK": [],
@ -5887,7 +5885,6 @@
"ExecuteCnt": 1,
"Type": 17,
"Argu": [
244006333,
300
],
"FollowSK": [],
@ -5926,7 +5923,6 @@
"ExecuteCnt": 1,
"Type": 17,
"Argu": [
244006343,
300
],
"FollowSK": [],
@ -5965,7 +5961,6 @@
"ExecuteCnt": 1,
"Type": 17,
"Argu": [
244006353,
300
],
"FollowSK": [],
@ -6005,7 +6000,6 @@
"ExecuteCnt": 1,
"Type": 17,
"Argu": [
944006313,
300
],
"FollowSK": [],

View File

@ -4064,11 +4064,8 @@
"Target": 2,
"ChildSkill": {
"Id": [
390001402,
244006112,
244006113,
244006114,
244006115
244006113
]
},
"Desc": {
@ -4093,11 +4090,8 @@
"Target": 2,
"ChildSkill": {
"Id": [
390001402,
244006122,
244006113,
244006114,
244006125
244006113
]
},
"Desc": {
@ -4122,11 +4116,8 @@
"Target": 2,
"ChildSkill": {
"Id": [
390001402,
244006132,
244006113,
244006114,
244006135
244006113
]
},
"Desc": {
@ -4151,11 +4142,8 @@
"Target": 2,
"ChildSkill": {
"Id": [
390001402,
244006142,
244006113,
244006114,
244006145
244006113
]
},
"Desc": {
@ -4180,11 +4168,8 @@
"Target": 2,
"ChildSkill": {
"Id": [
390001402,
244006152,
244006113,
244006114,
244006155
244006113
]
},
"Desc": {
@ -4209,11 +4194,8 @@
"Target": 2,
"ChildSkill": {
"Id": [
390001402,
244006162,
244006113,
244006114,
244006165
244006113
]
},
"Desc": {
@ -4267,7 +4249,6 @@
244006312,
244006313,
244006314,
244006315,
244006316
]
},
@ -4297,7 +4278,6 @@
244006312,
244006323,
244006314,
244006325,
244006316
]
},
@ -4327,7 +4307,6 @@
244006312,
244006333,
244006314,
244006335,
244006316
]
},
@ -4357,7 +4336,6 @@
244006312,
244006343,
244006314,
244006345,
244006316
]
},
@ -4387,7 +4365,6 @@
244006312,
244006353,
244006314,
244006355,
244006316
]
},
@ -4417,7 +4394,6 @@
244006312,
244006353,
244006314,
244006355,
244006316
]
},

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,10 @@
"key": 10001,
"id_list": 1,
"id_tag": 1,
"task_display": "提升英雄1级",
"task_display": {
"key": "task_10001",
"text": "提升英雄1级"
},
"type_id": 103,
"condition_second": 1,
"restrictive_condition": 0,
@ -17,7 +20,10 @@
"key": 10002,
"id_list": 2,
"id_tag": 1,
"task_display": "提升英雄2级",
"task_display": {
"key": "task_10002",
"text": "提升英雄2级"
},
"type_id": 103,
"condition_second": 2,
"restrictive_condition": 0,
@ -31,7 +37,10 @@
"key": 10003,
"id_list": 3,
"id_tag": 1,
"task_display": "提升英雄3级",
"task_display": {
"key": "task_10003",
"text": "提升英雄3级"
},
"type_id": 103,
"condition_second": 3,
"restrictive_condition": 0,
@ -45,7 +54,10 @@
"key": 10004,
"id_list": 4,
"id_tag": 1,
"task_display": "提升英雄4级",
"task_display": {
"key": "task_10004",
"text": "提升英雄4级"
},
"type_id": 103,
"condition_second": 4,
"restrictive_condition": 0,
@ -59,7 +71,10 @@
"key": 10005,
"id_list": 5,
"id_tag": 1,
"task_display": "提升英雄5级",
"task_display": {
"key": "task_10005",
"text": "提升英雄5级"
},
"type_id": 103,
"condition_second": 5,
"restrictive_condition": 0,
@ -73,7 +88,10 @@
"key": 10006,
"id_list": 6,
"id_tag": 1,
"task_display": "提升英雄6级",
"task_display": {
"key": "task_10006",
"text": "提升英雄6级"
},
"type_id": 103,
"condition_second": 6,
"restrictive_condition": 0,
@ -87,7 +105,10 @@
"key": 10007,
"id_list": 7,
"id_tag": 1,
"task_display": "提升英雄7级",
"task_display": {
"key": "task_10007",
"text": "提升英雄7级"
},
"type_id": 103,
"condition_second": 7,
"restrictive_condition": 0,
@ -101,7 +122,10 @@
"key": 10008,
"id_list": 8,
"id_tag": 1,
"task_display": "提升英雄8级",
"task_display": {
"key": "task_10008",
"text": "提升英雄8级"
},
"type_id": 103,
"condition_second": 8,
"restrictive_condition": 0,
@ -115,7 +139,10 @@
"key": 10009,
"id_list": 9,
"id_tag": 1,
"task_display": "提升英雄9级",
"task_display": {
"key": "task_10009",
"text": "提升英雄9级"
},
"type_id": 103,
"condition_second": 9,
"restrictive_condition": 0,
@ -129,7 +156,10 @@
"key": 10010,
"id_list": 10,
"id_tag": 1,
"task_display": "提升英雄10级",
"task_display": {
"key": "task_10010",
"text": "提升英雄10级"
},
"type_id": 103,
"condition_second": 10,
"restrictive_condition": 0,
@ -143,7 +173,10 @@
"key": 20001,
"id_list": 11,
"id_tag": 2,
"task_display": "提升英雄11级",
"task_display": {
"key": "task_20001",
"text": "提升英雄11级"
},
"type_id": 103,
"condition_second": 11,
"restrictive_condition": 0,
@ -157,11 +190,14 @@
"key": 20002,
"id_list": 12,
"id_tag": 2,
"task_display": "提升英雄12级",
"task_display": {
"key": "task_20002",
"text": "提升英雄12级"
},
"type_id": 103,
"condition_second": 12,
"restrictive_condition": 0,
"active": 10,
"active": 15,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -171,11 +207,14 @@
"key": 20003,
"id_list": 13,
"id_tag": 2,
"task_display": "提升英雄13级",
"task_display": {
"key": "task_20003",
"text": "提升英雄13级"
},
"type_id": 103,
"condition_second": 13,
"restrictive_condition": 0,
"active": 10,
"active": 20,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -185,11 +224,14 @@
"key": 20004,
"id_list": 14,
"id_tag": 2,
"task_display": "提升英雄14级",
"task_display": {
"key": "task_20004",
"text": "提升英雄14级"
},
"type_id": 103,
"condition_second": 14,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -199,11 +241,14 @@
"key": 20005,
"id_list": 15,
"id_tag": 2,
"task_display": "提升英雄15级",
"task_display": {
"key": "task_20005",
"text": "提升英雄15级"
},
"type_id": 103,
"condition_second": 15,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -213,11 +258,14 @@
"key": 20006,
"id_list": 16,
"id_tag": 2,
"task_display": "提升英雄16级",
"task_display": {
"key": "task_20006",
"text": "提升英雄16级"
},
"type_id": 103,
"condition_second": 16,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -227,11 +275,14 @@
"key": 20007,
"id_list": 17,
"id_tag": 2,
"task_display": "提升英雄17级",
"task_display": {
"key": "task_20007",
"text": "提升英雄17级"
},
"type_id": 103,
"condition_second": 17,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -241,11 +292,14 @@
"key": 20008,
"id_list": 18,
"id_tag": 2,
"task_display": "提升英雄18级",
"task_display": {
"key": "task_20008",
"text": "提升英雄18级"
},
"type_id": 103,
"condition_second": 18,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -255,11 +309,14 @@
"key": 20009,
"id_list": 19,
"id_tag": 2,
"task_display": "提升英雄19级",
"task_display": {
"key": "task_20009",
"text": "提升英雄19级"
},
"type_id": 103,
"condition_second": 19,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -269,11 +326,14 @@
"key": 20010,
"id_list": 20,
"id_tag": 2,
"task_display": "提升英雄20级",
"task_display": {
"key": "task_20010",
"text": "提升英雄20级"
},
"type_id": 103,
"condition_second": 20,
"restrictive_condition": 0,
"active": 10,
"active": 25,
"id_after": 0,
"jump_interface": "mainworld",
"icon": "wp_icon_0001",
@ -283,7 +343,10 @@
"key": 30001,
"id_list": 21,
"id_tag": 3,
"task_display": "提升英雄21级",
"task_display": {
"key": "task_30001",
"text": "提升英雄21级"
},
"type_id": 103,
"condition_second": 21,
"restrictive_condition": 0,
@ -308,7 +371,10 @@
"key": 30101,
"id_list": 22,
"id_tag": 3,
"task_display": "提升英雄22级",
"task_display": {
"key": "task_30101",
"text": "提升英雄22级"
},
"type_id": 103,
"condition_second": 22,
"restrictive_condition": 0,
@ -333,7 +399,10 @@
"key": 30102,
"id_list": 23,
"id_tag": 3,
"task_display": "提升英雄23级",
"task_display": {
"key": "task_30102",
"text": "提升英雄23级"
},
"type_id": 103,
"condition_second": 23,
"restrictive_condition": 0,
@ -358,7 +427,10 @@
"key": 30103,
"id_list": 24,
"id_tag": 3,
"task_display": "提升英雄24级",
"task_display": {
"key": "task_30103",
"text": "提升英雄24级"
},
"type_id": 103,
"condition_second": 24,
"restrictive_condition": 0,
@ -383,7 +455,10 @@
"key": 30104,
"id_list": 25,
"id_tag": 3,
"task_display": "提升英雄25级",
"task_display": {
"key": "task_30104",
"text": "提升英雄25级"
},
"type_id": 103,
"condition_second": 25,
"restrictive_condition": 0,
@ -408,7 +483,10 @@
"key": 30105,
"id_list": 26,
"id_tag": 3,
"task_display": "提升英雄26级",
"task_display": {
"key": "task_30105",
"text": "提升英雄26级"
},
"type_id": 103,
"condition_second": 26,
"restrictive_condition": 0,
@ -433,7 +511,10 @@
"key": 30106,
"id_list": 27,
"id_tag": 3,
"task_display": "提升英雄27级",
"task_display": {
"key": "task_30106",
"text": "提升英雄27级"
},
"type_id": 103,
"condition_second": 27,
"restrictive_condition": 0,
@ -458,7 +539,10 @@
"key": 30107,
"id_list": 28,
"id_tag": 3,
"task_display": "提升英雄28级",
"task_display": {
"key": "task_30107",
"text": "提升英雄28级"
},
"type_id": 103,
"condition_second": 28,
"restrictive_condition": 0,
@ -483,7 +567,10 @@
"key": 30108,
"id_list": 29,
"id_tag": 3,
"task_display": "提升英雄29级",
"task_display": {
"key": "task_30108",
"text": "提升英雄29级"
},
"type_id": 103,
"condition_second": 29,
"restrictive_condition": 0,
@ -508,7 +595,10 @@
"key": 30109,
"id_list": 30,
"id_tag": 3,
"task_display": "提升英雄30级",
"task_display": {
"key": "task_30109",
"text": "提升英雄30级"
},
"type_id": 103,
"condition_second": 30,
"restrictive_condition": 0,
@ -533,7 +623,10 @@
"key": 30110,
"id_list": 31,
"id_tag": 3,
"task_display": "提升英雄31级",
"task_display": {
"key": "task_30110",
"text": "提升英雄31级"
},
"type_id": 103,
"condition_second": 31,
"restrictive_condition": 0,
@ -558,7 +651,10 @@
"key": 30111,
"id_list": 32,
"id_tag": 3,
"task_display": "提升英雄32级",
"task_display": {
"key": "task_30111",
"text": "提升英雄32级"
},
"type_id": 103,
"condition_second": 32,
"restrictive_condition": 0,
@ -583,7 +679,10 @@
"key": 30112,
"id_list": 33,
"id_tag": 3,
"task_display": "提升英雄33级",
"task_display": {
"key": "task_30112",
"text": "提升英雄33级"
},
"type_id": 103,
"condition_second": 33,
"restrictive_condition": 0,
@ -608,7 +707,10 @@
"key": 30113,
"id_list": 34,
"id_tag": 3,
"task_display": "提升英雄34级",
"task_display": {
"key": "task_30113",
"text": "提升英雄34级"
},
"type_id": 103,
"condition_second": 34,
"restrictive_condition": 0,
@ -633,7 +735,10 @@
"key": 30114,
"id_list": 35,
"id_tag": 3,
"task_display": "提升英雄35级",
"task_display": {
"key": "task_30114",
"text": "提升英雄35级"
},
"type_id": 103,
"condition_second": 35,
"restrictive_condition": 0,
@ -658,7 +763,10 @@
"key": 30115,
"id_list": 36,
"id_tag": 3,
"task_display": "提升英雄36级",
"task_display": {
"key": "task_30115",
"text": "提升英雄36级"
},
"type_id": 103,
"condition_second": 36,
"restrictive_condition": 0,
@ -683,7 +791,10 @@
"key": 30116,
"id_list": 37,
"id_tag": 3,
"task_display": "提升英雄37级",
"task_display": {
"key": "task_30116",
"text": "提升英雄37级"
},
"type_id": 103,
"condition_second": 37,
"restrictive_condition": 0,
@ -708,7 +819,10 @@
"key": 30117,
"id_list": 38,
"id_tag": 3,
"task_display": "提升英雄38级",
"task_display": {
"key": "task_30117",
"text": "提升英雄38级"
},
"type_id": 103,
"condition_second": 38,
"restrictive_condition": 0,
@ -733,7 +847,10 @@
"key": 30118,
"id_list": 39,
"id_tag": 3,
"task_display": "提升英雄39级",
"task_display": {
"key": "task_30118",
"text": "提升英雄39级"
},
"type_id": 103,
"condition_second": 39,
"restrictive_condition": 0,
@ -758,7 +875,10 @@
"key": 30119,
"id_list": 40,
"id_tag": 3,
"task_display": "提升英雄40级",
"task_display": {
"key": "task_30119",
"text": "提升英雄40级"
},
"type_id": 103,
"condition_second": 40,
"restrictive_condition": 0,

View File

@ -34,7 +34,7 @@
}
],
"drop": 1001,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301011,
301012,
@ -81,7 +81,7 @@
}
],
"drop": 1002,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301014,
301015,
@ -133,7 +133,7 @@
}
],
"drop": 1003,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301017,
301018,
@ -185,7 +185,7 @@
}
],
"drop": 1004,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301020,
301021,
@ -237,7 +237,7 @@
}
],
"drop": 1005,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301023,
301024,
@ -289,7 +289,7 @@
}
],
"drop": 1006,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301026,
301027,
@ -341,7 +341,7 @@
}
],
"drop": 1007,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301029,
301030,
@ -393,7 +393,7 @@
}
],
"drop": 1008,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301032,
301033,
@ -445,7 +445,7 @@
}
],
"drop": 1009,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301035,
301036,
@ -497,7 +497,7 @@
}
],
"drop": 1010,
"bossmodel": 25001,
"bossmodel": 11009,
"boss": [
301038,
301039,
@ -539,7 +539,7 @@
}
],
"drop": 1011,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302011,
302012,
@ -586,7 +586,7 @@
}
],
"drop": 1012,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302014,
302015,
@ -638,7 +638,7 @@
}
],
"drop": 1013,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302017,
302018,
@ -690,7 +690,7 @@
}
],
"drop": 1014,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302020,
302021,
@ -742,7 +742,7 @@
}
],
"drop": 1015,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302023,
302024,
@ -794,7 +794,7 @@
}
],
"drop": 1016,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302026,
302027,
@ -846,7 +846,7 @@
}
],
"drop": 1017,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302029,
302030,
@ -898,7 +898,7 @@
}
],
"drop": 1018,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302032,
302033,
@ -950,7 +950,7 @@
}
],
"drop": 1019,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302035,
302036,
@ -1002,7 +1002,7 @@
}
],
"drop": 1020,
"bossmodel": 25004,
"bossmodel": 11003,
"boss": [
302038,
302039,
@ -1044,7 +1044,7 @@
}
],
"drop": 1021,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303011,
303012,
@ -1091,7 +1091,7 @@
}
],
"drop": 1022,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303014,
303015,
@ -1143,7 +1143,7 @@
}
],
"drop": 1023,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303017,
303018,
@ -1195,7 +1195,7 @@
}
],
"drop": 1024,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303020,
303021,
@ -1247,7 +1247,7 @@
}
],
"drop": 1025,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303023,
303024,
@ -1299,7 +1299,7 @@
}
],
"drop": 1026,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303026,
303027,
@ -1351,7 +1351,7 @@
}
],
"drop": 1027,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303029,
303030,
@ -1403,7 +1403,7 @@
}
],
"drop": 1028,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303032,
303033,
@ -1455,7 +1455,7 @@
}
],
"drop": 1029,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303035,
303036,
@ -1507,7 +1507,7 @@
}
],
"drop": 1030,
"bossmodel": 34006,
"bossmodel": 11018,
"boss": [
303038,
303039,

View File

@ -30,7 +30,7 @@ type appMonitor struct {
func (this *appMonitor) LazyInit(obs observer.Observer) error {
this.obs = obs
this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_MONITOR, theme.ComputerIcon(), nil)
this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_MONITOR, theme.MediaVideoIcon(), nil)
content := container.NewMax()
content.Objects = []fyne.CanvasObject{}

View File

@ -29,7 +29,7 @@ func (a *appTester) disEnabled(t *model.TestCase) bool {
}
func (a *appTester) LazyInit(obs observer.Observer) error {
a.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_TESTER, theme.AccountIcon(), nil)
a.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_TESTER, theme.DocumentIcon(), nil)
content := container.NewMax()
title := widget.NewLabel(common.APP_TESTCASE_TITLE)

View File

@ -85,14 +85,14 @@ func (ui *MainWindowImpl) createWindowContainer() {
// tool bar
toolbar := widget.NewToolbar(
widget.NewToolbarAction(theme.ComputerIcon(), func() {
widget.NewToolbarAction(theme.MediaVideoIcon(), func() {
openApp2(common.TOOLBAR_MONITOR)
}),
widget.NewToolbarAction(theme.AccountIcon(), func() {
widget.NewToolbarAction(theme.DocumentIcon(), func() {
openApp2(common.TOOLBAR_TESTER)
}),
widget.NewToolbarSeparator(),
widget.NewToolbarAction(theme.ContentClearIcon(), func() {
widget.NewToolbarAction(theme.FileIcon(), func() {
newLogViewer().Win.Show()
}),
widget.NewToolbarSpacer(),

View File

@ -58,6 +58,7 @@ var (
ff(comm.ModuleHero, hero.HeroSubTypeList): &formview.HeroListView{},
ff(comm.ModuleHero, hero.StrengthenUplv): &formview.HeroStrengthenUplvView{},
ff(comm.ModuleHero, hero.StrengthenUpStar): &formview.HeroStrengthenUpStarView{},
ff(comm.ModuleHero, hero.DrawCard): &formview.HeroZhaomuView{},
//equip
ff(comm.ModuleEquipment, "getlist"): &formview.EquipListView{},
ff(comm.ModuleEquipment, "equip"): &formview.EquipUpDownView{},
@ -70,8 +71,8 @@ var (
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack): &formview.FriendAddBlackView{},
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack): &formview.FriendDelblackView{},
ff(comm.ModuleFriend, friend.FriendSubTypeSearch): &formview.FriendSearchView{},
ff(comm.ModuleFriend, friend.FriendSubTypeZanList): &formview.FriendZanView{},
ff(comm.ModuleFriend, friend.FriendSubTypeRandList): &formview.FriendRandListView{},
// ff(comm.ModuleFriend, friend.FriendSubTypeZanList): &formview.FriendZanView{},
ff(comm.ModuleFriend, friend.FriendSubTypeRandList): &formview.FriendRandListView{},
// shop
ff(comm.ModuleShop, "getlist"): &formview.ShopListView{},
ff(comm.ModuleShop, "buy"): &formview.ShopBuyView{},
@ -82,11 +83,13 @@ var (
// pagoda
ff(comm.ModulePagoda, "getlist"): &formview.PagodaListView{},
// rtask
ff(comm.ModuleRtask, rtask.RtaskSubTypeList): &formview.RtaskListView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): &formview.RtaskDoitView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): &formview.RtaskChooseView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward): &formview.RtaskRewardView{},
ff(comm.ModuleRtask, "rtest"): &formview.RtaskTestView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeList): &formview.RtaskListView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): &formview.RtaskDoitView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): &formview.RtaskChooseView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward): &formview.RtaskRewardView{},
ff(comm.ModuleRtask, "rtest"): &formview.RtaskTestView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleStart): &formview.RtaskBattlestartView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish): &formview.RtaskBattleFinishView{},
// linestory
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart): &formview.LinestoryStartView{},
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask): &formview.LinestoryTaskView{},
@ -136,6 +139,7 @@ var (
ff(comm.ModuleHero, hero.HeroSubTypeList),
ff(comm.ModuleHero, hero.StrengthenUplv),
ff(comm.ModuleHero, hero.StrengthenUpStar),
ff(comm.ModuleHero, hero.DrawCard),
},
"equipment": {
ff(comm.ModuleEquipment, "getlist"),
@ -155,7 +159,7 @@ var (
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack),
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack),
ff(comm.ModuleFriend, friend.FriendSubTypeSearch),
ff(comm.ModuleFriend, friend.FriendSubTypeZanList),
// ff(comm.ModuleFriend, friend.FriendSubTypeZanList),
ff(comm.ModuleFriend, friend.FriendSubTypeRandList),
},
"shop": {
@ -176,6 +180,8 @@ var (
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose),
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward),
ff(comm.ModuleRtask, "rtest"),
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleStart),
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish),
},
"linestory": {
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart),
@ -410,6 +416,13 @@ var (
Rsp: &pb.HeroStrengthenUpStarResp{},
Enabled: true,
},
ff(comm.ModuleHero, hero.DrawCard): {
NavLabel: "招募",
Desc: "抽卡招募",
MainType: string(comm.ModuleHero),
SubType: hero.DrawCard,
Enabled: true,
},
//equipment
string(comm.ModuleEquipment): {
NavLabel: "装备",
@ -513,13 +526,13 @@ var (
Rsp: &pb.FriendSearchResp{},
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeZanList): {
NavLabel: "好友点赞",
Desc: "点赞好友",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeZanList,
Enabled: true,
},
// ff(comm.ModuleFriend, friend.FriendSubTypeZanList): {
// NavLabel: "好友点赞",
// Desc: "点赞好友",
// MainType: string(comm.ModuleFriend),
// SubType: friend.FriendSubTypeZanList,
// Enabled: true,
// },
//shop
string(comm.ModuleShop): {
NavLabel: "商店",
@ -613,6 +626,20 @@ var (
SubType: rtask.RtaskSubTypeReward,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleStart): {
NavLabel: "战斗开始",
Desc: "战斗开始",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeBattleStart,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish): {
NavLabel: "战斗结束",
Desc: "战斗结束",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeBattleFinish,
Enabled: true,
},
ff(comm.ModuleRtask, "rtest"): {
NavLabel: "测试",
Desc: "测试任务触发",

View File

@ -1,7 +1,6 @@
package ui
import (
"go_dreamfactory/cmd/v2/lib/common"
"go_dreamfactory/cmd/v2/service/observer"
"time"
@ -30,14 +29,14 @@ func (tdt *toyDateTime) Init(obs observer.Observer) error {
tdt.time = canvas.NewText("", nil)
tdt.time.TextSize = 42
tdt.widget = widget.NewCard("", common.DATETIME,
tdt.widget = widget.NewCard("", "",
container.NewVBox(
container.NewHBox(layout.NewSpacer(), tdt.date, tdt.week, layout.NewSpacer()),
container.NewCenter(tdt.time),
),
)
tdt.widget.Resize(fyne.NewSize(ToyWidth, 130))
tdt.widget.Resize(fyne.NewSize(ToyWidth, 100))
// for init
tdt.Run()

View File

@ -15,6 +15,7 @@ import (
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/data/binding"
"fyne.io/fyne/v2/layout"
"fyne.io/fyne/v2/theme"
"fyne.io/fyne/v2/widget"
"github.com/atotto/clipboard"
"github.com/sirupsen/logrus"
@ -41,7 +42,7 @@ func (this *toyUserInfo) Init(obs observer.Observer) error {
this.data = binding.BindStringList(&[]string{})
// 复制UID button
this.copyBtn = widget.NewButton(common.USERINFO_BTN_COPY, func() {
this.copyBtn = widget.NewButtonWithIcon("", theme.ContentCopyIcon(), func() {
if this.userInfo != nil && this.userInfo.DbUser != nil {
_ = clipboard.WriteAll(this.userInfo.DbUser.Uid)
}
@ -49,7 +50,7 @@ func (this *toyUserInfo) Init(obs observer.Observer) error {
this.copyBtn.Disable()
// 刷新
this.refreshBtn = widget.NewButton(common.USERINFO_BTN_REFRESH, func() {
this.refreshBtn = widget.NewButtonWithIcon("", theme.ViewRefreshIcon(), func() {
if err := service.GetPttService().SendToClient(
string(comm.ModuleUser),
user.UserSubTypeInfo,

View File

@ -0,0 +1,44 @@
package formview
import (
"go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service"
"go_dreamfactory/pb"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus"
"github.com/spf13/cast"
)
type HeroZhaomuView struct {
BaseformView
}
func (this *HeroZhaomuView) CreateView(t *model.TestCase) fyne.CanvasObject {
var ckType, ckCount string
// 抽卡类型 0 1 2 3 4
ckTypeSelect := widget.NewSelect([]string{"0", "1", "2", "3", "4"}, func(s string) {
ckType = s
})
//数量
ckCountSelect := widget.NewSelect([]string{"1", "10"}, func(s string) {
ckCount = s
})
this.form.AppendItem(widget.NewFormItem("抽卡类型", ckTypeSelect))
this.form.AppendItem(widget.NewFormItem("数量", ckCountSelect))
this.form.OnSubmit = func() {
if err := service.GetPttService().SendToClient(t.MainType, t.SubType,
&pb.HeroDrawCardReq{
DrawType: cast.ToInt32(ckType),
DrawCount: cast.ToInt32(ckCount),
}); err != nil {
logrus.Error(err)
}
}
return this.form
}

View File

@ -0,0 +1,33 @@
package formview
import (
"go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service"
"go_dreamfactory/pb"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus"
"github.com/spf13/cast"
)
type RtaskBattleFinishView struct {
BaseformView
}
func (this *RtaskBattleFinishView) CreateView(t *model.TestCase) fyne.CanvasObject {
taskId := widget.NewEntry()
this.form.AppendItem(widget.NewFormItem("任务ID", taskId))
this.form.OnSubmit = func() {
if err := service.GetPttService().SendToClient(t.MainType, t.SubType,
&pb.RtaskBattleFinishReq{
RtaskId: cast.ToInt32(taskId.Text),
}); err != nil {
logrus.Error(err)
}
}
return this.form
}

View File

@ -0,0 +1,43 @@
package formview
import (
"go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service"
"go_dreamfactory/pb"
"strings"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus"
"github.com/spf13/cast"
)
type RtaskBattlestartView struct {
BaseformView
}
func (this *RtaskBattlestartView) CreateView(t *model.TestCase) fyne.CanvasObject {
confId := widget.NewEntry()
leadpos := widget.NewEntry()
teamIds := widget.NewEntry()
teamIds.PlaceHolder = ",号分隔"
this.form.AppendItem(widget.NewFormItem("关卡ID", confId))
this.form.AppendItem(widget.NewFormItem("队长位置", leadpos))
this.form.AppendItem(widget.NewFormItem("阵容信息", teamIds))
this.form.OnSubmit = func() {
if err := service.GetPttService().SendToClient(t.MainType, t.SubType,
&pb.RtaskBattleStartReq{
BattleConfId: cast.ToInt32(confId.Text),
Leadpos: cast.ToInt32(leadpos.Text),
Teamids: strings.Split(teamIds.Text, ","),
}); err != nil {
logrus.Error(err)
}
}
return this.form
}

View File

@ -116,7 +116,7 @@ const (
TableRtaskRecord = "rrecord"
///记录用户爬塔排行数据
TablePagodaRecord = "pagodarecord"
///有序的爬塔排行 (正的排行榜 最多只有50条)
///有序的爬塔排行 (正的排行榜 最多只有50条)
TablePagodaRankList = "pagodaranklist"
/// 美食馆
TableSmithy = "smithy"
@ -290,6 +290,7 @@ const (
Rtype67 TaskType = 67 //商店购物消耗xx货币xx个
Rtype68 TaskType = 68 //任意渠道消耗xx金币
Rtype69 TaskType = 69 //与其他玩家切磋xx次
Rtype70 TaskType = 70 //通关随机任务XX关卡
)
const (
@ -323,6 +324,7 @@ const (
const (
MaxMainlineIntensity = 3 // 最大难度
MaxRankNum = 3
)
///聊天消息公告类型

View File

@ -37,16 +37,16 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c
return
}
awakenData = this.module.configure.GetHeroAwakenConfig(_hero.HeroID, _hero.JuexingLv)
awakenData = this.module.configure.GetHeroAwakenConfig(_hero.HeroID, _hero.JuexingLv+1)
if awakenData == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
nextAwaken := this.module.configure.GetHeroAwakenConfig(_hero.HeroID, _hero.JuexingLv+1)
if nextAwaken == nil {
code = pb.ErrorCode_HeroMaxAwaken // 达到最大觉醒等级
return
}
// nextAwaken := this.module.configure.GetHeroAwakenConfig(_hero.HeroID, _hero.JuexingLv+1)
// if nextAwaken == nil {
// code = pb.ErrorCode_HeroMaxAwaken // 达到最大觉醒等级
// return
// }
if len(awakenData.Phasebonus) < 2 { // 配置校验
code = pb.ErrorCode_ConfigNoFound

View File

@ -202,11 +202,11 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
this.module.ModuleRtask.SendToRtask(session, comm.Rtype17, k, v)
}
}
this.module.ModuleRtask.SendToRtask(session, comm.Rtype14, drawCount)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype18, drawCount)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype14, req.DrawCount)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype18, req.DrawCount)
} else { // 阵营招募
this.module.ModuleRtask.SendToRtask(session, comm.Rtype15, drawCount)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype19, drawCount)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype15, req.DrawCount)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype19, req.DrawCount)
}
for _, star := range szStar {
this.module.ModuleRtask.SendToRtask(session, comm.Rtype16, star, 1)

View File

@ -1,11 +1,9 @@
package hero
import (
"crypto/rand"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/utils"
"math/big"
"google.golang.org/protobuf/proto"
)
@ -23,10 +21,7 @@ func (this *apiComp) StrengthenUpSkillCheck(session comm.IUserSession, req *pb.H
/// 英雄技能升级
func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroStrengthenUpSkillReq) (code pb.ErrorCode, data proto.Message) {
var (
probability map[int32]int32 // 即将升级技能的权重
upSkillPos int32 // 升级的技能位置
totalprobability int32 // 所有技能总权重
upSkillPos int32 // 升级的技能位置
_hero *pb.DBHero // 操作的英雄
ChangeList []*pb.DBHero // 推送 改变的英雄
mapCostHero map[string]int32 // 消耗的技能卡
@ -96,51 +91,28 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
return
}
tmpUpSkillID := make(map[int32]bool, 0)
for i := 0; i < int(lvUpCount); i++ { // 升级技能
probability = make(map[int32]int32, 0)
szIndex := make([]int32, 0)
sz := make([]int32, 0)
for index, skill := range _hero.NormalSkill {
skillMaxLv := this.module.configure.GetHeroSkillMaxLvConfig(uint32(skill.SkillID))
if skill.SkillLv < skillMaxLv { // 找到没有满级的技能id
tmpUpSkillID[int32(index)] = true
skillData := this.module.configure.GetHeroSkillUpConfig(skill.SkillID)
if skillData == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
probability[skill.SkillID] = skillData.Probability[skill.SkillLv] // 获取权重
sz = append(sz, skillData.Probability[skill.SkillLv])
szIndex = append(szIndex, int32(index))
}
}
if len(tmpUpSkillID) == 0 {
if len(sz) == 0 {
code = pb.ErrorCode_HeroMaxSkillLv
this.module.Errorf("技能升级失败:uid:%s,oid:%s", session.GetUserId(), _hero.Id)
return
}
totalprobability = 0
// 根据权重升级对应的技能
for _, v := range probability {
totalprobability += v
}
if totalprobability == 0 {
code = pb.ErrorCode_HeroMaxLv // 升满了
return
}
n, _ := rand.Int(rand.Reader, big.NewInt(int64(totalprobability)))
tmp := 0
for k, v := range probability {
tmp += int(v)
if int32(n.Int64()) < v { // 找到了
upSkillPos = k
break
}
}
for index, skill := range _hero.NormalSkill {
if int32(index) == upSkillPos { // 找到指定位置技能并升级
skill.SkillLv += 1
break
}
}
upSkillPos = comm.GetRandW(sz)
_hero.NormalSkill[szIndex[upSkillPos]].SkillLv += 1
}
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -costGold, true)

View File

@ -21,7 +21,7 @@ func (this *apiComp) StrengthenUpStarCheck(session comm.IUserSession, req *pb.He
/// 英雄升星
func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStrengthenUpStarReq) (code pb.ErrorCode, data proto.Message) {
var (
target *cfg.GameHeroStarupData // 配置表目标升星英雄信息
starConf *cfg.GameHeroStarupData // 配置表目标升星英雄信息
costNeedHeroCount int32 // 消耗指定英雄的数量
costRaceHeroCount int32 // 消耗种族英雄的数量
_hero *pb.DBHero // 目标英雄
@ -51,8 +51,8 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
}
// 校验指定英雄
tagHeroConfig := this.module.configure.GetHeroStarupConfig(_hero.HeroID, _hero.Star)
if tagHeroConfig == nil {
starConf = this.module.configure.GetHeroStarupConfig(_hero.HeroID, _hero.Star)
if starConf == nil {
code = pb.ErrorCode_ReqParameterError
return
}
@ -63,7 +63,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
}
// 优先校验数量对不对
if target.Needheronum != costNeedHeroCount || target.Needracenum != costRaceHeroCount {
if starConf.Needheronum != costNeedHeroCount || starConf.Needracenum != costRaceHeroCount {
code = pb.ErrorCode_ReqParameterError
return
}
@ -83,11 +83,11 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
return
}
if tagHero.HeroID == target.Needhero && tagHero.Star == target.Needherostar && tagHero.SameCount >= target.Needheronum {
if tagHero.HeroID == starConf.Needhero && tagHero.Star == starConf.Needherostar && tagHero.SameCount >= starConf.Needheronum {
costNeedHeroCount += v
}
for _, value := range target.Needrace { // 阵营校验
for _, value := range starConf.Needrace { // 阵营校验
// 获取配置表英雄阵营
cfg := this.module.configure.GetHero(tagHero.HeroID)
if cfg != nil {
@ -100,22 +100,22 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
CostHeroObj[k] = tagHero
}
if target.Needheronum > costNeedHeroCount || target.Needracenum > costRaceHeroCount {
if starConf.Needheronum > costNeedHeroCount || starConf.Needracenum > costRaceHeroCount {
code = pb.ErrorCode_ReqParameterError
return
}
// 金币消耗判断
curGold := this.module.ModuleUser.QueryAttributeValue(session.GetUserId(), comm.ResGold)
if curGold < target.Gold { // 金币不足
if curGold < starConf.Gold { // 金币不足
code = pb.ErrorCode_GoldNoEnough
return
}
// 消耗道具
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -target.Gold, true) // 减少金币
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, -starConf.Gold, true) // 减少金币
if code != pb.ErrorCode_Success {
this.module.Errorf("cost gold failed ,count = %d", target.Gold)
this.module.Errorf("cost gold failed ,count = %d", starConf.Gold)
code = pb.ErrorCode_GoldNoEnough
return
}
@ -124,7 +124,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
if c != pb.ErrorCode_Success {
code = pb.ErrorCode_DBError
this.module.Errorf("del hero err card:%s,count = %d", k, v)
this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, target.Gold, true) // 回退金币
this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, starConf.Gold, true) // 回退金币
return
}

View File

@ -293,6 +293,16 @@ func (this *ModelHero) setEquipProperty(hero *pb.DBHero, equip []*pb.DB_Equipmen
for _, v := range v.AdverbEntry {
addProperty[v.AttrName] += v.Value //附加属性
}
for k, v := range addProperty {
switch k {
case comm.AtkPro:
addProperty[comm.Atk] += int32(math.Floor((1.0 + float64(v)/1000) * float64(hero.Property[comm.Atk])))
case comm.DefPro:
addProperty[comm.Def] += int32(math.Floor((1.0 + float64(v)/1000) * float64(hero.Property[comm.Def])))
case comm.HpPro:
addProperty[comm.Hp] += int32(math.Floor((1.0 + float64(v)/1000) * float64(hero.Property[comm.Hp])))
}
}
}
//this.mergeMainProperty(hero.Uid, hero, property)

View File

@ -22,10 +22,10 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
pagoda, err := this.module.modelPagoda.getPagodaList(session.GetUserId())
// 校验是不是通关了普通塔
expand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
code = pb.ErrorCode_DBError
return
}
conf := this.module.configure.GetPagodaConfigData(req.PagodaType, req.LevelID)
@ -33,33 +33,27 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.PagodaChalleng
code = pb.ErrorCode_PagodaNotFound
return
}
if req.PagodaType == comm.PagodaType { // 普通塔
if !expand.CompletePagoda {
pagoda, err := this.module.modelPagoda.getPagodaList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
return
}
if pagoda.Type != conf.PagodaType || conf.PreLevel != pagoda.PagodaId {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
} else {
// 普通塔通关了
Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, pagoda.PagodaId+1)
if Nomalcfg != nil {
// 塔数据校验
seasonPagoda, err := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
return
}
// 塔数据校验
seasonPagoda, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if seasonPagoda == nil {
if req.LevelID != 1 {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
} else {
if seasonPagoda.Type != req.PagodaType || conf.PreLevel != seasonPagoda.PagodaId {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
if seasonPagoda.Type != req.PagodaType || conf.PreLevel != seasonPagoda.PagodaId {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
}
code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{

View File

@ -20,7 +20,9 @@ func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.Pagod
///挑战主线关卡
func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChallengeOverReq) (code pb.ErrorCode, data proto.Message) {
var (
mapData map[string]interface{}
mapData map[string]interface{}
pagoda *pb.DBPagoda
seasonPagoda *pb.DBSeasonPagoda
)
mapData = make(map[string]interface{}, 0)
code = this.ChallengeOverCheck(session, req)
@ -28,78 +30,78 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
return // 参数校验失败直接返回
}
pagoda, err := this.module.modelPagoda.getPagodaList(session.GetUserId())
// 校验是不是通关了普通塔
expand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
conf := this.module.configure.GetPagodaConfigData(req.PagodaType, req.LevelID)
if conf == nil {
code = pb.ErrorCode_PagodaNotFound
return
}
cfg := this.module.configure.GetPagodaConfigData(req.PagodaType, req.LevelID)
if cfg == nil {
code = pb.ErrorCode_PagodaNotFound
return
}
if req.PagodaType == comm.PagodaType { // 普通塔
if pagoda.Type != cfg.PagodaType || cfg.PreLevel != pagoda.PagodaId {
if !expand.CompletePagoda {
pagoda, err = this.module.modelPagoda.getPagodaList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
return
}
if pagoda.Type != conf.PagodaType || conf.PreLevel != pagoda.PagodaId {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
//// todo 战斗相关
pagoda.Type = req.PagodaType
mapData["pagodaId"] = cfg.LayerNum
mapData["type"] = pagoda.Type
this.module.modulerank.ChangeUserRank(session.GetUserId(), mapData)
// 通关奖励
code = this.module.DispenseRes(session, cfg.Reward, true)
if code != pb.ErrorCode_Success {
return
}
pagoda.PagodaId = cfg.LayerNum // 更新层数
mapData["pagodaId"] = cfg.LayerNum
code = this.module.ModifyPagodaData(session.GetUserId(), mapData)
session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda})
return
} else {
// 普通塔通关了
Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, pagoda.PagodaId+1)
if Nomalcfg != nil {
// 塔数据校验
seasonPagoda, err = this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
return
}
// 塔数据校验
seasonPagoda, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if seasonPagoda == nil {
if req.LevelID != 1 {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
} else {
if seasonPagoda.Type != req.PagodaType || cfg.PreLevel != seasonPagoda.PagodaId {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
if seasonPagoda.Type != req.PagodaType || conf.PreLevel != seasonPagoda.PagodaId {
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
return
}
// 挑战处理
if seasonPagoda == nil {
seasonPagoda = &pb.DBSeasonPagoda{}
}
// 校验通过
if !expand.CompletePagoda { // 普通塔
pagoda.Type = req.PagodaType
mapData["pagodaId"] = conf.LayerNum
mapData["type"] = pagoda.Type
// 通关奖励
code = this.module.DispenseRes(session, conf.Reward, true)
if code != pb.ErrorCode_Success {
return
}
pagoda.PagodaId = conf.LayerNum // 更新层数
mapData["pagodaId"] = conf.LayerNum
code = this.module.ModifyPagodaData(session.GetUserId(), mapData)
session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda})
// 普通塔通关了
Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, pagoda.PagodaId+1)
if Nomalcfg == nil { // 创建赛季塔数据
// 修改expand 数据
update := map[string]interface{}{
"completePagoda": true,
}
this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), update)
seasonPagoda := &pb.DBSeasonPagoda{}
seasonPagoda.Id = primitive.NewObjectID().Hex()
seasonPagoda.Uid = session.GetUserId()
seasonPagoda.PagodaId = 1 // 初始数据1层
seasonPagoda.Type = req.PagodaType
seasonPagoda.PagodaId = 0 // 初始数据0
seasonPagoda.Type = 201
this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), seasonPagoda)
} else {
seasonPagoda.PagodaId = cfg.LayerNum
mapData["pagodaId"] = cfg.LayerNum
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
// 推送新的
pagoda.PagodaId = seasonPagoda.PagodaId
pagoda.Type = seasonPagoda.Type
session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: pagoda})
}
} else {
// 记录爬塔明细数据
if req.Report != nil && len(req.Report.Info.Redflist) > 0 {
sz := make([]*pb.LineUp, 5)
@ -112,15 +114,15 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
}
}
}
this.module.modulerank.addPagodaRankList(session, seasonPagoda, req.Report.Info.Redflist[0].Leadpos, sz)
this.module.modulerank.addPagodaRankList(session, seasonPagoda, req.Report.Info.Redflist[0].Leadpos, sz, req.Report.Costtime)
}
pagoda.PagodaId = seasonPagoda.PagodaId
pagoda.Type = seasonPagoda.Type
pagoda.Reward = seasonPagoda.Reward
// 挑战处理
seasonPagoda.PagodaId = conf.LayerNum
mapData["pagodaId"] = conf.LayerNum
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda})
}
// 任务相关
if req.PagodaType == comm.PagodaType {
this.module.ModuleRtask.SendToRtask(session, comm.Rtype58, 1)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype59, pagoda.PagodaId)

View File

@ -19,31 +19,31 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PagodaGetListReq
var (
list *pb.DBPagoda
)
code = this.GetListCheck(session, req)
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
list, _ = this.module.modelPagoda.getPagodaList(session.GetUserId())
defer func() {
session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: list})
}()
if list == nil { // redis没有数据
list = &pb.DBPagoda{}
list.Id = primitive.NewObjectID().Hex()
list.Uid = session.GetUserId()
list.PagodaId = 0 // 初始数据1层
list.Type = comm.PagodaType
this.module.modelPagoda.addNewPagoda(session.GetUserId(), list)
expand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if season != nil {
list.PagodaId = season.PagodaId
list.Type = season.Type
list.Reward = season.Reward
if !expand.CompletePagoda { // 普通塔
list, _ = this.module.modelPagoda.getPagodaList(session.GetUserId())
if list == nil { // redis没有数据
list = &pb.DBPagoda{}
list.Id = primitive.NewObjectID().Hex()
list.Uid = session.GetUserId()
list.PagodaId = 0 // 初始数据0层
list.Type = comm.PagodaType
this.module.modelPagoda.addNewPagoda(session.GetUserId(), list)
}
} else {
season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
if season != nil {
list.PagodaId = season.PagodaId
list.Type = season.Type
list.Reward = season.Reward
}
}
session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: list})
return
}

View File

@ -15,7 +15,7 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.PagodaRank
func (this *apiComp) RankList(session comm.IUserSession, req *pb.PagodaRankListReq) (code pb.ErrorCode, data proto.Message) {
var (
szRank []*pb.DBPagodaRank
szRank []*pb.DBPagodaRecord
err error
)
code = this.RankListCheck(session, req)

View File

@ -1,15 +1,21 @@
package pagoda
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/redis"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"sort"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
var floorRankKey = "pagoda:floor"
type ModelRank struct {
modules.MCompModel
modulePagoda *Pagoda
@ -22,7 +28,7 @@ func (this *ModelRank) Init(service core.IService, module core.IModule, comp cor
return
}
func (this *ModelRank) AddRank(uId string, data *pb.DBPagodaRank) (err error) {
func (this *ModelRank) AddRank(uId string, data *pb.DBPagodaRecord) (err error) {
if err = this.Add(uId, data); err != nil {
//this.Errorf("err:%v", err)
return
@ -31,8 +37,8 @@ func (this *ModelRank) AddRank(uId string, data *pb.DBPagodaRank) (err error) {
}
//获取用户通过扩展表
func (this *ModelRank) GetUserRandData(uid string) (result *pb.DBPagodaRank, err error) {
result = &pb.DBPagodaRank{}
func (this *ModelRank) GetUserRandData(uid string) (result *pb.DBPagodaRecord, err error) {
result = &pb.DBPagodaRecord{}
if err = this.Get(uid, result); err != nil && redis.RedisNil != err {
return
}
@ -47,14 +53,14 @@ func (this *ModelRank) ChangeUserRank(uid string, value map[string]interface{})
return this.Change(uid, value)
}
func (this *ModelRank) GetRankData() (data []*pb.DBPagodaRank, err error) {
data = make([]*pb.DBPagodaRank, 0)
func (this *ModelRank) GetRankData() (data []*pb.DBPagodaRecord, err error) {
data = make([]*pb.DBPagodaRecord, 0)
err = this.Redis.LRange(comm.TablePagodaRankList, 0, -1, &data)
return
}
func (this *ModelRank) getPagodaRankList(uid string) []*pb.DBPagodaRank {
pagodaRank := make([]*pb.DBPagodaRank, 0)
func (this *ModelRank) getPagodaRankList(uid string) []*pb.DBPagodaRecord {
pagodaRank := make([]*pb.DBPagodaRecord, 0)
err := this.GetList(uid, &pagodaRank)
if err != nil {
return nil
@ -63,18 +69,84 @@ func (this *ModelRank) getPagodaRankList(uid string) []*pb.DBPagodaRank {
}
// 插入新的排行数据
func (this *ModelRank) addPagodaRankList(session comm.IUserSession, data *pb.DBSeasonPagoda, Leadpos int32, line []*pb.LineUp) {
func (this *ModelRank) addPagodaRankList(session comm.IUserSession, data *pb.DBSeasonPagoda, Leadpos int32, line []*pb.LineUp, costTime int32) {
userinfo := this.modulePagoda.ModuleUser.GetUser(session.GetUserId())
new := &pb.DBPagodaRank{
new := &pb.DBPagodaRecord{
Id: primitive.NewObjectID().Hex(),
Uid: session.GetUserId(),
PagodaId: data.PagodaId,
Type: data.Type,
Nickname: userinfo.Name,
Icon: "",
Icon: "", // icon 暂无
Lv: userinfo.Lv,
CostTime: 0,
CostTime: costTime,
}
this.AddList(session.GetUserId(), new.Id, new) //写爬塔记录
// 查询本层是否上榜
rankData, ilen, err1 := this.GetFloorLastRankData(data.PagodaId)
if err1 != nil {
if rankData.CostTime < costTime || ilen < comm.MaxRankNum {
this.ChangeFloorRankList(session, data.PagodaId, new)
}
}
return
}
// 读取某一层排行数据
func (this *ModelRank) GetFloorRankList(floor int32) (result []*pb.DBPagodaRecord, err error) {
key := fmt.Sprintf("%s-%d-rank", floorRankKey, floor)
temp := make([]*pb.DBPagodaRecord, 0)
if err = this.Redis.LRange(key, 0, -1, &temp); err != nil {
this.modulePagoda.Errorf("err:%v", err)
return
}
result = make([]*pb.DBPagodaRecord, len(temp))
for n, v := range temp {
result[n] = v
n++
}
return
}
// 获取排行榜最后一个元素
func (this *ModelRank) GetFloorLastRankData(floor int32) (curData *pb.DBPagodaRecord, len int, err error) {
key := fmt.Sprintf("%s-%d-rank", floorRankKey, floor)
len, err = this.Redis.Llen(key)
if this.Redis.Lindex(key, -1, curData); err != nil {
this.modulePagoda.Errorf("err:%v", err)
return
}
return
}
// 修改某一层排行数据
func (this *ModelRank) ChangeFloorRankList(session comm.IUserSession, floor int32, curData *pb.DBPagodaRecord) (err error) {
key := fmt.Sprintf("%s-%d-rank", floorRankKey, floor)
lockkey := fmt.Sprintf("%s-%d-lock", floorRankKey, floor)
this.Redis.Lock(lockkey, time.Now().Second()*5)
defer this.Redis.UnLock(lockkey)
if this.Redis.RPush(key, curData); err != nil {
this.modulePagoda.Errorf("err:%v", err)
return
}
temp := make([]*pb.DBPagodaRecord, 0)
if err = this.Redis.LRange(key, 0, -1, &temp); err != nil {
this.modulePagoda.Errorf("err:%v", err)
return
}
sort.SliceStable(temp, func(i, j int) bool {
return temp[i].CostTime < temp[j].CostTime
})
if this.Redis.RPush(key, temp); err != nil {
this.modulePagoda.Errorf("err:%v", err)
return
}
err = this.Redis.Ltrim(key, -1*comm.MaxRankNum, -1) //对一个列表进行修剪
if err != nil {
log.Errorf("delete failed")
}
this.AddList(session.GetUserId(), new.Id, new)
return
}

View File

@ -48,13 +48,13 @@ func (this *ModelSeasonPagoda) modifySeasonPagodaDataByObjId(uid string, data ma
return this.Change(uid, data)
}
// 创建一个新的塔数据
// 创建一个新的赛季塔数据
func (this *ModelSeasonPagoda) addNewSeasonPagoda(uId string, data *pb.DBSeasonPagoda) (err error) {
err = this.InsertModelLogs(this.TableName, uId, []interface{}{data}) // 不需要经过redis
// if err = this.Add(uId, data); err != nil {
// this.module.Errorf("err:%v", err)
// return
// }
//err = this.InsertModelLogs(this.TableName, uId, []interface{}{data}) // 不需要经过redis
if err = this.Add(uId, data); err != nil {
this.module.Errorf("err:%v", err)
return
}
return nil
}

View File

@ -0,0 +1,93 @@
package pagoda_test
import (
"context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego"
"go_dreamfactory/lego/base/rpcx"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules/equipment"
"go_dreamfactory/modules/hero"
"go_dreamfactory/modules/items"
"go_dreamfactory/modules/pagoda"
"go_dreamfactory/modules/task"
"go_dreamfactory/modules/user"
"go_dreamfactory/pb"
"go_dreamfactory/services"
"go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db"
"testing"
"time"
"github.com/golang/protobuf/ptypes"
)
var service core.IService
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
var module = new(hero.Hero)
type TestService struct {
rpcx.RPCXService
}
func newService(ops ...rpcx.Option) core.IService {
s := new(TestService)
s.Configure(ops...)
return s
}
//初始化相关系统
func (this *TestService) InitSys() {
this.RPCXService.InitSys()
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
} else {
log.Infof("init sys.db success!")
}
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("F:/work/go/go_dreamfactory/bin/json")); err != nil {
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
} else {
log.Infof("init sys.configure success!")
}
}
func Test_Main(t *testing.T) {
service = newService(
rpcx.SetConfPath("../../bin/conf/worker_1.yaml"),
)
service.OnInstallComp( //装备组件
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
)
go func() {
lego.Run(service, //运行模块
module,
items.NewModule(),
user.NewModule(),
equipment.NewModule(),
task.NewModule(),
pagoda.NewModule(),
)
}()
time.Sleep(time.Second * 2)
}
func GetMap() map[int32]int32 {
return nil
}
func Test_Modules(t *testing.T) {
data, _ := ptypes.MarshalAny(&pb.HeroListReq{})
reply := &pb.RPCMessageReply{}
s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{UserId: "0_62c79d66acc7aa239b07c21e", MainType: "hero", SubType: "list", Message: data}, reply)
log.Debugf("reply:%v", reply)
}
func TestXxx(t *testing.T) {
}

View File

@ -6,10 +6,12 @@ import (
)
const (
RtaskSubTypeChoose = "choose" //选择
RtaskSubTypeList = "list" //随机任务列表
RtaskSubTypeApply = "apply" //做任务
RtaskSubTypeReward = "getreward" //奖励
RtaskSubTypeChoose = "choose" //选择
RtaskSubTypeList = "list" //随机任务列表
RtaskSubTypeApply = "apply" //做任务
RtaskSubTypeReward = "getreward" //奖励
RtaskSubTypeBattleStart = "battlestart" //战斗开始
RtaskSubTypeBattleFinish = "battlefinish" //战斗完成
)
type apiComp struct {

View File

@ -0,0 +1,85 @@
package rtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
func (this *apiComp) BattleFinishCheck(session comm.IUserSession, req *pb.RtaskBattleFinishReq) (code pb.ErrorCode) {
if req.RtaskId == 0 {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) BattleFinish(session comm.IUserSession, req *pb.RtaskBattleFinishReq) (code pb.ErrorCode, data proto.Message) {
if code = this.BattleFinishCheck(session, req); code != pb.ErrorCode_Success {
return
}
//校验战斗结果
iBattle, err := this.moduleRtask.modelRtask.service.GetModule(comm.ModuleBattle)
if err != nil {
code = pb.ErrorCode_SystemError
return
}
var isWin bool
if b, y := iBattle.(comm.IBattle); y {
if code, isWin = b.CheckBattleReport(session, req.Report); code != pb.ErrorCode_Success {
return
}
if isWin {
// 获取玩家的任务
rtask := &pb.DBRtask{}
if err := this.moduleRtask.modelRtask.Get(session.GetUserId(), rtask); err != nil {
return
}
// 获取当前任务配置
conf := this.moduleRtask.configure.getRtaskById(req.RtaskId)
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask %v no found", req.RtaskId)
return
}
var (
frtaskArr *pb.FrtaskIds //完成的任务
ok bool
)
if frtaskArr, ok = rtask.FrtaskIds[conf.Group]; !ok {
frtaskArr = &pb.FrtaskIds{}
}
// 更新完成的任务
frtaskArr.RtaskIds = append(frtaskArr.RtaskIds, req.RtaskId)
if rtask.FrtaskIds == nil {
rtask.FrtaskIds = make(map[int32]*pb.FrtaskIds)
}
rtask.FrtaskIds[conf.Group] = frtaskArr
update := map[string]interface{}{
"frtaskIds": rtask.FrtaskIds,
}
if err := this.moduleRtask.modelRtask.Change(session.GetUserId(), update); err != nil {
code = pb.ErrorCode_SystemError
return
}
}
}
if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeBattleFinish,
&pb.RtaskBattleFinishResp{
RtaskId: req.RtaskId,
IsWin: isWin,
}); err != nil {
code = pb.ErrorCode_SystemError
}
return
}

View File

@ -0,0 +1,71 @@
package rtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
func (this *apiComp) BattleStartCheck(session comm.IUserSession, req *pb.RtaskBattleStartReq) (code pb.ErrorCode) {
if req.BattleConfId == 0 {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) BattleStart(session comm.IUserSession, req *pb.RtaskBattleStartReq) (code pb.ErrorCode, data proto.Message) {
if code = this.BattleStartCheck(session, req); code != pb.ErrorCode_Success {
return
}
battleConf := this.moduleRtask.configure.getRtaskBattleById(req.BattleConfId)
if battleConf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask_battle %v no found", req.BattleConfId)
return
}
iBattle, err := this.moduleRtask.modelRtask.service.GetModule(comm.ModuleBattle)
if err != nil {
code = pb.ErrorCode_SystemError
return
}
if b, y := iBattle.(comm.IBattle); y {
var (
record *pb.DBBattleRecord
resp *pb.RtaskBattleStartResp
)
code, record = b.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_mainline,
Leadpos: req.Leadpos,
Teamids: req.Teamids,
Mformat: battleConf.FormatList,
})
if code != pb.ErrorCode_Success {
return
}
if record != nil {
resp = &pb.RtaskBattleStartResp{
Info: &pb.BattleInfo{
Id: record.Id,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
},
}
}
if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeBattleStart, resp); err != nil {
code = pb.ErrorCode_SystemError
}
}
return
}

View File

@ -2,6 +2,7 @@ package rtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"go_dreamfactory/utils"
@ -20,6 +21,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
return
}
// 获取玩家的任务
rtask := &pb.DBRtask{}
if err := this.moduleRtask.modelRtask.Get(session.GetUserId(), rtask); err != nil {
return
@ -29,6 +31,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
conf := this.moduleRtask.configure.getRtaskById(req.RtaskId)
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask %v no found", req.RtaskId)
return
}
@ -36,6 +39,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
sideConf := this.moduleRtask.configure.getRtaskSidById(req.RtaskSubId)
if sideConf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask_side %v no found", req.RtaskSubId)
return
}
@ -43,6 +47,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
chooseCnf := this.moduleRtask.configure.getRtaskChooseCfg(req.ChooseId)
if chooseCnf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask_choose %v no found", req.ChooseId)
return
}
@ -54,7 +59,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
}
var (
frtaskArr *pb.FrtaskIds
frtaskArr *pb.FrtaskIds //完成的任务
ok bool
)
@ -68,17 +73,20 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
return
}
// 更新完成的任务
frtaskArr.RtaskIds = append(frtaskArr.RtaskIds, req.RtaskId)
if rtask.FrtaskIds == nil {
rtask.FrtaskIds = make(map[int32]*pb.FrtaskIds)
}
rtask.FrtaskIds[conf.Group] = frtaskArr
update := map[string]interface{}{
"frtaskIds": rtask.FrtaskIds,
}
if err := this.moduleRtask.modelRtask.Change(session.GetUserId(), update); err != nil {
code = pb.ErrorCode_SystemError
if chooseCnf.GotoLevel == "" {
// 更新完成的任务
frtaskArr.RtaskIds = append(frtaskArr.RtaskIds, req.RtaskId)
if rtask.FrtaskIds == nil {
rtask.FrtaskIds = make(map[int32]*pb.FrtaskIds)
}
rtask.FrtaskIds[conf.Group] = frtaskArr
update := map[string]interface{}{
"frtaskIds": rtask.FrtaskIds,
}
if err := this.moduleRtask.modelRtask.Change(session.GetUserId(), update); err != nil {
code = pb.ErrorCode_SystemError
return
}
}
rsp := &pb.RtaskChooseResp{

View File

@ -2,6 +2,7 @@ package rtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"go_dreamfactory/utils"
@ -30,6 +31,7 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.RtaskApplyReq) (co
conf := this.moduleRtask.configure.getRtaskById(req.RtaskId)
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask %v no found", req.RtaskId)
return
}
@ -60,6 +62,7 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.RtaskApplyReq) (co
sideConf := this.moduleRtask.configure.getRtaskSidById(req.RtaskSubId)
if sideConf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask_side %v no found", req.RtaskSubId)
return
}

View File

@ -1,24 +0,0 @@
package rtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
func (this *apiComp) BattleFinishCheck(session comm.IUserSession, req *pb.RtaskBattleFinishReq) (code pb.ErrorCode) {
if req.Result == 0 {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) BattleFinish(session comm.IUserSession, req *pb.RtaskBattleFinishReq) (code pb.ErrorCode, data proto.Message) {
if code = this.BattleFinishCheck(session, req); code != pb.ErrorCode_Success {
return
}
return
}

View File

@ -2,6 +2,7 @@ package rtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
@ -18,16 +19,12 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.RtaskGetReward
if code = this.GetRewardCheck(session, req); code != pb.ErrorCode_Success {
return
}
// conf := this.moduleRtask.configure.getRtaskById(req.RtaskId)
// if conf == nil {
// code = pb.ErrorCode_ConfigNoFound
// return
// }
// 获取支线任务配置
sideConf := this.moduleRtask.configure.getRtaskSidById(req.RtaskSubId)
if sideConf == nil {
code = pb.ErrorCode_ConfigNoFound
log.Errorf("rdtask_side %v no found", req.RtaskSubId)
return
}

View File

@ -124,5 +124,4 @@ func (this *ModelRtaskRecord) lessThanParams(cfg *cfg.GameRdtaskCondiData, vals
condiId = cfg.Id
return
return
}

View File

@ -149,16 +149,16 @@ func (this *ModuleRtask) initRtaskVerifyHandle() {
case comm.Rtype14:
this.registerVerifyHandle(v.Id, &rtaskCondi{
cfg: typeCfg,
find: this.modelRtaskRecord.equalParams,
find: this.modelRtaskRecord.lessThanParams,
verify: this.modelRtaskRecord.verifyFromDb,
update: this.modelRtaskRecord.overrideUpdate,
update: this.modelRtaskRecord.addUpdate,
})
case comm.Rtype15:
this.registerVerifyHandle(v.Id, &rtaskCondi{
cfg: typeCfg,
find: this.modelRtaskRecord.equalParams,
find: this.modelRtaskRecord.lessThanParams,
verify: this.modelRtaskRecord.verifyFromDb,
update: this.modelRtaskRecord.overrideUpdate,
update: this.modelRtaskRecord.addUpdate,
})
case comm.Rtype16:
this.registerVerifyHandle(v.Id, &rtaskCondi{
@ -177,7 +177,7 @@ func (this *ModuleRtask) initRtaskVerifyHandle() {
case comm.Rtype18:
this.registerVerifyHandle(v.Id, &rtaskCondi{
cfg: typeCfg,
find: this.modelRtaskRecord.equalParams,
find: this.modelRtaskRecord.lessThanParams,
verify: this.modelRtaskRecord.verifyFromDb,
update: this.modelRtaskRecord.overrideUpdate,
})
@ -534,7 +534,13 @@ func (this *ModuleRtask) initRtaskVerifyHandle() {
verify: this.modelRtaskRecord.verifyFromDb,
update: this.modelRtaskRecord.overrideUpdate,
})
case comm.Rtype70:
this.registerVerifyHandle(v.Id, &rtaskCondi{
cfg: typeCfg,
find: this.modelRtaskRecord.equalParams,
verify: this.modelRtaskRecord.verifyFromDb,
update: this.modelRtaskRecord.overrideUpdate,
})
default:
log.Warnf("rtaskType[%v] not register", typeCfg.Type)
}

View File

@ -84,7 +84,9 @@ func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData
if record.Vals == nil {
data := &pb.RtaskData{
Data: toMap(vals...),
Data: toMap(vals...),
Rtype: cfg.Type,
Timestamp: time.Now().Unix(),
}
record.Vals = map[int32]*pb.RtaskData{
@ -94,30 +96,34 @@ func (this *ModelRtaskRecord) addUpdate(uid string, cfg *cfg.GameRdtaskCondiData
return errors.Wrapf(err, "添加玩家任务记录 err: %v rtype[%v]", uid, cfg.Id)
}
} else {
data := make(map[int32]int32)
//查找任务数据
if v, ok := record.Vals[cfg.Id]; ok {
// 只有第一个参数为累加数值
if paramLen == 1 {
data[0] += v.Data[0]
} else if paramLen == 2 {
//第一个参数为累加,后续参数为判断条件
if data[1] == cfg.Data2 {
data[1] += v.Data[1]
}
} else if paramLen == 3 {
if data[1] == cfg.Data2 && data[2] == cfg.Data3 {
data[2] += v.Data[2]
}
}
if len(data) > 0 {
update := map[string]interface{}{
"vals": data,
}
err = this.Change(uid, update)
v.Data[0] += vals[0]
v.Timestamp = time.Now().Unix()
}
update := map[string]interface{}{
"vals": record.Vals,
}
err = this.Change(uid, update)
} else {
data := map[int32]int32{
0: vals[0],
}
record.Vals[cfg.Id] = &pb.RtaskData{
Data: data,
Rtype: cfg.Type,
Timestamp: time.Now().Unix(),
}
update := map[string]interface{}{
"vals": record.Vals,
}
err = this.Change(uid, update)
}
}
return
}

View File

@ -37,9 +37,9 @@ func (this *PagodaRank) Start() (err error) {
// 处理排行榜排序
func (this *PagodaRank) Timer() {
data := make([]interface{}, 0) // options.Find().SetLimit(comm.MaxRankList)
if _data, err := this.DB.Find(comm.TablePagodaRecord, bson.M{}, options.Find().SetSort(bson.M{"pagodaId": -1}).SetLimit(comm.MaxRankList)); err == nil {
if _data, err := this.DB.Find(comm.TableSeasonPagoda, bson.M{}, options.Find().SetSort(bson.M{"pagodaId": -1}).SetLimit(comm.MaxRankList)); err == nil {
for _data.Next(context.TODO()) {
temp := &pb.DBPagodaRank{}
temp := &pb.DBPagodaRecord{}
if err = _data.Decode(temp); err == nil {
data = append(data, temp)
}

View File

@ -23,8 +23,6 @@ func (this *ModelExpand) Init(service core.IService, module core.IModule, comp c
return
}
//获取用户通过扩展表
func (this *ModelExpand) GetUserExpand(uid string) (result *pb.DBUserExpand, err error) {
result = &pb.DBUserExpand{}
@ -61,3 +59,13 @@ func (this *ModelExpand) updateLoginDay(uid string, timestamp int64) (err error)
}
return
}
// 通关了普通塔
func (this *ModelExpand) CompleteNormalPagoda(uid string) (err error) {
update := map[string]interface{}{
"completePagoda": true,
}
err = this.ChangeUserExpand(uid, update)
return
}

View File

@ -3,6 +3,7 @@ package user
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
@ -17,6 +18,7 @@ func (this *ModelSession) Init(service core.IService, module core.IModule, comp
this.module = module.(*User)
this.TableName = comm.TableSession
this.Expired = 0 //不自动过期
this.clean()
return
}
@ -29,3 +31,18 @@ func (this *ModelSession) getUserSession(uid string) (user *pb.CacheUser) {
}
return user
}
// 启动时清理session
func (this *ModelSession) clean() {
keys, err := this.Redis.Keys("session:*")
if err != nil {
log.Errorf("redis keys err:%v", err)
return
}
for _, k := range keys {
if err := this.Redis.Delete(k); err != nil {
log.Errorf("redis delete key err:%v", err)
}
}
}

View File

@ -181,7 +181,7 @@ func (x *DBSeasonPagoda) GetType() int32 {
}
// 爬塔数据明细
type DBPagodaRank struct {
type DBPagodaRecord struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@ -198,8 +198,8 @@ type DBPagodaRank struct {
CostTime int32 `protobuf:"varint,10,opt,name=costTime,proto3" json:"costTime" bson:"costTime"` //闯关耗时 单位s
}
func (x *DBPagodaRank) Reset() {
*x = DBPagodaRank{}
func (x *DBPagodaRecord) Reset() {
*x = DBPagodaRecord{}
if protoimpl.UnsafeEnabled {
mi := &file_pagoda_pagoda_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -207,13 +207,13 @@ func (x *DBPagodaRank) Reset() {
}
}
func (x *DBPagodaRank) String() string {
func (x *DBPagodaRecord) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBPagodaRank) ProtoMessage() {}
func (*DBPagodaRecord) ProtoMessage() {}
func (x *DBPagodaRank) ProtoReflect() protoreflect.Message {
func (x *DBPagodaRecord) ProtoReflect() protoreflect.Message {
mi := &file_pagoda_pagoda_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -225,75 +225,75 @@ func (x *DBPagodaRank) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use DBPagodaRank.ProtoReflect.Descriptor instead.
func (*DBPagodaRank) Descriptor() ([]byte, []int) {
// Deprecated: Use DBPagodaRecord.ProtoReflect.Descriptor instead.
func (*DBPagodaRecord) Descriptor() ([]byte, []int) {
return file_pagoda_pagoda_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBPagodaRank) GetId() string {
func (x *DBPagodaRecord) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBPagodaRank) GetUid() string {
func (x *DBPagodaRecord) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBPagodaRank) GetPagodaId() int32 {
func (x *DBPagodaRecord) GetPagodaId() int32 {
if x != nil {
return x.PagodaId
}
return 0
}
func (x *DBPagodaRank) GetType() int32 {
func (x *DBPagodaRecord) GetType() int32 {
if x != nil {
return x.Type
}
return 0
}
func (x *DBPagodaRank) GetNickname() string {
func (x *DBPagodaRecord) GetNickname() string {
if x != nil {
return x.Nickname
}
return ""
}
func (x *DBPagodaRank) GetIcon() string {
func (x *DBPagodaRecord) GetIcon() string {
if x != nil {
return x.Icon
}
return ""
}
func (x *DBPagodaRank) GetLv() int32 {
func (x *DBPagodaRecord) GetLv() int32 {
if x != nil {
return x.Lv
}
return 0
}
func (x *DBPagodaRank) GetLeadpos() int32 {
func (x *DBPagodaRecord) GetLeadpos() int32 {
if x != nil {
return x.Leadpos
}
return 0
}
func (x *DBPagodaRank) GetLine() []*LineUp {
func (x *DBPagodaRecord) GetLine() []*LineUp {
if x != nil {
return x.Line
}
return nil
}
func (x *DBPagodaRank) GetCostTime() int32 {
func (x *DBPagodaRecord) GetCostTime() int32 {
if x != nil {
return x.CostTime
}
@ -332,23 +332,23 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
0xf3, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79,
0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63,
0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x04,
0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69, 0x6e,
0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
0xf5, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x69, 0x63, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18,
0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b,
0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c,
0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63,
0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63,
0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -367,7 +367,7 @@ var file_pagoda_pagoda_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_pagoda_pagoda_db_proto_goTypes = []interface{}{
(*DBPagoda)(nil), // 0: DBPagoda
(*DBSeasonPagoda)(nil), // 1: DBSeasonPagoda
(*DBPagodaRank)(nil), // 2: DBPagodaRank
(*DBPagodaRecord)(nil), // 2: DBPagodaRecord
nil, // 3: DBPagoda.RewardEntry
nil, // 4: DBSeasonPagoda.RewardEntry
(*LineUp)(nil), // 5: LineUp
@ -375,7 +375,7 @@ var file_pagoda_pagoda_db_proto_goTypes = []interface{}{
var file_pagoda_pagoda_db_proto_depIdxs = []int32{
3, // 0: DBPagoda.reward:type_name -> DBPagoda.RewardEntry
4, // 1: DBSeasonPagoda.reward:type_name -> DBSeasonPagoda.RewardEntry
5, // 2: DBPagodaRank.line:type_name -> LineUp
5, // 2: DBPagodaRecord.line:type_name -> LineUp
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
@ -415,7 +415,7 @@ func file_pagoda_pagoda_db_proto_init() {
}
}
file_pagoda_pagoda_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBPagodaRank); i {
switch v := v.(*DBPagodaRecord); i {
case 0:
return &v.state
case 1:

View File

@ -492,7 +492,7 @@ type PagodaRankListResp struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ranks []*DBPagodaRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"`
Ranks []*DBPagodaRecord `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"`
}
func (x *PagodaRankListResp) Reset() {
@ -527,7 +527,7 @@ func (*PagodaRankListResp) Descriptor() ([]byte, []int) {
return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{9}
}
func (x *PagodaRankListResp) GetRanks() []*DBPagodaRank {
func (x *PagodaRankListResp) GetRanks() []*DBPagodaRecord {
if x != nil {
return x.Ranks
}
@ -579,12 +579,12 @@ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{
0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0x39, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64,
0x61, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a,
0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44,
0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e,
0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64,
0x61, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a,
0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44,
0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x05, 0x72,
0x61, 0x6e, 0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -614,7 +614,7 @@ var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{
(*DBPagoda)(nil), // 10: DBPagoda
(*BattleInfo)(nil), // 11: BattleInfo
(*BattleReport)(nil), // 12: BattleReport
(*DBPagodaRank)(nil), // 13: DBPagodaRank
(*DBPagodaRecord)(nil), // 13: DBPagodaRecord
}
var file_pagoda_pagoda_msg_proto_depIdxs = []int32{
10, // 0: PagodaGetListResp.data:type_name -> DBPagoda
@ -622,7 +622,7 @@ var file_pagoda_pagoda_msg_proto_depIdxs = []int32{
11, // 2: PagodaChallengeResp.info:type_name -> BattleInfo
12, // 3: PagodaChallengeOverReq.report:type_name -> BattleReport
10, // 4: PagodaChallengeOverResp.data:type_name -> DBPagoda
13, // 5: PagodaRankListResp.ranks:type_name -> DBPagodaRank
13, // 5: PagodaRankListResp.ranks:type_name -> DBPagodaRecord
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name

View File

@ -504,22 +504,131 @@ func (x *RtaskGetRewardResp) GetRtaskSubId() int32 {
return 0
}
// 开始战斗
type RtaskBattleStartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BattleConfId int32 `protobuf:"varint,1,opt,name=battleConfId,proto3" json:"battleConfId"` //战斗配表ID
Leadpos int32 `protobuf:"varint,3,opt,name=leadpos,proto3" json:"leadpos"` //队长位置
Teamids []string `protobuf:"bytes,4,rep,name=teamids,proto3" json:"teamids"` //阵容信息
}
func (x *RtaskBattleStartReq) Reset() {
*x = RtaskBattleStartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_rtask_rtask_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RtaskBattleStartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RtaskBattleStartReq) ProtoMessage() {}
func (x *RtaskBattleStartReq) ProtoReflect() protoreflect.Message {
mi := &file_rtask_rtask_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RtaskBattleStartReq.ProtoReflect.Descriptor instead.
func (*RtaskBattleStartReq) Descriptor() ([]byte, []int) {
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{9}
}
func (x *RtaskBattleStartReq) GetBattleConfId() int32 {
if x != nil {
return x.BattleConfId
}
return 0
}
func (x *RtaskBattleStartReq) GetLeadpos() int32 {
if x != nil {
return x.Leadpos
}
return 0
}
func (x *RtaskBattleStartReq) GetTeamids() []string {
if x != nil {
return x.Teamids
}
return nil
}
type RtaskBattleStartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` //战斗信息
}
func (x *RtaskBattleStartResp) Reset() {
*x = RtaskBattleStartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_rtask_rtask_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RtaskBattleStartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RtaskBattleStartResp) ProtoMessage() {}
func (x *RtaskBattleStartResp) ProtoReflect() protoreflect.Message {
mi := &file_rtask_rtask_msg_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RtaskBattleStartResp.ProtoReflect.Descriptor instead.
func (*RtaskBattleStartResp) Descriptor() ([]byte, []int) {
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{10}
}
func (x *RtaskBattleStartResp) GetInfo() *BattleInfo {
if x != nil {
return x.Info
}
return nil
}
// 战斗完成
type RtaskBattleFinishReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
ChooseId int32 `protobuf:"varint,2,opt,name=chooseId,proto3" json:"chooseId"` //选项配置ID
RtaskSubId int32 `protobuf:"varint,3,opt,name=rtaskSubId,proto3" json:"rtaskSubId"` //支线任务ID
Result int32 `protobuf:"varint,4,opt,name=result,proto3" json:"result"`
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
Report *BattleReport `protobuf:"bytes,4,opt,name=report,proto3" json:"report"` //战报
}
func (x *RtaskBattleFinishReq) Reset() {
*x = RtaskBattleFinishReq{}
if protoimpl.UnsafeEnabled {
mi := &file_rtask_rtask_msg_proto_msgTypes[9]
mi := &file_rtask_rtask_msg_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -532,7 +641,7 @@ func (x *RtaskBattleFinishReq) String() string {
func (*RtaskBattleFinishReq) ProtoMessage() {}
func (x *RtaskBattleFinishReq) ProtoReflect() protoreflect.Message {
mi := &file_rtask_rtask_msg_proto_msgTypes[9]
mi := &file_rtask_rtask_msg_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -545,7 +654,7 @@ func (x *RtaskBattleFinishReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RtaskBattleFinishReq.ProtoReflect.Descriptor instead.
func (*RtaskBattleFinishReq) Descriptor() ([]byte, []int) {
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{9}
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{11}
}
func (x *RtaskBattleFinishReq) GetRtaskId() int32 {
@ -555,25 +664,11 @@ func (x *RtaskBattleFinishReq) GetRtaskId() int32 {
return 0
}
func (x *RtaskBattleFinishReq) GetChooseId() int32 {
func (x *RtaskBattleFinishReq) GetReport() *BattleReport {
if x != nil {
return x.ChooseId
return x.Report
}
return 0
}
func (x *RtaskBattleFinishReq) GetRtaskSubId() int32 {
if x != nil {
return x.RtaskSubId
}
return 0
}
func (x *RtaskBattleFinishReq) GetResult() int32 {
if x != nil {
return x.Result
}
return 0
return nil
}
type RtaskBattleFinishResp struct {
@ -581,14 +676,14 @@ type RtaskBattleFinishResp struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Bid int32 `protobuf:"varint,1,opt,name=bid,proto3" json:"bid"` //战斗配置ID
RtaskId int32 `protobuf:"varint,2,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
RtaskId int32 `protobuf:"varint,1,opt,name=rtaskId,proto3" json:"rtaskId"` //任务ID
IsWin bool `protobuf:"varint,2,opt,name=isWin,proto3" json:"isWin"` //战斗结果
}
func (x *RtaskBattleFinishResp) Reset() {
*x = RtaskBattleFinishResp{}
if protoimpl.UnsafeEnabled {
mi := &file_rtask_rtask_msg_proto_msgTypes[10]
mi := &file_rtask_rtask_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -601,7 +696,7 @@ func (x *RtaskBattleFinishResp) String() string {
func (*RtaskBattleFinishResp) ProtoMessage() {}
func (x *RtaskBattleFinishResp) ProtoReflect() protoreflect.Message {
mi := &file_rtask_rtask_msg_proto_msgTypes[10]
mi := &file_rtask_rtask_msg_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -614,14 +709,7 @@ func (x *RtaskBattleFinishResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RtaskBattleFinishResp.ProtoReflect.Descriptor instead.
func (*RtaskBattleFinishResp) Descriptor() ([]byte, []int) {
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{10}
}
func (x *RtaskBattleFinishResp) GetBid() int32 {
if x != nil {
return x.Bid
}
return 0
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{12}
}
func (x *RtaskBattleFinishResp) GetRtaskId() int32 {
@ -631,6 +719,13 @@ func (x *RtaskBattleFinishResp) GetRtaskId() int32 {
return 0
}
func (x *RtaskBattleFinishResp) GetIsWin() bool {
if x != nil {
return x.IsWin
}
return false
}
// 测试使用
type RtaskTestReq struct {
state protoimpl.MessageState
@ -645,7 +740,7 @@ type RtaskTestReq struct {
func (x *RtaskTestReq) Reset() {
*x = RtaskTestReq{}
if protoimpl.UnsafeEnabled {
mi := &file_rtask_rtask_msg_proto_msgTypes[11]
mi := &file_rtask_rtask_msg_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -658,7 +753,7 @@ func (x *RtaskTestReq) String() string {
func (*RtaskTestReq) ProtoMessage() {}
func (x *RtaskTestReq) ProtoReflect() protoreflect.Message {
mi := &file_rtask_rtask_msg_proto_msgTypes[11]
mi := &file_rtask_rtask_msg_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -671,7 +766,7 @@ func (x *RtaskTestReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RtaskTestReq.ProtoReflect.Descriptor instead.
func (*RtaskTestReq) Descriptor() ([]byte, []int) {
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{11}
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{13}
}
func (x *RtaskTestReq) GetRtaskType() int32 {
@ -706,7 +801,7 @@ type RtaskTestResp struct {
func (x *RtaskTestResp) Reset() {
*x = RtaskTestResp{}
if protoimpl.UnsafeEnabled {
mi := &file_rtask_rtask_msg_proto_msgTypes[12]
mi := &file_rtask_rtask_msg_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -719,7 +814,7 @@ func (x *RtaskTestResp) String() string {
func (*RtaskTestResp) ProtoMessage() {}
func (x *RtaskTestResp) ProtoReflect() protoreflect.Message {
mi := &file_rtask_rtask_msg_proto_msgTypes[12]
mi := &file_rtask_rtask_msg_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -732,7 +827,7 @@ func (x *RtaskTestResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RtaskTestResp.ProtoReflect.Descriptor instead.
func (*RtaskTestResp) Descriptor() ([]byte, []int) {
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{12}
return file_rtask_rtask_msg_proto_rawDescGZIP(), []int{14}
}
func (x *RtaskTestResp) GetFlag() bool {
@ -746,68 +841,77 @@ var File_rtask_rtask_msg_proto protoreflect.FileDescriptor
var file_rtask_rtask_msg_proto_rawDesc = []byte{
0x0a, 0x15, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x73,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b,
0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62,
0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x70, 0x70, 0x6c, 0x79,
0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x28,
0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18,
0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73,
0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x74, 0x61,
0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x74, 0x61,
0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x66, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68,
0x6f, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49,
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a,
0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x67, 0x0a,
0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f,
0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x49, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0e, 0x52,
0x74, 0x61, 0x73, 0x6b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b,
0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x64, 0x22, 0x2b, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x66,
0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71,
0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68,
0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68,
0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53,
0x75, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73,
0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61,
0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43,
0x68, 0x6f, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61,
0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62,
0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65,
0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62,
0x49, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74,
0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12,
0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22,
0x2b, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x75,
0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x11,
0x52, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52,
0x74, 0x61, 0x73, 0x6b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x13, 0x52,
0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52,
0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f,
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73,
0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, 0x22, 0x37, 0x0a, 0x14, 0x52, 0x74,
0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x22, 0x57, 0x0a, 0x14, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x72,
0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74,
0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x49,
0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x62, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x43, 0x0a, 0x15, 0x52, 0x74, 0x61,
0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65,
0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x62, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5e,
0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c,
0x0a, 0x09, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x09, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x49, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x49, 0x64, 0x22, 0x23,
0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66,
0x6c, 0x61, 0x67, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65,
0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x47, 0x0a, 0x15,
0x52, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
0x14, 0x0a, 0x05, 0x69, 0x73, 0x57, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
0x69, 0x73, 0x57, 0x69, 0x6e, 0x22, 0x5e, 0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x54,
0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20,
0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63,
0x6f, 0x6e, 0x64, 0x69, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f,
0x6e, 0x64, 0x69, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01,
0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -822,7 +926,7 @@ func file_rtask_rtask_msg_proto_rawDescGZIP() []byte {
return file_rtask_rtask_msg_proto_rawDescData
}
var file_rtask_rtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_rtask_rtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_rtask_rtask_msg_proto_goTypes = []interface{}{
(*RtaskApplyReq)(nil), // 0: RtaskApplyReq
(*RtaskApplyResp)(nil), // 1: RtaskApplyResp
@ -833,17 +937,23 @@ var file_rtask_rtask_msg_proto_goTypes = []interface{}{
(*RtaskFinishPush)(nil), // 6: RtaskFinishPush
(*RtaskGetRewardReq)(nil), // 7: RtaskGetRewardReq
(*RtaskGetRewardResp)(nil), // 8: RtaskGetRewardResp
(*RtaskBattleFinishReq)(nil), // 9: RtaskBattleFinishReq
(*RtaskBattleFinishResp)(nil), // 10: RtaskBattleFinishResp
(*RtaskTestReq)(nil), // 11: RtaskTestReq
(*RtaskTestResp)(nil), // 12: RtaskTestResp
(*RtaskBattleStartReq)(nil), // 9: RtaskBattleStartReq
(*RtaskBattleStartResp)(nil), // 10: RtaskBattleStartResp
(*RtaskBattleFinishReq)(nil), // 11: RtaskBattleFinishReq
(*RtaskBattleFinishResp)(nil), // 12: RtaskBattleFinishResp
(*RtaskTestReq)(nil), // 13: RtaskTestReq
(*RtaskTestResp)(nil), // 14: RtaskTestResp
(*BattleInfo)(nil), // 15: BattleInfo
(*BattleReport)(nil), // 16: BattleReport
}
var file_rtask_rtask_msg_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
0, // [0:0] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
15, // 0: RtaskBattleStartResp.info:type_name -> BattleInfo
16, // 1: RtaskBattleFinishReq.report:type_name -> BattleReport
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_rtask_rtask_msg_proto_init() }
@ -851,6 +961,7 @@ func file_rtask_rtask_msg_proto_init() {
if File_rtask_rtask_msg_proto != nil {
return
}
file_battle_battle_msg_proto_init()
if !protoimpl.UnsafeEnabled {
file_rtask_rtask_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskApplyReq); i {
@ -961,7 +1072,7 @@ func file_rtask_rtask_msg_proto_init() {
}
}
file_rtask_rtask_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskBattleFinishReq); i {
switch v := v.(*RtaskBattleStartReq); i {
case 0:
return &v.state
case 1:
@ -973,7 +1084,7 @@ func file_rtask_rtask_msg_proto_init() {
}
}
file_rtask_rtask_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskBattleFinishResp); i {
switch v := v.(*RtaskBattleStartResp); i {
case 0:
return &v.state
case 1:
@ -985,7 +1096,7 @@ func file_rtask_rtask_msg_proto_init() {
}
}
file_rtask_rtask_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskTestReq); i {
switch v := v.(*RtaskBattleFinishReq); i {
case 0:
return &v.state
case 1:
@ -997,6 +1108,30 @@ func file_rtask_rtask_msg_proto_init() {
}
}
file_rtask_rtask_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskBattleFinishResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rtask_rtask_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskTestReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rtask_rtask_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskTestResp); i {
case 0:
return &v.state
@ -1015,7 +1150,7 @@ func file_rtask_rtask_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rtask_rtask_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 13,
NumMessages: 15,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -390,6 +390,7 @@ type DBUserExpand struct {
MoonfantasyLastTrigger int64 `protobuf:"varint,18,opt,name=moonfantasyLastTrigger,proto3" json:"moonfantasyLastTrigger" bson:"moonfantasyTriggerlast"` // 月之秘境最后触发时间
LoginAddCount int32 `protobuf:"varint,19,opt,name=loginAddCount,proto3" json:"loginAddCount"` //@go_tasgs(`bson:"loginAddCount"`) 累计登录天数
LoginContinueCount int32 `protobuf:"varint,20,opt,name=loginContinueCount,proto3" json:"loginContinueCount"` //@go_tasgs(`bson:"loginContinueCount"`) 连续登录天数
CompletePagoda bool `protobuf:"varint,21,opt,name=completePagoda,proto3" json:"completePagoda" bson:"completePagoda"` //通关普通塔
}
func (x *DBUserExpand) Reset() {
@ -564,6 +565,13 @@ func (x *DBUserExpand) GetLoginContinueCount() int32 {
return 0
}
func (x *DBUserExpand) GetCompletePagoda() bool {
if x != nil {
return x.CompletePagoda
}
return false
}
var File_userexpand_proto protoreflect.FileDescriptor
var file_userexpand_proto_rawDesc = []byte{
@ -592,7 +600,7 @@ var file_userexpand_proto_rawDesc = []byte{
0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x2b, 0x0a, 0x0a, 0x63, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x78, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x78, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x07, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65,
0x6c, 0x65, 0x78, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x07, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65,
0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73,
@ -641,16 +649,19 @@ var file_userexpand_proto_rawDesc = []byte{
0x6e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6c, 0x6f, 0x67,
0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
0x69, 0x6e, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x75, 0x6a,
0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72,
0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x69, 0x6e, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x67, 0x6f, 0x64,
0x61, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x0f,
0x50, 0x72, 0x65, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x07, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -19,7 +19,6 @@ type GameMainlineData struct {
Order int32
Linearnum int32
Chapter int32
Route int32
Episodetype int32
Episodelocation serialization.Vector2
Model string
@ -49,7 +48,6 @@ func (_v *GameMainlineData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["order"].(float64); !_ok_ { err = errors.New("order error"); return }; _v.Order = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["linearnum"].(float64); !_ok_ { err = errors.New("linearnum error"); return }; _v.Linearnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chapter"].(float64); !_ok_ { err = errors.New("chapter error"); return }; _v.Chapter = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["route"].(float64); !_ok_ { err = errors.New("route error"); return }; _v.Route = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Episodetype"].(float64); !_ok_ { err = errors.New("Episodetype error"); return }; _v.Episodetype = int32(_tempNum_) }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["Episodelocation"].(map[string]interface{}); !_ok_ { err = errors.New("Episodelocation error"); return }
var _x_, _y_ float32;

View File

@ -13,17 +13,10 @@ import "errors"
type GameRDMainlineData struct {
Id int32
Episodetype int32
Model string
Effect string
FormatList []int32
CaptainId string
Battlescene string
Sceneeffect string
Award []*Gameatn
Title string
Desc string
Stroyid []int32
Condition []int32
}
const TypeId_GameRDMainlineData = -1625502939
@ -35,8 +28,6 @@ func (*GameRDMainlineData) GetTypeId() int32 {
func (_v *GameRDMainlineData)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["Episodetype"].(float64); !_ok_ { err = errors.New("Episodetype error"); return }; _v.Episodetype = int32(_tempNum_) }
{ var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } }
{ var _ok_ bool; if _v.Effect, _ok_ = _buf["effect"].(string); !_ok_ { err = errors.New("effect error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
@ -54,50 +45,6 @@ func (_v *GameRDMainlineData)Deserialize(_buf map[string]interface{}) (err error
{ var _ok_ bool; if _v.CaptainId, _ok_ = _buf["captainId"].(string); !_ok_ { err = errors.New("captainId error"); return } }
{ var _ok_ bool; if _v.Battlescene, _ok_ = _buf["battlescene"].(string); !_ok_ { err = errors.New("battlescene error"); return } }
{ var _ok_ bool; if _v.Sceneeffect, _ok_ = _buf["sceneeffect"].(string); !_ok_ { err = errors.New("sceneeffect error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["award"].([]interface{}); !_ok_ { err = errors.New("award error"); return }
_v.Award = 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.Award = append(_v.Award, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["title"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Title error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Title, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["desc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["stroyid"].([]interface{}); !_ok_ { err = errors.New("stroyid error"); return }
_v.Stroyid = 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.Stroyid = append(_v.Stroyid, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["condition"].([]interface{}); !_ok_ { err = errors.New("condition error"); return }
_v.Condition = 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.Condition = append(_v.Condition, _list_v_)
}
}
return
}

View File

@ -22,8 +22,8 @@ type GameItemData struct {
Effects string
BoxId int32
SynthetizeNum int32
Access string
UseSkip string
Access []int32
UseSkip int32
UpperLimit int32
Uselv int32
Isani int32
@ -55,8 +55,21 @@ func (_v *GameItemData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["box_id"].(float64); !_ok_ { err = errors.New("box_id error"); return }; _v.BoxId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["synthetize_num"].(float64); !_ok_ { err = errors.New("synthetize_num error"); return }; _v.SynthetizeNum = int32(_tempNum_) }
{ var _ok_ bool; if _v.Access, _ok_ = _buf["access"].(string); !_ok_ { err = errors.New("access error"); return } }
{ var _ok_ bool; if _v.UseSkip, _ok_ = _buf["use_skip"].(string); !_ok_ { err = errors.New("use_skip error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["access"].([]interface{}); !_ok_ { err = errors.New("access error"); return }
_v.Access = 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.Access = append(_v.Access, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["use_skip"].(float64); !_ok_ { err = errors.New("use_skip error"); return }; _v.UseSkip = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["upper_limit"].(float64); !_ok_ { err = errors.New("upper_limit error"); return }; _v.UpperLimit = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["uselv"].(float64); !_ok_ { err = errors.New("uselv error"); return }; _v.Uselv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["isani"].(float64); !_ok_ { err = errors.New("isani error"); return }; _v.Isani = int32(_tempNum_) }
@ -93,7 +106,7 @@ func (_v *GameItemData)Deserialize(_buf map[string]interface{}) (err error) {
}
}
{ var _ok_ bool; if _v.Tipstxt, _ok_ = _buf["tipstxt"].(string); !_ok_ { err = errors.New("tipstxt error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["tipstxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Tipstxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Tipstxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}

View File

@ -64,7 +64,7 @@ func (_v *GamePagodaData)Deserialize(_buf map[string]interface{}) (err error) {
}
{ var _ok_ bool; if _v.FightScene, _ok_ = _buf["fight_scene"].(string); !_ok_ { err = errors.New("fight_scene error"); return } }
{ var _ok_ bool; if _v.NameDisplay, _ok_ = _buf["name_display"].(string); !_ok_ { err = errors.New("name_display error"); return } }
{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
}

View File

@ -32,8 +32,8 @@ func (*GameShopData) GetTypeId() int32 {
func (_v *GameShopData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["shopid"].(float64); !_ok_ { err = errors.New("shopid error"); return }; _v.Shopid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tab"].(float64); !_ok_ { err = errors.New("tab error"); return }; _v.Tab = int32(_tempNum_) }
{ var _ok_ bool; if _v.Shopname, _ok_ = _buf["shopname"].(string); !_ok_ { err = errors.New("shopname error"); return } }
{ var _ok_ bool; if _v.UpperShop, _ok_ = _buf["upper_shop"].(string); !_ok_ { err = errors.New("upper_shop error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["shopname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Shopname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Shopname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["upper_shop"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.UpperShop error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.UpperShop, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool

View File

@ -35,7 +35,7 @@ func (_v *GameTaskRoundData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id_list"].(float64); !_ok_ { err = errors.New("id_list error"); return }; _v.IdList = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id_tag"].(float64); !_ok_ { err = errors.New("id_tag error"); return }; _v.IdTag = int32(_tempNum_) }
{ var _ok_ bool; if _v.TaskDisplay, _ok_ = _buf["task_display"].(string); !_ok_ { err = errors.New("task_display error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_display"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskDisplay error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskDisplay, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type_id"].(float64); !_ok_ { err = errors.New("type_id error"); return }; _v.TypeId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["condition_second"].(float64); !_ok_ { err = errors.New("condition_second error"); return }; _v.ConditionSecond = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["restrictive_condition"].(float64); !_ok_ { err = errors.New("restrictive_condition error"); return }; _v.RestrictiveCondition = int32(_tempNum_) }

View File

@ -1,7 +1,6 @@
package db
import (
"context"
"time"
)
@ -35,7 +34,7 @@ func OnInit(config map[string]interface{}, option ...Option) (err error) {
}
defsys, err = newSys(options)
defsys.Local().Redis.GetClient().FlushAll(context.TODO())
// defsys.Local().Redis.GetClient().FlushAll(context.TODO())
return
}