This commit is contained in:
wh_zcy 2023-05-29 15:23:52 +08:00
commit 982697ea1c
89 changed files with 8717 additions and 20022 deletions

View File

@ -6,7 +6,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
],
@ -20,7 +20,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 2
}
],
@ -34,7 +34,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 3
}
],
@ -48,7 +48,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 4
}
],

View File

@ -1,102 +0,0 @@
[
{
"num": 1,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 20
}
]
},
{
"num": 2,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 30
}
]
},
{
"num": 3,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 30
}
]
},
{
"num": 4,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 50
}
]
},
{
"num": 5,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 50
}
]
},
{
"num": 6,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 50
}
]
},
{
"num": 7,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
{
"num": 8,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 150
}
]
},
{
"num": 9,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 200
}
]
},
{
"num": 10,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 250
}
]
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -54,7 +54,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
},
{

View File

@ -8,7 +8,7 @@
"cityticket": [
{
"a": "item",
"t": "141002",
"t": "10000005",
"n": 1
}
],
@ -60,7 +60,7 @@
"cityticket": [
{
"a": "item",
"t": "141002",
"t": "10000005",
"n": 1
}
],
@ -113,7 +113,7 @@
"cityticket": [
{
"a": "item",
"t": "141002",
"t": "10000005",
"n": 1
}
],
@ -166,7 +166,7 @@
"cityticket": [
{
"a": "item",
"t": "141002",
"t": "10000005",
"n": 1
}
],
@ -218,7 +218,7 @@
"cityticket": [
{
"a": "item",
"t": "141002",
"t": "10000005",
"n": 1
}
],

View File

@ -6,7 +6,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 40
},
"moneynumtop": {
@ -25,7 +25,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 45
},
"moneynumtop": {
@ -50,7 +50,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 50
},
"moneynumtop": {
@ -75,7 +75,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 55
},
"moneynumtop": {
@ -100,7 +100,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 60
},
"moneynumtop": {
@ -125,7 +125,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 65
},
"moneynumtop": {
@ -150,7 +150,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 70
},
"moneynumtop": {
@ -175,7 +175,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 75
},
"moneynumtop": {
@ -200,7 +200,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 80
},
"moneynumtop": {
@ -225,7 +225,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 85
},
"moneynumtop": {
@ -250,7 +250,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 90
},
"moneynumtop": {
@ -275,7 +275,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 95
},
"moneynumtop": {
@ -300,7 +300,7 @@
"bagtagnum": 100,
"tickettop": {
"a": "item",
"t": "141002",
"t": "10000005",
"n": 100
},
"moneynumtop": {

View File

@ -1,33 +0,0 @@
[
{
"id": 1001,
"eventtype": 1,
"mustdo": 1,
"citystory": 101,
"citynormal": 102,
"cityabnormal": 103,
"worldtask": 210,
"traintips": {
"key": "caravan_caravan_event_traintips_1",
"text": "列车上来了外人,这个人看上去有很急切的事情,我们必须先解决这个再离开这里。"
},
"trainstory": 888,
"trainstorybad": 777,
"trainstorygood": 888,
"reword": [
{
"a": "item",
"t": "141001",
"n": 10
}
],
"exreword": [
10001
],
"unreword": [
1,
40
],
"eventtime": 500
}
]

View File

@ -5,7 +5,7 @@
"type": 1,
"datatype": 0,
"text": {
"key": "chat_expression_text_1",
"key": "chat_system_text_1",
"text": "<font color=#ff3f3f>【system】</font> Good afternoon !"
},
"data": 0,
@ -28,7 +28,7 @@
"type": 1,
"datatype": 0,
"text": {
"key": "chat_expression_text_2",
"key": "chat_system_text_2",
"text": "<font color=#ff3f3f>【system】</font> Good afternoon !"
},
"data": 0,
@ -49,7 +49,7 @@
"type": 1,
"datatype": 0,
"text": {
"key": "chat_expression_text_3",
"key": "chat_system_text_3",
"text": "<font color=#ff3f3f>【system】</font> Good afternoon !"
},
"data": 0,
@ -70,7 +70,7 @@
"type": 2,
"datatype": 0,
"text": {
"key": "chat_expression_text_4",
"key": "chat_system_text_4",
"text": "<font color=#ff3f3f>【system】</font> Welcome Dream Works !"
},
"data": 0,
@ -85,7 +85,7 @@
"type": 3,
"datatype": 2,
"text": {
"key": "chat_expression_text_5",
"key": "chat_system_text_5",
"text": "<font color=#ffc73f>【hearsay】%v</font> through unremitting efforts, the %vhas been strengthened to level 13!"
},
"data": 13,
@ -100,7 +100,7 @@
"type": 3,
"datatype": 2,
"text": {
"key": "chat_expression_text_6",
"key": "chat_system_text_6",
"text": "<font color=#ffc73f>【hearsay】%v</font> through unremitting efforts, the %vhas been strengthened to level 14!"
},
"data": 14,
@ -115,7 +115,7 @@
"type": 3,
"datatype": 2,
"text": {
"key": "chat_expression_text_7",
"key": "chat_system_text_7",
"text": "<font color=#ffc73f>【hearsay】%v</font> through unremitting efforts, the %vhas been strengthened to level 15!"
},
"data": 15,
@ -130,7 +130,7 @@
"type": 4,
"datatype": 1,
"text": {
"key": "chat_expression_text_8",
"key": "chat_system_text_8",
"text": "<font color=#ffc73f>【hearsay】%v</font> breakthrough 100 floors of the tower!"
},
"data": 100,
@ -145,7 +145,7 @@
"type": 5,
"datatype": 0,
"text": {
"key": "chat_expression_text_9",
"key": "chat_system_text_9",
"text": "服务器即将维护,请及时下线避免数据丢失!"
},
"data": 5,
@ -160,7 +160,7 @@
"type": 6,
"datatype": 1,
"text": {
"key": "chat_expression_text_10",
"key": "chat_system_text_10",
"text": "【传闻】%v通关了赛季塔50层"
},
"data": 50,
@ -175,7 +175,7 @@
"type": 7,
"datatype": 3,
"text": {
"key": "chat_expression_text_11",
"key": "chat_system_text_11",
"text": "【传闻】%v已经%v培养至60级"
},
"data": 60,
@ -190,7 +190,7 @@
"type": 8,
"datatype": 3,
"text": {
"key": "chat_expression_text_12",
"key": "chat_system_text_12",
"text": "【传闻】%v已经%v培养至6星"
},
"data": 5,
@ -205,7 +205,7 @@
"type": 9,
"datatype": 3,
"text": {
"key": "chat_expression_text_13",
"key": "chat_system_text_13",
"text": "【传闻】%v已经%v技能培养至满级"
},
"data": 5,
@ -220,7 +220,7 @@
"type": 10,
"datatype": 3,
"text": {
"key": "chat_expression_text_14",
"key": "chat_system_text_14",
"text": "【传闻】%v已经%v共鸣至满级"
},
"data": 5,
@ -235,7 +235,7 @@
"type": 11,
"datatype": 3,
"text": {
"key": "chat_expression_text_15",
"key": "chat_system_text_15",
"text": "【传闻】%v已经%v觉醒至满级"
},
"data": 5,
@ -250,7 +250,7 @@
"type": 12,
"datatype": 1,
"text": {
"key": "chat_expression_text_16",
"key": "chat_system_text_16",
"text": "【传闻】%v已经达到了60级!"
},
"data": 60,
@ -265,7 +265,7 @@
"type": 13,
"datatype": 3,
"text": {
"key": "chat_expression_text_17",
"key": "chat_system_text_17",
"text": "【传闻】%v在招募中获得了v%!"
},
"data": 5,
@ -280,7 +280,7 @@
"type": 14,
"datatype": 1,
"text": {
"key": "chat_expression_text_18",
"key": "chat_system_text_18",
"text": "【传闻】%v通关了维京远征火焰泰坦难度10"
},
"data": 10,
@ -295,7 +295,7 @@
"type": 14,
"datatype": 1,
"text": {
"key": "chat_expression_text_19",
"key": "chat_system_text_19",
"text": "【传闻】%v通关了维京远征冰霜泰坦难度10"
},
"data": 10,
@ -310,7 +310,7 @@
"type": 14,
"datatype": 1,
"text": {
"key": "chat_expression_text_20",
"key": "chat_system_text_20",
"text": "【传闻】%v通关了维京远征森林泰坦难度10"
},
"data": 10,
@ -325,7 +325,7 @@
"type": 14,
"datatype": 1,
"text": {
"key": "chat_expression_text_21",
"key": "chat_system_text_21",
"text": "【传闻】%v通关了维京远征冰霜泰坦武器难度10"
},
"data": 10,
@ -340,7 +340,7 @@
"type": 14,
"datatype": 1,
"text": {
"key": "chat_expression_text_22",
"key": "chat_system_text_22",
"text": "【传闻】%v通关了维京远征森林泰坦饰品难度10"
},
"data": 10,
@ -355,7 +355,7 @@
"type": 15,
"datatype": 1,
"text": {
"key": "chat_expression_text_23",
"key": "chat_system_text_23",
"text": "【传闻】%v通关了狩猎巨型猩猩难度10"
},
"data": 10,
@ -370,7 +370,7 @@
"type": 15,
"datatype": 1,
"text": {
"key": "chat_expression_text_24",
"key": "chat_system_text_24",
"text": "【传闻】%v通关了狩猎火龙难度10"
},
"data": 10,
@ -385,7 +385,7 @@
"type": 15,
"datatype": 1,
"text": {
"key": "chat_expression_text_25",
"key": "chat_system_text_25",
"text": "【传闻】%v通关了狩猎大厨难度10"
},
"data": 10,
@ -400,7 +400,7 @@
"type": 15,
"datatype": 1,
"text": {
"key": "chat_expression_text_26",
"key": "chat_system_text_26",
"text": "【传闻】%v通关了狩猎太空海星难度10"
},
"data": 10,

View File

@ -17,7 +17,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -29,7 +29,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -55,7 +55,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -67,7 +67,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -93,7 +93,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -105,7 +105,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -131,7 +131,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -143,7 +143,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -169,7 +169,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -181,7 +181,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -207,7 +207,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -219,7 +219,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -245,7 +245,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -257,7 +257,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -283,7 +283,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -295,7 +295,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -321,7 +321,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -333,7 +333,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -359,7 +359,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -371,7 +371,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],

View File

@ -26,7 +26,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -70,7 +70,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],

View File

@ -8,7 +8,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 166,
"tasktime": 132,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_1",
"text": "这是属于阿宝的专属委托"
@ -56,7 +56,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 142,
"tasktime": 152,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_2",
"text": "这是属于波比的专属委托"
@ -104,7 +104,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 170,
"tasktime": 175,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_3",
"text": "这是属于悍娇虎的专属委托"
@ -152,7 +152,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 88,
"tasktime": 130,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_4",
"text": "这是属于师父的专属委托"
@ -200,7 +200,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 96,
"tasktime": 89,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_5",
"text": "这是属于阿宝的专属委托"
@ -248,7 +248,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 104,
"tasktime": 72,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_6",
"text": "这是属于波比的专属委托"
@ -296,7 +296,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 102,
"tasktime": 173,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_7",
"text": "这是属于悍娇虎的专属委托"
@ -344,7 +344,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 84,
"tasktime": 106,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_8",
"text": "这是属于师父的专属委托"
@ -392,7 +392,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 131,
"tasktime": 81,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_9",
"text": "这是属于阿宝的专属委托"
@ -440,7 +440,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 164,
"tasktime": 157,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_10",
"text": "这是属于波比的专属委托"
@ -488,7 +488,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 112,
"tasktime": 115,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_11",
"text": "这是属于悍娇虎的专属委托"
@ -536,7 +536,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 135,
"tasktime": 158,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_12",
"text": "这是属于师父的专属委托"
@ -584,7 +584,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 68,
"tasktime": 100,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_13",
"text": "这是属于阿宝的专属委托"
@ -632,7 +632,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 163,
"tasktime": 152,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_14",
"text": "这是属于波比的专属委托"
@ -680,7 +680,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 159,
"tasktime": 100,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_15",
"text": "这是属于悍娇虎的专属委托"
@ -728,7 +728,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 60,
"tasktime": 177,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_16",
"text": "这是属于师父的专属委托"
@ -776,7 +776,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 100,
"tasktime": 68,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_17",
"text": "这是属于阿宝的专属委托"
@ -824,7 +824,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 123,
"tasktime": 124,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_18",
"text": "这是属于波比的专属委托"
@ -872,7 +872,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 104,
"tasktime": 118,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_19",
"text": "这是属于悍娇虎的专属委托"
@ -920,7 +920,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 110,
"tasktime": 163,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_20",
"text": "这是属于师父的专属委托"
@ -968,7 +968,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 150,
"tasktime": 67,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_21",
"text": "这是属于阿宝的专属委托"
@ -1016,7 +1016,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 164,
"tasktime": 65,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_22",
"text": "这是属于波比的专属委托"
@ -1064,7 +1064,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 63,
"tasktime": 86,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_23",
"text": "这是属于悍娇虎的专属委托"
@ -1112,7 +1112,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 76,
"tasktime": 73,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_24",
"text": "这是属于师父的专属委托"
@ -1160,7 +1160,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 130,
"tasktime": 61,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_25",
"text": "这是属于阿宝的专属委托"
@ -1208,7 +1208,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 71,
"tasktime": 75,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_26",
"text": "这是属于波比的专属委托"
@ -1256,7 +1256,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 101,
"tasktime": 172,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_27",
"text": "这是属于悍娇虎的专属委托"
@ -1304,7 +1304,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 94,
"tasktime": 140,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_28",
"text": "这是属于师父的专属委托"
@ -1352,7 +1352,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 168,
"tasktime": 80,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_29",
"text": "这是属于阿宝的专属委托"
@ -1400,7 +1400,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 83,
"tasktime": 85,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_30",
"text": "这是属于波比的专属委托"
@ -1448,7 +1448,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 109,
"tasktime": 112,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_31",
"text": "这是属于悍娇虎的专属委托"
@ -1496,7 +1496,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 63,
"tasktime": 151,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_32",
"text": "这是属于师父的专属委托"
@ -1544,7 +1544,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 137,
"tasktime": 88,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_33",
"text": "这是属于阿宝的专属委托"
@ -1592,7 +1592,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 68,
"tasktime": 111,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_34",
"text": "这是属于波比的专属委托"
@ -1640,7 +1640,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 153,
"tasktime": 64,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_35",
"text": "这是属于悍娇虎的专属委托"
@ -1688,7 +1688,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 113,
"tasktime": 117,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_36",
"text": "这是属于师父的专属委托"
@ -1736,7 +1736,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 170,
"tasktime": 142,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_37",
"text": "这是属于阿宝的专属委托"
@ -1784,7 +1784,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 133,
"tasktime": 87,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_38",
"text": "这是属于波比的专属委托"
@ -1832,7 +1832,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 126,
"tasktime": 178,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_39",
"text": "这是属于悍娇虎的专属委托"
@ -1880,7 +1880,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 103,
"tasktime": 76,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_40",
"text": "这是属于师父的专属委托"
@ -1928,7 +1928,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 62,
"tasktime": 105,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_41",
"text": "这是属于阿宝的专属委托"
@ -1976,7 +1976,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 170,
"tasktime": 60,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_42",
"text": "这是属于波比的专属委托"
@ -2024,7 +2024,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 138,
"tasktime": 63,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_43",
"text": "这是属于悍娇虎的专属委托"
@ -2072,7 +2072,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 158,
"tasktime": 92,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_44",
"text": "这是属于师父的专属委托"
@ -2120,7 +2120,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 152,
"tasktime": 100,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_45",
"text": "这是属于阿宝的专属委托"
@ -2168,7 +2168,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 117,
"tasktime": 109,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_46",
"text": "这是属于波比的专属委托"
@ -2216,7 +2216,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 79,
"tasktime": 96,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_47",
"text": "这是属于悍娇虎的专属委托"
@ -2264,7 +2264,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 167,
"tasktime": 141,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_48",
"text": "这是属于师父的专属委托"
@ -2312,7 +2312,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 154,
"tasktime": 167,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_49",
"text": "这是属于阿宝的专属委托"
@ -2360,7 +2360,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 75,
"tasktime": 162,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_50",
"text": "这是属于波比的专属委托"
@ -2408,7 +2408,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 115,
"tasktime": 89,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_51",
"text": "这是属于悍娇虎的专属委托"
@ -2456,7 +2456,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 145,
"tasktime": 159,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_52",
"text": "这是属于师父的专属委托"
@ -2552,7 +2552,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 97,
"tasktime": 122,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_54",
"text": "这是属于波比的专属委托"
@ -2600,7 +2600,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 100,
"tasktime": 67,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_55",
"text": "这是属于悍娇虎的专属委托"
@ -2648,7 +2648,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 127,
"tasktime": 88,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_56",
"text": "这是属于师父的专属委托"
@ -2696,7 +2696,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 153,
"tasktime": 103,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_57",
"text": "这是属于阿宝的专属委托"
@ -2744,7 +2744,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 173,
"tasktime": 159,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_58",
"text": "这是属于波比的专属委托"
@ -2792,7 +2792,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 140,
"tasktime": 72,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_59",
"text": "这是属于悍娇虎的专属委托"
@ -2840,7 +2840,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 157,
"tasktime": 66,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_60",
"text": "这是属于师父的专属委托"
@ -2888,7 +2888,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 164,
"tasktime": 167,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_61",
"text": "这是属于阿宝的专属委托"
@ -2936,7 +2936,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 145,
"tasktime": 61,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_62",
"text": "这是属于波比的专属委托"
@ -2984,7 +2984,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 148,
"tasktime": 77,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_63",
"text": "这是属于悍娇虎的专属委托"
@ -3032,7 +3032,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 164,
"tasktime": 169,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_64",
"text": "这是属于师父的专属委托"
@ -3080,7 +3080,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 68,
"tasktime": 142,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_65",
"text": "这是属于阿宝的专属委托"
@ -3128,7 +3128,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 92,
"tasktime": 73,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_66",
"text": "这是属于波比的专属委托"
@ -3176,7 +3176,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 91,
"tasktime": 90,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_67",
"text": "这是属于悍娇虎的专属委托"
@ -3224,7 +3224,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 157,
"tasktime": 82,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_68",
"text": "这是属于师父的专属委托"
@ -3272,7 +3272,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 65,
"tasktime": 142,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_69",
"text": "这是属于阿宝的专属委托"
@ -3320,7 +3320,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 152,
"tasktime": 147,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_70",
"text": "这是属于波比的专属委托"
@ -3368,7 +3368,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 99,
"tasktime": 162,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_71",
"text": "这是属于悍娇虎的专属委托"
@ -3416,7 +3416,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 84,
"tasktime": 110,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_72",
"text": "这是属于师父的专属委托"
@ -3464,7 +3464,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 142,
"tasktime": 180,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_73",
"text": "这是属于阿宝的专属委托"
@ -3512,7 +3512,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 105,
"tasktime": 139,
"tasktxt": {
"key": "pandamas_pandamas_dispatch_tasktxt_74",
"text": "这是属于波比的专属委托"

View File

@ -7,7 +7,7 @@
"prize": [
{
"a": "item",
"t": "90001",
"t": "11025001",
"n": 1
}
],
@ -19,14 +19,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 3
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 2
}
]
@ -39,7 +39,7 @@
"prize": [
{
"a": "item",
"t": "535001",
"t": "11035001",
"n": 1
}
],
@ -51,14 +51,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]

