This commit is contained in:
wh_zcy 2023-04-12 18:30:29 +08:00
commit 955bf81c56
33 changed files with 1485 additions and 607 deletions

View File

@ -170,7 +170,7 @@
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"scenesfight_03_02"
"scenesfight_07"
],
"DefaultHero": 0,
"DisableHero": [],

View File

@ -8,7 +8,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 102,
"tasktime": 63,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -56,7 +56,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 64,
"tasktime": 131,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -104,7 +104,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 88,
"tasktime": 64,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -152,7 +152,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 128,
"tasktime": 170,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -200,7 +200,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 135,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -248,7 +248,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 133,
"tasktime": 112,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -296,7 +296,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 102,
"tasktime": 89,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -344,7 +344,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 178,
"tasktime": 115,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -392,7 +392,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 123,
"tasktime": 91,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -440,7 +440,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 140,
"tasktime": 119,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -488,7 +488,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 128,
"tasktime": 71,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -536,7 +536,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 152,
"tasktime": 156,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -584,7 +584,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 110,
"tasktime": 96,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -632,7 +632,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 82,
"tasktime": 160,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -680,7 +680,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 173,
"tasktime": 175,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -728,7 +728,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 167,
"tasktime": 163,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -776,7 +776,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 95,
"tasktime": 63,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -824,7 +824,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 180,
"tasktime": 135,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -872,7 +872,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 152,
"tasktime": 60,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -920,7 +920,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 126,
"tasktime": 148,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -968,7 +968,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 93,
"tasktime": 101,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1016,7 +1016,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 93,
"tasktime": 61,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1064,7 +1064,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 145,
"tasktime": 129,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1112,7 +1112,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 129,
"tasktime": 154,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1160,7 +1160,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 141,
"tasktime": 87,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1208,7 +1208,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 96,
"tasktime": 157,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1256,7 +1256,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 159,
"tasktime": 147,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1304,7 +1304,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 106,
"tasktime": 62,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1352,7 +1352,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 83,
"tasktime": 163,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1400,7 +1400,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 133,
"tasktime": 114,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1448,7 +1448,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 167,
"tasktime": 148,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1496,7 +1496,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 118,
"tasktime": 83,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1544,7 +1544,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 159,
"tasktime": 88,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1592,7 +1592,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 94,
"tasktime": 85,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1640,7 +1640,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 152,
"tasktime": 153,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1688,7 +1688,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 138,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1736,7 +1736,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 154,
"tasktime": 119,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1784,7 +1784,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 162,
"tasktime": 171,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1832,7 +1832,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 113,
"tasktime": 166,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1880,7 +1880,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 107,
"tasktime": 128,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1928,7 +1928,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 172,
"tasktime": 162,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1976,7 +1976,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 171,
"tasktime": 117,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2024,7 +2024,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 121,
"tasktime": 106,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2072,7 +2072,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 120,
"tasktime": 162,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2120,7 +2120,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 137,
"tasktime": 81,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2168,7 +2168,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 116,
"tasktime": 64,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2216,7 +2216,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 145,
"tasktime": 113,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2264,7 +2264,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 101,
"tasktime": 71,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2312,7 +2312,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 117,
"tasktime": 75,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2360,7 +2360,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 102,
"tasktime": 157,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2408,7 +2408,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 62,
"tasktime": 97,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2456,7 +2456,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 75,
"tasktime": 148,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2504,7 +2504,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 67,
"tasktime": 129,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2552,7 +2552,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 140,
"tasktime": 144,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2600,7 +2600,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 174,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2648,7 +2648,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 110,
"tasktime": 112,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2696,7 +2696,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 72,
"tasktime": 173,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2744,7 +2744,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 167,
"tasktime": 133,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2792,7 +2792,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 95,
"tasktime": 127,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2840,7 +2840,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 86,
"tasktime": 98,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2888,7 +2888,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 163,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2936,7 +2936,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 117,
"tasktime": 82,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2984,7 +2984,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 139,
"tasktime": 79,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3032,7 +3032,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 128,
"tasktime": 164,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3080,7 +3080,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 174,
"tasktime": 95,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3128,7 +3128,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 116,
"tasktime": 84,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -3176,7 +3176,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 115,
"tasktime": 176,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3224,7 +3224,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 116,
"tasktime": 129,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3272,7 +3272,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 111,
"tasktime": 141,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3320,7 +3320,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 91,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -3368,7 +3368,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 80,
"tasktime": 163,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3416,7 +3416,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 157,
"tasktime": 141,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3464,7 +3464,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 155,
"tasktime": 156,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3512,7 +3512,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 102,
"tasktime": 75,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"

View File

@ -660,6 +660,7 @@
"puzzlePromptNum": 5,
"Daily_Tips": 3,
"Daily_Num": 2,
"Week_Num": 2
"Week_Num": 2,
"fitnessModelId": "25001"
}
]

View File