View File

@ -804,7 +804,7 @@
"prize": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
}
],
@ -818,7 +818,7 @@
"prize": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
}
],
@ -832,7 +832,7 @@
"prize": [
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
}
],
@ -846,7 +846,7 @@
"prize": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
}
],
@ -860,7 +860,7 @@
"prize": [
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
}
],
@ -874,7 +874,7 @@
"prize": [
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -2260,7 +2260,7 @@
"prize": [
{
"a": "item",
"t": "524004",
"t": "11024004",
"n": 100
}
],
@ -2274,7 +2274,7 @@
"prize": [
{
"a": "item",
"t": "525001",
"t": "11025001",
"n": 100
}
],
@ -2288,7 +2288,7 @@
"prize": [
{
"a": "item",
"t": "525004",
"t": "11025004",
"n": 100
}
],
@ -2302,7 +2302,7 @@
"prize": [
{
"a": "item",
"t": "524008",
"t": "11024008",
"n": 100
}
],
@ -2316,7 +2316,7 @@
"prize": [
{
"a": "item",
"t": "524003",
"t": "11024003",
"n": 100
}
],
@ -2330,7 +2330,7 @@
"prize": [
{
"a": "item",
"t": "515005",
"t": "11015005",
"n": 100
}
],
@ -2344,7 +2344,7 @@
"prize": [
{
"a": "item",
"t": "514001",
"t": "11014001",
"n": 100
}
],
@ -2358,7 +2358,7 @@
"prize": [
{
"a": "item",
"t": "514003",
"t": "11014003",
"n": 100
}
],
@ -2372,7 +2372,7 @@
"prize": [
{
"a": "item",
"t": "534006",
"t": "11034006",
"n": 100
}
],
@ -2386,7 +2386,7 @@
"prize": [
{
"a": "item",
"t": "534002",
"t": "11034002",
"n": 100
}
],
@ -2400,7 +2400,7 @@
"prize": [
{
"a": "item",
"t": "524002",
"t": "11024002",
"n": 100
}
],
@ -2414,7 +2414,7 @@
"prize": [
{
"a": "item",
"t": "535001",
"t": "11035001",
"n": 100
}
],
@ -2428,7 +2428,7 @@
"prize": [
{
"a": "item",
"t": "515004",
"t": "11015004",
"n": 100
}
],
@ -2442,7 +2442,7 @@
"prize": [
{
"a": "item",
"t": "544005",
"t": "11044005",
"n": 100
}
],
@ -2456,7 +2456,7 @@
"prize": [
{
"a": "item",
"t": "544006",
"t": "11044006",
"n": 100
}
],

View File

@ -98,14 +98,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -209,14 +209,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -320,14 +320,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -431,14 +431,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -542,14 +542,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -653,14 +653,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -764,14 +764,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -875,14 +875,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -986,14 +986,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1097,14 +1097,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1208,14 +1208,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1319,14 +1319,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1430,14 +1430,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1541,14 +1541,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1652,14 +1652,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1763,14 +1763,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1874,14 +1874,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -1985,14 +1985,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -2096,14 +2096,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -2207,14 +2207,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]
@ -2318,14 +2318,14 @@
"ps_consume": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 6
}
],
"ps_mg": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 5
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@
"duplicate_removal": 1,
"base_pool_cost": {
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
},
"camp1_pool_cost": {
@ -76,7 +76,7 @@
},
"base_pool_10cost": {
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
"camp1_pool_10cost": {
@ -217,7 +217,7 @@
"ArenaTicket_RecoveryTime": 144,
"ArenaTicket_cos": {
"a": "item",
"t": "100004",
"t": "18000004",
"n": 1
},
"VikingExpedition_RecoveryTime": 144,
@ -277,7 +277,7 @@
],
"cops_BuyGet": {
"a": "item",
"t": "100100",
"t": "18000007",
"n": 1
},
"cops_MaxBuyNum": 10,
@ -435,7 +435,7 @@
],
"ps_item": {
"a": "item",
"t": "10017",
"t": "10000003",
"n": 1
},
"Inletopening": 1,
@ -456,7 +456,7 @@
},
"recruit": {
"a": "item",
"t": "30001",
"t": "10000001",
"n": 0
},
"GuildBoss_buy": [
@ -514,7 +514,7 @@
"GuildBoss_InitialNum": 5,
"GuildBoss_BuyGet": {
"a": "item",
"t": "100006",
"t": "18000006",
"n": 1
},
"GuildBoss_MaxBuyNum": 5,
@ -530,7 +530,7 @@
],
"generaltp": {
"a": "item",
"t": "500000",
"t": "10000002",
"n": 0
},
"smithy_PurchaseType": [
@ -539,13 +539,13 @@
],
"raise_temperature": {
"a": "item",
"t": "120104",
"t": "13000004",
"n": 1
},
"raise_temperatureNum": 50,
"exemption_TemperatureCos": {
"a": "item",
"t": "120103",
"t": "13000003",
"n": 1
},
"exemption_TemperatureCosNum": 50,
@ -561,7 +561,7 @@
"dispatch_numoftimes": 60,
"dispatch_numtools": {
"a": "item",
"t": "100001",
"t": "18000001",
"n": 1
},
"dispatch_npctimes": 2,
@ -571,7 +571,7 @@
"g": [
{
"a": "item",
"t": "120003",
"t": "13001003",
"n": 1
},
{
@ -586,7 +586,7 @@
"g": [
{
"a": "item",
"t": "120003",
"t": "13001003",
"n": 2
},
{
@ -601,7 +601,7 @@
"g": [
{
"a": "item",
"t": "120003",
"t": "13001003",
"n": 4
}
]
@ -656,7 +656,7 @@
"puzzlePromptNum": 5,
"Daily_Tips": {
"a": "item",
"t": "151001",
"t": "10000006",
"n": 1
},
"Daily_Num": 2,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,12 +18,12 @@
"dropshow": [
{
"a": "item",
"t": "14010101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14010102",
"t": "15000201",
"n": 1
}
],
@ -66,12 +66,12 @@
"dropshow": [
{
"a": "item",
"t": "14010101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14010102",
"t": "15000201",
"n": 1
}
],
@ -114,12 +114,12 @@
"dropshow": [
{
"a": "item",
"t": "14010101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14010102",
"t": "15000201",
"n": 1
}
],
@ -162,12 +162,12 @@
"dropshow": [
{
"a": "item",
"t": "14010101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14010102",
"t": "15000201",
"n": 1
}
],
@ -210,12 +210,12 @@
"dropshow": [
{
"a": "item",
"t": "14010101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14010102",
"t": "15000201",
"n": 1
}
],
@ -258,12 +258,12 @@
"dropshow": [
{
"a": "item",
"t": "14020101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14020102",
"t": "15000201",
"n": 1
}
],
@ -306,12 +306,12 @@
"dropshow": [
{
"a": "item",
"t": "14020101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14020102",
"t": "15000201",
"n": 1
}
],
@ -354,12 +354,12 @@
"dropshow": [
{
"a": "item",
"t": "14020101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14020102",
"t": "15000201",
"n": 1
}
],
@ -402,12 +402,12 @@
"dropshow": [
{
"a": "item",
"t": "14020101",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14020102",
"t": "15000201",
"n": 1
}
],
@ -450,12 +450,12 @@
"dropshow": [
{
"a": "item",
"t": "14010111",
"t": "15000101",
"n": 1
},
{
"a": "item",
"t": "14010111",
"t": "15000201",
"n": 1
}
],
@ -498,12 +498,12 @@
"dropshow": [
{
"a": "item",
"t": "14010203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14010204",
"t": "15000204",
"n": 1
}
],
@ -546,12 +546,12 @@
"dropshow": [
{
"a": "item",
"t": "14010203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14010204",
"t": "15000204",
"n": 1
}
],
@ -594,12 +594,12 @@
"dropshow": [
{
"a": "item",
"t": "14010203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14010204",
"t": "15000204",
"n": 1
}
],
@ -642,12 +642,12 @@
"dropshow": [
{
"a": "item",
"t": "14020203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14020204",
"t": "15000204",
"n": 1
}
],
@ -690,12 +690,12 @@
"dropshow": [
{
"a": "item",
"t": "14020203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14020204",
"t": "15000204",
"n": 1
}
],
@ -738,12 +738,12 @@
"dropshow": [
{
"a": "item",
"t": "14020203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14020204",
"t": "15000204",
"n": 1
}
],
@ -786,12 +786,12 @@
"dropshow": [
{
"a": "item",
"t": "14020203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14020204",
"t": "15000204",
"n": 1
}
],
@ -834,12 +834,12 @@
"dropshow": [
{
"a": "item",
"t": "14020203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14020204",
"t": "15000204",
"n": 1
}
],
@ -882,12 +882,12 @@
"dropshow": [
{
"a": "item",
"t": "14030203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14030204",
"t": "15000204",
"n": 1
}
],
@ -930,12 +930,12 @@
"dropshow": [
{
"a": "item",
"t": "14030203",
"t": "15000204",
"n": 1
},
{
"a": "item",
"t": "14030204",
"t": "15000204",
"n": 1
}
],
@ -978,12 +978,12 @@
"dropshow": [
{
"a": "item",
"t": "14010305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14010305",
"t": "15000303",
"n": 1
}
],
@ -1026,12 +1026,12 @@
"dropshow": [
{
"a": "item",
"t": "14010305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14010305",
"t": "15000303",
"n": 1
}
],
@ -1074,12 +1074,12 @@
"dropshow": [
{
"a": "item",
"t": "14010305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14010305",
"t": "15000303",
"n": 1
}
],
@ -1122,12 +1122,12 @@
"dropshow": [
{
"a": "item",
"t": "14020305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14020305",
"t": "15000303",
"n": 1
}
],
@ -1170,12 +1170,12 @@
"dropshow": [
{
"a": "item",
"t": "14020305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14020305",
"t": "15000303",
"n": 1
}
],
@ -1218,12 +1218,12 @@
"dropshow": [
{
"a": "item",
"t": "14020305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14020305",
"t": "15000303",
"n": 1
}
],
@ -1266,12 +1266,12 @@
"dropshow": [
{
"a": "item",
"t": "14020305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14020305",
"t": "15000303",
"n": 1
}
],
@ -1314,12 +1314,12 @@
"dropshow": [
{
"a": "item",
"t": "14020305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14020305",
"t": "15000303",
"n": 1
}
],
@ -1362,12 +1362,12 @@
"dropshow": [
{
"a": "item",
"t": "14030305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14030305",
"t": "15000303",
"n": 1
}
],
@ -1410,12 +1410,12 @@
"dropshow": [
{
"a": "item",
"t": "14030305",
"t": "15000302",
"n": 1
},
{
"a": "item",
"t": "14030305",
"t": "15000303",
"n": 1
}
],
@ -1458,12 +1458,12 @@
"dropshow": [
{
"a": "item",
"t": "14010407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14010407",
"t": "15000303",
"n": 1
}
],
@ -1506,12 +1506,12 @@
"dropshow": [
{
"a": "item",
"t": "14010407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14010407",
"t": "15000303",
"n": 1
}
],
@ -1554,12 +1554,12 @@
"dropshow": [
{
"a": "item",
"t": "14010407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14010407",
"t": "15000303",
"n": 1
}
],
@ -1602,12 +1602,12 @@
"dropshow": [
{
"a": "item",
"t": "14010407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14010407",
"t": "15000303",
"n": 1
}
],
@ -1650,12 +1650,12 @@
"dropshow": [
{
"a": "item",
"t": "14020407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14020407",
"t": "15000303",
"n": 1
}
],
@ -1698,12 +1698,12 @@
"dropshow": [
{
"a": "item",
"t": "14020407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14020407",
"t": "15000303",
"n": 1
}
],
@ -1746,12 +1746,12 @@
"dropshow": [
{
"a": "item",
"t": "14020407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14020407",
"t": "15000303",
"n": 1
}
],
@ -1794,12 +1794,12 @@
"dropshow": [
{
"a": "item",
"t": "14020407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14020407",
"t": "15000303",
"n": 1
}
],
@ -1842,12 +1842,12 @@
"dropshow": [
{
"a": "item",
"t": "14030407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14030407",
"t": "15000303",
"n": 1
}
],
@ -1890,12 +1890,12 @@
"dropshow": [
{
"a": "item",
"t": "14030407",
"t": "15000304",
"n": 1
},
{
"a": "item",
"t": "14030407",
"t": "15000303",
"n": 1
}
],

View File

@ -1,102 +0,0 @@
[
{
"buynum": 1,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 10
}
]
},
{
"buynum": 2,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 20
}
]
},
{
"buynum": 3,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 30
}
]
},
{
"buynum": 4,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 40
}
]
},
{
"buynum": 5,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 50
}
]
},
{
"buynum": 6,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 60
}
]
},
{
"buynum": 7,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 70
}
]
},
{
"buynum": 8,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 80
}
]
},
{
"buynum": 9,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 90
}
]
},
{
"buynum": 10,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 100
}
]
}
]

View File

@ -24,7 +24,7 @@
"var": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 100
}
]
@ -74,7 +74,7 @@
"var": [
{
"a": "item",
"t": "600001",
"t": "10000004",
"n": 100
}
]
@ -84,7 +84,7 @@
"var": [
{
"a": "item",
"t": "10017",
"t": "10000003",
"n": 100
}
]
@ -94,7 +94,7 @@
"var": [
{
"a": "item",
"t": "100100",
"t": "18000007",
"n": 100
}
]
@ -104,7 +104,7 @@
"var": [
{
"a": "item",
"t": "100004",
"t": "18000004",
"n": 10
}
]
@ -114,7 +114,7 @@
"var": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 100
}
]
@ -124,7 +124,7 @@
"var": [
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 100
}
]
@ -134,7 +134,7 @@
"var": [
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 100
}
]
@ -144,7 +144,7 @@
"var": [
{
"a": "item",
"t": "600005",
"t": "10000011",
"n": 100
}
]
@ -154,7 +154,7 @@
"var": [
{
"a": "item",
"t": "600006",
"t": "10000012",
"n": 100
}
]
@ -164,7 +164,7 @@
"var": [
{
"a": "item",
"t": "600007",
"t": "10000013",
"n": 100
}
]
@ -224,7 +224,7 @@
"var": [
{
"a": "item",
"t": "120001",
"t": "13001001",
"n": 300
}
]
@ -234,7 +234,7 @@
"var": [
{
"a": "item",
"t": "120002",
"t": "13001002",
"n": 300
}
]
@ -244,7 +244,7 @@
"var": [
{
"a": "item",
"t": "120003",
"t": "13001003",
"n": 300
}
]
@ -254,7 +254,7 @@
"var": [
{
"a": "item",
"t": "120004",
"t": "13002001",
"n": 300
}
]
@ -264,7 +264,7 @@
"var": [
{
"a": "item",
"t": "120005",
"t": "13002002",
"n": 300
}
]
@ -274,7 +274,7 @@
"var": [
{
"a": "item",
"t": "120006",
"t": "13002003",
"n": 300
}
]
@ -284,7 +284,7 @@
"var": [
{
"a": "item",
"t": "120007",
"t": "13003001",
"n": 300
}
]
@ -294,7 +294,7 @@
"var": [
{
"a": "item",
"t": "120008",
"t": "13003002",
"n": 300
}
]
@ -304,7 +304,7 @@
"var": [
{
"a": "item",
"t": "120009",
"t": "13003003",
"n": 300
}
]
@ -314,7 +314,7 @@
"var": [
{
"a": "item",
"t": "120101",
"t": "13000001",
"n": 300
}
]
@ -324,7 +324,7 @@
"var": [
{
"a": "item",
"t": "120102",
"t": "13000002",
"n": 300
}
]
@ -334,7 +334,7 @@
"var": [
{
"a": "item",
"t": "120103",
"t": "13000003",
"n": 300
}
]
@ -344,7 +344,7 @@
"var": [
{
"a": "item",
"t": "120104",
"t": "13000004",
"n": 300
}
]
@ -354,7 +354,7 @@
"var": [
{
"a": "item",
"t": "100001",
"t": "18000001",
"n": 60
}
]
@ -384,7 +384,7 @@
"var": [
{
"a": "item",
"t": "132001",
"t": "14020001",
"n": 50
}
]
@ -394,7 +394,7 @@
"var": [
{
"a": "item",
"t": "132002",
"t": "14020002",
"n": 50
}
]
@ -404,7 +404,7 @@
"var": [
{
"a": "item",
"t": "132003",
"t": "14020003",
"n": 50
}
]
@ -414,7 +414,7 @@
"var": [
{
"a": "item",
"t": "132004",
"t": "14020004",
"n": 50
}
]
@ -424,7 +424,7 @@
"var": [
{
"a": "item",
"t": "132005",
"t": "14020005",
"n": 50
}
]
@ -434,7 +434,7 @@
"var": [
{
"a": "item",
"t": "132006",
"t": "14020006",
"n": 50
}
]
@ -444,7 +444,7 @@
"var": [
{
"a": "item",
"t": "132007",
"t": "14020007",
"n": 50
}
]
@ -454,7 +454,7 @@
"var": [
{
"a": "item",
"t": "132008",
"t": "14020008",
"n": 50
}
]
@ -464,7 +464,7 @@
"var": [
{
"a": "item",
"t": "132009",
"t": "14020009",
"n": 50
}
]
@ -474,7 +474,7 @@
"var": [
{
"a": "item",
"t": "131001",
"t": "14010001",
"n": 50
}
]
@ -484,7 +484,7 @@
"var": [
{
"a": "item",
"t": "131002",
"t": "14010002",
"n": 50
}
]
@ -494,7 +494,7 @@
"var": [
{
"a": "item",
"t": "131003",
"t": "14010003",
"n": 50
}
]
@ -504,7 +504,7 @@
"var": [
{
"a": "item",
"t": "131004",
"t": "14010004",
"n": 50
}
]
@ -514,7 +514,7 @@
"var": [
{
"a": "item",
"t": "131005",
"t": "14010005",
"n": 50
}
]
@ -1614,7 +1614,7 @@
"var": [
{
"a": "item",
"t": "151001",
"t": "10000006",
"n": 10
}
]

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "132000",
"t": "14020000",
"n": 1
},
"itemdes": "体力",
@ -34,7 +34,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "132001",
"t": "14020001",
"n": 1
},
"itemdes": "精力",
@ -58,7 +58,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "132002",
"t": "14020002",
"n": 1
},
"itemdes": "凤文君",
@ -82,7 +82,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "132003",
"t": "14020003",
"n": 1
},
"itemdes": "月清",
@ -106,7 +106,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "132004",
"t": "14020004",
"n": 1
},
"itemdes": "曹漫野",
@ -130,7 +130,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "132005",
"t": "14020005",
"n": 1
},
"itemdes": "璐璐",
@ -154,7 +154,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "132006",
"t": "14020006",
"n": 1
},
"itemdes": "柳名传",
@ -178,7 +178,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "132007",
"t": "14020007",
"n": 1
},
"itemdes": "薛浅浅",
@ -202,7 +202,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "132008",
"t": "14020008",
"n": 1
},
"itemdes": "白素素",
@ -226,7 +226,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "132009",
"t": "14020009",
"n": 1
},
"itemdes": "晴紫",
@ -250,7 +250,7 @@
"groupnum": 2,
"itemid": {
"a": "item",
"t": "131001",
"t": "14010001",
"n": 1
},
"itemdes": "测试道具1",
@ -274,7 +274,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131002",
"t": "14010002",
"n": 1
},
"itemdes": "测试道具2",
@ -298,7 +298,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131003",
"t": "14010003",
"n": 1
},
"itemdes": "测试道具3",
@ -322,7 +322,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131004",
"t": "14010004",
"n": 1
},
"itemdes": "测试道具4",
@ -346,7 +346,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131005",
"t": "14010005",
"n": 1
},
"itemdes": "测试道具5",
@ -658,7 +658,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131003",
"t": "14010003",
"n": 1
},
"itemdes": "测试道具18",
@ -682,7 +682,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131004",
"t": "14010004",
"n": 1
},
"itemdes": "测试道具19",
@ -706,7 +706,7 @@
"groupnum": 0,
"itemid": {
"a": "item",
"t": "131005",
"t": "14010005",
"n": 1
},
"itemdes": "测试道具20",
@ -730,7 +730,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14010111",
"t": "15000101",
"n": 1
},
"itemdes": "热火药剂",
@ -754,7 +754,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14020111",
"t": "15000201",
"n": 1
},
"itemdes": "烈焰精华",
@ -778,7 +778,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14030111",
"t": "15000301",
"n": 1
},
"itemdes": "爆炸神水",
@ -802,7 +802,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14010212",
"t": "15000102",
"n": 1
},
"itemdes": "冷水药剂",
@ -826,7 +826,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14020212",
"t": "15000202",
"n": 1
},
"itemdes": "凝露精华",
@ -850,7 +850,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14030212",
"t": "15000302",
"n": 1
},
"itemdes": "深渊神水",
@ -874,7 +874,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14010313",
"t": "15000103",
"n": 1
},
"itemdes": "古木药剂",
@ -898,7 +898,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14020313",
"t": "15000203",
"n": 1
},
"itemdes": "荆棘精华",
@ -922,7 +922,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14030313",
"t": "15000303",
"n": 1
},
"itemdes": "魔森神水",
@ -946,7 +946,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14010414",
"t": "15000104",
"n": 1
},
"itemdes": "微尘药剂",
@ -970,7 +970,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14020414",
"t": "15000204",
"n": 1
},
"itemdes": "曙光精华",
@ -994,7 +994,7 @@
"groupnum": 1,
"itemid": {
"a": "item",
"t": "14030414",
"t": "15000304",
"n": 1
},
"itemdes": "秘境神水",

View File

@ -133,7 +133,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -221,7 +221,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -309,7 +309,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -397,7 +397,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -485,7 +485,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -573,7 +573,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -661,7 +661,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -749,7 +749,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -838,7 +838,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -927,7 +927,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1016,7 +1016,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1105,7 +1105,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1193,7 +1193,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1281,7 +1281,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1370,7 +1370,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1459,7 +1459,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1548,7 +1548,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1637,7 +1637,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1725,7 +1725,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1813,7 +1813,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1902,7 +1902,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -1991,7 +1991,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{
@ -2080,7 +2080,7 @@
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
},
{

File diff suppressed because it is too large Load Diff

View File

@ -3131,7 +3131,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],

View File

@ -6,7 +6,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
},
{
@ -33,7 +33,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -50,7 +50,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
},
{
@ -77,7 +77,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -94,7 +94,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -116,7 +116,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -138,7 +138,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -160,7 +160,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -182,7 +182,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -204,7 +204,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -226,7 +226,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -248,7 +248,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -270,7 +270,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -292,7 +292,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -314,7 +314,7 @@
"reward": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{

View File

@ -134,7 +134,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -315,7 +315,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -360,7 +360,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -495,7 +495,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -778,7 +778,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -823,7 +823,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -1105,7 +1105,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -1148,7 +1148,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -1191,7 +1191,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -1234,7 +1234,7 @@
"ants": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],

View File

@ -5,7 +5,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -16,7 +16,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -27,7 +27,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -38,7 +38,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -49,7 +49,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -60,7 +60,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -71,7 +71,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -82,7 +82,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -93,7 +93,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -104,7 +104,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -115,7 +115,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -126,7 +126,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -137,7 +137,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -148,7 +148,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -159,7 +159,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]
@ -170,7 +170,7 @@
"item_id": [
{
"a": "item",
"t": "100101",
"t": "18000008",
"n": 1
}
]

View File

@ -91,7 +91,7 @@
"item": [
{
"a": "item",
"t": "60001",
"t": "17010001",
"n": 1
}
]
@ -113,7 +113,7 @@
"item": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
]
@ -135,7 +135,7 @@
"item": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
]
@ -157,7 +157,7 @@
"item": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
]
@ -179,7 +179,7 @@
"item": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
]
@ -201,7 +201,7 @@
"item": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
]
@ -223,7 +223,7 @@
"item": [
{
"a": "item",
"t": "60003",
"t": "17030001",
"n": 1
}
]
@ -245,7 +245,7 @@
"item": [
{
"a": "item",
"t": "60003",
"t": "17030001",
"n": 1
}
]
@ -267,7 +267,7 @@
"item": [
{
"a": "item",
"t": "60003",
"t": "17030001",
"n": 1
}
]

View File

@ -67,21 +67,21 @@
"standard_yield": [
{
"a": "item",
"t": "14010111",
"t": "15000101",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14010111",
"t": "15000101",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14010111",
"t": "15000101",
"n": 5
}
]
@ -154,21 +154,21 @@
"standard_yield": [
{
"a": "item",
"t": "14010212",
"t": "15000102",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14010212",
"t": "15000102",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14010212",
"t": "15000102",
"n": 5
}
]
@ -241,21 +241,21 @@
"standard_yield": [
{
"a": "item",
"t": "14010313",
"t": "15000103",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14010313",
"t": "15000103",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14010313",
"t": "15000103",
"n": 5
}
]
@ -328,21 +328,21 @@
"standard_yield": [
{
"a": "item",
"t": "14010414",
"t": "15000104",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14010414",
"t": "15000104",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14010414",
"t": "15000104",
"n": 5
}
]
@ -415,21 +415,21 @@
"standard_yield": [
{
"a": "item",
"t": "14020111",
"t": "15000201",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14020111",
"t": "15000201",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14020111",
"t": "15000201",
"n": 5
}
]
@ -502,21 +502,21 @@
"standard_yield": [
{
"a": "item",
"t": "14020212",
"t": "15000202",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14020212",
"t": "15000202",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14020212",
"t": "15000202",
"n": 5
}
]
@ -589,21 +589,21 @@
"standard_yield": [
{
"a": "item",
"t": "14020313",
"t": "15000203",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14020313",
"t": "15000203",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14020313",
"t": "15000203",
"n": 5
}
]
@ -676,21 +676,21 @@
"standard_yield": [
{
"a": "item",
"t": "14020414",
"t": "15000204",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14020414",
"t": "15000204",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14020414",
"t": "15000204",
"n": 5
}
]
@ -763,21 +763,21 @@
"standard_yield": [
{
"a": "item",
"t": "14030111",
"t": "15000301",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14030111",
"t": "15000301",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14030111",
"t": "15000301",
"n": 5
}
]
@ -850,21 +850,21 @@
"standard_yield": [
{
"a": "item",
"t": "14030212",
"t": "15000302",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14030212",
"t": "15000302",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14030212",
"t": "15000302",
"n": 5
}
]
@ -937,21 +937,21 @@
"standard_yield": [
{
"a": "item",
"t": "14030313",
"t": "15000303",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14030313",
"t": "15000303",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14030313",
"t": "15000303",
"n": 5
}
]
@ -1024,21 +1024,21 @@
"standard_yield": [
{
"a": "item",
"t": "14030414",
"t": "15000304",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "14030414",
"t": "15000304",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "14030414",
"t": "15000304",
"n": 5
}
]

File diff suppressed because it is too large Load Diff

View File

@ -725,7 +725,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -2237,7 +2237,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -2993,7 +2993,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -3749,7 +3749,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -4505,7 +4505,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -5261,7 +5261,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -6017,7 +6017,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -6053,7 +6053,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -6125,7 +6125,7 @@
"iteminfo": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 10
}
],
@ -6161,7 +6161,7 @@
"iteminfo": [
{
"a": "item",
"t": "10017",
"t": "10000003",
"n": 10
}
],
@ -6197,7 +6197,7 @@
"iteminfo": [
{
"a": "item",
"t": "600001",
"t": "10000004",
"n": 10
}
],
@ -6233,7 +6233,7 @@
"iteminfo": [
{
"a": "item",
"t": "1000001",
"t": "17030002",
"n": 1
}
],
@ -6413,7 +6413,7 @@
"iteminfo": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
}
],
@ -6449,7 +6449,7 @@
"iteminfo": [
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
}
],
@ -6485,7 +6485,7 @@
"iteminfo": [
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -6521,7 +6521,7 @@
"iteminfo": [
{
"a": "item",
"t": "600005",
"t": "10000011",
"n": 1
}
],
@ -6557,7 +6557,7 @@
"iteminfo": [
{
"a": "item",
"t": "600006",
"t": "10000012",
"n": 1
}
],
@ -6593,7 +6593,7 @@
"iteminfo": [
{
"a": "item",
"t": "600007",
"t": "10000013",
"n": 1
}
],
@ -6629,7 +6629,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -6773,7 +6773,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -6809,7 +6809,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
}
],
@ -6845,7 +6845,7 @@
"iteminfo": [
{
"a": "item",
"t": "600001",
"t": "10000004",
"n": 10
}
],
@ -6917,7 +6917,7 @@
"iteminfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
],
@ -6953,7 +6953,7 @@
"iteminfo": [
{
"a": "item",
"t": "120001",
"t": "13001001",
"n": 100
}
],
@ -6989,7 +6989,7 @@
"iteminfo": [
{
"a": "item",
"t": "120002",
"t": "13001002",
"n": 100
}
],
@ -7025,7 +7025,7 @@
"iteminfo": [
{
"a": "item",
"t": "120003",
"t": "13001003",
"n": 100
}
],
@ -7061,7 +7061,7 @@
"iteminfo": [
{
"a": "item",
"t": "120004",
"t": "13002001",
"n": 100
}
],
@ -7097,7 +7097,7 @@
"iteminfo": [
{
"a": "item",
"t": "120005",
"t": "13002002",
"n": 100
}
],
@ -7133,7 +7133,7 @@
"iteminfo": [
{
"a": "item",
"t": "120006",
"t": "13002003",
"n": 100
}
],
@ -7169,7 +7169,7 @@
"iteminfo": [
{
"a": "item",
"t": "120007",
"t": "13003001",
"n": 100
}
],
@ -7205,7 +7205,7 @@
"iteminfo": [
{
"a": "item",
"t": "120008",
"t": "13003002",
"n": 100
}
],
@ -7241,7 +7241,7 @@
"iteminfo": [
{
"a": "item",
"t": "120009",
"t": "13003003",
"n": 100
}
],
@ -7277,7 +7277,7 @@
"iteminfo": [
{
"a": "item",
"t": "120101",
"t": "13000001",
"n": 100
}
],
@ -7313,7 +7313,7 @@
"iteminfo": [
{
"a": "item",
"t": "120102",
"t": "13000002",
"n": 100
}
],
@ -7349,7 +7349,7 @@
"iteminfo": [
{
"a": "item",
"t": "120103",
"t": "13000003",
"n": 100
}
],
@ -7385,7 +7385,7 @@
"iteminfo": [
{
"a": "item",
"t": "120104",
"t": "13000004",
"n": 100
}
],

View File

@ -44,14 +44,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
]
@ -158,14 +158,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
]
@ -272,14 +272,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
]
@ -386,14 +386,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
]
@ -633,14 +633,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
]
@ -747,14 +747,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
]
@ -861,14 +861,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
]
@ -975,14 +975,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
]
@ -1222,14 +1222,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
]
@ -1336,14 +1336,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
]
@ -1450,14 +1450,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
]
@ -1564,14 +1564,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
]
@ -1640,14 +1640,14 @@
"loopgift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
}
],
"gamegift": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
}
]

View File

@ -10,7 +10,7 @@
"extra": [
{
"a": "item",
"t": "90001",
"t": "11025001",
"n": 10
}
]
@ -26,7 +26,7 @@
"extra": [
{
"a": "item",
"t": "90002",
"t": "11025004",
"n": 10
}
]
@ -42,7 +42,7 @@
"extra": [
{
"a": "item",
"t": "90003",
"t": "11044005",
"n": 10
}
]
@ -58,7 +58,7 @@
"extra": [
{
"a": "item",
"t": "90001",
"t": "11025001",
"n": 10
}
]
@ -74,7 +74,7 @@
"extra": [
{
"a": "item",
"t": "90002",
"t": "11025004",
"n": 10
}
]
@ -90,7 +90,7 @@
"extra": [
{
"a": "item",
"t": "90003",
"t": "11044005",
"n": 10
}
]
@ -106,7 +106,7 @@
"extra": [
{
"a": "item",
"t": "90001",
"t": "11025001",
"n": 10
}
]
@ -122,7 +122,7 @@
"extra": [
{
"a": "item",
"t": "90002",
"t": "11025004",
"n": 10
}
]
@ -138,7 +138,7 @@
"extra": [
{
"a": "item",
"t": "90003",
"t": "11044005",
"n": 10
}
]

View File

@ -11398,10 +11398,10 @@
1,
55
],
"FollowSK": [],
"SucFollowSK": [
"FollowSK": [
245003112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,

View File

@ -27,7 +27,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
}
],
@ -54,7 +54,7 @@
"goods": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
}
],