@ -44,7 +44,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -68,7 +68,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -92,7 +92,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -116,7 +116,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -124,10 +124,10 @@
"lotteryid": 40001001,
"description": "随机蓝色英雄",
"type": 0,
"groupwt": 0,
"groupid": 1001,
"subtype": 0,
"groupnum": 0,
"groupwt": 500,
"groupid": 1002,
"subtype": 2,
"groupnum": 1,
"itemid": {
"a": "item",
"t": "132005",
@ -140,7 +140,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -149,7 +149,7 @@
"description": "随机蓝色英雄",
"type": 0,
"groupwt": 0,
"groupid": 1001,
"groupid": 1002,
"subtype": 0,
"groupnum": 0,
"itemid": {
@ -164,7 +164,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -173,7 +173,7 @@
"description": "随机蓝色英雄",
"type": 0,
"groupwt": 0,
"groupid": 1001,
"groupid": 1002,
"subtype": 0,
"groupnum": 0,
"itemid": {
@ -188,7 +188,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -197,7 +197,7 @@
"description": "随机蓝色英雄",
"type": 0,
"groupwt": 0,
"groupid": 1001,
"groupid": 1002,
"subtype": 0,
"groupnum": 0,
"itemid": {
@ -212,7 +212,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{
@ -221,7 +221,7 @@
"description": "随机蓝色英雄",
"type": 0,
"groupwt": 0,
"groupid": 1001,
"groupid": 1002,
"subtype": 0,
"groupnum": 0,
"itemid": {
@ -236,7 +236,7 @@
"VIPmin": 0,
"VIPmax": 15,
"playerlvmin": 0,
"playerlvmax": 240,
"playerlvmax": 0,
"notice": 0
},
{

View File

@ -2601,9 +2601,9 @@
},
{
"id": "55006",
"preson": "11021",
"presonshow": "11021_exhibition",
"presonstory": "11021",
"preson": "55006",
"presonshow": "55006_exhibition",
"presonstory": "55006",
"presondraw": "",
"height": 1,
"weight": 1,

View File

@ -102,7 +102,7 @@
},
"content_text": {
"key": "tujian_6",
"text": "图鉴信息描述"
"text": "食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_13002",
"atlas_score": 105
@ -120,7 +120,7 @@
},
"content_text": {
"key": "tujian_7",
"text": "图鉴信息描述"
"text": "闪闪一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_13001",
"atlas_score": 120
@ -138,7 +138,7 @@
},
"content_text": {
"key": "tujian_8",
"text": "图鉴信息描述"
"text": "蛇先生一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_44002",
"atlas_score": 135
@ -156,7 +156,7 @@
},
"content_text": {
"key": "tujian_9",
"text": "图鉴信息描述"
"text": "金猴一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_24005",
"atlas_score": 150
@ -174,7 +174,7 @@
},
"content_text": {
"key": "tujian_10",
"text": "图鉴信息描述"
"text": "鹤大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_14005",
"atlas_score": 165
@ -192,7 +192,7 @@
},
"content_text": {
"key": "tujian_11",
"text": "图鉴信息描述"
"text": "悍娇虎一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_44006",
"atlas_score": 180
@ -210,7 +210,7 @@
},
"content_text": {
"key": "tujian_12",
"text": "图鉴信息描述"
"text": "盖一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_43001",
"atlas_score": 195
@ -228,7 +228,7 @@
},
"content_text": {
"key": "tujian_13",
"text": "图鉴信息描述"
"text": "希卡普一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_35002",
"atlas_score": 210
@ -246,7 +246,7 @@
},
"content_text": {
"key": "tujian_14",
"text": "图鉴信息描述"
"text": "穿靴猫一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_45004",
"atlas_score": 225
@ -264,7 +264,7 @@
},
"content_text": {
"key": "tujian_15",
"text": "图鉴信息描述"
"text": "师父一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_35001",
"atlas_score": 240
@ -282,7 +282,7 @@
},
"content_text": {
"key": "tujian_16",
"text": "图鉴信息描述"
"text": "阿宝一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_25001",
"atlas_score": 255
@ -300,7 +300,7 @@
},
"content_text": {
"key": "tujian_17",
"text": "图鉴信息描述"
"text": "乌龟大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"icon": "ytx_js_45001",
"atlas_score": 270
@ -318,7 +318,7 @@
},
"content_text": {
"key": "tujian_18",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_ss",
"atlas_score": 285
@ -336,7 +336,7 @@
},
"content_text": {
"key": "tujian_19",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_kz",
"atlas_score": 300
@ -354,7 +354,7 @@
},
"content_text": {
"key": "tujian_20",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_pj",
"atlas_score": 315
@ -372,7 +372,7 @@
},
"content_text": {
"key": "tujian_21",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_bdw",
"atlas_score": 330
@ -390,7 +390,7 @@
},
"content_text": {
"key": "tujian_22",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_pc",
"atlas_score": 345
@ -408,7 +408,7 @@
},
"content_text": {
"key": "tujian_23",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_tl",
"atlas_score": 360
@ -426,7 +426,7 @@
},
"content_text": {
"key": "tujian_24",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_dh",
"atlas_score": 375
@ -444,7 +444,7 @@
},
"content_text": {
"key": "tujian_25",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_tj01",
"atlas_score": 390
@ -462,7 +462,7 @@
},
"content_text": {
"key": "tujian_26",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_zl",
"atlas_score": 405
@ -480,7 +480,7 @@
},
"content_text": {
"key": "tujian_27",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_mp",
"atlas_score": 420
@ -498,7 +498,7 @@
},
"content_text": {
"key": "tujian_28",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_sjg",
"atlas_score": 435
@ -516,7 +516,7 @@
},
"content_text": {
"key": "tujian_29",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_yd",
"atlas_score": 450
@ -534,7 +534,7 @@
},
"content_text": {
"key": "tujian_30",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_hl",
"atlas_score": 465
@ -552,7 +552,7 @@
},
"content_text": {
"key": "tujian_31",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_fb",
"atlas_score": 480
@ -570,7 +570,7 @@
},
"content_text": {
"key": "tujian_32",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_mxl",
"atlas_score": 495
@ -588,7 +588,7 @@
},
"content_text": {
"key": "tujian_33",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_ct",
"atlas_score": 510
@ -606,7 +606,7 @@
},
"content_text": {
"key": "tujian_34",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_kqms",
"atlas_score": 525
@ -624,7 +624,7 @@
},
"content_text": {
"key": "tujian_35",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_ph",
"atlas_score": 540
@ -642,7 +642,7 @@
},
"content_text": {
"key": "tujian_36",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_th",
"atlas_score": 555
@ -660,7 +660,7 @@
},
"content_text": {
"key": "tujian_37",
"text": "图鉴信息描述"
"text": "能够显著提高使用者的身体素质"
},
"icon": "wg_icon_tj",
"atlas_score": 570

View File

@ -23,26 +23,26 @@
{
"Id": "120001",
"weight": 500,
"score": 1,
"score": 5,
"effectType": 1
},
{
"Id": "120002",
"weight": 200,
"score": 5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120003",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120004",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -55,21 +55,21 @@
"standard_yield": [
{
"a": "item",
"t": "100001",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100001",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100001",
"t": "100006",
"n": 7
}
]
@ -96,8 +96,8 @@
{
"Id": "120001",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120002",
@ -108,14 +108,14 @@
{
"Id": "120003",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120004",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -128,21 +128,21 @@
"standard_yield": [
{
"a": "item",
"t": "100002",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100002",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100002",
"t": "100006",
"n": 7
}
]
@ -169,26 +169,26 @@
{
"Id": "120001",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120002",
"weight": 200,
"score": -5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120003",
"weight": 200,
"score": 5,
"effectType": 2
"effectType": 1
},
{
"Id": "120004",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -201,21 +201,21 @@
"standard_yield": [
{
"a": "item",
"t": "100003",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100003",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100003",
"t": "100006",
"n": 7
}
]
@ -242,26 +242,26 @@
{
"Id": "120001",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120002",
"weight": 200,
"score": -5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120003",
"weight": 200,
"score": 5,
"score": -1,
"effectType": 2
},
{
"Id": "120004",
"weight": 100,
"score": 10,
"effectType": 3
"score": 5,
"effectType": 1
}
],
"material": [
@ -274,21 +274,21 @@
"standard_yield": [
{
"a": "item",
"t": "100004",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100004",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100004",
"t": "100006",
"n": 7
}
]
@ -315,26 +315,26 @@
{
"Id": "120005",
"weight": 500,
"score": 1,
"score": 5,
"effectType": 1
},
{
"Id": "120006",
"weight": 200,
"score": -5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120007",
"weight": 200,
"score": 5,
"score": -1,
"effectType": 2
},
{
"Id": "120008",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -347,21 +347,21 @@
"standard_yield": [
{
"a": "item",
"t": "100005",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100005",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100005",
"t": "100006",
"n": 7
}
]
@ -388,26 +388,26 @@
{
"Id": "120005",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120006",
"weight": 200,
"score": -5,
"score": 5,
"effectType": 1
},
{
"Id": "120007",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120008",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -461,26 +461,26 @@
{
"Id": "120005",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120006",
"weight": 200,
"score": 5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120007",
"weight": 200,
"score": 5,
"effectType": 2
"effectType": 1
},
{
"Id": "120008",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -493,21 +493,21 @@
"standard_yield": [
{
"a": "item",
"t": "100007",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100007",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100007",
"t": "100006",
"n": 7
}
]
@ -534,26 +534,26 @@
{
"Id": "120005",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120006",
"weight": 200,
"score": 5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120007",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120008",
"weight": 100,
"score": 10,
"effectType": 3
"score": 5,
"effectType": 1
}
],
"material": [
@ -566,21 +566,21 @@
"standard_yield": [
{
"a": "item",
"t": "100008",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100008",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100008",
"t": "100006",
"n": 7
}
]
@ -607,26 +607,26 @@
{
"Id": "120009",
"weight": 500,
"score": 1,
"score": 5,
"effectType": 1
},
{
"Id": "120101",
"weight": 200,
"score": 5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120102",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120103",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -639,21 +639,21 @@
"standard_yield": [
{
"a": "item",
"t": "100009",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100009",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100009",
"t": "100006",
"n": 7
}
]
@ -680,26 +680,26 @@
{
"Id": "120009",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120101",
"weight": 200,
"score": 5,
"effectType": 1
"effectType": 2
},
{
"Id": "120102",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120103",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -712,21 +712,21 @@
"standard_yield": [
{
"a": "item",
"t": "100010",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100010",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100010",
"t": "100006",
"n": 7
}
]
@ -753,14 +753,14 @@
{
"Id": "120009",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120101",
"weight": 200,
"score": -5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120102",
@ -771,8 +771,8 @@
{
"Id": "120103",
"weight": 100,
"score": 10,
"effectType": 3
"score": -1,
"effectType": 2
}
],
"material": [
@ -785,21 +785,21 @@
"standard_yield": [
{
"a": "item",
"t": "100011",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100011",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100011",
"t": "100006",
"n": 7
}
]
@ -826,26 +826,26 @@
{
"Id": "120009",
"weight": 500,
"score": 1,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120101",
"weight": 200,
"score": 5,
"effectType": 1
"score": -1,
"effectType": 2
},
{
"Id": "120102",
"weight": 200,
"score": -5,
"score": -1,
"effectType": 2
},
{
"Id": "120103",
"weight": 100,
"score": 10,
"effectType": 3
"score": 5,
"effectType": 2
}
],
"material": [
@ -858,21 +858,21 @@
"standard_yield": [
{
"a": "item",
"t": "100012",
"t": "100006",
"n": 3
}
],
"low_yield": [
{
"a": "item",
"t": "100012",
"t": "100006",
"n": 1
}
],
"high_yield": [
{
"a": "item",
"t": "100012",
"t": "100006",
"n": 7
}
]

View File

@ -14002,7 +14002,7 @@
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 2,
"ExecuteCnt": 3,
"Type": 1,
"Argu": [
1,
@ -28793,5 +28793,149 @@
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 211021111,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 1,
"Argu": [
1,
4,
1000
],
"FollowSK": [
211021112
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 211021112,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001007,
1000,
1,
2
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 211021211,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 1,
"Argu": [
1,
4,
1200
],
"FollowSK": [
211021212
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 211021212,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001105,
1000,
1,
2
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 211021311,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 1,
"Argu": [
1,
4,
2000
],
"FollowSK": [
211021312
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 211021312,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 29,
"Argu": [
200
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
}
]

View File

@ -15200,5 +15200,89 @@
},
"buffid": [],
"map": ""
},
{
"id": 111021111,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_111021111",
"text": "悲痛之爪"
},
"ico": "jn_44002_1",
"CorrectPos": 0,
"IsMelee": 0,
"act": "Skill_1",
"Type": 1,
"CD": 0,
"Target": 2,
"ChildSkill": {
"Id": [
211021111
]
},
"Desc": {
"key": "skill_1110211111",
"text": "巨怪对全体敌方造成一次AOE伤害并附带2回合防御下降"
},
"buffid": [],
"map": ""
},
{
"id": 111021211,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_111021211",
"text": "愤怒一击"
},
"ico": "jn_44002_2",
"CorrectPos": 0,
"IsMelee": 0,
"act": "Skill_2",
"Type": 1,
"CD": 2,
"Target": 2,
"ChildSkill": {
"Id": [
211021211
]
},
"Desc": {
"key": "skill_1110212111",
"text": "巨怪对全体敌方造成一次震击并附带2回合眩晕"
},
"buffid": [],
"map": ""
},
{
"id": 111021311,
"level": 1,
"MaxLV": 1,
"UnavailablePlayTypes": [],
"Name": {
"key": "skillname_111021311",
"text": "死灵射线"
},
"ico": "jn_44002_3",
"CorrectPos": 0,
"IsMelee": 0,
"act": "Skill_3",
"Type": 1,
"CD": 5,
"Target": 2,
"ChildSkill": {
"Id": [
211021311
]
},
"Desc": {
"key": "skill_1110213111",
"text": "巨怪对全体敌方发出死灵射线并恢复造成伤害20%的血量"
},
"buffid": [],
"map": ""
}
]

View File

@ -11,7 +11,7 @@
}
],
"title_text": {
"key": "1",
"key": "newsmithy_stove_title_text1",
"text": "冶炼炉lv.1"
}
},
@ -27,7 +27,7 @@
}
],
"title_text": {
"key": "2",
"key": "newsmithy_stove_title_text2",
"text": "冶炼炉lv.2"
}
},
@ -43,7 +43,7 @@
}
],
"title_text": {
"key": "3",
"key": "newsmithy_stove_title_text3",
"text": "冶炼炉lv.3"
}
},
@ -59,7 +59,7 @@
}
],
"title_text": {
"key": "4",
"key": "newsmithy_stove_title_text4",
"text": "冶炼炉lv.4"
}
},
@ -75,7 +75,7 @@
}
],
"title_text": {
"key": "5",
"key": "newsmithy_stove_title_text5",
"text": "冶炼炉lv.5"
}
},
@ -91,7 +91,7 @@
}
],
"title_text": {
"key": "6",
"key": "newsmithy_stove_title_text6",
"text": "冶炼炉lv.6"
}
},
@ -107,7 +107,7 @@
}
],
"title_text": {
"key": "7",
"key": "newsmithy_stove_title_text7",
"text": "冶炼炉lv.7"
}
},
@ -123,7 +123,7 @@
}
],
"title_text": {
"key": "8",
"key": "newsmithy_stove_title_text8",
"text": "冶炼炉lv.8"
}
},
@ -139,7 +139,7 @@
}
],
"title_text": {
"key": "9",
"key": "newsmithy_stove_title_text9",
"text": "冶炼炉lv.9"
}
},
@ -155,7 +155,7 @@
}
],
"title_text": {
"key": "10",
"key": "newsmithy_stove_title_text10",
"text": "冶炼炉lv.10"
}
}

View File

@ -108,6 +108,17 @@ func GetRandW(sz []int32) int32 {
return 0
}
func GetRandNum(min, max int32) int32 {
if max < min {
return 0
}
if max == min {
return min
}
n, _ := rand.Int(rand.Reader, big.NewInt(int64(max-min)))
return int32(n.Int64()) + min
}
///通过uid获取用户所在区服
func UidToSTag(uid string) (stag string, err error) {
s := strings.SplitN(uid, "_", 2)

View File

@ -425,6 +425,8 @@ type (
//实时Pvp
IPvp interface {
//查询战斗数
QueryBattle(id string) (battle *pb.DBPvpBattle, err error)
//创建实时Pvp
CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleId string, code pb.ErrorCode)
//推送战斗输出指令

View File

@ -28,6 +28,8 @@ const (
game_vip = "game_vip.json"
game_equip = "game_equip.json" //装备信息表
game_lottery = "game_lottery.json"
)
///配置管理基础组件
@ -36,6 +38,20 @@ type MCompConfigure struct {
hlock sync.RWMutex
_dropMap map[int32][]*cfg.GameDropData // 掉落表 key 是DiropId
_sign map[int32]*cfg.GameSignData
_group map[int64][]int32 // key 小组ID value cid
// 类型为1 的数据 该大组中的小组为权重掉落必定从N个小组中随机出1个小组
_lotteryType1 map[int32][]int32 // key 大组ID value cid
// 类型为2 的数据 有多个小组ID
_lotteryType2 map[int32][]int32 // key 大组ID value 小组ID
// 小组类型为1
_groupType1 map[int64][]int32 //value cid
// 小组类型为2
_groupType2 map[int64][]int32 //value cid
Btype map[int32]int32
Stype map[int64]int32 // subtype
SNum map[int64]int32 // 小组产出数量
}
//组件初始化接口
@ -52,13 +68,210 @@ func (this *MCompConfigure) Init(service core.IService, module core.IModule, com
//err = this.LoadConfigure(game_sign, cfg.NewGameSign)
err = this.LoadConfigure(game_item, cfg.NewGameItem)
err = this.LoadConfigure(game_vip, cfg.NewGameVip)
err = this.LoadConfigure(game_lottery, cfg.NewGameLottery)
this._dropMap = make(map[int32][]*cfg.GameDropData, 0)
this._sign = make(map[int32]*cfg.GameSignData, 0)
configure.RegisterConfigure(game_drop, cfg.NewGameDrop, this.LoadDropData)
configure.RegisterConfigure(game_sign, cfg.NewGameSign, this.LoadSignData)
this._group = make(map[int64][]int32, 0)
this._lotteryType1 = make(map[int32][]int32, 0)
this._lotteryType2 = make(map[int32][]int32, 0)
this._groupType1 = make(map[int64][]int32, 0)
this._groupType2 = make(map[int64][]int32, 0)
this.Btype = make(map[int32]int32, 0)
this.Stype = make(map[int64]int32, 0)
this.SNum = make(map[int64]int32, 0)
configure.RegisterConfigure(game_lottery, cfg.NewGameLottery, this.LoadGroupData)
return
}
func (this *MCompConfigure) LoadGroupData() {
if v, err := this.GetConfigure(game_lottery); err == nil {
if configure, ok := v.(*cfg.GameLottery); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
this._group = make(map[int64][]int32, 0)
this._lotteryType1 = make(map[int32][]int32, 0)
this._lotteryType2 = make(map[int32][]int32, 0)
this._groupType1 = make(map[int64][]int32, 0)
this._groupType2 = make(map[int64][]int32, 0)
this.Btype = make(map[int32]int32, 0)
this.Stype = make(map[int64]int32, 0)
this.SNum = make(map[int64]int32, 0)
for _, value := range configure.GetDataList() {
key := int64(value.Lotteryid)<<31 + int64(value.Groupid)
this._group[key] = append(this._group[key], value.Id)
if _, ok := this.Btype[value.Lotteryid]; !ok {
this.Btype[value.Lotteryid] = value.Type
}
if _, ok := this.Stype[key]; !ok {
this.Stype[key] = value.Subtype
}
if _, ok := this.SNum[key]; !ok {
this.SNum[key] = value.Groupnum
}
if this.Btype[value.Lotteryid] == 1 {
this._lotteryType1[value.Lotteryid] = append(this._lotteryType1[value.Lotteryid], value.Id)
} else if this.Btype[value.Lotteryid] == 2 {
this._lotteryType2[value.Lotteryid] = append(this._lotteryType2[value.Lotteryid], value.Id)
}
if this.Stype[key] == 1 { // 小组ID为1
this._groupType1[key] = append(this._groupType1[key], value.Id)
} else if this.Stype[key] == 2 {
this._groupType2[key] = append(this._groupType2[key], value.Id)
}
}
return
}
} else {
log.Errorf("get LoadGroupData conf err:%v", err)
}
return
}
// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具)
func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn) {
if _, ok := this._lotteryType1[lotteryId]; !ok {
if _, ok := this._lotteryType2[lotteryId]; !ok {
fmt.Printf("not found config lotterId:%d", lotteryId)
return
}
}
// 优先校验大组ID 的类型
if this.Btype[lotteryId] == 1 { // 该大组中的小组为权重掉落必定从N个小组中随机出1个小组
var (
szW []int32 // 权重数组
szID []int32 // 小组ID 数组
groupID int32
gourp map[int32]int32 // key 小组ID value 权重
)
gourp = make(map[int32]int32, 0)
// 随机小组id
for _, v := range this._lotteryType1[lotteryId] {
if _data := this.GetLotterConfById(v); _data != nil {
if (_data.Playerlvmax == 0 || _data.Playerlvmin <= lv && lv <= _data.Playerlvmax) && (_data.VIPmax == 0 || _data.VIPmin <= vipLv && vipLv <= _data.VIPmax) { // 过滤等级等条件
if _, ok := gourp[_data.Groupid]; !ok {
gourp[_data.Groupid] = _data.Groupwt // 小组ID 权重赋值
szW = append(szW, _data.Groupwt)
szID = append(szID, _data.Groupid)
}
}
}
}
groupID = szID[comm.GetRandW(szW)] // 获得小组ID
fmt.Printf("获得小组ID :%d", groupID)
key := int64(lotteryId)<<31 + int64(groupID)
// 小组ID 类型判断
if this.Stype[key] == 1 { // 该小组的道具为权重掉落必定从N个道具中随机出1个道具
for i := 0; i < int(this.SNum[key]); i++ {
szW = make([]int32, 0)
szID = make([]int32, 0)
gourp = make(map[int32]int32, 0)
for _, v := range this._groupType1[key] {
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
if _, ok := gourp[_data.Groupid]; !ok {
szW = append(szW, _data.Itemwt)
szID = append(szID, _data.Id)
}
}
}
index := comm.GetRandW(szW)
_data := this.GetLotterConfById(szID[index])
fmt.Printf("获得最终的道具 :%d", _data.Id)
count := comm.GetRandNum(_data.Min, _data.Max+1)
// 随机获得的数量
items = append(items, &cfg.Gameatn{
A: _data.Itemid.A,
T: _data.Itemid.T,
N: _data.Itemid.N * count,
})
}
return
} else if this.Stype[key] == 2 { // 该小组中的道具为概率掉落,每个道具都会随机一次是否会掉落(单位为千分比)
for _, v := range this._groupType2[key] {
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
if _data.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
count := comm.GetRandNum(_data.Min, _data.Max+1)
items = append(items, &cfg.Gameatn{
A: _data.Itemid.A,
T: _data.Itemid.T,
N: _data.Itemid.N * count, // 小组产出数量
})
}
}
}
return
}
} else if this.Btype[lotteryId] == 2 { // 该大组中的小组为概率掉落,每个小组都会随机一次是否会掉落(单位为千分比)
// 每个小组id 都随机取一次
var szGroupID []int32 // 获得的权重数组
gourp := make(map[int32]*cfg.GameLotteryData, 0) // key 小组ID value 权重
for _, v := range this._lotteryType2[lotteryId] {
if _data := this.GetLotterConfById(v); _data != nil {
if (_data.Playerlvmax == 0 || _data.Playerlvmin <= lv && lv <= _data.Playerlvmax) && (_data.VIPmax == 0 || _data.VIPmin <= vipLv && vipLv <= _data.VIPmax) { // 过滤等级等条件
if _, ok := gourp[_data.Groupid]; !ok {
gourp[_data.Groupid] = _data // 小组ID 权重赋值
}
}
}
}
// 类型为2 可能会同时获得多个组id
for k, v := range gourp {
if v.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
szGroupID = append(szGroupID, k)
key := int64(lotteryId)<<31 + int64(k)
if this.Stype[key] == 1 { // 随机一组数据
for i := 0; i < int(this.SNum[key]); i++ {
szW := make([]int32, 0)
szID := make([]int32, 0)
gourp := make(map[int32]int32, 0)
for _, v := range this._groupType1[key] {
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
if _, ok := gourp[_data.Groupid]; !ok {
szW = append(szW, _data.Itemwt)
szID = append(szID, _data.Id)
}
}
}
index := comm.GetRandW(szW)
_data := this.GetLotterConfById(szID[index])
fmt.Printf("获得最终的道具 :%d", _data.Id)
count := comm.GetRandNum(_data.Min, _data.Max+1)
// 随机获得的数量
items = append(items, &cfg.Gameatn{
A: _data.Itemid.A,
T: _data.Itemid.T,
N: _data.Itemid.N * count,
})
}
} else if this.Stype[key] == 2 {
for _, v := range this._groupType2[key] {
if _data := this.GetLotterConfById(v); _data != nil { // 权重赋值
if _data.Itemwt >= comm.GetRandNum(0, 1000) { // 命中
count := comm.GetRandNum(_data.Min, _data.Max+1)
items = append(items, &cfg.Gameatn{
A: _data.Itemid.A,
T: _data.Itemid.T,
N: _data.Itemid.N * count, // 小组产出数量
})
}
}
}
}
}
}
}
return
}
func (this *MCompConfigure) LoadConfigure(name string, fn interface{}) (err error) {
return configure.RegisterConfigure(name, fn, nil)
}
@ -396,3 +609,12 @@ func (this *MCompConfigure) GetAllEquipmentConfigure() (configure []*cfg.GameEqu
}
return
}
func (this *MCompConfigure) GetLotterConfById(id int32) (data *cfg.GameLotteryData) {
if v, err := this.GetConfigure(game_lottery); err == nil {
if configure, ok := v.(*cfg.GameLottery); ok {
return configure.Get(id)
}
}
return
}