View File

@ -6,7 +6,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 1
}
],
@ -20,7 +20,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 2
}
],
@ -34,7 +34,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 3
}
],
@ -48,7 +48,7 @@
"reword": [
{
"a": "item",
"t": "60002",
"t": "17020001",
"n": 4
}
],

View File

@ -10,7 +10,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
@ -31,7 +31,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
@ -52,7 +52,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
@ -73,7 +73,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
@ -94,7 +94,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],
@ -115,7 +115,7 @@
},
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
}
],

View File

@ -4226,7 +4226,7 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
}
],
@ -4285,12 +4285,12 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
}
],
@ -4349,17 +4349,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4418,17 +4418,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4487,17 +4487,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4556,17 +4556,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4625,17 +4625,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4694,17 +4694,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4763,17 +4763,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4832,17 +4832,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4901,17 +4901,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],
@ -4970,17 +4970,17 @@
"dropshow": [
{
"a": "item",
"t": "600002",
"t": "10000008",
"n": 1
},
{
"a": "item",
"t": "600003",
"t": "10000009",
"n": 1
},
{
"a": "item",
"t": "600004",
"t": "10000010",
"n": 1
}
],

View File

@ -1,102 +0,0 @@
[
{
"buynum": 1,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 10
}
]
},
{
"buynum": 2,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 20
}
]
},
{
"buynum": 3,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 30
}
]
},
{
"buynum": 4,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 40
}
]
},
{
"buynum": 5,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 50
}
]
},
{
"buynum": 6,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 60
}
]
},
{
"buynum": 7,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 70
}
]
},
{
"buynum": 8,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 80
}
]
},
{
"buynum": 9,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 90
}
]
},
{
"buynum": 10,
"need": [
{
"a": "attr",
"t": "diamond",
"n": 100
}
]
}
]

View File

@ -13,7 +13,7 @@
"key": "vikingexpedition_entrance_unlock_1",
"text": "Level {0} unlocking"
},
"bg": "fb_rk_wjyz1",
"bg": "fb_rk_wj3",
"open": "vikingexpedition"
},
{
@ -30,7 +30,7 @@
"key": "vikingexpedition_entrance_unlock_2",
"text": "Level {0} unlocking"
},
"bg": "fb_rk_wjyz2",
"bg": "fb_rk_zysp",
"open": "vikingexpedition2"
},
{
@ -47,7 +47,7 @@
"key": "vikingexpedition_entrance_unlock_3",
"text": "Level {0} unlocking"
},
"bg": "fb_rk_wjyz3",
"bg": "fb_rk_zywq",
"open": "vikingexpedition3"
}
]

View File

@ -21,7 +21,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -63,7 +63,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -106,7 +106,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -149,7 +149,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -193,7 +193,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -237,7 +237,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -281,7 +281,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -326,7 +326,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -371,7 +371,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -416,7 +416,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -463,7 +463,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -510,7 +510,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -557,7 +557,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -605,7 +605,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{
@ -653,7 +653,7 @@
"giftinfo": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
},
{

View File

@ -13,7 +13,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
]
@ -32,7 +32,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
]
@ -51,7 +51,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
},
{
@ -75,7 +75,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
},
{
@ -99,7 +99,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
},
{
@ -123,7 +123,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
},
{
@ -147,7 +147,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
},
{
@ -171,7 +171,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 2
},
{
@ -195,7 +195,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 3
}
]
@ -214,7 +214,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 4
}
]
@ -233,7 +233,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 5
}
]
@ -252,7 +252,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 6
}
]
@ -271,7 +271,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 7
}
]
@ -290,7 +290,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 8
}
]
@ -309,7 +309,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 9
}
]
@ -328,7 +328,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 10
}
]
@ -347,7 +347,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 11
}
]
@ -366,7 +366,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 12
}
]
@ -385,7 +385,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 13
}
]
@ -404,7 +404,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 14
}
]
@ -423,7 +423,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 15
}
]
@ -442,7 +442,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 16
}
]
@ -461,7 +461,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 17
}
]
@ -480,7 +480,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 18
}
]
@ -499,7 +499,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 19
}
]
@ -518,7 +518,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 20
}
]
@ -537,7 +537,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 21
}
]
@ -556,7 +556,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 22
}
]
@ -575,7 +575,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 23
}
]
@ -594,7 +594,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 24
}
]
@ -613,7 +613,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 25
}
]
@ -632,7 +632,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 26
}
]
@ -651,7 +651,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 27
}
]
@ -670,7 +670,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 28
}
]
@ -689,7 +689,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 29
}
]
@ -708,7 +708,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 30
}
]
@ -727,7 +727,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 31
}
]
@ -746,7 +746,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 32
}
]
@ -765,7 +765,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
]
@ -784,7 +784,7 @@
"reword": [
{
"a": "item",
"t": "30001",
"t": "10000001",
"n": 1
}
]

File diff suppressed because it is too large Load Diff

View File