View File

@ -57,6 +57,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
}
}
}
}
session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items})
return

View File

@ -20,10 +20,11 @@ const (
)
var (
ItemNotEnoughError = errors.New("item not enough!") //物品不足
NoFoundGirdError = errors.New("no found gvrid!") //未找到格子
PackGridNumUpper = errors.New("grid amount upper!") //背包格子达到上限
GirdAmountUpper = errors.New("grid amount upper!") //格子容量达到上限
NoFoundItemConfig = errors.New("no found itemconfig!") //道具配置未找到
ItemNotEnoughError = errors.New("item not enough!") //物品不足
NoFoundGirdError = errors.New("no found gvrid!") //未找到格子
PackGridNumUpper = errors.New("grid amount upper!") //背包格子达到上限
GirdAmountUpper = errors.New("grid amount upper!") //格子容量达到上限
)
//随机权重宝箱

View File

@ -228,7 +228,9 @@ func (this *ModelItemsComp) AddItemToUserPack(uId string, itemId string, addnum
return
}
change = make([]*pb.DB_UserItemData, 0)
add, update, del, leftnum = this.addItemToUserPack(uId, itmes, itemId, addnum)
if add, update, del, leftnum, err = this.addItemToUserPack(uId, itmes, itemId, addnum); err != nil {
return
}
if leftnum < 0 {
err = ItemNotEnoughError
return
@ -275,7 +277,9 @@ func (this *ModelItemsComp) AddItemsToUserPack(uId string, items map[string]int3
}
change = make([]*pb.DB_UserItemData, 0)
for k, v := range items {
add, update, del, leftnum = this.addItemToUserPack(uId, itmes, k, v)
if add, update, del, leftnum, err = this.addItemToUserPack(uId, itmes, k, v); err != nil {
return
}
if leftnum < 0 {
err = ItemNotEnoughError
return
@ -352,9 +356,8 @@ func (this *ModelItemsComp) AddItemToUserPackByGrid(uId string, gridid string, a
}
///添加移除物品到用户背包
func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserItemData, itemId string, addnum int32) (add, update, del []*pb.DB_UserItemData, leftnum int64) {
func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserItemData, itemId string, addnum int32) (add, update, del []*pb.DB_UserItemData, leftnum int64, err error) {
var (
err error
conf *cfg.GameItemData
num int64
isNew bool
@ -364,6 +367,7 @@ func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserIte
}
if conf, err = this.module.configure.GetItemConfigure(itemId); err != nil {
this.module.Errorln(err)
err = NoFoundItemConfig
return
}
if conf.UpperLimit == 0 {

View File

@ -148,6 +148,8 @@ func (this *Items) AddItems(session comm.IUserSession, items map[string]int32, b
code = pb.ErrorCode_ItemsNoEnough
} else if err == PackGridNumUpper {
code = pb.ErrorCode_ItemsGridNumUpper
} else if err == NoFoundItemConfig {
code = pb.ErrorCode_ConfigNoFound
} else {
code = pb.ErrorCode_Unknown
}
@ -192,7 +194,6 @@ func (this *Items) RecoverTicket(session comm.IUserSession) (code pb.ErrorCode)
//Evens--------------------------------------------------------------------------------------------------------------------------------
//推送道具变化消息
func (this *Items) itemsChangePush(session comm.IUserSession, items []*pb.DB_UserItemData) (err error) {
session.SendMsg(string(this.GetType()), "change", &pb.ItemsChangePush{Grids: items})
return
}

View File

@ -202,7 +202,6 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa
data, _ := anypb.New(msg)
for k, v := range gateways {
for k1, v1 := range v {
ctx, _ := context.WithTimeout(context.Background(), time.Second*5) //
if _, err = this.service.AcrossClusterRpcGo(ctx, k, fmt.Sprintf("%s/%s", comm.Service_Gateway, k1), string(comm.Rpc_GatewaySendBatchMsg), &pb.BatchMessageReq{
UserSessionIds: v1,

View File

@ -86,10 +86,12 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.PracticeAcceptReq
this.module.modelQiecuo.Change(session.GetUserId(), map[string]interface{}{
"status": 1,
"member": redRecord.Member,
"battid": redRecord.Battid,
})
this.module.modelQiecuo.Change(req.Uid, map[string]interface{}{
"status": 1,
"member": redRecord.Member,
"battid": redRecord.Battid,
})
if err := session.SendMsg(string(this.module.GetType()), "accept", &pb.FriendAcceptResp{
@ -100,8 +102,7 @@ func (this *apiComp) Accept(session comm.IUserSession, req *pb.PracticeAcceptReq
}
this.module.SendMsgToUser(string(this.module.GetType()), "qiecuonotify",
&pb.FriendQiecuonotifyPush{Uid: session.GetUserId(), NotifyType: 2}, req.Uid)
&pb.PracticeQiecuonotifyPush{Uid: session.GetUserId(), NotifyType: 2}, req.Uid)
return
}

View File

@ -2,6 +2,7 @@ package practice
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"time"
@ -26,15 +27,10 @@ func (this *apiComp) Qiecuo(session comm.IUserSession, req *pb.PracticeQiecuoReq
result *pb.DBPracticeQiecuoRecord
fresult *pb.DBPracticeQiecuoRecord
user *pb.DBUser
battle *pb.DBPvpBattle
keep bool
)
//目标是否在线
if !this.module.ModuleUser.IsOnline(req.Fid) {
code = pb.ErrorCode_UserOffline
return
}
//切磋请求处理
if result, err = this.module.modelQiecuo.queryQiecuo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
@ -44,8 +40,32 @@ func (this *apiComp) Qiecuo(session comm.IUserSession, req *pb.PracticeQiecuoReq
code = pb.ErrorCode_DBError
return
}
if result.Status == 1 || fresult.Status == 1 { //已经在战斗中了
code = pb.ErrorCode_PracticeQiecuoing
if result.Battid == fresult.Battid { //两个人正在战斗中
if battle, err = this.module.pvp.QueryBattle(result.Battid); err != nil {
this.module.Error("查询pvp数据失败!", log.Field{Key: "id", Value: result.Battid}, log.Field{Key: "err", Value: err.Error()})
code = pb.ErrorCode_SystemError
return
}
if err = session.SendMsg(string(this.module.GetType()), "qiecuo", &pb.PracticeQiecuoResp{Fid: req.Fid, Isbattle: true, Battle: battle}); err != nil {
code = pb.ErrorCode_SystemError
return
}
return
} else {
if result.Status == 1 {
code = pb.ErrorCode_PracticeYouQiecuoing
return
} else {
code = pb.ErrorCode_PracticeTargetQiecuoing
return
}
}
}
//目标是否在线
if !this.module.ModuleUser.IsOnline(req.Fid) {
code = pb.ErrorCode_UserOffline
return
}

View File

@ -69,6 +69,6 @@ func (this *apiComp) Refuse(session comm.IUserSession, req *pb.PracticeRefuseReq
}
this.module.SendMsgToUser(string(this.module.GetType()), "qiecuonotify",
&pb.PracticeQiecuonotifyPush{Uid: session.GetUserId(), NotifyType: 3}, req.Uid)
&pb.PracticeQiecuonotifyPush{Uid: session.GetUserId(), Name: "", NotifyType: 3}, req.Uid)
return
}

View File

@ -20,8 +20,14 @@ func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (code
battle *BattleItem
side int32
ok bool
cd pb.ErrorCode
)
if code = this.InCmdCheck(session, req); code != pb.ErrorCode_Success {
defer func() {
session.SendMsg(string(this.module.GetType()), "incmd", &pb.PvpInCmdResp{Code: cd, Battleid: req.Battleid, Cmd: req.Cmd})
}()
if cd = this.InCmdCheck(session, req); cd != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
@ -46,11 +52,11 @@ func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (code
return
}
//技能释放指令
if code = this.module.battle.InCmdBattle(&pb.BattleInCmdReq{
if cd = this.module.battle.InCmdBattle(&pb.BattleInCmdReq{
Battleid: req.Battleid,
Side: side,
In: req.Cmd,
}); code != pb.ErrorCode_Success {
}); cd != pb.ErrorCode_Success {
return
} else {
if battle.operatetimer != nil {
@ -58,9 +64,9 @@ func (this *apiComp) InCmd(session comm.IUserSession, req *pb.PvpInCmdReq) (code
}
}
} else {
code = pb.ErrorCode_BattleInCmdFailed
cd = pb.ErrorCode_BattleInCmdFailed
return
}
session.SendMsg(string(this.module.GetType()), "incmd", &pb.PvpInCmdResp{Battleid: req.Battleid, Cmd: req.Cmd})
return
}

View File

@ -0,0 +1,53 @@
package pvp
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) LoadCompleteCheck(session comm.IUserSession, req *pb.PvpLoadCompleteReq) (code pb.ErrorCode) {
return
}
///设置战斗阵型
func (this *apiComp) LoadComplete(session comm.IUserSession, req *pb.PvpLoadCompleteReq) (code pb.ErrorCode, data proto.Message) {
var (
battle *BattleItem
err error
side int32
ok bool
)
if code = this.LoadCompleteCheck(session, req); code != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
battle, ok = this.module.battles[req.Battleid]
this.module.lock.RUnlock()
if ok {
if session.GetUserId() == battle.Red.Uid {
side = 1
if err = this.module.SendMsgToSession(string(comm.ModulePvp), "loadcompletenotice", &pb.PvpLoadCompleteNoticePush{
Battleid: battle.Id,
Side: side,
}, battle.BlueSession); err != nil {
this.module.Errorln(err)
}
} else {
side = 2
if err = this.module.SendMsgToSession(string(comm.ModulePvp), "loadcompletenotice", &pb.PvpLoadCompleteNoticePush{
Battleid: battle.Id,
Side: side,
}, battle.RedSession); err != nil {
this.module.Errorln(err)
}
}
} else {
code = pb.ErrorCode_BattleNoKeep
return
}
session.SendMsg(string(this.module.GetType()), "into", &pb.PvpLoadCompleteResp{Battleid: req.Battleid, Issucc: true})
return
}

View File

@ -39,6 +39,18 @@ func (this *modelPvpComp) querypvps() (result []*pb.DBPvpBattle, err error) {
return
}
//查询用户重置数据
func (this *modelPvpComp) querypvp(id string) (result *pb.DBPvpBattle, err error) {
result = &pb.DBPvpBattle{}
if err = this.GetListObj("", id, result); err != nil && err != mgo.MongodbNil {
this.module.Errorf("err:%v", err)
}
if err == mgo.MongodbNil {
err = nil
}
return
}
//记录战斗信息
func (this *modelPvpComp) addpvp(battle *pb.DBPvpBattle) (err error) {
if err = this.AddList("", battle.Id, battle, db.SetDBMgoLog(false)); err != nil {

View File

@ -74,6 +74,11 @@ func (this *Pvp) OnInstallComp() {
this.modelPvpComp = this.RegisterComp(new(modelPvpComp)).(*modelPvpComp)
}
func (this *Pvp) QueryBattle(id string) (battle *pb.DBPvpBattle, err error) {
battle, err = this.modelPvpComp.querypvp(id)
return
}
//创建Pvp
func (this *Pvp) CreatePvp(red, blue *pb.PvpUserInfo, ptype pb.PvpType) (battleId string, code pb.ErrorCode) {
this.Debug("CreatePvp", log.Field{Key: "ptype", Value: ptype.String()}, log.Field{Key: "red", Value: red.String()}, log.Field{Key: "blue", Value: blue.String()})
@ -184,6 +189,7 @@ func (this *Pvp) PvpOutCmdPush(out *pb.PvpOutCmdPush) {
func (this *Pvp) PvpFinishPush(out *pb.BattleFinishPush) {
var (
battle *BattleItem
err error
ok bool
)
this.lock.RLock()
@ -199,6 +205,13 @@ func (this *Pvp) PvpFinishPush(out *pb.BattleFinishPush) {
break
}
this.modelPvpComp.delpvp(out.Battleid)
this.PutUserSession(battle.RedSession)
this.PutUserSession(battle.BlueSession)
if err = this.SendMsgToUsers(string(comm.ModulePvp), "finish", &pb.PvpFinishPush{
Battleid: battle.Id,
}, battle.Red.Uid, battle.Blue.Uid); err != nil {
this.Errorln(err)
}
}
}

View File

@ -65,12 +65,12 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
}
// 校验是不是装备定制打造
if req.SuiteId != 0 {
// 检查消耗
if code = this.module.CheckRes(session, []*cfg.Gameatn{reelcfg.CustomizedCos1}); code != pb.ErrorCode_Success {
return
}
costRes = append(costRes, reelcfg.CustomizedCos1)
if req.Position == -1 {
if code = this.module.CheckRes(session, []*cfg.Gameatn{reelcfg.CustomizedCos1}); code != pb.ErrorCode_Success {
return
}
costRes = append(costRes, reelcfg.CustomizedCos1)
} else {
if code = this.module.CheckRes(session, []*cfg.Gameatn{reelcfg.CustomizedCos2}); code != pb.ErrorCode_Success {
return
}
@ -87,7 +87,7 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
t := this.module.modelStove.CheckTemperature(req.ReelId, stove.Data[req.ReelId].Lv)
needTemperatureCos = reelcfg.TemperatureCos * (1000 - t) / 1000 // 千分比
if req.Lava > 0 { // 是否是熔岩打造
if req.Lava > 0 { // 熔岩打造
exemption := this.module.configure.GetGlobalConf().ExemptionTemperatureCos // 预计消耗温度
gloabNum := this.module.configure.GetGlobalConf().ExemptionTemperatureCosNum
if needTemperatureCos > req.Lava*gloabNum {

View File

@ -53,6 +53,12 @@ func (this *apiComp) Rise(session comm.IUserSession, req *pb.SmithyRiseReq) (cod
}
stove.Temperature += req.Count * raise_temperatureNum
update := make(map[string]interface{}, 0)
if stove.RecoveTime != 0 && stove.Temperature >= conf.MaxTemperature {
stove.RecoveTime = 0
update["recoveTime"] = stove.RecoveTime
}
update["temperature"] = stove.Temperature
this.module.modelStove.updateSmithyStove(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "rise", &pb.SmithyRiseResp{Data: stove})

View File

@ -3,6 +3,7 @@ package smithy
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"google.golang.org/protobuf/proto"
)
@ -39,7 +40,11 @@ func (this *apiComp) StoveUp(session comm.IUserSession, req *pb.SmithyStoveUpReq
}
stove.Lv += 1
update := make(map[string]interface{})
//update["temperature"] = stove.Temperature
if stove.RecoveTime == 0 {
stove.RecoveTime = configure.Now().Unix()
update["recoveTime"] = stove.RecoveTime
}
update["lv"] = stove.Lv
this.module.modelStove.updateSmithyStove(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "stoveup", &pb.SmithyStoveUpResp{Data: stove})

View File

@ -124,25 +124,23 @@ func (this *modelStove) CheckForgeConsume(reelId int32, lv int32) (atn []*cfg.Ga
// 计算恢复进度
func (this *modelStove) calculationRecoveryT(uid string, stove *pb.DBStove) {
conf := this.module.configure.GetSmithyStoveConf(stove.Lv)
if conf == nil {
return
}
if stove.Temperature < conf.MaxTemperature {
update := make(map[string]interface{})
// 小于最高温度就开始恢复
addT := (configure.Now().Unix() - stove.RecoveTime) / int64(conf.TemperatureRecovery)
stove.Temperature += int32(addT)
if stove.Temperature > conf.MaxTemperature {
stove.Temperature = conf.MaxTemperature
stove.RecoveTime = 0
} else {
stove.RecoveTime += addT * int64(conf.TemperatureRecovery)
if conf := this.module.configure.GetSmithyStoveConf(stove.Lv); conf != nil {
if stove.Temperature < conf.MaxTemperature {
// 小于最高温度就开始恢复
if addT := (configure.Now().Unix() - stove.RecoveTime) / int64(conf.TemperatureRecovery); addT > 0 {
stove.Temperature += int32(addT)
if stove.Temperature > conf.MaxTemperature {
stove.Temperature = conf.MaxTemperature
stove.RecoveTime = 0
} else {
stove.RecoveTime += addT * int64(conf.TemperatureRecovery)
}
update := make(map[string]interface{})
update["temperature"] = stove.Temperature
update["recoveTime"] = stove.RecoveTime
this.module.modelStove.updateSmithyStove(uid, update)
}
}
update["temperature"] = stove.Temperature
update["recoveTime"] = stove.RecoveTime
this.module.modelStove.updateSmithyStove(uid, update)
}
}

View File

@ -1557,7 +1557,9 @@ type PracticeQiecuoResp struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Fid string `protobuf:"bytes,1,opt,name=fid,proto3" json:"fid"`
Fid string `protobuf:"bytes,1,opt,name=fid,proto3" json:"fid"`
Isbattle bool `protobuf:"varint,2,opt,name=isbattle,proto3" json:"isbattle"`
Battle *DBPvpBattle `protobuf:"bytes,3,opt,name=battle,proto3" json:"battle"`
}
func (x *PracticeQiecuoResp) Reset() {
@ -1599,6 +1601,20 @@ func (x *PracticeQiecuoResp) GetFid() string {
return ""
}
func (x *PracticeQiecuoResp) GetIsbattle() bool {
if x != nil {
return x.Isbattle
}
return false
}
func (x *PracticeQiecuoResp) GetBattle() *DBPvpBattle {
if x != nil {
return x.Battle
}
return nil
}
//接受切磋
type PracticeAcceptReq struct {
state protoimpl.MessageState
@ -2149,191 +2165,196 @@ var file_practice_practice_msg_proto_rawDesc = []byte{
0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x2f, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x10, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e,
0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22,
0x3d, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6d, 0x6d, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e, 0x66,
0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x2b,
0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, 0x18,
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x16,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f,
0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49,
0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73,
0x1a, 0x49, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x11, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 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, 0x39, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04,
0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x70, 0x76, 0x70, 0x2f, 0x70, 0x76, 0x70, 0x5f, 0x64, 0x62, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x10, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04,
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66,
0x6f, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67,
0x72, 0x61, 0x64, 0x65, 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, 0x3b, 0x0a,
0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x6d, 0x0a, 0x13, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 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, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74,
0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65,
0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73,
0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69,
0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x6b, 0x0a, 0x0f,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12,
0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74,
0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65,
0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x55, 0x0a, 0x10, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72,
0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75,
0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50,
0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x40, 0x0a,
0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x24, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a,
0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x6f, 0x22, 0x3d, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6d,
0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
0x22, 0x2b, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65,
0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x01,
0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70,
0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x66,
0x6f, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x01, 0x0a,
0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c,
0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x06,
0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44,
0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52,
0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73,
0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50,
0x75, 0x73, 0x68, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b,
0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 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, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a,
0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f,
0x6f, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a,
0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 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, 0x39, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23,
0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44,
0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55,
0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 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,
0x3b, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61,
0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02,
0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x6d, 0x0a, 0x13,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
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, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72,
0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a,
0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52,
0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x6b,
0x0a, 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65,
0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72,
0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a,
0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x55, 0x0a, 0x10, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c,
0x61, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78,
0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12,
0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65,
0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a,
0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64,
0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72,
0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a,
0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01,
0x40, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75,
0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61,
0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63,
0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9,
0x01, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70,
0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x12, 0x29,
0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61,
0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61,
0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f,
0x6e, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a,
0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 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, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd,
0x01, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69,
0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61,
0x72, 0x12, 0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65,
0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61,
0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63,
0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f,
0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c,
0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68,
0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22,
0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65,
0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e,
0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79,
0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65,
0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18,
0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d,
0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a,
0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52,
0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x66, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65,
0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41,
0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53,
0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63,
0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66,
0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16,
0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x75,
0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6f,
0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65,
0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43,
0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f,
0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69,
0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x1b,
0x40, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a,
0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72,
0x6f, 0x22, 0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49,
0x74, 0x65, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a,
0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e,
0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
0x68, 0x6e, 0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a,
0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72,
0x65, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73,
0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65,
0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66,
0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71,
0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66,
0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a,
0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22,
0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75,
0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03,
0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
0x52, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x50,
0x76, 0x70, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65,
0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a,
0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69,
0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b,
0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f,
0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50,
0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 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, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52,
0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50,
0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e,
0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42,
0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12,
0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06,
0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69,
0x73, 0x68, 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, 0x22, 0x16,
0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61,
0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -2398,10 +2419,11 @@ var file_practice_practice_msg_proto_goTypes = []interface{}{
nil, // 45: PracticeReceiveResp.KnapsackEntry
(*DBPracticeRoom)(nil), // 46: DBPracticeRoom
(*DBPracticePillar)(nil), // 47: DBPracticePillar
(*BattleFormation)(nil), // 48: BattleFormation
(ErrorCode)(0), // 49: ErrorCode
(*BattleInfo)(nil), // 50: BattleInfo
(*BattleReport)(nil), // 51: BattleReport
(*DBPvpBattle)(nil), // 48: DBPvpBattle
(*BattleFormation)(nil), // 49: BattleFormation
(ErrorCode)(0), // 50: ErrorCode
(*BattleInfo)(nil), // 51: BattleInfo
(*BattleReport)(nil), // 52: BattleReport
}
var file_practice_practice_msg_proto_depIdxs = []int32{
46, // 0: PracticeInfoResp.info:type_name -> DBPracticeRoom
@ -2416,16 +2438,17 @@ var file_practice_practice_msg_proto_depIdxs = []int32{
44, // 9: PracticeBeExpulsionPush.knapsack:type_name -> PracticeBeExpulsionPush.KnapsackEntry
47, // 10: PracticeReceiveResp.pillar:type_name -> DBPracticePillar
45, // 11: PracticeReceiveResp.knapsack:type_name -> PracticeReceiveResp.KnapsackEntry
48, // 12: PracticeNPCBattkleReq.formation:type_name -> BattleFormation
49, // 13: PracticeNPCBattkleResp.code:type_name -> ErrorCode
50, // 14: PracticeNPCBattkleResp.info:type_name -> BattleInfo
51, // 15: PracticeNPCBattkleFinishReq.report:type_name -> BattleReport
46, // 16: PracticeFriendRommResp.InfosEntry.value:type_name -> DBPracticeRoom
17, // [17:17] is the sub-list for method output_type
17, // [17:17] is the sub-list for method input_type
17, // [17:17] is the sub-list for extension type_name
17, // [17:17] is the sub-list for extension extendee
0, // [0:17] is the sub-list for field type_name
48, // 12: PracticeQiecuoResp.battle:type_name -> DBPvpBattle
49, // 13: PracticeNPCBattkleReq.formation:type_name -> BattleFormation
50, // 14: PracticeNPCBattkleResp.code:type_name -> ErrorCode
51, // 15: PracticeNPCBattkleResp.info:type_name -> BattleInfo
52, // 16: PracticeNPCBattkleFinishReq.report:type_name -> BattleReport
46, // 17: PracticeFriendRommResp.InfosEntry.value:type_name -> DBPracticeRoom
18, // [18:18] is the sub-list for method output_type
18, // [18:18] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
}
func init() { file_practice_practice_msg_proto_init() }
@ -2436,6 +2459,7 @@ func file_practice_practice_msg_proto_init() {
file_errorcode_proto_init()
file_practice_practice_db_proto_init()
file_battle_battle_msg_proto_init()
file_pvp_pvp_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_practice_practice_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PracticeInfoReq); i {

View File

@ -299,6 +299,166 @@ func (x *PvpReadyPush) GetCountdown() int32 {
return 0
}
//加载完毕请求
type PvpLoadCompleteReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"` //战斗id
}
func (x *PvpLoadCompleteReq) Reset() {
*x = PvpLoadCompleteReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpLoadCompleteReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpLoadCompleteReq) ProtoMessage() {}
func (x *PvpLoadCompleteReq) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpLoadCompleteReq.ProtoReflect.Descriptor instead.
func (*PvpLoadCompleteReq) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{5}
}
func (x *PvpLoadCompleteReq) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
//加载完毕请求
type PvpLoadCompleteResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"` //战斗id
Issucc bool `protobuf:"varint,2,opt,name=issucc,proto3" json:"issucc"`
}
func (x *PvpLoadCompleteResp) Reset() {
*x = PvpLoadCompleteResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpLoadCompleteResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpLoadCompleteResp) ProtoMessage() {}
func (x *PvpLoadCompleteResp) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpLoadCompleteResp.ProtoReflect.Descriptor instead.
func (*PvpLoadCompleteResp) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{6}
}
func (x *PvpLoadCompleteResp) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpLoadCompleteResp) GetIssucc() bool {
if x != nil {
return x.Issucc
}
return false
}
//加载完毕 通知
type PvpLoadCompleteNoticePush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"` //战斗id
Side int32 `protobuf:"varint,2,opt,name=side,proto3" json:"side"`
}
func (x *PvpLoadCompleteNoticePush) Reset() {
*x = PvpLoadCompleteNoticePush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpLoadCompleteNoticePush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpLoadCompleteNoticePush) ProtoMessage() {}
func (x *PvpLoadCompleteNoticePush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpLoadCompleteNoticePush.ProtoReflect.Descriptor instead.
func (*PvpLoadCompleteNoticePush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{7}
}
func (x *PvpLoadCompleteNoticePush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
func (x *PvpLoadCompleteNoticePush) GetSide() int32 {
if x != nil {
return x.Side
}
return 0
}
//Pvp 战斗准备推送
type PvpCancelPush struct {
state protoimpl.MessageState
@ -312,7 +472,7 @@ type PvpCancelPush struct {
func (x *PvpCancelPush) Reset() {
*x = PvpCancelPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[5]
mi := &file_pvp_pvp_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -325,7 +485,7 @@ func (x *PvpCancelPush) String() string {
func (*PvpCancelPush) ProtoMessage() {}
func (x *PvpCancelPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[5]
mi := &file_pvp_pvp_msg_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -338,7 +498,7 @@ func (x *PvpCancelPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpCancelPush.ProtoReflect.Descriptor instead.
func (*PvpCancelPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{5}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{8}
}
func (x *PvpCancelPush) GetServicePath() string {
@ -366,7 +526,7 @@ type PvpActiveCancelReq struct {
func (x *PvpActiveCancelReq) Reset() {
*x = PvpActiveCancelReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[6]
mi := &file_pvp_pvp_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -379,7 +539,7 @@ func (x *PvpActiveCancelReq) String() string {
func (*PvpActiveCancelReq) ProtoMessage() {}
func (x *PvpActiveCancelReq) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[6]
mi := &file_pvp_pvp_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -392,7 +552,7 @@ func (x *PvpActiveCancelReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpActiveCancelReq.ProtoReflect.Descriptor instead.
func (*PvpActiveCancelReq) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{6}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{9}
}
func (x *PvpActiveCancelReq) GetBattleid() string {
@ -413,7 +573,7 @@ type PvpActiveCancelResp struct {
func (x *PvpActiveCancelResp) Reset() {
*x = PvpActiveCancelResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[7]
mi := &file_pvp_pvp_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -426,7 +586,7 @@ func (x *PvpActiveCancelResp) String() string {
func (*PvpActiveCancelResp) ProtoMessage() {}
func (x *PvpActiveCancelResp) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[7]
mi := &file_pvp_pvp_msg_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -439,7 +599,7 @@ func (x *PvpActiveCancelResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpActiveCancelResp.ProtoReflect.Descriptor instead.
func (*PvpActiveCancelResp) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{7}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{10}
}
func (x *PvpActiveCancelResp) GetIssucc() bool {
@ -462,7 +622,7 @@ type PvpFormationReq struct {
func (x *PvpFormationReq) Reset() {
*x = PvpFormationReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[8]
mi := &file_pvp_pvp_msg_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -475,7 +635,7 @@ func (x *PvpFormationReq) String() string {
func (*PvpFormationReq) ProtoMessage() {}
func (x *PvpFormationReq) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[8]
mi := &file_pvp_pvp_msg_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -488,7 +648,7 @@ func (x *PvpFormationReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpFormationReq.ProtoReflect.Descriptor instead.
func (*PvpFormationReq) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{8}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{11}
}
func (x *PvpFormationReq) GetBattleid() string {
@ -517,7 +677,7 @@ type PvpFormationResp struct {
func (x *PvpFormationResp) Reset() {
*x = PvpFormationResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[9]
mi := &file_pvp_pvp_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -530,7 +690,7 @@ func (x *PvpFormationResp) String() string {
func (*PvpFormationResp) ProtoMessage() {}
func (x *PvpFormationResp) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[9]
mi := &file_pvp_pvp_msg_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -543,7 +703,7 @@ func (x *PvpFormationResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpFormationResp.ProtoReflect.Descriptor instead.
func (*PvpFormationResp) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{9}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{12}
}
func (x *PvpFormationResp) GetIssucc() bool {
@ -566,7 +726,7 @@ type PvpStartPush struct {
func (x *PvpStartPush) Reset() {
*x = PvpStartPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[10]
mi := &file_pvp_pvp_msg_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -579,7 +739,7 @@ func (x *PvpStartPush) String() string {
func (*PvpStartPush) ProtoMessage() {}
func (x *PvpStartPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[10]
mi := &file_pvp_pvp_msg_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -592,7 +752,7 @@ func (x *PvpStartPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpStartPush.ProtoReflect.Descriptor instead.
func (*PvpStartPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{10}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{13}
}
func (x *PvpStartPush) GetCode() ErrorCode {
@ -622,7 +782,7 @@ type PvpOutCmdPush struct {
func (x *PvpOutCmdPush) Reset() {
*x = PvpOutCmdPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[11]
mi := &file_pvp_pvp_msg_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -635,7 +795,7 @@ func (x *PvpOutCmdPush) String() string {
func (*PvpOutCmdPush) ProtoMessage() {}
func (x *PvpOutCmdPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[11]
mi := &file_pvp_pvp_msg_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -648,7 +808,7 @@ func (x *PvpOutCmdPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpOutCmdPush.ProtoReflect.Descriptor instead.
func (*PvpOutCmdPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{11}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{14}
}
func (x *PvpOutCmdPush) GetBattleid() string {
@ -678,7 +838,7 @@ type PvpInCmdReq struct {
func (x *PvpInCmdReq) Reset() {
*x = PvpInCmdReq{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[12]
mi := &file_pvp_pvp_msg_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -691,7 +851,7 @@ func (x *PvpInCmdReq) String() string {
func (*PvpInCmdReq) ProtoMessage() {}
func (x *PvpInCmdReq) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[12]
mi := &file_pvp_pvp_msg_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -704,7 +864,7 @@ func (x *PvpInCmdReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpInCmdReq.ProtoReflect.Descriptor instead.
func (*PvpInCmdReq) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{12}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{15}
}
func (x *PvpInCmdReq) GetBattleid() string {
@ -735,7 +895,7 @@ type PvpInCmdResp struct {
func (x *PvpInCmdResp) Reset() {
*x = PvpInCmdResp{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[13]
mi := &file_pvp_pvp_msg_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -748,7 +908,7 @@ func (x *PvpInCmdResp) String() string {
func (*PvpInCmdResp) ProtoMessage() {}
func (x *PvpInCmdResp) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[13]
mi := &file_pvp_pvp_msg_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -761,7 +921,7 @@ func (x *PvpInCmdResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use PvpInCmdResp.ProtoReflect.Descriptor instead.
func (*PvpInCmdResp) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{13}
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{16}
}
func (x *PvpInCmdResp) GetCode() ErrorCode {
@ -785,6 +945,54 @@ func (x *PvpInCmdResp) GetCmd() *BattleCmd {
return nil
}
//实时Pvp 战斗结束推送
type PvpFinishPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
}
func (x *PvpFinishPush) Reset() {
*x = PvpFinishPush{}
if protoimpl.UnsafeEnabled {
mi := &file_pvp_pvp_msg_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PvpFinishPush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PvpFinishPush) ProtoMessage() {}
func (x *PvpFinishPush) ProtoReflect() protoreflect.Message {
mi := &file_pvp_pvp_msg_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PvpFinishPush.ProtoReflect.Descriptor instead.
func (*PvpFinishPush) Descriptor() ([]byte, []int) {
return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{17}
}
func (x *PvpFinishPush) GetBattleid() string {
if x != nil {
return x.Battleid
}
return ""
}
var File_pvp_pvp_msg_proto protoreflect.FileDescriptor
var file_pvp_pvp_msg_proto_rawDesc = []byte{
@ -817,49 +1025,64 @@ var file_pvp_pvp_msg_proto_rawDesc = []byte{
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x76, 0x70, 0x55, 0x73, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x4d, 0x0a, 0x0d, 0x50, 0x76, 0x70, 0x43,
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x12, 0x50, 0x76, 0x70, 0x41, 0x63,
0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x13, 0x50, 0x76, 0x70,
0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 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, 0x22, 0x5d, 0x0a, 0x0f, 0x50, 0x76, 0x70, 0x46,
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74,
0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x50, 0x76, 0x70, 0x46, 0x6f,
0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x22, 0x4f, 0x0a, 0x0c, 0x50, 0x76, 0x70, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50,
0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63,
0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
0x69, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x0d, 0x50, 0x76, 0x70, 0x4f, 0x75, 0x74, 0x43, 0x6d,
0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a,
0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22,
0x47, 0x0a, 0x0b, 0x50, 0x76, 0x70, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a,
0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x30, 0x0a, 0x12, 0x50, 0x76, 0x70, 0x4c,
0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a,
0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x68, 0x0a, 0x0c, 0x50, 0x76, 0x70, 0x49,
0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x13, 0x50, 0x76,
0x70, 0x4c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
0x70, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x4b, 0x0a, 0x19, 0x50, 0x76, 0x70, 0x4c, 0x6f, 0x61, 0x64,
0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75,
0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x12,
0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69,
0x64, 0x65, 0x22, 0x4d, 0x0a, 0x0d, 0x50, 0x76, 0x70, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50,
0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61,
0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x22, 0x30, 0x0a, 0x12, 0x50, 0x76, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61,
0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x69, 0x64, 0x22, 0x2d, 0x0a, 0x13, 0x50, 0x76, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 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, 0x22, 0x5d, 0x0a, 0x0f, 0x50, 0x76, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69,
0x64, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72,
0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x2a, 0x0a, 0x10, 0x50, 0x76, 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 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, 0x22, 0x4f, 0x0a,
0x0c, 0x50, 0x76, 0x70, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a,
0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72,
0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a,
0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x49,
0x0a, 0x0d, 0x50, 0x76, 0x70, 0x4f, 0x75, 0x74, 0x43, 0x6d, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12,
0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63,
0x6d, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x47, 0x0a, 0x0b, 0x50, 0x76, 0x70,
0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63,
0x6d, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
0x6d, 0x64, 0x22, 0x68, 0x0a, 0x0c, 0x50, 0x76, 0x70, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65,
0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1c,
0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61,
0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x2b, 0x0a, 0x0d,
0x50, 0x76, 0x70, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -874,43 +1097,47 @@ func file_pvp_pvp_msg_proto_rawDescGZIP() []byte {
return file_pvp_pvp_msg_proto_rawDescData
}
var file_pvp_pvp_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
var file_pvp_pvp_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_pvp_pvp_msg_proto_goTypes = []interface{}{
(*PvpListReq)(nil), // 0: PvpListReq
(*PvpListResp)(nil), // 1: PvpListResp
(*PvpIntoReq)(nil), // 2: PvpIntoReq
(*PvpIntoResp)(nil), // 3: PvpIntoResp
(*PvpReadyPush)(nil), // 4: PvpReadyPush
(*PvpCancelPush)(nil), // 5: PvpCancelPush
(*PvpActiveCancelReq)(nil), // 6: PvpActiveCancelReq
(*PvpActiveCancelResp)(nil), // 7: PvpActiveCancelResp
(*PvpFormationReq)(nil), // 8: PvpFormationReq
(*PvpFormationResp)(nil), // 9: PvpFormationResp
(*PvpStartPush)(nil), // 10: PvpStartPush
(*PvpOutCmdPush)(nil), // 11: PvpOutCmdPush
(*PvpInCmdReq)(nil), // 12: PvpInCmdReq
(*PvpInCmdResp)(nil), // 13: PvpInCmdResp
(*DBPvpBattle)(nil), // 14: DBPvpBattle
(ErrorCode)(0), // 15: ErrorCode
(*BattleStateInfo)(nil), // 16: BattleStateInfo
(*PvpUserInfo)(nil), // 17: PvpUserInfo
(*BattleFormation)(nil), // 18: BattleFormation
(*BattleInfo)(nil), // 19: BattleInfo
(*BattleCmd)(nil), // 20: BattleCmd
(*PvpListReq)(nil), // 0: PvpListReq
(*PvpListResp)(nil), // 1: PvpListResp
(*PvpIntoReq)(nil), // 2: PvpIntoReq
(*PvpIntoResp)(nil), // 3: PvpIntoResp
(*PvpReadyPush)(nil), // 4: PvpReadyPush
(*PvpLoadCompleteReq)(nil), // 5: PvpLoadCompleteReq
(*PvpLoadCompleteResp)(nil), // 6: PvpLoadCompleteResp
(*PvpLoadCompleteNoticePush)(nil), // 7: PvpLoadCompleteNoticePush
(*PvpCancelPush)(nil), // 8: PvpCancelPush
(*PvpActiveCancelReq)(nil), // 9: PvpActiveCancelReq
(*PvpActiveCancelResp)(nil), // 10: PvpActiveCancelResp
(*PvpFormationReq)(nil), // 11: PvpFormationReq
(*PvpFormationResp)(nil), // 12: PvpFormationResp
(*PvpStartPush)(nil), // 13: PvpStartPush
(*PvpOutCmdPush)(nil), // 14: PvpOutCmdPush
(*PvpInCmdReq)(nil), // 15: PvpInCmdReq
(*PvpInCmdResp)(nil), // 16: PvpInCmdResp
(*PvpFinishPush)(nil), // 17: PvpFinishPush
(*DBPvpBattle)(nil), // 18: DBPvpBattle
(ErrorCode)(0), // 19: ErrorCode
(*BattleStateInfo)(nil), // 20: BattleStateInfo
(*PvpUserInfo)(nil), // 21: PvpUserInfo
(*BattleFormation)(nil), // 22: BattleFormation
(*BattleInfo)(nil), // 23: BattleInfo
(*BattleCmd)(nil), // 24: BattleCmd
}
var file_pvp_pvp_msg_proto_depIdxs = []int32{
14, // 0: PvpListResp.list:type_name -> DBPvpBattle
15, // 1: PvpIntoResp.code:type_name -> ErrorCode
16, // 2: PvpIntoResp.info:type_name -> BattleStateInfo
17, // 3: PvpReadyPush.red:type_name -> PvpUserInfo
17, // 4: PvpReadyPush.blue:type_name -> PvpUserInfo
18, // 5: PvpFormationReq.formation:type_name -> BattleFormation
15, // 6: PvpStartPush.code:type_name -> ErrorCode
19, // 7: PvpStartPush.info:type_name -> BattleInfo
20, // 8: PvpOutCmdPush.cmd:type_name -> BattleCmd
20, // 9: PvpInCmdReq.cmd:type_name -> BattleCmd
15, // 10: PvpInCmdResp.code:type_name -> ErrorCode
20, // 11: PvpInCmdResp.cmd:type_name -> BattleCmd
18, // 0: PvpListResp.list:type_name -> DBPvpBattle
19, // 1: PvpIntoResp.code:type_name -> ErrorCode
20, // 2: PvpIntoResp.info:type_name -> BattleStateInfo
21, // 3: PvpReadyPush.red:type_name -> PvpUserInfo
21, // 4: PvpReadyPush.blue:type_name -> PvpUserInfo
22, // 5: PvpFormationReq.formation:type_name -> BattleFormation
19, // 6: PvpStartPush.code:type_name -> ErrorCode
23, // 7: PvpStartPush.info:type_name -> BattleInfo
24, // 8: PvpOutCmdPush.cmd:type_name -> BattleCmd
24, // 9: PvpInCmdReq.cmd:type_name -> BattleCmd
19, // 10: PvpInCmdResp.code:type_name -> ErrorCode
24, // 11: PvpInCmdResp.cmd:type_name -> BattleCmd
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
@ -988,7 +1215,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpCancelPush); i {
switch v := v.(*PvpLoadCompleteReq); i {
case 0:
return &v.state
case 1:
@ -1000,7 +1227,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpActiveCancelReq); i {
switch v := v.(*PvpLoadCompleteResp); i {
case 0:
return &v.state
case 1:
@ -1012,7 +1239,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpActiveCancelResp); i {
switch v := v.(*PvpLoadCompleteNoticePush); i {
case 0:
return &v.state
case 1:
@ -1024,7 +1251,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpFormationReq); i {
switch v := v.(*PvpCancelPush); i {
case 0:
return &v.state
case 1:
@ -1036,7 +1263,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpFormationResp); i {
switch v := v.(*PvpActiveCancelReq); i {
case 0:
return &v.state
case 1:
@ -1048,7 +1275,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpStartPush); i {
switch v := v.(*PvpActiveCancelResp); i {
case 0:
return &v.state
case 1:
@ -1060,7 +1287,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpOutCmdPush); i {
switch v := v.(*PvpFormationReq); i {
case 0:
return &v.state
case 1:
@ -1072,7 +1299,7 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpInCmdReq); i {
switch v := v.(*PvpFormationResp); i {
case 0:
return &v.state
case 1:
@ -1084,6 +1311,42 @@ func file_pvp_pvp_msg_proto_init() {
}
}
file_pvp_pvp_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpStartPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpOutCmdPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpInCmdReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpInCmdResp); i {
case 0:
return &v.state
@ -1095,6 +1358,18 @@ func file_pvp_pvp_msg_proto_init() {
return nil
}
}
file_pvp_pvp_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PvpFinishPush); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -1102,7 +1377,7 @@ func file_pvp_pvp_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pvp_pvp_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 14,
NumMessages: 18,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -75,7 +75,6 @@ type Tables struct {
HuntingOpenTime *GameHuntingOpenTime
HuntingLineup *GameHuntingLineup
MonsterFormat *GameMonsterFormat
Link *GameLink
GetResource *GameGetResource
VikingBossSkill *GameVikingBossSkill
LibraryFetter *GameLibraryFetter
@ -572,12 +571,6 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.MonsterFormat, err = NewGameMonsterFormat(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_link") ; err != nil {
return nil, err
}
if tables.Link, err = NewGameLink(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_getresource") ; err != nil {
return nil, err
}

View File

@ -202,6 +202,7 @@ type GameGlobalData struct {
DailyTips int32
DailyNum int32
WeekNum int32
FitnessModelId string
}
const TypeId_GameGlobalData = 477542761
@ -818,6 +819,7 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Daily_Tips"].(float64); !_ok_ { err = errors.New("Daily_Tips error"); return }; _v.DailyTips = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Daily_Num"].(float64); !_ok_ { err = errors.New("Daily_Num error"); return }; _v.DailyNum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Week_Num"].(float64); !_ok_ { err = errors.New("Week_Num error"); return }; _v.WeekNum = int32(_tempNum_) }
{ var _ok_ bool; if _v.FitnessModelId, _ok_ = _buf["fitnessModelId"].(string); !_ok_ { err = errors.New("fitnessModelId error"); return } }
return
}