@ -483,7 +483,9 @@ type (
ITools interface {
GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn)
GetGlobalConf() *cfg.GameGlobalData
GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn)
GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn, err error)
GetPriceGroupLen(pricegroupId int32) (count int32, err error)
}
IReputation interface {

View File

@ -21,7 +21,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (code p
// global *cfg.GameGlobalData
info *pb.DBArenaUser
need []*cfg.Gameatn
maxbuy, vipbuy int
maxbuy, vipbuy int32
err error
)
if code = this.BuyCheck(session, req); code != pb.ErrorCode_Success {
@ -33,18 +33,18 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ArenaBuyReq) (code p
}
this.module.modelArena.recoverTicket(session, info)
if maxbuy, err = this.module.configure.GetchallengeDataCount(); err != nil {
if maxbuy, err = this.module.ModuleTools.GetPriceGroupLen(comm.ArenaBuyType); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
vipbuy = int(this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType5))
vipbuy = this.module.privilege.GetCountByPrivilegeId(session.GetUserId(), comm.PrivilegeType5)
need = make([]*cfg.Gameatn, 0)
for i := int32(0); i < req.BuyNum; i++ {
if int(info.Buynum+i+1) > maxbuy+vipbuy {
if info.Buynum+i+1 > maxbuy+vipbuy {
code = pb.ErrorCode_ArenaTicketBuyUp
return
}
if res := this.module.ModuleTools.GetPriceGroupCost(comm.ArenaBuyType, info.Buynum+i+1); len(res) > 0 {
if res, _ := this.module.ModuleTools.GetPriceGroupCost(comm.ArenaBuyType, info.Buynum+i+1); len(res) > 0 {
need = append(need, res...)
} else {
code = pb.ErrorCode_ConfigNoFound

View File

@ -34,7 +34,6 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Arena)
this.LoadConfigure(game_arenabuychallenge, cfg.NewGameArenaBuyChallenge)
this.LoadConfigure(game_arenaactivereward, cfg.NewGameArenaActiveReward)
configure.RegisterConfigure(game_arenarobot, cfg.NewGameArenaRobot, this.updateArenaRobot)
this.LoadConfigure(game_arenarankreward, cfg.NewGameArenaRankReward)
@ -62,40 +61,6 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
return
}
///获取月之秘境触购买表
func (this *configureComp) GetchallengeDataCount() (count int, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_arenabuychallenge); err != nil {
this.module.Errorln(err)
return
} else {
count = len(v.(*cfg.GameArenaBuyChallenge).GetDataList())
}
return
}
///获取月之秘境触购买表
func (this *configureComp) GetchallengeData(buynum int32) (result *cfg.GameArenaBuyChallengeData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_arenabuychallenge); err != nil {
this.module.Errorln(err)
return
} else {
for _, v := range v.(*cfg.GameArenaBuyChallenge).GetDataList() {
if v.Num == buynum {
result = v
return
}
result = v
}
}
return
}
//查询积分段位信息
func (this *configureComp) getActiveReward(integral int32) (result *cfg.GameArenaActiveRewardData, err error) {
var (

View File

@ -1,7 +1,6 @@
package buried
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
@ -146,7 +145,7 @@ func (this *Buried) updateAndCheckBuried(bdata *pb.DBBuried, collec *comm.Buried
bitem = &pb.DBBuriedItem{
Conid: cond.Id,
State: pb.BuriedItemState_Activated,
Value: 0,
Value: make([]int32, 0),
Timestamp: time.Now().Unix(),
}
} else {
@ -158,25 +157,25 @@ func (this *Buried) updateAndCheckBuried(bdata *pb.DBBuried, collec *comm.Buried
return
}
switch cond.Vtype { //数据接入方式
case overlay: //累加数据
bitem.Value += collec.Value
case cover:
bitem.Value = collec.Value
case query:
switch collec.Btype {
case comm.Rtype1:
default:
err = fmt.Errorf("未实现的数据查询类型 埋点类型:%d", collec.Btype)
return
}
// switch cond.Vtype { //数据接入方式
// case overlay: //累加数据
// bitem.Value[0] += collec.Value
// case cover:
// bitem.Value[0] = collec.Value
// case query:
// switch collec.Btype {
// case comm.Rtype1:
// default:
// err = fmt.Errorf("未实现的数据查询类型 埋点类型:%d", collec.Btype)
// return
// }
default:
err = fmt.Errorf("未知的埋点数据处理类型:%d", cond.Vtype)
return
}
// default:
// err = fmt.Errorf("未知的埋点数据处理类型:%d", cond.Vtype)
// return
// }
if bitem.Value >= cond.Value { //完成进度
if bitem.Value[0] >= cond.Value { //完成进度
complete = true
}
return

View File

@ -11,14 +11,14 @@ import (
)
const (
game_equip = "game_equip.json" //装备信息表
equip_attrlibrary = "game_equipattrlibrary.json" //装备属性配置表
equip_intensify = "game_equipintensify.json" //装备等级消耗表
equip_suit = "game_equipsuit.json" //装备套装表
game_equipcompose = "game_equipscompose.json" //装备锻造
game_equipattribute = "game_equipattribute.json" //装备技能列表
game_equipenchanting = "game_equipenchanting.json" //装备附魔
game_sellcoefficient = "game_sellcoefficient.json" //装备出售品质系数
game_equip = "game_equip.json" //装备信息表
equip_attrlibrary = "game_equipattrlibrarys.json" //装备属性配置表
equip_intensify = "game_equipintensify.json" //装备等级消耗表
equip_suit = "game_equipsuit.json" //装备套装表
game_equipcompose = "game_equipscompose.json" //装备锻造
game_equipattribute = "game_equipattribute.json" //装备技能列表
game_equipenchanting = "game_equipenchanting.json" //装备附魔
game_sellcoefficient = "game_sellcoefficient.json" //装备出售品质系数
)

View File

@ -86,6 +86,7 @@ locp:
Timestamp: configure.Now().Unix(),
})
this.WriteMsg(&pb.UserMessage{
MsgId: msg.MsgId,
MainType: string(comm.ModuleGate),
SubType: "heartbeat",
Data: data,
@ -99,6 +100,7 @@ locp:
if err = this.messageDistribution(msg); err != nil {
this.gateway.Errorf("messageDistribution err:%v", err)
data, _ := anypb.New(&pb.NotifyErrorNotifyPush{
MsgId: msg.MsgId,
ReqMainType: msg.MainType,
ReqSubType: msg.SubType,
Arg: msg.Data,
@ -106,6 +108,7 @@ locp:
Err: &pb.ErrorData{Title: "用户消息处理失败!", Datastring: err.Error()},
})
err = this.WriteMsg(&pb.UserMessage{
MsgId: msg.MsgId,
MainType: comm.MainTypeNotify,
SubType: comm.SubTypeErrorNotify,
Data: data,
@ -116,8 +119,15 @@ locp:
} else {
this.gateway.Errorf("agent:%s uId:%s 密钥无效 err:%v", this.sessionId, this.uId, err)
data, _ := anypb.New(&pb.NotifyErrorNotifyPush{ReqMainType: msg.MainType, ReqSubType: msg.SubType, Code: code, Err: &pb.ErrorData{Title: "用户消息验证失败!", Datastring: err.Error()}})
data, _ := anypb.New(&pb.NotifyErrorNotifyPush{
MsgId: msg.MsgId,
ReqMainType: msg.MainType,
ReqSubType: msg.SubType,
Code: code,
Err: &pb.ErrorData{Title: "用户消息验证失败!", Datastring: err.Error()},
})
if err = this.WriteMsg(&pb.UserMessage{
MsgId: msg.MsgId,
MainType: comm.MainTypeNotify,
SubType: comm.SubTypeErrorNotify,
Data: data,
@ -363,12 +373,14 @@ func (this *Agent) messageDistribution(msg *pb.UserMessage) (err error) {
// }
if reply.Code != pb.ErrorCode_Success {
data, _ := anypb.New(&pb.NotifyErrorNotifyPush{
MsgId: msg.MsgId,
ReqMainType: msg.MainType,
ReqSubType: msg.SubType,
Arg: msg.Data,
Code: pb.ErrorCode(reply.Code.Number()),
Err: reply.ErrorData})
err = this.WriteMsg(&pb.UserMessage{
MsgId: msg.MsgId,
MainType: comm.MainTypeNotify,
SubType: comm.SubTypeErrorNotify,
Data: data,
@ -376,6 +388,9 @@ func (this *Agent) messageDistribution(msg *pb.UserMessage) (err error) {
return
} else {
for _, v := range reply.Reply {
if v.MainType == msg.MainType && v.SubType == msg.SubType {
v.MsgId = msg.MsgId
}
if err = this.WriteMsg(v); err != nil {
return
}

View File

@ -11,7 +11,7 @@ import (
const (
game_huntingboss = "game_huntingboss.json"
game_challenge = "game_huntingchallenge.json"
// game_challenge = "game_huntingchallenge.json"
)
///配置管理基础组件
@ -43,7 +43,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
}
return
})
err = this.LoadConfigure(game_challenge, cfg.NewGameHuntingChallenge)
// err = this.LoadConfigure(game_challenge, cfg.NewGameHuntingChallenge)
return
}
@ -90,29 +90,29 @@ func (this *configureComp) GetHuntingBossTypeConfigData() (mapType map[int32]str
return
}
func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHuntingChallengeData) {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok {
data = configure.Get(index)
return
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
// func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHuntingChallengeData) {
// if v, err := this.GetConfigure(game_challenge); err == nil {
// if configure, ok := v.(*cfg.GameHuntingChallenge); ok {
// data = configure.Get(index)
// return
// }
// } else {
// log.Errorf("get game_challenge conf err:%v", err)
// }
return
}
func (this *configureComp) GetMaxBuyChallengeCount() int32 {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok {
return int32(len(configure.GetDataList()))
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
// return
// }
// func (this *configureComp) GetMaxBuyChallengeCount() int32 {
// if v, err := this.GetConfigure(game_challenge); err == nil {
// if configure, ok := v.(*cfg.GameHuntingChallenge); ok {
// return int32(len(configure.GetDataList()))
// }
// } else {
// log.Errorf("get game_challenge conf err:%v", err)
// }
return 0
}
// return 0
// }
// 获取boss 最大难点
func (this *configureComp) GetMaxDifficultyByBossID(bossId int32) int32 {
@ -123,15 +123,15 @@ func (this *configureComp) GetMaxDifficultyByBossID(bossId int32) int32 {
}
// 获取最后一条数据
func (this *configureComp) GetLastBuyChallenge() (data *cfg.GameHuntingChallengeData) {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok && len(configure.GetDataList()) > 0 {
data = configure.GetDataList()[len(configure.GetDataList())-1]
return
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
// func (this *configureComp) GetLastBuyChallenge() (data *cfg.GameHuntingChallengeData) {
// if v, err := this.GetConfigure(game_challenge); err == nil {
// if configure, ok := v.(*cfg.GameHuntingChallenge); ok && len(configure.GetDataList()) > 0 {
// data = configure.GetDataList()[len(configure.GetDataList())-1]
// return
// }
// } else {
// log.Errorf("get game_challenge conf err:%v", err)
// }
return
}
// return
// }

View File

@ -612,11 +612,25 @@ func (this *MCompConfigure) GetPriceGroup(pricegroupId int32) (sz []*cfg.GamePri
return this._price[pricegroupId]
}
func (this *MCompConfigure) GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn) {
func (this *MCompConfigure) GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn, err error) {
if _, ok := this._price[pricegroupId]; !ok {
err = comm.NewNotFoundConfErr("tools", game_price, pricegroupId)
return
}
for _, v := range this._price[pricegroupId] {
if v.Purchasemin <= purchase && purchase <= v.Purchasemax {
return v.Cost
res = v.Cost
return
}
}
return
}
func (this *MCompConfigure) GetPriceGroupLen(pricegroupId int32) (count int32, err error) {
if _, ok := this._price[pricegroupId]; !ok {
err = comm.NewNotFoundConfErr("tools", game_price, pricegroupId)
}
count = int32(len(this._price[pricegroupId]))
return
}

View File

@ -49,6 +49,10 @@ func (this *Tools) GetGlobalConf() *cfg.GameGlobalData {
return this.configure.GetGlobalConf()
}
func (this *Tools) GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn) {
func (this *Tools) GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn, err error) {
return this.configure.GetPriceGroupCost(pricegroupId, purchase)
}
func (this *Tools) GetPriceGroupLen(pricegroupId int32) (count int32, err error) {
return this.configure.GetPriceGroupLen(pricegroupId)
}

View File

@ -1,37 +0,0 @@
package troll
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
const (
TrollGetListResp = "getlist"
TrollBuyOrSellResp = "buyorsell"
TrollNpcRewardResp = "npcreward"
TrollRankListResp = "ranklist"
TrollRecordListResp = "recordlist"
TrollAfkSetResp = "afkset"
TrollSurpriseIdResp = "surpriseid"
)
type apiComp struct {
modules.MCompGate
service core.IService
configure *configureComp
module *Troll
}
//组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Troll)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -1,35 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
func (this *apiComp) AfkSetCheck(session comm.IUserSession, req *pb.TrollAfkSetReq) (code pb.ErrorCode) {
return
}
// 设置挂机规则
func (this *apiComp) AfkSet(session comm.IUserSession, req *pb.TrollAfkSetReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
update map[string]interface{}
)
update = make(map[string]interface{})
code = this.AfkSetCheck(session, req)
troll, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
troll.Buy = req.Buy //this.configure.GetTrollRule(comm.TrollBuy)
troll.Sell = req.Sell //this.configure.GetTrollRule(comm.TrollSell)
//troll.AiCount = req.Count
update["buy"] = troll.Buy
update["sell"] = troll.Sell
//update["aiCount"] = troll.AiCount
this.module.ModifyTrollData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), TrollAfkSetResp, &pb.TrollAfkSetResp{Data: troll})
return
}

View File

@ -1,174 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"math"
)
//参数校验
func (this *apiComp) BuyOrSellCheck(session comm.IUserSession, req *pb.TrollBuyOrSellReq) (code pb.ErrorCode) {
if len(req.Items) == 0 {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) BuyOrSell(session comm.IUserSession, req *pb.TrollBuyOrSellReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
bSell bool // 是否有出售
gold int32 // 当次交易 获得的金币
earn int32 // 只统计赚的金币
update map[string]interface{}
gridNum int32 // 格子数量
)
update = make(map[string]interface{})
if code = this.BuyOrSellCheck(session, req); code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
trolltrain, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
dayMaxCount := this.configure.GetTrollRule(comm.TrollBuyCount)
aiMaxCount := this.configure.GetTrollRule(comm.TrollAIBuyCount)
for k, v := range req.Items {
if v == 0 { // 过滤数量为0 的消息
continue
}
if trolltrain.RangeId == 0 {
trolltrain.RangeId = 1
update["rangeId"] = trolltrain.RangeId
}
if v < 0 {
if !bSell {
bSell = true
trolltrain.SellCount += 1 // 交易次数+1
if trolltrain.SellCount > dayMaxCount || (trolltrain.SellCount+trolltrain.AiCount) > aiMaxCount {
code = pb.ErrorCode_TrollMaxSellCount // 达到最大交易次数 直接返回
return
}
update["sellCount"] = trolltrain.SellCount
}
}
if _, ok := trolltrain.Shop[k]; !ok {
if v > 0 {
trolltrain.Shop[k] = v // 限购
}
} else {
if v > 0 {
trolltrain.Shop[k] += v // 限购
}
}
// 校验 是否大于买入最大限制
goods := this.configure.GetTrollGoods(k)
if goods == nil {
return
}
if trolltrain.Shop[k] > goods.Max { // 判断是否有效交易
// 买入上限 直接返回
code = pb.ErrorCode_TrollBuyMax
return
} else if trolltrain.Items[k]+v < 0 { //卖出数量不足
code = pb.ErrorCode_TrollSellMax
return
}
// 第一次购买商品
if trolltrain.TarinPos == 0 {
if _, ok := trolltrain.Price[k]; !ok {
trolltrain.Price[k] = 0
}
trolltrain.Price[k] = goods.Goodsprice * goods.StarMoney / 1000
trolltrain.RefreshTime = configure.Now().Unix()
//消耗的金币
gold -= trolltrain.Price[k] * trolltrain.Items[k]
} else {
p := this.configure.GetTrollCoefficient(trolltrain.RangeId)
if p == nil {
return
}
var sellPrice int32 // 交易价格
if trolltrain.TarinPos == 0 {
sellPrice = goods.Goodsprice * goods.StarMoney / 1000
} else {
sellPrice = int32(p.Coefficient) * goods.Goodsprice / 1000
}
// 校验是不是惊喜价格
if d1, ok := trolltrain.SurpriseID[trolltrain.TarinPos-1]; ok {
if d1 == k {
sellPrice = this.configure.GetTrollRule(comm.TrollSurprise) / 1000
}
}
if v < 0 { // 卖出
trolltrain.Items[k] += v
if sellPrice > trolltrain.Price[k] { // 赚了
earn += (sellPrice - trolltrain.Price[k]) * v
}
gold -= sellPrice * v
} else { // 买入 计算平均价格
totalGold := trolltrain.Items[k] * trolltrain.Price[k]
totalGold += v * sellPrice
trolltrain.Items[k] += v
trolltrain.Price[k] = totalGold / trolltrain.Items[k]
gold -= v * sellPrice
}
}
}
// 重新计算格子数量
grid := this.configure.GetTrollRule(comm.TrollItemCount)
for _, v := range trolltrain.Items {
if v > 0 {
gridNum += int32(math.Ceil(float64(v) / float64(grid)))
}
}
trolltrain.GridNum = gridNum
if gridNum > this.configure.GetTrollRule(comm.TrollGridCount) { // 背包格子上限
code = pb.ErrorCode_TrollMaxItemCount
return
}
code = this.module.ModuleUser.AddAttributeValue(session, comm.ResGold, int32(gold), true)
if code != pb.ErrorCode_Success { // 金币不足
code = pb.ErrorCode_GoldNoEnough
return
}
// 清除数量为0 的
for k, v := range trolltrain.Items {
if v == 0 {
delete(trolltrain.Items, k)
if _, ok := trolltrain.Price[k]; ok {
delete(trolltrain.Price, k) // 清除价格
}
}
}
trolltrain.TotalEarn += -int64(earn) // 累计获得的金币
// check npc level
if confLv := this.configure.GetTrollLv(trolltrain.GetNpcLv() + 1); confLv != nil {
if trolltrain.TotalEarn >= int64(confLv.Money) {
trolltrain.NpcLv += 1 // npc levelUp
update["npcLv"] = trolltrain.NpcLv
}
}
update["items"] = trolltrain.Items
update["price"] = trolltrain.Price
update["totalEarn"] = trolltrain.TotalEarn
update["gridNum"] = trolltrain.GridNum
update["shop"] = trolltrain.Shop
this.module.ModifyTrollData(session.GetUserId(), update)
this.module.SeTrollRankList(trolltrain.TotalEarn, session.GetUserId())
session.SendMsg(string(this.module.GetType()), TrollBuyOrSellResp, &pb.TrollBuyOrSellResp{Data: trolltrain})
if gold != 0 {
this.module.record.AddTrollRecord(session.GetUserId(), gold, trolltrain.TarinPos)
}
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype153, 1)
go this.module.ModuleRtask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.Rtype153, 1))
return
}

View File

@ -1,49 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) NpcRewardCheck(session comm.IUserSession, req *pb.TrollNpcRewardReq) (code pb.ErrorCode) {
return
}
///美食城领取奖励
func (this *apiComp) NpcReward(session comm.IUserSession, req *pb.TrollNpcRewardReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
update map[string]interface{}
)
code = this.NpcRewardCheck(session, req)
_troll, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
conf := this.module.configure.GetTrollLv(req.RewardId)
if conf == nil {
code = pb.ErrorCode_ReqParameterError
}
if confLv := this.configure.GetTrollLv(req.RewardId); confLv != nil {
if _troll.TotalEarn >= int64(confLv.Money) {
if _, ok := _troll.NpcReward[req.RewardId]; !ok {
if code = this.module.DispenseRes(session, conf.Reword, true); code != pb.ErrorCode_Success {
return
}
_troll.NpcReward[req.RewardId] = 1
update = make(map[string]interface{}, 0)
update["npcReward"] = _troll.NpcReward
this.module.ModifyTrollData(session.GetUserId(), update)
} else {
code = pb.ErrorCode_TrollRepeatedReward
return
}
}
}
session.SendMsg(string(this.module.GetType()), TrollNpcRewardResp, &pb.TrollNpcRewardResp{Data: _troll})
return
}

View File

@ -1,111 +0,0 @@
package troll
import (
"crypto/rand"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go_dreamfactory/utils"
"math/big"
)
//参数校验
func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.TrollGetListReq) (code pb.ErrorCode) {
return
}
func (this *apiComp) GetList(session comm.IUserSession, req *pb.TrollGetListReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
update map[string]interface{}
maxCoefficient int32
)
update = make(map[string]interface{})
if code = this.GetListCheck(session, req); code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
trolltrain, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
// 自动交易
this.module.TrollAI(session, trolltrain)
maxCoefficient = this.configure.GetTrollMaxCoefficientNux() // 增长幅度的最大值
if maxCoefficient == 0 {
code = pb.ErrorCode_ConfigNoFound
return
}
// 跨天 则清除 每日交易次数
if !utils.IsToday(trolltrain.ResetTime) {
trolltrain.ResetTime = configure.Now().Unix()
update["resetTime"] = trolltrain.ResetTime
trolltrain.SellCount = 0
update["sellCount"] = trolltrain.SellCount // 重置每日交易次数
trolltrain.AiCount = 0
update["aiCount"] = trolltrain.AiCount // 重置ai 交易次数
this.module.ModifyTrollData(session.GetUserId(), update)
}
/// 计算经过了多少个周期
szTrain := this.configure.GetTrollAllTrain()
var (
circletime int32 // 循环一个周期的时间
circleCount int32 // 循环的次数
leftTime int32 // 离到达最后一站剩余的时间
index int32 // 总共经过了多少次车站
)
for _, v := range szTrain {
circletime += v
}
if int32(len(szTrain)) < trolltrain.TarinPos {
this.module.Errorf("TarinPos error: TarinPos:%d,maxLen:%d", trolltrain.TarinPos, len(szTrain))
code = pb.ErrorCode_ConfigNoFound
return
}
if configure.Now().Unix()-trolltrain.RefreshTime < int64(szTrain[trolltrain.TarinPos-1]) {
session.SendMsg(string(this.module.GetType()), TrollGetListResp, &pb.TrollGetListResp{Data: trolltrain})
return
}
trainNum := this.configure.GetTrollMaxTraintNum()
trolltrain.Shop = make(map[int32]int32) // 清空商人的购买数据
update["shop"] = trolltrain.Shop
t := int32(configure.Now().Unix() - trolltrain.Ctime)
circleCount = t / circletime // 经过的周期数
leftTime = t % circletime
if trolltrain.Circle != circleCount {
trolltrain.SurpriseID = make(map[int32]int32, 0)
n, _ := rand.Int(rand.Reader, big.NewInt(int64(trainNum)))
// 只算当前商人所属的货物
g := this.configure.GetTrollGoodsFor(int32(n.Int64()) + 1)
n2, _ := rand.Int(rand.Reader, big.NewInt(int64(len(g))))
trolltrain.SurpriseID[int32(n.Int64())+1] = g[int32(n2.Int64())]
update["surpriseID"] = trolltrain.SurpriseID
trolltrain.Circle = circleCount
update["circle"] = trolltrain.Circle
}
index = circleCount * trainNum // 计算火车的位置信息
for _, v := range szTrain {
if leftTime <= v {
trolltrain.RefreshTime = configure.Now().Unix() - int64(leftTime) //trolltrain.Ctime + int64(circleCount*circletime+leftTime)
trolltrain.RangeId = (index % maxCoefficient) + 1
trolltrain.TarinPos = (index % trainNum) + 1
break
}
index += 1
leftTime -= v
}
update["aiCount"] = trolltrain.AiCount
update["refreshTime"] = trolltrain.RefreshTime
update["tarinPos"] = trolltrain.TarinPos
update["rangeId"] = trolltrain.RangeId
update["shop"] = trolltrain.Shop
update["items"] = trolltrain.Items
update["price"] = trolltrain.Price
this.module.ModifyTrollData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), TrollGetListResp, &pb.TrollGetListResp{Data: trolltrain})
return
}

View File

@ -1,38 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.TrollRankListReq) (code pb.ErrorCode) {
return
}
func (this *apiComp) RankList(session comm.IUserSession, req *pb.TrollRankListReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
rank []*pb.RankData
)
list, gold, err := this.module.QueryRankList()
if err == nil {
for index, v := range list {
if user := this.module.ModuleUser.GetUser(v); user != nil {
rank = append(rank, &pb.RankData{
RankId: int32(index + 1),
Uid: v,
Name: user.Name,
Gold: gold[index],
Figure: user.Figure,
Title: user.Title,
})
}
}
}
session.SendMsg(string(this.module.GetType()), TrollRankListResp, &pb.TrollRankListResp{
Data: rank,
})
return
}

View File

@ -1,20 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
func (this *apiComp) RecordListCheck(session comm.IUserSession, req *pb.TrollRecordListReq) (code pb.ErrorCode) {
return
}
func (this *apiComp) RecordList(session comm.IUserSession, req *pb.TrollRecordListReq) (code pb.ErrorCode, data *pb.ErrorData) {
if list, err := this.module.record.GetTrollRecord(session.GetUserId()); err == nil {
session.SendMsg(string(this.module.GetType()), TrollRecordListResp, &pb.TrollRecordListResp{
Data: list,
})
}
return
}

View File

@ -1,65 +0,0 @@
package troll
import (
"crypto/rand"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"math/big"
)
//参数校验
func (this *apiComp) SurpriseIdCheck(session comm.IUserSession, req *pb.TrollSurpriseIdReq) (code pb.ErrorCode) {
return
}
func (this *apiComp) SurpriseId(session comm.IUserSession, req *pb.TrollSurpriseIdReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
circletime int32 // 循环一个周期的时间
circleCount int32 // 循环的次数
update map[string]interface{}
)
update = make(map[string]interface{})
trolltrain, err := this.module.modelTroll.getTrollList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
/// 计算经过了多少个周期
szTrain := this.configure.GetTrollAllTrain()
for _, v := range szTrain {
circletime += v
}
if int32(len(szTrain)) < trolltrain.TarinPos {
this.module.Errorf("TarinPos error: TarinPos:%d,maxLen:%d", trolltrain.TarinPos, len(szTrain))
code = pb.ErrorCode_ConfigNoFound
return
}
if int32(configure.Now().Unix()-trolltrain.RefreshTime) >= szTrain[trolltrain.TarinPos-1] {
trainNum := this.configure.GetTrollMaxTraintNum()
t := int32(configure.Now().Unix() - trolltrain.Ctime)
circleCount = t / circletime // 经过的周期数
if trolltrain.Circle != circleCount {
trolltrain.SurpriseID = make(map[int32]int32, 0)
n, _ := rand.Int(rand.Reader, big.NewInt(int64(trainNum)))
// 只算当前商人所属的货物
g := this.configure.GetTrollGoodsFor(int32(n.Int64()) + 1)
n2, _ := rand.Int(rand.Reader, big.NewInt(int64(len(g))))
trolltrain.SurpriseID[int32(n.Int64())+1] = g[int32(n2.Int64())]
update["surpriseID"] = trolltrain.SurpriseID
trolltrain.Circle = circleCount
update["circle"] = trolltrain.Circle
this.module.ModifyTrollData(session.GetUserId(), update)
}
return
}
session.SendMsg(string(this.module.GetType()), TrollSurpriseIdResp, &pb.TrollSurpriseIdResp{
SurpriseID: trolltrain.SurpriseID,
})
return
}

View File

@ -1,185 +0,0 @@
package troll
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
)
const (
game_trollgoods = "game_trollgoods.json"
game_trollcoefficient = "game_trollcoefficient.json"
game_trolltrain = "game_trolltrain.json"
game_trollrule = "game_trollrule.json"
game_trolllv = "game_trolllv.json"
)
///配置管理基础组件
type configureComp struct {
hlock sync.RWMutex
modules.MCompConfigure
}
//组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.LoadConfigure(game_trollgoods, cfg.NewGameTrollGoods)
this.LoadConfigure(game_trollcoefficient, cfg.NewGameTrollCoefficient)
this.LoadConfigure(game_trolltrain, cfg.NewGameTrollTrain)
this.LoadConfigure(game_trollrule, cfg.NewGameTrollRule)
this.LoadConfigure(game_trolllv, cfg.NewGameTrollLv)
return
}
//加载多个配置文件
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
for k, v := range confs {
err = configure.RegisterConfigure(k, v, nil)
if err != nil {
log.Errorf("配置文件:%s解析失败!", k)
break
}
}
return
}
//读取配置数据
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
return configure.GetConfigure(name)
}
// 获取列车货物信息
func (this *configureComp) GetTrollGoods(itemId int32) (data *cfg.GameTrollGoodsData) {
if v, err := this.GetConfigure(game_trollgoods); err == nil {
if configure, ok := v.(*cfg.GameTrollGoods); ok {
data = configure.Get(itemId)
return
}
} else {
log.Errorf("get GameTrollGoodsData conf err:%v", err)
}
return
}
// 获取商人位置信息
func (this *configureComp) GetTrollTrain(id int32) (data *cfg.GameTrollTrainData) {
if v, err := this.GetConfigure(game_trolltrain); err == nil {
if configure, ok := v.(*cfg.GameTrollTrain); ok {
data = configure.Get(id)
return
}
} else {
log.Errorf("get GameTrollTrainData conf err:%v", err)
}
return
}
// 获取基本规则
func (this *configureComp) GetTrollRule(id int32) int32 {
if v, err := this.GetConfigure(game_trollrule); err == nil {
if configure, ok := v.(*cfg.GameTrollRule); ok {
return configure.Get(id).Quantity
}
}
log.Errorf("get GetTrollRule conf err:%d", id)
return 1
}
func (this *configureComp) GetTrollCoefficient(id int32) (data *cfg.GameTrollCoefficientData) {
if v, err := this.GetConfigure(game_trollcoefficient); err == nil {
if configure, ok := v.(*cfg.GameTrollCoefficient); ok {
data = configure.Get(id)
return
}
} else {
log.Errorf("get GameTrollCoefficientData conf err:%v", err)
}
return
}
func (this *configureComp) GetTrollLv(id int32) (data *cfg.GameTrollLvData) {
if v, err := this.GetConfigure(game_trolllv); err == nil {
if configure, ok := v.(*cfg.GameTrollLv); ok {
data = configure.Get(id)
return
}
} else {
log.Errorf("get GameTrollCoefficientData conf err:%v", err)
}
return
}
func (this *configureComp) GetTrollAllTrain() (data []int32) {
data = make([]int32, 0)
if v, err := this.GetConfigure(game_trolltrain); err == nil {
if configure, ok := v.(*cfg.GameTrollTrain); ok {
for _, v := range configure.GetDataList() {
time := v.Time
data = append(data, time)
}
return
}
} else {
log.Errorf("get GameTrollTrainData conf err:%v", err)
}
return
}
func (this *configureComp) GetTrollMaxCoefficientNux() int32 {
if v, err := this.GetConfigure(game_trollcoefficient); err == nil {
if configure, ok := v.(*cfg.GameTrollCoefficient); ok {
return int32(len(configure.GetDataList()))
}
} else {
log.Errorf("get GameTrollTrainData conf err:%v", err)
}
return 0
}
// 获取车站的数量
func (this *configureComp) GetTrollMaxTraintNum() int32 {
if v, err := this.GetConfigure(game_trolltrain); err == nil {
if configure, ok := v.(*cfg.GameTrollTrain); ok {
return int32(len(configure.GetDataList()))
}
} else {
log.Errorf("get GameTrollTrainData conf err:%v", err)
}
return 1 // 至少有1个车站
}
func (this *configureComp) GetTrollAllGoods() (data []*cfg.GameTrollGoodsData) {
if v, err := this.GetConfigure(game_trollgoods); err == nil {
if configure, ok := v.(*cfg.GameTrollGoods); ok {
data = configure.GetDataList()
return
}
} else {
log.Errorf("get GameTrollGoodsData conf err:%v", err)
}
return
}
// 返回商人货物信息
func (this *configureComp) GetTrollGoodsFor(trainID int32) (data []int32) {
if v, err := this.GetConfigure(game_trollgoods); err == nil {
if configure, ok := v.(*cfg.GameTrollGoods); ok {
for _, v := range configure.GetDataList() {
if v.Goodsfor == trainID {
data = append(data, v.Id)
}
}
return
}
} else {
log.Errorf("get GameTrollGoodsData conf err:%v", err)
}
return
}

View File

@ -1,55 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type ModelRecord struct {
modules.MCompModel
module *Troll
}
func (this *ModelRecord) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.TableName = comm.TableTrollRecord
err = this.MCompModel.Init(service, module, comp, options)
this.module = module.(*Troll)
//创建uid索引
this.DB.CreateIndex(core.SqlTable(comm.TableMail), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
// 获取列表信息
func (this *ModelRecord) GetTrollRecord(uid string) (result []*pb.DBTrollRecord, err error) {
result = make([]*pb.DBTrollRecord, 0)
if err = this.GetList(uid, &result); err != nil {
return
}
err = nil
return result, err
}
// 添加收益列表
func (this *ModelRecord) AddTrollRecord(uid string, gold, pos int32) (err error) {
troll := &pb.DBTrollRecord{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Gold: gold,
Pos: pos,
Time: configure.Now().Unix(),
}
if err = this.AddList(uid, troll.Id, troll); err != nil {
this.module.Errorf("%v", err)
return
}
return
}

View File

@ -1,65 +0,0 @@
package troll
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type modelTroll struct {
modules.MCompModel
module *Troll
}
func (this *modelTroll) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.TableName = string(comm.TableTroll)
err = this.MCompModel.Init(service, module, comp, options)
this.module = module.(*Troll)
// uid 创建索引
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
func (this *modelTroll) getTrollList(uid string) (result *pb.DBTrollTrain, err error) {
result = &pb.DBTrollTrain{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Items: map[int32]int32{},
Price: map[int32]int32{},
GridNum: 0,
TarinPos: 1,
RangeId: 0,
Buy: 0,
Sell: 0,
NpcLv: 0,
NpcReward: map[int32]int32{},
TotalEarn: 0,
SellCount: 0,
RefreshTime: configure.Now().Unix(),
AiCount: 0,
Shop: map[int32]int32{},
Ctime: configure.Now().Unix(),
Circle: 0,
SurpriseID: map[int32]int32{},
ResetTime: configure.Now().Unix(),
}
if err = this.Get(uid, result); err != nil && mgo.MongodbNil == err {
// 创建一条数据
err = this.Add(uid, result)
return
}
err = nil
return result, err
}
func (this *modelTroll) modifyTrollDataByObjId(uid string, data map[string]interface{}) error {
return this.Change(uid, data)
}

View File

@ -1,310 +0,0 @@
/*
模块名:Troll
描述:巨怪商队
开发:梅雄风
*/
package troll
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/redis/pipe"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"math"
"github.com/go-redis/redis/v8"
)
type Troll struct {
modules.ModuleBase
modelTroll *modelTroll
api *apiComp
configure *configureComp
record *ModelRecord
}
func NewModule() core.IModule {
return &Troll{}
}
func (this *Troll) GetType() core.M_Modules {
return comm.ModuleTroll
}
func (this *Troll) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
return
}
func (this *Troll) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelTroll = this.RegisterComp(new(modelTroll)).(*modelTroll)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
this.record = this.RegisterComp(new(ModelRecord)).(*ModelRecord)
}
// 接口信息
func (this *Troll) ModifyTrollData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
err := this.modelTroll.modifyTrollDataByObjId(uid, data)
if err != nil {
code = pb.ErrorCode_DBError
}
return
}
func (this *Troll) TrollAI(session comm.IUserSession, troll *pb.DBTrollTrain) (code pb.ErrorCode) {
var (
sellPrice map[int32]int32 // 出售货物价格
totalGold int32
index int32
update map[string]interface{}
rangeId int32 // 增幅ID
tarinPos int32 // 火车位置
refreshTime int64 // 刷新时间
)
if troll.Buy == 0 && troll.Sell == 0 {
return
}
update = make(map[string]interface{})
sellPrice = make(map[int32]int32)
now := configure.Now().Unix()
trainNum := this.configure.GetTrollMaxTraintNum()
maxCoefficient := this.configure.GetTrollMaxCoefficientNux() // 增长幅度的最大值
if maxCoefficient == 0 {
code = pb.ErrorCode_ConfigNoFound
return
}
rangeId = troll.RangeId
tarinPos = troll.TarinPos
refreshTime = troll.RefreshTime
goods := this.configure.GetTrollAllGoods()
for _, v := range goods {
sellPrice[v.Id] = v.Goodsprice
}
sz := this.configure.GetTrollAllTrain()
if len(sz) == 0 {
this.Errorf("GetTrollAllTrain configure err") // 配置异常 打个日志
return
}
iCount := this.configure.GetTrollRule(comm.TrollAIBuyCount)
for index = 0; ; index++ {
if index < tarinPos-1 { // 起始位置
continue
}
index := int32(index) % trainNum
refreshTime += int64(sz[index])
if now >= refreshTime {
rangeId = (rangeId % maxCoefficient) + 1
tarinPos = (tarinPos % trainNum) + 1
coefficient := this.configure.GetTrollCoefficient(rangeId) // 获取当前级别的涨幅数据
if coefficient == nil {
return
}
if troll.Sell <= coefficient.Coefficient { // 可以出售
var preGold int32 // 成本价
for _, v := range goods {
sellPrice[v.Id] = v.Goodsprice * coefficient.Coefficient / 1000
preGold += troll.Price[v.Id] * troll.Items[v.Id]
}
// 出售之前算成本
if len(troll.Items) > 0 {
sellGold := this.SellAllItem(session.GetUserId(), troll, sellPrice, tarinPos)
if sellGold != 0 {
if code = this.ModuleUser.AddAttributeValue(session, comm.ResGold, sellGold, true); code != pb.ErrorCode_Success {
this.Errorf("玩家 uid:%s 金币不足,获得金币%d", session.GetUserId(), sellGold)
} // 一次交易完成做一次结算
}
totalGold += sellGold
// 计算本次出售赚的金币
if sellGold-preGold > 0 {
troll.TotalEarn += int64(sellGold - preGold)
}
this.SeTrollRankList(troll.TotalEarn, session.GetUserId()) // 设置排行数据
troll.AiCount++
aiMaxCount := this.configure.GetTrollRule(comm.TrollAIBuyCount)
if troll.AiCount+troll.SellCount > aiMaxCount { //达到最大交易次数
break
}
}
} else if troll.Buy >= coefficient.Coefficient { // 可以购买
for _, v := range goods {
sellPrice[v.Id] = v.Goodsprice * coefficient.Coefficient / 1000
}
troll.Shop = make(map[int32]int32) // 买之前清除购买上限
buyGold := this.BuyAllItem(session.GetUserId(), troll, sellPrice, tarinPos)
if buyGold != 0 {
if code = this.ModuleUser.AddAttributeValue(session, comm.ResGold, buyGold, true); code != pb.ErrorCode_Success {
this.Errorf("玩家 uid:%s 金币不足,获得金币%d", session.GetUserId(), buyGold)
}
}
totalGold += buyGold
}
} else { // 超过当前时间
refreshTime -= int64(sz[index])
break
}
if index > iCount*maxCoefficient { // ai挂机最大限制
break
}
}
update["shop"] = troll.Shop
update["items"] = troll.Items
update["price"] = troll.Price
update["aiCount"] = troll.AiCount
update["gridNum"] = troll.GridNum
update["totalEarn"] = troll.TotalEarn
if confLv := this.configure.GetTrollLv(troll.GetNpcLv() + 1); confLv != nil {
if troll.TotalEarn >= int64(confLv.Money) {
troll.NpcLv += 1 // npc levelUp
update["npcLv"] = troll.NpcLv
}
}
this.ModifyTrollData(session.GetUserId(), update)
return
}
// 出售所有货物
func (this *Troll) SellAllItem(uid string, troll *pb.DBTrollTrain, price map[int32]int32, tarinPos int32) (gold int32) {
for k, v := range troll.Items {
if _, ok := price[k]; ok {
gold += price[k] * v
}
delete(troll.Items, k) // 清除数据
}
troll.Price = make(map[int32]int32, 0) // 原来的价格也清除
troll.GridNum = 0 // 清空格子
// 写统计
if gold != 0 {
this.record.AddTrollRecord(uid, gold, tarinPos)
}
return
}
// 可以购买商品
func (this *Troll) BuyAllItem(uid string, troll *pb.DBTrollTrain, price map[int32]int32, tarinPos int32) (gold int32) {
var (
box map[int32]int32 // 盒子 存放可购买的物品
leftGirdNum int32 // 剩余可购买格子数量
costGold int32
buyBox map[int32]int32 // 盒子 存放可购买的物品
)
maxGirdNum := this.configure.GetTrollRule(comm.TrollGridCount) // 获取背包最大格子数量
maxgoods := this.configure.GetTrollRule(comm.TrollItemCount) // 获取单个物品最大上限 20个
leftGirdNum = maxGirdNum - troll.GridNum
box = make(map[int32]int32, 0)
buyBox = make(map[int32]int32, 0)
goods := this.configure.GetTrollAllGoods()
for _, v := range goods {
for {
if leftGirdNum > 0 && troll.Shop[v.Id] < v.Max {
leftGirdNum--
troll.Shop[v.Id] += maxgoods
box[v.Id] += maxgoods // 加入篮子
} else {
break
}
}
// 检查该位置的格子没有补满
full := (troll.Items[v.Id] + box[v.Id]) % maxgoods
if full != 0 {
box[v.Id] += (maxgoods - full) // 格子补满
}
}
// 通过金币来校验哪些物品可以买
curGold := this.ModuleUser.QueryAttributeValue(uid, comm.ResGold)
for k, v := range box {
for i := 0; i < int(v); i++ { //0 1 2 3
curGold -= int64(price[k])
costGold -= price[k]
if curGold < 0 {
box[k] = int32(i)
costGold += price[k] // 返还之前扣的
break
}
buyBox[k]++
}
}
if len(buyBox) == 0 {
return // 没有可购买的直接返回
}
for _, v := range goods { // 计算购买后的平均价格
g := troll.Items[v.Id] * troll.Price[v.Id]
g += buyBox[v.Id] * price[v.Id]
troll.Items[v.Id] += buyBox[v.Id]
if troll.Items[v.Id] != 0 {
troll.Price[v.Id] = g / troll.Items[v.Id]
}
}
gold = costGold
// 统计格子
troll.GridNum = 0
for _, v := range troll.Items {
if v > 0 {
troll.GridNum += int32(math.Ceil(float64(v) / float64(maxgoods)))
}
}
// 写统计
if gold != 0 {
this.record.AddTrollRecord(uid, gold, tarinPos)
}
return
}
func (this *Troll) SeTrollRankList(gold int64, uid string) {
tableName := "trollRank"
var (
pipe *pipe.RedisPipe = this.modelTroll.Redis.RedisPipe(context.TODO())
menbers *redis.Z
)
menbers = &redis.Z{Score: float64(gold), Member: uid}
if cmd := pipe.ZAdd(tableName, menbers); cmd != nil {
dock, err1 := cmd.Result()
if err1 != nil {
this.Errorln(dock, err1)
}
}
if _, err := pipe.Exec(); err != nil {
this.Errorln(err)
return
}
}
func (this *Troll) QueryRankList() (ranks []string, gold []int64, err error) {
var (
result []string
)
tableName := "trollRank"
if result, err = this.modelTroll.Redis.ZRevRange(tableName, 0, comm.MaxRankList).Result(); err != nil {
this.Errorln(err)
return
}
ranks = make([]string, 0)
for i := 0; i < len(result); i++ {
if _d, err := this.modelTroll.Redis.ZScore(tableName, result[i]); err == nil {
gold = append(gold, int64(_d))
ranks = append(ranks, result[i])
}
}
return
}

View File

@ -22,12 +22,12 @@ func (this *apiComp) CreateCheck(session comm.IUserSession, req *pb.UserCreateRe
}
// 创角
func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (code pb.ErrorCode, data *pb.ErrorData) {
func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (code pb.ErrorCode, edata *pb.ErrorData) {
if code = this.CreateCheck(session, req); code != pb.ErrorCode_Success {
return
}
resp := &pb.UserCreateResp{}
// resp := &pb.UserCreateResp{}
uid := session.GetUserId()
//获取用户
self := this.module.modelUser.GetUser(session.GetUserId())
@ -44,8 +44,8 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c
//查询昵称是否重复
if ok := this.module.modelUser.NickNameIsExist(req.NickName); !ok {
resp.Code = pb.ErrorCode_UserNickNameExist
this.sendMsg(session, UserSubTypeCreate, resp)
code = pb.ErrorCode_UserNickNameExist
// this.sendMsg(session, UserSubTypeCreate, resp)
return
}
@ -118,13 +118,12 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c
// }
// }()
resp.IsSucc = true
this.sendMsg(session, UserSubTypeCreate, resp)
// resp.IsSucc = true
// this.sendMsg(session, UserSubTypeCreate, resp)
session.SendMsg(string(this.module.GetType()), UserSubTypeCreate, &pb.UserCreateResp{})
if req.Figure != 0 {
go this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72, 1))
}
this.mail.SendMailByCid(session, comm.Welcomemail, nil)
return
}

View File

@ -11,7 +11,7 @@ import (
const (
game_vikingboss = "game_vikingboss.json"
game_challenge = "game_vikingchallenge.json"
// game_challenge = "game_vikingchallenge.json"
)
///配置管理基础组件
@ -43,7 +43,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
log.Errorf("get game_viking conf err:%v", err)
return
})
err = this.LoadConfigure(game_challenge, cfg.NewGameVikingChallenge)
// err = this.LoadConfigure(game_challenge, cfg.NewGameVikingChallenge)
// _data := this.GetVikingBossTypeConfigData()
// log.Debugf("%v", _data)
@ -92,30 +92,30 @@ func (this *configureComp) GetVikingBossTypeConfigData() map[int32]struct{} {
return mapType
}
func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameVikingChallengeData) {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameVikingChallenge); ok {
data = configure.Get(index)
return
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
// func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameVikingChallengeData) {
// if v, err := this.GetConfigure(game_challenge); err == nil {
// if configure, ok := v.(*cfg.GameVikingChallenge); ok {
// data = configure.Get(index)
// return
// }
// } else {
// log.Errorf("get game_challenge conf err:%v", err)
// }
return
}
// return
// }
func (this *configureComp) GetMaxBuyChallengeCount() int32 {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameVikingChallenge); ok {
return int32(len(configure.GetDataList()))
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
// func (this *configureComp) GetMaxBuyChallengeCount() int32 {
// if v, err := this.GetConfigure(game_challenge); err == nil {
// if configure, ok := v.(*cfg.GameVikingChallenge); ok {
// return int32(len(configure.GetDataList()))
// }
// } else {
// log.Errorf("get game_challenge conf err:%v", err)
// }
return 0
}
// return 0
// }
// 获取boss 最大难点
func (this *configureComp) GetMaxDifficultyByBossID(bossId int32) int32 {
@ -126,15 +126,15 @@ func (this *configureComp) GetMaxDifficultyByBossID(bossId int32) int32 {
}
// 获取最后一条数据
func (this *configureComp) GetLastBuyChallenge() (data *cfg.GameVikingChallengeData) {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameVikingChallenge); ok && len(configure.GetDataList()) > 0 {
data = configure.GetDataList()[len(configure.GetDataList())-1]
return
}
} else {
log.Errorf("get game_challenge conf err:%v", err)
}
// func (this *configureComp) GetLastBuyChallenge() (data *cfg.GameVikingChallengeData) {
// if v, err := this.GetConfigure(game_challenge); err == nil {
// if configure, ok := v.(*cfg.GameVikingChallenge); ok && len(configure.GetDataList()) > 0 {
// data = configure.GetDataList()[len(configure.GetDataList())-1]
// return
// }
// } else {
// log.Errorf("get game_challenge conf err:%v", err)
// }
return
}
// return
// }

View File

@ -95,7 +95,7 @@ func (a *apiComp) Accept(session comm.IUserSession, req *pb.WorldtaskAcceptReq)
// 检查当前任务的完成条件
func (this *apiComp) checkCurrentCompleteCond(uid string, completeCondIds []int32, userTask *pb.DBWorldtask) (condIds []int32) {
for _, condId := range completeCondIds {
if condId == 0 {
continue

View File

@ -81,8 +81,8 @@ type DBBuriedItem struct {
Conid int32 `protobuf:"varint,1,opt,name=conid,proto3" json:"conid" bson:"conid"` //条件id
State BuriedItemState `protobuf:"varint,2,opt,name=state,proto3,enum=BuriedItemState" json:"state" bson:"state"` //状态
Value int32 `protobuf:"varint,3,opt,name=value,proto3" json:"value" bson:"value"` //条件值
Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp" bson:"timestamp"` //最后一次操作时间
Value []int32 `protobuf:"varint,3,rep,packed,name=value,proto3" json:"value" bson:"value"` //条件值
Timestamp int64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp" bson:"timestamp"` //最后一次操作时间
}
func (x *DBBuriedItem) Reset() {
@ -131,11 +131,11 @@ func (x *DBBuriedItem) GetState() BuriedItemState {
return BuriedItemState_Inactivated
}
func (x *DBBuriedItem) GetValue() int32 {
func (x *DBBuriedItem) GetValue() []int32 {
if x != nil {
return x.Value
}
return 0
return nil
}
func (x *DBBuriedItem) GetTimestamp() int64 {
@ -227,8 +227,8 @@ var file_buried_buried_db_proto_rawDesc = []byte{
0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10,
0x2e, 0x42, 0x75, 0x72, 0x69, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65,
0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb7, 0x01, 0x0a, 0x08,
0x44, 0x42, 0x42, 0x75, 0x72, 0x69, 0x65, 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,

View File

@ -154,12 +154,13 @@ type UserMessage struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MainType string `protobuf:"bytes,1,opt,name=MainType,proto3" json:"MainType"` //用户消息处理 模块名 例如:user 对应项目中 user的模块
SubType string `protobuf:"bytes,2,opt,name=SubType,proto3" json:"SubType"` //用户消息处理函数名 例如:login 对应项目中 user的模块中
MsgId uint32 `protobuf:"varint,1,opt,name=MsgId,proto3" json:"MsgId"` //消息id 客户端标记
MainType string `protobuf:"bytes,2,opt,name=MainType,proto3" json:"MainType"` //用户消息处理 模块名 例如:user 对应项目中 user的模块
SubType string `protobuf:"bytes,3,opt,name=SubType,proto3" json:"SubType"` //用户消息处理函数名 例如:login 对应项目中 user的模块中
// api_login 的处理函数
ServicePath string `protobuf:"bytes,3,opt,name=servicePath,proto3" json:"servicePath"` // 消息路由地址 部分消息前端确定转发给谁 \worker\worker0
Data *anypb.Any `protobuf:"bytes,4,opt,name=data,proto3" json:"data"`
Sec string `protobuf:"bytes,5,opt,name=sec,proto3" json:"sec"` //密文
ServicePath string `protobuf:"bytes,4,opt,name=servicePath,proto3" json:"servicePath"` // 消息路由地址 部分消息前端确定转发给谁 \worker\worker0
Data *anypb.Any `protobuf:"bytes,5,opt,name=data,proto3" json:"data"`
Sec string `protobuf:"bytes,6,opt,name=sec,proto3" json:"sec"` //密文
}
func (x *UserMessage) Reset() {
@ -194,6 +195,13 @@ func (*UserMessage) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{1}
}
func (x *UserMessage) GetMsgId() uint32 {
if x != nil {
return x.MsgId
}
return 0
}
func (x *UserMessage) GetMainType() string {
if x != nil {
return x.MainType
@ -1938,197 +1946,198 @@ var file_comm_proto_rawDesc = []byte{
0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73,
0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
0xa1, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53,
0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75,
0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x50, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74,
0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x73, 0x65, 0x63, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75,
0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62,
0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x09,
0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x45, 0x72, 0x72,
0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18,
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x69, 0x0a, 0x0d, 0x41, 0x67,
0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55,
0xb7, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x63, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x41, 0x67,
0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
0x79, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x0f, 0x52,
0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e,
0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45,
0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22,
0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74,
0x61, 0x52, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x05,
0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79,
0x22, 0x69, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65,
0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0f, 0x41,
0x67, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24,
0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e,
0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, 0x72,
0x6b, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x57, 0x6f, 0x72,
0x6b, 0x65, 0x72, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x55, 0x6e,
0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5f,
0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x05, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
0x99, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d,
0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d,
0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79,
0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70,
0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x13, 0x42,
0x72, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, 0x61,
0x74, 0x61, 0x22, 0x36, 0x0a, 0x0e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65,
0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4e,
0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49,
0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12,
0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12,
0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x13,
0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65,
0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49,
0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61,
0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xae, 0x01,
0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73,
0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x3f,
0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73,
0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b,
0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22,
0x36, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x0c, 0x0a,
0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x22, 0x42, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x41,
0x74, 0x6e, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01,
0x64, 0x12, 0x22, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0c, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05,
0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x44, 0x61, 0x74,
0x61, 0x22, 0x75, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x73, 0x74, 0x4d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e,
0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28,
0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
0x6e, 0x79, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x36, 0x0a, 0x0e, 0x41, 0x67, 0x65, 0x6e,
0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x22, 0xae, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4c,
0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55,
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x49, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73,
0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74,
0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73,
0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b,
0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0x36, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73,
0x65, 0x74, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01,
0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, 0x12,
0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x12, 0x0c, 0x0a,
0x01, 0x4f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x4f, 0x22, 0x39, 0x0a, 0x09, 0x54,
0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72, 0x73,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16,
0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x54, 0x0a, 0x0a, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50,
0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x1a, 0x0a, 0x06,
0x55, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x07, 0x4e, 0x61, 0x6d, 0x65,
0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x6d, 0x70, 0x74, 0x79,
0x52, 0x65, 0x71, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70,
0x22, 0x29, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65,
0x71, 0x41, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x22, 0x41, 0x0a, 0x0f, 0x52,
0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x32, 0x12, 0x16,
0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0x59,
0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41,
0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x71, 0x0a, 0x0f, 0x52, 0x50, 0x43,
0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x34, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x22, 0x51, 0x0a, 0x0b,
0x52, 0x50, 0x43, 0x52, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a,
0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22,
0xa1, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x42, 0x49, 0x6e, 0x66,
0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x12, 0x1e, 0x0a,
0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77,
0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x6f,
0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x6f, 0x73,
0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c,
0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74,
0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x64,
0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72,
0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x64,
0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e,
0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4d,
0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e,
0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62,
0x61, 0x73, 0x65, 0x2a, 0x43, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x70, 0x10,
0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x74, 0x6b, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x65,
0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x10, 0x03, 0x12, 0x08,
0x0a, 0x04, 0x43, 0x72, 0x69, 0x74, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x22, 0x42, 0x0a,
0x08, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x01, 0x4e, 0x12, 0x0c, 0x0a, 0x01, 0x4f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01,
0x4f, 0x22, 0x39, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14,
0x0a, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66,
0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x54, 0x0a, 0x0a,
0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x33, 0x22, 0x1a, 0x0a, 0x06, 0x55, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1d,
0x0a, 0x07, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, 0x0a,
0x08, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x6d, 0x70,
0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x29, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x31, 0x22, 0x41, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52,
0x65, 0x71, 0x41, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x32, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72,
0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22,
0x71, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71,
0x41, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x34, 0x22, 0x51, 0x0a, 0x0b, 0x52, 0x50, 0x43, 0x52, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xa1, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x44, 0x42, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x6f,
0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a,
0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x08, 0x6f, 0x70, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x64,
0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x18, 0x09,
0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x12,
0x24, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62,
0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x12,
0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x12,
0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61,
0x73, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64,
0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2a, 0x43, 0x0a, 0x12, 0x48, 0x65, 0x72,
0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12,
0x06, 0x0a, 0x02, 0x48, 0x70, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x74, 0x6b, 0x10, 0x01,
0x12, 0x07, 0x0a, 0x03, 0x44, 0x65, 0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x70, 0x65,
0x65, 0x64, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x72, 0x69, 0x74, 0x10, 0x04, 0x42, 0x06,
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -27,12 +27,13 @@ type NotifyErrorNotifyPush struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReqMainType string `protobuf:"bytes,1,opt,name=ReqMainType,proto3" json:"ReqMainType"` // 请求协议模块 模块名 例如:user 对应项目中 user的模块
ReqSubType string `protobuf:"bytes,2,opt,name=ReqSubType,proto3" json:"ReqSubType"` // 请求协议函数 例如:login 对应项目中 user的模块中
MsgId uint32 `protobuf:"varint,1,opt,name=MsgId,proto3" json:"MsgId"` //消息id 客户端标记
ReqMainType string `protobuf:"bytes,2,opt,name=ReqMainType,proto3" json:"ReqMainType"` // 请求协议模块 模块名 例如:user 对应项目中 user的模块
ReqSubType string `protobuf:"bytes,3,opt,name=ReqSubType,proto3" json:"ReqSubType"` // 请求协议函数 例如:login 对应项目中 user的模块中
// api_login 的处理函数
Code ErrorCode `protobuf:"varint,3,opt,name=Code,proto3,enum=ErrorCode" json:"Code"` // 执行返回错误码 对应 errorcode.proto 枚举
Arg *anypb.Any `protobuf:"bytes,4,opt,name=arg,proto3" json:"arg"` //参数信息
Err *ErrorData `protobuf:"bytes,5,opt,name=err,proto3" json:"err"` //错误数据
Code ErrorCode `protobuf:"varint,4,opt,name=Code,proto3,enum=ErrorCode" json:"Code"` // 执行返回错误码 对应 errorcode.proto 枚举
Arg *anypb.Any `protobuf:"bytes,5,opt,name=arg,proto3" json:"arg"` //参数信息
Err *ErrorData `protobuf:"bytes,6,opt,name=err,proto3" json:"err"` //错误数据
}
func (x *NotifyErrorNotifyPush) Reset() {
@ -67,6 +68,13 @@ func (*NotifyErrorNotifyPush) Descriptor() ([]byte, []int) {
return file_notify_notify_msg_proto_rawDescGZIP(), []int{0}
}
func (x *NotifyErrorNotifyPush) GetMsgId() uint32 {
if x != nil {
return x.MsgId
}
return 0
}
func (x *NotifyErrorNotifyPush) GetReqMainType() string {
if x != nil {
return x.ReqMainType
@ -206,28 +214,29 @@ var file_notify_notify_msg_proto_rawDesc = []byte{
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2f, 0x6e,
0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x4e, 0x6f,
0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x15, 0x4e, 0x6f,
0x74, 0x69, 0x66, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50,
0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79,
0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x71, 0x4d, 0x61, 0x69,
0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x53, 0x75, 0x62, 0x54,
0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x65, 0x71, 0x53, 0x75,
0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52,
0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1c, 0x0a,
0x03, 0x65, 0x72, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72,
0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x12, 0x0a, 0x10, 0x4e,
0x6f, 0x74, 0x69, 0x66, 0x79, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22,
0x66, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74,
0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x4c, 0x61, 0x73, 0x74,
0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x53, 0x79, 0x73, 0x4e,
0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x09, 0x53, 0x79,
0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x75, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x05, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x71,
0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x52, 0x65, 0x71, 0x4d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x52,
0x65, 0x71, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x52, 0x65, 0x71, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x43,
0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x61,
0x72, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03,
0x61, 0x72, 0x67, 0x12, 0x1c, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x03, 0x65, 0x72,
0x72, 0x22, 0x12, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x47, 0x65, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x66, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x47,
0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61,
0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d,
0x0a, 0x09, 0x53, 0x79, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x52, 0x09, 0x53, 0x79, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -568,9 +568,6 @@ type UserCreateResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IsSucc bool `protobuf:"varint,1,opt,name=IsSucc,proto3" json:"IsSucc"`
Code ErrorCode `protobuf:"varint,2,opt,name=code,proto3,enum=ErrorCode" json:"code"`
}
func (x *UserCreateResp) Reset() {
@ -605,20 +602,6 @@ func (*UserCreateResp) Descriptor() ([]byte, []int) {
return file_user_user_msg_proto_rawDescGZIP(), []int{10}
}
func (x *UserCreateResp) GetIsSucc() bool {
if x != nil {
return x.IsSucc
}
return false
}
func (x *UserCreateResp) GetCode() ErrorCode {
if x != nil {
return x.Code
}
return ErrorCode_Success
}
// 玩家资源变更推送
type UserResChangedPush struct {
state protoimpl.MessageState
@ -3105,199 +3088,195 @@ var file_user_user_msg_proto_rawDesc = []byte{
0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69,
0x67, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x69, 0x67, 0x75,
0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x48, 0x0a, 0x0e, 0x55, 0x73,
0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06,
0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73,
0x53, 0x75, 0x63, 0x63, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x22, 0x96, 0x03, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73,
0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x67,
0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12,
0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78,
0x70, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x69, 0x70, 0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x76, 0x69, 0x70, 0x65, 0x78, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x61,
0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x64, 0x69, 0x61, 0x6d,
0x6f, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73,
0x74, 0x61, 0x72, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73,
0x74, 0x61, 0x72, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64,
0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c,
0x64, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x63, 0x6f,
0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x63,
0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
0x02, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c,
0x65, 0x6e, 0x74, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65,
0x6e, 0x74, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x0d,
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a,
0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x34, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68,
0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x22, 0x2a, 0x0a,
0x16, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x4c, 0x6f,
0x67, 0x69, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x55, 0x73, 0x65,
0x72, 0x50, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e,
0x0a, 0x02, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x22, 0x13,
0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x71, 0x22, 0x3e, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x22, 0x40, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x07, 0x73,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44,
0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10,
0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x73,
0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x96, 0x03, 0x0a,
0x12, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50,
0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02,
0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x69, 0x70,
0x65, 0x78, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x69, 0x70, 0x65, 0x78,
0x70, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x03, 0x52, 0x07, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x66, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x63, 0x6f, 0x69, 0x6e, 0x18,
0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x63, 0x6f, 0x69, 0x6e, 0x12,
0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a,
0x09, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
0x52, 0x09, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x70,
0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d,
0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e,
0x74, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x74,
0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61,
0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x34,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x34, 0x12,
0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x6d, 0x6f, 0x6e, 0x65, 0x79,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74,
0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x74, 0x68,
0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
0x64, 0x22, 0x23, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x50, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65,
0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x22, 0x3e, 0x0a, 0x12, 0x55,
0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
0x70, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x40, 0x0a, 0x14, 0x55,
0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x29, 0x0a,
0x15, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72,
0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x22, 0x26, 0x0a, 0x10, 0x55,
0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x22, 0x25, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64,
0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x24, 0x0a, 0x10, 0x55, 0x73,
0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65,
0x52, 0x65, 0x71, 0x22, 0x26, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43,
0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x25, 0x0a, 0x0f, 0x55,
0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x22, 0x24, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61,
0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72,
0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x22, 0x70, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e,
0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66,
0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76,
0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76,
0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f,
0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x10,
0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x71,
0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f,
0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a,
0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67,
0x70, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66,
0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69,
0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69,
0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f,
0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10,
0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x71,
0x22, 0x2d, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x22,
0x47, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x76, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20,
0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x54, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72,
0x56, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x12, 0x16, 0x0a, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x70, 0x4c,
0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x22, 0x27,
0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e,
0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x28, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d,
0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a,
0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67,
0x6e, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x55,
0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x12, 0x1d, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44,
0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x02, 0x65, 0x78, 0x12,
0x33, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61,
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65,
0x63, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a, 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42,
0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0d, 0x68, 0x75, 0x6e,
0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x69,
0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52,
0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x34, 0x0a,
0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d,
0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a,
0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f,
0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x22,
0x32, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a,
0x49, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e,
0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x73, 0x65, 0x72,
0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x31, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x44,
0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x75,
0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55,
0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x73,
0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61,
0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x12, 0x55, 0x73, 0x65,
0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x55,
0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52,
0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x44,
0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74,
0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74,
0x61, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74,
0x61, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69,
0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x3b,
0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52,
0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x13, 0x55,
0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52,
0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x44,
0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75,
0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75,
0x72, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75,
0x72, 0x65, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54,
0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2d, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72,
0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4c,
0x76, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10,
0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78, 0x70,
0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76,
0x22, 0x54, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x69, 0x70, 0x45,
0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f,
0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73,
0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x22,
0x28, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65,
0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71,
0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64,
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73,
0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70,
0x61, 0x6e, 0x64, 0x52, 0x02, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64,
0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c,
0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a, 0x0d,
0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52,
0x61, 0x6e, 0x6b, 0x52, 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f,
0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b,
0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52,
0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x68,
0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65,
0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77,
0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x22, 0x32, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53,
0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x68,
0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0e, 0x55,
0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a,
0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43,
0x61, 0x63, 0x68, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22,
0x31, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65,
0x72, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x15, 0x55, 0x73,
0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,
0x65, 0x71, 0x22, 0x3a, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64,
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x0d,
0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2b, 0x0a,
0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42,
0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x12, 0x55, 0x73,
0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75,
0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a,
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e,
0x64, 0x65, 0x78, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67,
0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x22, 0x31, 0x0a, 0x12,
0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
0x2f, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x52, 0x65,
0x71, 0x12, 0x1d, 0x0a, 0x04, 0x61, 0x74, 0x6e, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x04, 0x61, 0x74, 0x6e, 0x6f,
0x22, 0x48, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x03, 0x61, 0x74, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x03, 0x61,
0x74, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x63, 0x0a, 0x13, 0x55, 0x73,
0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x50, 0x65, 0x72, 0x52, 0x65,
0x71, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63,
0x75, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x63, 0x75, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x75, 0x72,
0x42, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67, 0x22,
0x7c, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66,
0x50, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63,
0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72,
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75,
0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67, 0x22, 0x76, 0x0a,
0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73,
0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
0x52, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b,
0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61,
0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69,
0x67, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2b, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x22, 0x2a, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65,
0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2b,
0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x27, 0x0a, 0x11, 0x55,
0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
0x74, 0x69, 0x70, 0x73, 0x22, 0x31, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67,
0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x04, 0x61, 0x74, 0x6e,
0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74,
0x6e, 0x6f, 0x52, 0x04, 0x61, 0x74, 0x6e, 0x6f, 0x22, 0x48, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x03, 0x61,
0x74, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,
0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x03, 0x61, 0x74, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73,
0x53, 0x75, 0x63, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75,
0x63, 0x63, 0x22, 0x63, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
0x44, 0x65, 0x66, 0x50, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72,
0x53, 0x6b, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53,
0x6b, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67, 0x22, 0x7c, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x53,
0x77, 0x69, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x50, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12,
0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b,
0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x63, 0x75, 0x72, 0x42, 0x67, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
0x63, 0x75, 0x72, 0x42, 0x67, 0x22, 0x76, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6b, 0x69,
0x6e, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69,
0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72,
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75,
0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x75, 0x72, 0x42, 0x67, 0x42, 0x06, 0x5a,
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -3391,27 +3370,26 @@ var file_user_user_msg_proto_depIdxs = []int32{
58, // 3: UserInfoResp.ex:type_name -> DBUserExpand
59, // 4: UserRegisterResp.Code:type_name -> ErrorCode
60, // 5: UserLoadResp.data:type_name -> CacheUser
59, // 6: UserCreateResp.code:type_name -> ErrorCode
61, // 7: UserGetSettingResp.setting:type_name -> DBUserSetting
61, // 8: UserUpdateSettingReq.setting:type_name -> DBUserSetting
59, // 9: UserModifynameResp.code:type_name -> ErrorCode
57, // 10: UserBattlerecordResp.data:type_name -> DBUser
58, // 11: UserBattlerecordResp.ex:type_name -> DBUserExpand
62, // 12: UserBattlerecordResp.pagodaRecord:type_name -> DBPagodaRecord
63, // 13: UserBattlerecordResp.huntingRecord:type_name -> DBHuntingRank
64, // 14: UserBattlerecordResp.vikingRecord:type_name -> DBVikingRank
60, // 15: UserOnlineResp.users:type_name -> CacheUser
57, // 16: UserDataListResp.users:type_name -> DBUser
65, // 17: UserGetServerDataResp.data:type_name -> DBServerData
66, // 18: UserSignResp.data:type_name -> DBSign
66, // 19: UserChangeTipsResp.data:type_name -> DBSign
67, // 20: UserSellResReq.atno:type_name -> UserAtno
68, // 21: UserSellResResp.atn:type_name -> UserAssets
22, // [22:22] is the sub-list for method output_type
22, // [22:22] is the sub-list for method input_type
22, // [22:22] is the sub-list for extension type_name
22, // [22:22] is the sub-list for extension extendee
0, // [0:22] is the sub-list for field type_name
61, // 6: UserGetSettingResp.setting:type_name -> DBUserSetting
61, // 7: UserUpdateSettingReq.setting:type_name -> DBUserSetting
59, // 8: UserModifynameResp.code:type_name -> ErrorCode
57, // 9: UserBattlerecordResp.data:type_name -> DBUser
58, // 10: UserBattlerecordResp.ex:type_name -> DBUserExpand
62, // 11: UserBattlerecordResp.pagodaRecord:type_name -> DBPagodaRecord
63, // 12: UserBattlerecordResp.huntingRecord:type_name -> DBHuntingRank
64, // 13: UserBattlerecordResp.vikingRecord:type_name -> DBVikingRank
60, // 14: UserOnlineResp.users:type_name -> CacheUser
57, // 15: UserDataListResp.users:type_name -> DBUser
65, // 16: UserGetServerDataResp.data:type_name -> DBServerData
66, // 17: UserSignResp.data:type_name -> DBSign
66, // 18: UserChangeTipsResp.data:type_name -> DBSign
67, // 19: UserSellResReq.atno:type_name -> UserAtno
68, // 20: UserSellResResp.atn:type_name -> UserAssets
21, // [21:21] is the sub-list for method output_type
21, // [21:21] is the sub-list for method input_type
21, // [21:21] is the sub-list for extension type_name
21, // [21:21] is the sub-list for extension extendee
0, // [0:21] is the sub-list for field type_name
}
func init() { file_user_user_msg_proto_init() }

View File

@ -44,7 +44,6 @@ import (
"go_dreamfactory/modules/sys"
"go_dreamfactory/modules/task"
"go_dreamfactory/modules/tools"
"go_dreamfactory/modules/troll"
"go_dreamfactory/modules/user"
"go_dreamfactory/modules/viking"
"go_dreamfactory/modules/worldtask"
@ -103,7 +102,6 @@ func main() {
linestory.NewModule(),
library.NewModule(),
arena.NewModule(),
troll.NewModule(),
sociaty.NewModule(),
horoscope.NewModule(),
pay.NewModule(),

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameArenaBuyChallenge struct {
_dataMap map[int32]*GameArenaBuyChallengeData
_dataList []*GameArenaBuyChallengeData
}
func NewGameArenaBuyChallenge(_buf []map[string]interface{}) (*GameArenaBuyChallenge, error) {
_dataList := make([]*GameArenaBuyChallengeData, 0, len(_buf))
dataMap := make(map[int32]*GameArenaBuyChallengeData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameArenaBuyChallengeData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Num] = _v
}
}
return &GameArenaBuyChallenge{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameArenaBuyChallenge) GetDataMap() map[int32]*GameArenaBuyChallengeData {
return table._dataMap
}
func (table *GameArenaBuyChallenge) GetDataList() []*GameArenaBuyChallengeData {
return table._dataList
}
func (table *GameArenaBuyChallenge) Get(key int32) *GameArenaBuyChallengeData {
return table._dataMap[key]
}

View File

@ -1,50 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameArenaBuyChallengeData struct {
Num int32
Need []*Gameatn
}
const TypeId_GameArenaBuyChallengeData = -706156046
func (*GameArenaBuyChallengeData) GetTypeId() int32 {
return -706156046
}
func (_v *GameArenaBuyChallengeData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["need"].([]interface{}); !_ok_ { err = errors.New("need error"); return }
_v.Need = 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.Need = append(_v.Need, _list_v_)
}
}
return
}
func DeserializeGameArenaBuyChallengeData(_buf map[string]interface{}) (*GameArenaBuyChallengeData, error) {
v := &GameArenaBuyChallengeData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -18,7 +18,6 @@ type GameBuriedCondiData struct {
Type int32
Valid int32
NPC int32
Vtype int32
Value int32
Filter []*Gamecompare
}
@ -37,7 +36,6 @@ func (_v *GameBuriedCondiData)Deserialize(_buf map[string]interface{}) (err erro
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["valid"].(float64); !_ok_ { err = errors.New("valid error"); return }; _v.Valid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["NPC"].(float64); !_ok_ { err = errors.New("NPC error"); return }; _v.NPC = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["vtype"].(float64); !_ok_ { err = errors.New("vtype error"); return }; _v.Vtype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
{
var _arr_ []interface{}

View File

@ -13,11 +13,6 @@ import "errors"
type GameBuriedTypeData struct {
Id int32
Insert int32
Desc string
Data1 string
Data2 string
Data3 string
Data4 string
}
const TypeId_GameBuriedTypeData = -452590967
@ -29,11 +24,6 @@ func (*GameBuriedTypeData) GetTypeId() int32 {
func (_v *GameBuriedTypeData)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["insert"].(float64); !_ok_ { err = errors.New("insert error"); return }; _v.Insert = int32(_tempNum_) }
{ var _ok_ bool; if _v.Desc, _ok_ = _buf["desc"].(string); !_ok_ { err = errors.New("desc error"); return } }
{ var _ok_ bool; if _v.Data1, _ok_ = _buf["data1"].(string); !_ok_ { err = errors.New("data1 error"); return } }
{ var _ok_ bool; if _v.Data2, _ok_ = _buf["data2"].(string); !_ok_ { err = errors.New("data2 error"); return } }
{ var _ok_ bool; if _v.Data3, _ok_ = _buf["data3"].(string); !_ok_ { err = errors.New("data3 error"); return } }
{ var _ok_ bool; if _v.Data4, _ok_ = _buf["data4"].(string); !_ok_ { err = errors.New("data4 error"); return } }
return
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameHuntingChallenge struct {
_dataMap map[int32]*GameHuntingChallengeData
_dataList []*GameHuntingChallengeData
}
func NewGameHuntingChallenge(_buf []map[string]interface{}) (*GameHuntingChallenge, error) {
_dataList := make([]*GameHuntingChallengeData, 0, len(_buf))
dataMap := make(map[int32]*GameHuntingChallengeData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameHuntingChallengeData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Buynum] = _v
}
}
return &GameHuntingChallenge{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameHuntingChallenge) GetDataMap() map[int32]*GameHuntingChallengeData {
return table._dataMap
}
func (table *GameHuntingChallenge) GetDataList() []*GameHuntingChallengeData {
return table._dataList
}
func (table *GameHuntingChallenge) Get(key int32) *GameHuntingChallengeData {
return table._dataMap[key]
}

View File

@ -1,50 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameHuntingChallengeData struct {
Buynum int32
Need []*Gameatn
}
const TypeId_GameHuntingChallengeData = 1005265914
func (*GameHuntingChallengeData) GetTypeId() int32 {
return 1005265914
}
func (_v *GameHuntingChallengeData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buynum"].(float64); !_ok_ { err = errors.New("buynum error"); return }; _v.Buynum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["need"].([]interface{}); !_ok_ { err = errors.New("need error"); return }
_v.Need = 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.Need = append(_v.Need, _list_v_)
}
}
return
}
func DeserializeGameHuntingChallengeData(_buf map[string]interface{}) (*GameHuntingChallengeData, error) {
v := &GameHuntingChallengeData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameVikingChallenge struct {
_dataMap map[int32]*GameVikingChallengeData
_dataList []*GameVikingChallengeData
}
func NewGameVikingChallenge(_buf []map[string]interface{}) (*GameVikingChallenge, error) {
_dataList := make([]*GameVikingChallengeData, 0, len(_buf))
dataMap := make(map[int32]*GameVikingChallengeData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameVikingChallengeData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Buynum] = _v
}
}
return &GameVikingChallenge{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameVikingChallenge) GetDataMap() map[int32]*GameVikingChallengeData {
return table._dataMap
}
func (table *GameVikingChallenge) GetDataList() []*GameVikingChallengeData {
return table._dataList
}
func (table *GameVikingChallenge) Get(key int32) *GameVikingChallengeData {
return table._dataMap[key]
}

View File

@ -1,50 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameVikingChallengeData struct {
Buynum int32
Need []*Gameatn
}
const TypeId_GameVikingChallengeData = 1311823367
func (*GameVikingChallengeData) GetTypeId() int32 {
return 1311823367
}
func (_v *GameVikingChallengeData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buynum"].(float64); !_ok_ { err = errors.New("buynum error"); return }; _v.Buynum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["need"].([]interface{}); !_ok_ { err = errors.New("need error"); return }
_v.Need = 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.Need = append(_v.Need, _list_v_)
}
}
return
}
func DeserializeGameVikingChallengeData(_buf map[string]interface{}) (*GameVikingChallengeData, error) {
v := &GameVikingChallengeData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -65,14 +65,12 @@ type Tables struct {
Gourmet *GameGourmet
Drop *GameDrop
VikingBoss *GameVikingBoss
VikingChallenge *GameVikingChallenge
VikingLineup *GameVikingLineup
VikingEntrance *GameVikingEntrance
DreamlandBoos *GameDreamlandBoos
DreamlandChallenge *GameDreamlandChallenge
DreamlandTrigger *GameDreamlandTrigger
HuntingBoss *GameHuntingBoss
HuntingChallenge *GameHuntingChallenge
HuntingOpenTime *GameHuntingOpenTime
HuntingLineup *GameHuntingLineup
MonsterFormat *GameMonsterFormat
@ -87,7 +85,6 @@ type Tables struct {
Herofusion *GameHerofusion
PlayerInfor *GamePlayerInfor
PlayerInfor_overview *GamePlayerInfor_overview
ArenaBuyChallenge *GameArenaBuyChallenge
ArenaActiveReward *GameArenaActiveReward
ArenaRobot *GameArenaRobot
ArenaRankReward *GameArenaRankReward
@ -529,12 +526,6 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.VikingBoss, err = NewGameVikingBoss(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_vikingchallenge") ; err != nil {
return nil, err
}
if tables.VikingChallenge, err = NewGameVikingChallenge(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_vikinglineup") ; err != nil {
return nil, err
}
@ -571,12 +562,6 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.HuntingBoss, err = NewGameHuntingBoss(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_huntingchallenge") ; err != nil {
return nil, err
}
if tables.HuntingChallenge, err = NewGameHuntingChallenge(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_huntingopentime") ; err != nil {
return nil, err
}
@ -661,12 +646,6 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.PlayerInfor_overview, err = NewGamePlayerInfor_overview(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_arenabuychallenge") ; err != nil {
return nil, err
}
if tables.ArenaBuyChallenge, err = NewGameArenaBuyChallenge(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_arenaactivereward") ; err != nil {
return nil, err
}

View File

@ -1,42 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
type GameEquipAttrlibrary struct {
_dataMap map[int32]*GameEquipAttrlibraryData
_dataList []*GameEquipAttrlibraryData
}
func NewGameEquipAttrlibrary(_buf []map[string]interface{}) (*GameEquipAttrlibrary, error) {
_dataList := make([]*GameEquipAttrlibraryData, 0, len(_buf))
dataMap := make(map[int32]*GameEquipAttrlibraryData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameEquipAttrlibraryData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &GameEquipAttrlibrary{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameEquipAttrlibrary) GetDataMap() map[int32]*GameEquipAttrlibraryData {
return table._dataMap
}
func (table *GameEquipAttrlibrary) GetDataList() []*GameEquipAttrlibraryData {
return table._dataList
}
func (table *GameEquipAttrlibrary) Get(key int32) *GameEquipAttrlibraryData {
return table._dataMap[key]
}

View File

@ -1,60 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameEquipAttrlibraryData struct {
Key int32
Libraryid int32
Attrkey string
Attrvar int32
AttrvarCorrect int32
Probability int32
Addition []int32
}
const TypeId_GameEquipAttrlibraryData = 1806205600
func (*GameEquipAttrlibraryData) GetTypeId() int32 {
return 1806205600
}
func (_v *GameEquipAttrlibraryData)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["libraryid"].(float64); !_ok_ { err = errors.New("libraryid error"); return }; _v.Libraryid = int32(_tempNum_) }
{ var _ok_ bool; if _v.Attrkey, _ok_ = _buf["attrkey"].(string); !_ok_ { err = errors.New("attrkey error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["attrvar"].(float64); !_ok_ { err = errors.New("attrvar error"); return }; _v.Attrvar = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["attrvar_correct"].(float64); !_ok_ { err = errors.New("attrvar_correct error"); return }; _v.AttrvarCorrect = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["Addition"].([]interface{}); !_ok_ { err = errors.New("Addition error"); return }
_v.Addition = 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.Addition = append(_v.Addition, _list_v_)
}
}
return
}
func DeserializeGameEquipAttrlibraryData(_buf map[string]interface{}) (*GameEquipAttrlibraryData, error) {
v := &GameEquipAttrlibraryData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}