diff --git a/bin/json/game_buzkashifm.json b/bin/json/game_buzkashifm.json
new file mode 100644
index 000000000..682df8df7
--- /dev/null
+++ b/bin/json/game_buzkashifm.json
@@ -0,0 +1,102 @@
+[
+ {
+ "num": 1,
+ "type": 1,
+ "stime": "碰撞障碍时",
+ "broadcast": {
+ "key": "itemname_30001",
+ "text": "这招太狠了,希望没有人受伤"
+ },
+ "icon": ""
+ },
+ {
+ "num": 2,
+ "type": 1,
+ "stime": "碰撞障碍时",
+ "broadcast": {
+ "key": "itemname_30001",
+ "text": "这招太狠了,希望没有人受伤"
+ },
+ "icon": ""
+ },
+ {
+ "num": 3,
+ "type": 2,
+ "stime": "闪避障碍时",
+ "broadcast": {
+ "key": "itemname_30002",
+ "text": "大放异彩!"
+ },
+ "icon": ""
+ },
+ {
+ "num": 4,
+ "type": 3,
+ "stime": "射门成功",
+ "broadcast": {
+ "key": "itemname_30003",
+ "text": "完美的配合!"
+ },
+ "icon": ""
+ },
+ {
+ "num": 5,
+ "type": 4,
+ "stime": "射门失败",
+ "broadcast": {
+ "key": "itemname_30004",
+ "text": "这招太狠了,希望没有人受伤"
+ },
+ "icon": ""
+ },
+ {
+ "num": 6,
+ "type": 5,
+ "stime": "使用药剂",
+ "broadcast": {
+ "key": "itemname_30005",
+ "text": "大放异彩!"
+ },
+ "icon": ""
+ },
+ {
+ "num": 7,
+ "type": 6,
+ "stime": "团队冲刺",
+ "broadcast": {
+ "key": "itemname_50001",
+ "text": "完美的配合!"
+ },
+ "icon": ""
+ },
+ {
+ "num": 8,
+ "type": 7,
+ "stime": "死亡",
+ "broadcast": {
+ "key": "itemname_50001",
+ "text": "这招太狠了,希望没有人受伤"
+ },
+ "icon": ""
+ },
+ {
+ "num": 9,
+ "type": 8,
+ "stime": "使用道具",
+ "broadcast": {
+ "key": "itemname_50001",
+ "text": "大放异彩!"
+ },
+ "icon": ""
+ },
+ {
+ "num": 10,
+ "type": 9,
+ "stime": "射门时",
+ "broadcast": {
+ "key": "itemname_50001",
+ "text": "完美的配合!"
+ },
+ "icon": ""
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashigrade.json b/bin/json/game_buzkashigrade.json
new file mode 100644
index 000000000..5777e7c27
--- /dev/null
+++ b/bin/json/game_buzkashigrade.json
@@ -0,0 +1,22 @@
+[
+ {
+ "num": 1,
+ "distance": "1",
+ "value": 8
+ },
+ {
+ "num": 2,
+ "distance": "2",
+ "value": 6
+ },
+ {
+ "num": 3,
+ "distance": "3",
+ "value": 4
+ },
+ {
+ "num": 4,
+ "distance": "4",
+ "value": 2
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashilv.json b/bin/json/game_buzkashilv.json
new file mode 100644
index 000000000..ca7f65a7c
--- /dev/null
+++ b/bin/json/game_buzkashilv.json
@@ -0,0 +1,32 @@
+[
+ {
+ "num": 1,
+ "score": "c",
+ "value": 10
+ },
+ {
+ "num": 2,
+ "score": "b",
+ "value": 20
+ },
+ {
+ "num": 3,
+ "score": "a",
+ "value": 50
+ },
+ {
+ "num": 4,
+ "score": "s",
+ "value": 80
+ },
+ {
+ "num": 5,
+ "score": "ss",
+ "value": 100
+ },
+ {
+ "num": 6,
+ "score": "sss",
+ "value": 120
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashimount.json b/bin/json/game_buzkashimount.json
new file mode 100644
index 000000000..351d3ecac
--- /dev/null
+++ b/bin/json/game_buzkashimount.json
@@ -0,0 +1,38 @@
+[
+ {
+ "num": "20030001",
+ "stime": 100,
+ "etime": 120,
+ "hp": 7,
+ "model": "",
+ "point": "",
+ "moderate": 0,
+ "sprint": 0,
+ "acceleration": 0,
+ "deceleration": 0
+ },
+ {
+ "num": "20030002",
+ "stime": 100,
+ "etime": 120,
+ "hp": 5,
+ "model": "",
+ "point": "",
+ "moderate": 0,
+ "sprint": 0,
+ "acceleration": 0,
+ "deceleration": 0
+ },
+ {
+ "num": "20030003",
+ "stime": 100,
+ "etime": 120,
+ "hp": 5,
+ "model": "",
+ "point": "",
+ "moderate": 0,
+ "sprint": 0,
+ "acceleration": 0,
+ "deceleration": 0
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashiopen.json b/bin/json/game_buzkashiopen.json
new file mode 100644
index 000000000..cac0a1795
--- /dev/null
+++ b/bin/json/game_buzkashiopen.json
@@ -0,0 +1,170 @@
+[
+ {
+ "num": 1,
+ "shtime": 0,
+ "smtime": 30,
+ "ehtime": 0,
+ "emtime": 50
+ },
+ {
+ "num": 2,
+ "shtime": 1,
+ "smtime": 30,
+ "ehtime": 1,
+ "emtime": 50
+ },
+ {
+ "num": 3,
+ "shtime": 2,
+ "smtime": 30,
+ "ehtime": 2,
+ "emtime": 50
+ },
+ {
+ "num": 4,
+ "shtime": 3,
+ "smtime": 30,
+ "ehtime": 3,
+ "emtime": 50
+ },
+ {
+ "num": 5,
+ "shtime": 4,
+ "smtime": 30,
+ "ehtime": 4,
+ "emtime": 50
+ },
+ {
+ "num": 6,
+ "shtime": 5,
+ "smtime": 30,
+ "ehtime": 5,
+ "emtime": 50
+ },
+ {
+ "num": 7,
+ "shtime": 6,
+ "smtime": 30,
+ "ehtime": 6,
+ "emtime": 50
+ },
+ {
+ "num": 8,
+ "shtime": 7,
+ "smtime": 30,
+ "ehtime": 7,
+ "emtime": 50
+ },
+ {
+ "num": 9,
+ "shtime": 8,
+ "smtime": 30,
+ "ehtime": 8,
+ "emtime": 50
+ },
+ {
+ "num": 10,
+ "shtime": 9,
+ "smtime": 30,
+ "ehtime": 9,
+ "emtime": 50
+ },
+ {
+ "num": 11,
+ "shtime": 10,
+ "smtime": 30,
+ "ehtime": 10,
+ "emtime": 50
+ },
+ {
+ "num": 12,
+ "shtime": 11,
+ "smtime": 30,
+ "ehtime": 11,
+ "emtime": 50
+ },
+ {
+ "num": 13,
+ "shtime": 12,
+ "smtime": 30,
+ "ehtime": 12,
+ "emtime": 50
+ },
+ {
+ "num": 14,
+ "shtime": 13,
+ "smtime": 30,
+ "ehtime": 13,
+ "emtime": 50
+ },
+ {
+ "num": 15,
+ "shtime": 14,
+ "smtime": 30,
+ "ehtime": 14,
+ "emtime": 50
+ },
+ {
+ "num": 16,
+ "shtime": 15,
+ "smtime": 30,
+ "ehtime": 15,
+ "emtime": 50
+ },
+ {
+ "num": 17,
+ "shtime": 16,
+ "smtime": 30,
+ "ehtime": 16,
+ "emtime": 50
+ },
+ {
+ "num": 18,
+ "shtime": 17,
+ "smtime": 30,
+ "ehtime": 17,
+ "emtime": 50
+ },
+ {
+ "num": 19,
+ "shtime": 18,
+ "smtime": 30,
+ "ehtime": 18,
+ "emtime": 50
+ },
+ {
+ "num": 20,
+ "shtime": 19,
+ "smtime": 30,
+ "ehtime": 19,
+ "emtime": 50
+ },
+ {
+ "num": 21,
+ "shtime": 20,
+ "smtime": 30,
+ "ehtime": 20,
+ "emtime": 50
+ },
+ {
+ "num": 22,
+ "shtime": 21,
+ "smtime": 30,
+ "ehtime": 21,
+ "emtime": 50
+ },
+ {
+ "num": 23,
+ "shtime": 22,
+ "smtime": 30,
+ "ehtime": 22,
+ "emtime": 50
+ },
+ {
+ "num": 24,
+ "shtime": 23,
+ "smtime": 30,
+ "ehtime": 23,
+ "emtime": 50
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_buzkashireward.json b/bin/json/game_buzkashireward.json
new file mode 100644
index 000000000..856a5fe9c
--- /dev/null
+++ b/bin/json/game_buzkashireward.json
@@ -0,0 +1,67 @@
+[
+ {
+ "key": 1,
+ "schedule": 20,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 5
+ }
+ ]
+ },
+ {
+ "key": 2,
+ "schedule": 40,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 10000
+ }
+ ]
+ },
+ {
+ "key": 3,
+ "schedule": 60,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 10
+ }
+ ]
+ },
+ {
+ "key": 4,
+ "schedule": 80,
+ "reword": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 10
+ },
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 20000
+ }
+ ]
+ },
+ {
+ "key": 5,
+ "schedule": 100,
+ "reword": [
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 1
+ },
+ {
+ "a": "attr",
+ "t": "gold",
+ "n": 50000
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_global.json b/bin/json/game_global.json
index edd6f3ae3..9df88bd2f 100644
--- a/bin/json/game_global.json
+++ b/bin/json/game_global.json
@@ -716,6 +716,7 @@
"n": 1000
}
],
+<<<<<<< HEAD
"buzkashi_resurrection": 10,
"favorability_attenuation": [
{
@@ -731,5 +732,8 @@
"v": 500
}
]
+=======
+ "buzkashi_resurrection": 10
+>>>>>>> 2ff92487cf513d980124f84c7fe3db1e6bb88e31
}
]
\ No newline at end of file
diff --git a/bin/json/game_model.json b/bin/json/game_model.json
index caeee1b96..f2faeb998 100644
--- a/bin/json/game_model.json
+++ b/bin/json/game_model.json
@@ -22,6 +22,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -47,6 +57,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -72,6 +92,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -97,6 +127,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -122,6 +162,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -147,6 +197,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -172,6 +232,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -197,6 +267,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -222,6 +302,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -247,6 +337,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -272,6 +372,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -297,6 +407,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -322,6 +442,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -347,6 +477,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -372,6 +512,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -397,6 +547,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -422,6 +582,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -447,6 +617,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -472,6 +652,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -497,6 +687,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -522,6 +722,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -547,6 +757,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -572,6 +792,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -597,6 +827,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -622,6 +862,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -647,6 +897,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -672,6 +932,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -697,6 +967,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -722,6 +1002,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -747,6 +1037,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -772,6 +1072,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -797,6 +1107,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -822,6 +1142,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -847,6 +1177,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -872,6 +1212,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -897,6 +1247,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -922,6 +1282,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -947,6 +1317,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -972,6 +1352,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -997,6 +1387,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1022,6 +1422,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1047,6 +1457,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1072,6 +1492,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1097,6 +1527,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1122,6 +1562,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1147,6 +1597,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1172,6 +1632,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1197,6 +1667,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1222,6 +1702,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1247,6 +1737,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1272,6 +1772,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1297,6 +1807,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1322,6 +1842,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1347,6 +1877,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1372,6 +1912,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1397,6 +1947,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1422,6 +1982,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1447,6 +2017,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1472,6 +2052,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1497,6 +2087,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1522,6 +2122,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1547,6 +2157,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1572,6 +2192,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1597,6 +2227,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1622,6 +2262,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1647,6 +2297,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1672,6 +2332,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1697,6 +2367,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1722,6 +2402,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1747,6 +2437,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1772,6 +2472,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1797,6 +2507,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1822,6 +2542,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1847,6 +2577,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1872,6 +2612,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1897,6 +2647,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1922,6 +2682,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1947,6 +2717,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1972,6 +2752,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -1997,6 +2787,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2022,6 +2822,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2047,6 +2857,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2072,6 +2892,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2097,6 +2927,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2122,6 +2962,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2147,6 +2997,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2172,6 +3032,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2197,6 +3067,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2222,6 +3102,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2247,6 +3137,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2272,6 +3172,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2297,6 +3207,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2322,6 +3242,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2347,6 +3277,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2372,6 +3312,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2397,6 +3347,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2422,6 +3382,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2447,6 +3417,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2472,6 +3452,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2497,6 +3487,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2522,6 +3522,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2547,6 +3557,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2572,6 +3592,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2597,6 +3627,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2622,6 +3662,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2647,6 +3697,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2672,6 +3732,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2697,6 +3767,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2722,6 +3802,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2747,6 +3837,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2772,6 +3872,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2797,6 +3907,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2822,6 +3942,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2847,6 +3977,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2872,6 +4012,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2897,6 +4047,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2922,6 +4082,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2947,6 +4117,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2972,6 +4152,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -2997,6 +4187,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
},
{
@@ -3022,6 +4222,16 @@
"x": 0,
"y": 180,
"z": 0
+ },
+ "boxPos": {
+ "x": 0,
+ "y": 0.5,
+ "z": 0
+ },
+ "boxSize": {
+ "x": 1,
+ "y": 1,
+ "z": 1
}
}
]
\ No newline at end of file
diff --git a/bin/json/game_navigation.json b/bin/json/game_navigation.json
new file mode 100644
index 000000000..6f4374553
--- /dev/null
+++ b/bin/json/game_navigation.json
@@ -0,0 +1,377 @@
+[
+ {
+ "Id": 1,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_1",
+ "text": "充值"
+ },
+ "npcName": "功能入口-充值",
+ "functionicon": ""
+ },
+ {
+ "Id": 2,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_2",
+ "text": "商人"
+ },
+ "npcName": "功能入口-商人",
+ "functionicon": ""
+ },
+ {
+ "Id": 3,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_3",
+ "text": "任务"
+ },
+ "npcName": "功能入口-任务",
+ "functionicon": ""
+ },
+ {
+ "Id": 4,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_4",
+ "text": "公告"
+ },
+ "npcName": "功能入口-公告",
+ "functionicon": ""
+ },
+ {
+ "Id": 5,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_5",
+ "text": "邮件"
+ },
+ "npcName": "功能入口-邮件",
+ "functionicon": ""
+ },
+ {
+ "Id": 6,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_6",
+ "text": "主线关卡"
+ },
+ "npcName": "功能入口-主线",
+ "functionicon": ""
+ },
+ {
+ "Id": 7,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_7",
+ "text": "维京远征"
+ },
+ "npcName": "功能入口-维京远征",
+ "functionicon": ""
+ },
+ {
+ "Id": 8,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_8",
+ "text": "捕羊大赛"
+ },
+ "npcName": "功能入口-捕羊大赛",
+ "functionicon": ""
+ },
+ {
+ "Id": 9,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_9",
+ "text": "狩猎"
+ },
+ "npcName": "功能入口-狩猎",
+ "functionicon": ""
+ },
+ {
+ "Id": 10,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_10",
+ "text": "旧时光"
+ },
+ "npcName": "功能入口-剧情副本",
+ "functionicon": ""
+ },
+ {
+ "Id": 11,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_11",
+ "text": "竞技场"
+ },
+ "npcName": "功能入口-竞技场",
+ "functionicon": ""
+ },
+ {
+ "Id": 12,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_12",
+ "text": "招募"
+ },
+ "npcName": "功能入口-招募",
+ "functionicon": ""
+ },
+ {
+ "Id": 13,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_13",
+ "text": "签到"
+ },
+ "npcName": "功能入口-签到",
+ "functionicon": ""
+ },
+ {
+ "Id": 14,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_14",
+ "text": "魔药"
+ },
+ "npcName": "功能入口-魔药",
+ "functionicon": ""
+ },
+ {
+ "Id": 15,
+ "scene": "GameMain",
+ "scenename": {
+ "key": "navigationscenename_1",
+ "text": "中轴城"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_15",
+ "text": "烹饪"
+ },
+ "npcName": "功能入口-烹饪",
+ "functionicon": ""
+ },
+ {
+ "Id": 16,
+ "scene": "SmithyScene",
+ "scenename": {
+ "key": "navigationscenename_2",
+ "text": "铁匠铺"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_16",
+ "text": "打造"
+ },
+ "npcName": "打造",
+ "functionicon": ""
+ },
+ {
+ "Id": 17,
+ "scene": "SmithyScene",
+ "scenename": {
+ "key": "navigationscenename_2",
+ "text": "铁匠铺"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_17",
+ "text": "锻造炉"
+ },
+ "npcName": "锻造炉",
+ "functionicon": ""
+ },
+ {
+ "Id": 18,
+ "scene": "SmithyScene",
+ "scenename": {
+ "key": "navigationscenename_2",
+ "text": "铁匠铺"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_18",
+ "text": "手册台"
+ },
+ "npcName": "手册台",
+ "functionicon": ""
+ },
+ {
+ "Id": 19,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_19",
+ "text": "总教习"
+ },
+ "npcName": "总教习",
+ "functionicon": ""
+ },
+ {
+ "Id": 20,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_20",
+ "text": "阿宝"
+ },
+ "npcName": "阿宝",
+ "functionicon": ""
+ },
+ {
+ "Id": 21,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_21",
+ "text": "告示板"
+ },
+ "npcName": "告示板",
+ "functionicon": ""
+ },
+ {
+ "Id": 22,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_22",
+ "text": "木桩1"
+ },
+ "npcName": "木桩1",
+ "functionicon": ""
+ },
+ {
+ "Id": 23,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_23",
+ "text": "木桩2"
+ },
+ "npcName": "木桩2",
+ "functionicon": ""
+ },
+ {
+ "Id": 24,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_24",
+ "text": "木桩3"
+ },
+ "npcName": "木桩3",
+ "functionicon": ""
+ },
+ {
+ "Id": 25,
+ "scene": "WuGuanScene",
+ "scenename": {
+ "key": "navigationscenename_3",
+ "text": "熊猫武馆"
+ },
+ "sceneicon": "",
+ "functionname": {
+ "key": "navigation_functionname_25",
+ "text": "木桩4"
+ },
+ "npcName": "木桩4",
+ "functionicon": ""
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json
index fd7602430..8013080e0 100644
--- a/bin/json/game_skillatk.json
+++ b/bin/json/game_skillatk.json
@@ -52,7 +52,9 @@
"key": "skill_1250041111",
"text": "对敌方1个目标造成3次攻击力30%的伤害,有40%概率为自身附加2回合【免疫】状态"
},
- "buffid": [],
+ "buffid": [
+ 390001111
+ ],
"map": ""
},
{
@@ -222,7 +224,9 @@
"key": "skill_1250042111",
"text": "清除我方所有减益状态,并平均分配我方生命值,为我方全体附加2回合【攻击提升】状态"
},
- "buffid": [],
+ "buffid": [
+ 390001001
+ ],
"map": ""
},
{
@@ -310,7 +314,9 @@
"key": "skill_1250043111",
"text": "进入2回合【喜悦】状态,使我方全体收到伤害降低25%,且在每个队友行动前,为其驱散1个减益状态并回复其最大生命值20%的生命,效果持续期间自身无法行动"
},
- "buffid": [],
+ "buffid": [
+ 390001208
+ ],
"map": ""
},
{
@@ -479,7 +485,9 @@
"key": "skill_1350021111",
"text": "攻击一个敌方2次,伤害分别为自身攻击力30%和80%,每次向目标转嫁自身1个减益;转嫁成功时有50%的概率为目标附加1回合【眩晕】。"
},
- "buffid": [],
+ "buffid": [
+ 390001105
+ ],
"map": ""
},
{
@@ -1046,7 +1054,9 @@
"key": "skill_1240031111",
"text": "对敌方1个目标造成攻击力110%的伤害,并有70%的概率附加1回合【睡眠】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001118
+ ],
"map": ""
},
{
@@ -1191,7 +1201,9 @@
"key": "skill_1240032111",
"text": "为我方全体各净化1个减益状态,并附加2回合【速度提升】。"
},
- "buffid": [],
+ "buffid": [
+ 390001003
+ ],
"map": ""
},
{
@@ -1250,7 +1262,9 @@
"key": "skill_1240033111",
"text": "对敌方全体造成攻击力80%的伤害,使敌方目标各减少30%行动值,并有100%概率附加1回合【睡眠】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001118
+ ],
"map": ""
},
{
@@ -1428,7 +1442,10 @@
"key": "skill_9240034111",
"text": "为我方全体各净化1个减益状态,并附加2回合【速度提升】和1回合【防御提升】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001003,
+ 390001002
+ ],
"map": ""
},
{
@@ -1514,7 +1531,9 @@
"key": "skill_1340061111",
"text": "对敌方1个目标造成2次攻击力50%的伤害,有60%概率为目标附加2回合【速度下降】"
},
- "buffid": [],
+ "buffid": [
+ 390001008
+ ],
"map": ""
},
{
@@ -1794,7 +1813,10 @@
"key": "skill_1340063111",
"text": "攻击敌方全体,伤害为自身攻击力100%,90%概率为目标附加2回合【速度下降】和1回合【冰冻】"
},
- "buffid": [],
+ "buffid": [
+ 390001008,
+ 390001106
+ ],
"map": ""
},
{
@@ -1934,7 +1956,9 @@
"key": "skill_9340064111",
"text": "攻击全体敌方,伤害为自身攻击力70%,70%概率降低目标30%行动值;目标有【速度下降】时,降低行动值翻倍。"
},
- "buffid": [],
+ "buffid": [
+ 390001008
+ ],
"map": ""
},
{
@@ -2102,7 +2126,9 @@
"key": "skill_1250011111",
"text": "对敌方1个目标造成2次攻击力30%及防御力50%的伤害,有50%概率为目标附加2回合【攻击下降】"
},
- "buffid": [],
+ "buffid": [
+ 390001006
+ ],
"map": ""
},
{
@@ -2243,7 +2269,9 @@
"key": "skill_1250012111",
"text": "回合结束时获得1回合【玄御】,效果期间回合开始时攻击全体敌方,伤害为自身防御力90%。"
},
- "buffid": [],
+ "buffid": [
+ 390001210
+ ],
"map": ""
},
{
@@ -2529,7 +2557,10 @@
"key": "skill_1250013111",
"text": "攻击1个敌方,伤害为自身攻击力80%及防御力100%,为自身附加2回合【防御提升】和【免疫】。"
},
- "buffid": [],
+ "buffid": [
+ 390001002,
+ 390001111
+ ],
"map": ""
},
{
@@ -2678,7 +2709,9 @@
"key": "skill_9250014111",
"text": "回合结束时获得1回合【玄御】,效果期间回合开始时攻击全体敌方,伤害为自身防御力90%。任一技能暴击时减少此技能1回合冷却。"
},
- "buffid": [],
+ "buffid": [
+ 390001210
+ ],
"map": ""
},
{
@@ -2990,7 +3023,10 @@
"key": "skill_1440052111",
"text": "攻击1个敌方4次,每次伤害为自身攻击力45%,每次有30%概率为目标附加1回合【眩晕】。"
},
- "buffid": [],
+ "buffid": [
+ 390001105,
+ 390001105
+ ],
"map": ""
},
{
@@ -3465,7 +3501,11 @@
"key": "skill_1350011111",
"text": "攻击1个敌方,伤害为自身攻击力100%,攻击溅射随机2个敌方,伤害为自身攻击力70%。攻击前随机获得一种神力,持续1回合;神力包含【气】、【劲】、【法】。"
},
- "buffid": [],
+ "buffid": [
+ 390001119,
+ 390001120,
+ 390001121
+ ],
"map": ""
},
{
@@ -3791,7 +3831,11 @@
"key": "skill_1350013111",
"text": "攻击全体敌方2次,每次伤害为自身攻击50%。攻击前获得全部神力,持续2回合;神力包含【气】、【劲】、【法】。"
},
- "buffid": [],
+ "buffid": [
+ 390001119,
+ 390001120,
+ 390001121
+ ],
"map": ""
},
{
@@ -3915,7 +3959,9 @@
"key": "skill_9350014111",
"text": "攻击1个敌方,伤害为自身攻击力170%。为自身附加2回合【护盾】,护盾量为自身最大生命值10%。吸收所有神力恢复自身生命,每个神力提供自身最大生命值10%恢复量、最大生命值5%护盾量和10%额外伤害。"
},
- "buffid": [],
+ "buffid": [
+ 390001112
+ ],
"map": ""
},
{
@@ -4093,7 +4139,9 @@
"key": "skill_1240041111",
"text": "攻击1个敌方,伤害为自身攻击力100%,60%概率为目标附加2回合【禁疗】"
},
- "buffid": [],
+ "buffid": [
+ 390001107
+ ],
"map": ""
},
{
@@ -4263,7 +4311,10 @@
"key": "skill_1240043111",
"text": "攻击全体敌方,伤害为自身攻击力100%,为目标附加2回合【速度下降】和【中毒】。"
},
- "buffid": [],
+ "buffid": [
+ 390001008,
+ 390001401
+ ],
"map": ""
},
{
@@ -4471,7 +4522,9 @@
"key": "skill_9240044111",
"text": "攻击时为目标附加2回合【中毒】。附加【中毒】成功时,额外附加1回合【中毒】;每回合对每个目标仅触发1次。"
},
- "buffid": [],
+ "buffid": [
+ 390001401
+ ],
"map": ""
},
{
@@ -4727,7 +4780,10 @@
"key": "skill_1440063111",
"text": "驱散敌方1个目标的全部增益效果,随后对其造成攻击力230%的伤害,同时自身受到此伤害30%的效果附加伤害,但是自身不会因为该伤害死亡。自身获得【攻击提升】【暴击提升】效果,持续3回合"
},
- "buffid": [],
+ "buffid": [
+ 390001001,
+ 390001004
+ ],
"map": ""
},
{
@@ -4923,7 +4979,10 @@
"key": "skill_9440064111",
"text": "驱散敌方1个目标的全部增益效果,随后对其造成攻击力270%的伤害,同时自身受到此伤害30%的效果附加伤害,但是自身不会因为该伤害死亡。成功击杀敌人时,自身获得【攻击提升】【暴击提升】效果,持续3回合"
},
- "buffid": [],
+ "buffid": [
+ 390001001,
+ 390001004
+ ],
"map": ""
},
{
@@ -5335,7 +5394,9 @@
"key": "skill_1150053111",
"text": "提升全体友方20%行动值。治疗全体友方,治疗量为目标最大生命值35%。净化全体友方各1个减益,为无减益的目标附加1回合【免疫】。"
},
- "buffid": [],
+ "buffid": [
+ 390001111
+ ],
"map": ""
},
{
@@ -6521,7 +6582,9 @@
"key": "skill_1140071111",
"text": "攻击1个敌方,伤害为自身攻击力30%及防御力50%,50%概率为目标附加2回合【防御下降】。"
},
- "buffid": [],
+ "buffid": [
+ 390001007
+ ],
"map": ""
},
{
@@ -6690,7 +6753,9 @@
"key": "skill_1140072111",
"text": "受到致命伤害时,为自身附加1回合【对峙】,重置旋风霹雳舞冷却,目标防御比自身低时,自身伤害提升;每1%差值提供1%额外伤害,不超过40%。"
},
- "buffid": [],
+ "buffid": [
+ 390001104
+ ],
"map": ""
},
{
@@ -6779,7 +6844,9 @@
"key": "skill_1140073111",
"text": "攻击全体敌方,伤害为自身防御力80%,30%概率为目标附加1回合【挑衅】;目标防御比自身低时,概率翻倍。"
},
- "buffid": [],
+ "buffid": [
+ 390001110
+ ],
"map": ""
},
{
@@ -7131,7 +7198,10 @@
"key": "skill_1140032111",
"text": "攻击1个敌方,伤害为自身攻击150%,80%概率为目标附加2回合【速度下降】。暴击时为自身附加2回合【速度提升】。每点速度提供攻击0.33%。"
},
- "buffid": [],
+ "buffid": [
+ 390001008,
+ 390001003
+ ],
"map": ""
},
{
@@ -7471,7 +7541,9 @@
"key": "skill_1450032111",
"text": "自身死亡时,以15%最大生命值的状态复活全部已阵亡的队友,并为我方全体施加其最大生命值50%的【护盾】,持续1回合。随后提升我方全体目标50%的行动值。该被动效果一场战斗仅能触发一次"
},
- "buffid": [],
+ "buffid": [
+ 390001112
+ ],
"map": ""
},
{
@@ -7501,7 +7573,9 @@
"key": "skill_1450033111",
"text": "净化己方全部减益状态,并为己方全体目标回复35%最大生命值的生命,随后施加1回合【免疫】效果"
},
- "buffid": [],
+ "buffid": [
+ 390001111
+ ],
"map": ""
},
{
@@ -7586,7 +7660,9 @@
"key": "skill_1530013111",
"text": "对敌方全体发起3段攻击,每段攻击可造成攻击力的伤害,并附加3回合【速度下降】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001008
+ ],
"map": ""
},
{
@@ -7759,7 +7835,9 @@
"key": "skill_1510022111",
"text": "对敌方一个目标发起攻击,造成攻击力120%的伤害。并有50%概率附加2回合【防御下降】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001007
+ ],
"map": ""
},
{
@@ -7815,7 +7893,9 @@
"key": "skill_1510032111",
"text": "对敌方一个目标发起攻击,造成攻击力120%的伤害。并有25%概率附加1回合【眩晕】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001105
+ ],
"map": ""
},
{
@@ -7928,7 +8008,7 @@
"text": "对敌方1个目标发起攻击,造成攻击力180%的伤害,并附加2回合【攻击下降】状态。"
},
"buffid": [],
- "map": ""
+ "map": "390001006"
},
{
"id": 113003011,
@@ -8421,7 +8501,9 @@
"key": "skill_1140011111",
"text": "史图依克对敌方1个目标造成攻击力30%以及防御力65%的伤害,并有60%概率附加2回合【防御下降】效果。"
},
- "buffid": [],
+ "buffid": [
+ 390001007
+ ],
"map": ""
},
{
@@ -8450,7 +8532,9 @@
"key": "skill_1140012111",
"text": "史图依克每次受到攻击时,自身获得1层【酋长之怒】,每层可提升自身10%的基础防御力和5%的效果抵抗,最多可叠加10层。自身获得10层【酋长之怒】时将立即获得回合"
},
- "buffid": [],
+ "buffid": [
+ 390001202
+ ],
"map": ""
},
{
@@ -8481,7 +8565,10 @@
"key": "skill_1140013111",
"text": "史图依克对敌方1个目标造成攻击力80%以及防御力120%的伤害,并【挑衅】1名敌人2回合。若有10层【酋长之怒】,伤害提升50%。恢复自身生命,每层【酋长之怒】提供自身最大生命值4%恢复量;之后消耗全部【酋长之怒】"
},
- "buffid": [],
+ "buffid": [
+ 390001202,
+ 390001110
+ ],
"map": ""
},
{
@@ -8538,7 +8625,9 @@
"key": "skill_1240081111",
"text": "暴芙那特对敌方1个目标造成2次自身攻击力60%的伤害,并有40%概率附加2回合【烙印】效果。若某英雄在场,则本次攻击额外附加目标最大生命值5%的伤害,但最高无法超过自身攻击力的60%。"
},
- "buffid": [],
+ "buffid": [
+ 390001101
+ ],
"map": ""
},
{
@@ -8567,7 +8656,9 @@
"key": "skill_1240082111",
"text": "暴芙那特对敌方全体造成2次自身攻击力45%的伤害,并有40%概率附加2回合【速度下降】效果。若某英雄在场,则本次攻击额外造成两段伤害并附加同样效果"
},
- "buffid": [],
+ "buffid": [
+ 390001008
+ ],
"map": ""
},
{
@@ -8597,7 +8688,10 @@
"key": "skill_1240083111",
"text": "暴芙那特先为自身施加2回合【暴击提升】效果,之后对敌方1个目标造成3次自身攻击力80%的伤害,并附加2回合【防御下降】效果"
},
- "buffid": [],
+ "buffid": [
+ 390001004,
+ 390001007
+ ],
"map": ""
},
{
@@ -8652,7 +8746,7 @@
},
"Desc": {
"key": "skill_1340081111",
- "text": "悍夫那特对敌方一个目标造成1次自身攻击力100%的伤害,并有40%概率鸡腿目标10%行动值。若某英雄在场,则本次攻击额外随机攻击2个目标,造成同样伤害和效果"
+ "text": "悍夫那特对敌方一个目标造成1次自身攻击力100%的伤害,并有40%概率击退目标10%行动值。若某英雄在场,则本次攻击额外随机攻击2个目标,造成同样伤害和效果"
},
"buffid": [],
"map": ""
@@ -9111,7 +9205,10 @@
"key": "skill_1350062111",
"text": "平先生为我方全体附加2回合【攻击提升】和【速度提升】效果。"
},
- "buffid": [],
+ "buffid": [
+ 390001001,
+ 390001003
+ ],
"map": ""
},
{
@@ -9310,7 +9407,9 @@
"key": "skill_1240051111",
"text": "金猴对敌方1个目标造成攻击力120%的伤害,并有70%概率对自身附加2回合【速度提升】"
},
- "buffid": [],
+ "buffid": [
+ 390001003
+ ],
"map": ""
},
{
@@ -9338,7 +9437,9 @@
"key": "skill_1240052111",
"text": "金猴净化1名队友所有减益状态,并为其标记2回合【不败金身】"
},
- "buffid": [],
+ "buffid": [
+ 390001215
+ ],
"map": ""
},
{
@@ -9368,7 +9469,9 @@
"key": "skill_1240053111",
"text": "金猴对敌方全体造成攻击力120%的伤害,并附加2回合【速度下降】状态;同时能减少敌方全体30%行动值,并重置2技能的冷却时间"
},
- "buffid": [],
+ "buffid": [
+ 390001008
+ ],
"map": ""
},
{
@@ -10047,7 +10150,9 @@
"key": "skill_1340071111",
"text": "菲奥娜对敌方1个目标造成2次攻击力60%的伤害,若发生暴击,则为自身附加1回合【免疫】状态"
},
- "buffid": [],
+ "buffid": [
+ 390001111
+ ],
"map": ""
},
{
@@ -10077,7 +10182,9 @@
"key": "skill_1340072111",
"text": "菲奥娜对敌方1个目标发起3连击,共造成攻击力200%的伤害,每次攻击有60%概率驱散目标1个增益状态;若驱散成功,则对目标附加2回合【攻击下降】状态"
},
- "buffid": [],
+ "buffid": [
+ 390001006
+ ],
"map": ""
},
{
@@ -10106,7 +10213,9 @@
"key": "skill_1340073111",
"text": "菲奥娜对敌方1个目标造成攻击力280%的伤害,并为自身附加2回合生命值上限35%的【护盾】;若发生暴击,则次数伤害提升30%,并额外提升50%【护盾】"
},
- "buffid": [],
+ "buffid": [
+ 390001112
+ ],
"map": ""
},
{
@@ -10134,7 +10243,9 @@
"key": "skill_1430061111",
"text": "布里奇特对敌方1个目标造成攻击力130%的伤害,并有70%概率为目标附加2回合【攻击下降】状态"
},
- "buffid": [],
+ "buffid": [
+ 390001006
+ ],
"map": ""
},
{
@@ -15169,7 +15280,9 @@
"key": "skill_1440022111",
"text": "蛇先生我方全体回复各自最大生命在10%的生命和自身攻击力80%的生命,并附加1回合【复苏】状态。"
},
- "buffid": [],
+ "buffid": [
+ 390001127
+ ],
"map": ""
},
{
@@ -15197,7 +15310,9 @@
"key": "skill_1440023111",
"text": "蛇先生己方全体提升25%行动值,并施加【伪装】。己方每个【伪装】的触发,都会为自身提升20%的行动值。"
},
- "buffid": [],
+ "buffid": [
+ 390001436
+ ],
"map": ""
},
{
diff --git a/bin/json/game_skillbuff.json b/bin/json/game_skillbuff.json
index c59822aad..91c368613 100644
--- a/bin/json/game_skillbuff.json
+++ b/bin/json/game_skillbuff.json
@@ -3179,7 +3179,7 @@
"Id": 390001436,
"Name": {
"key": "skill_buff_390001436",
- "text": "伪装(减伤)"
+ "text": "伪装"
},
"Desc": {
"key": "skill_buffdes_390001436",
diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go
index f0542ac83..8669d31e6 100644
--- a/cmd/v2/ui/protocol.go
+++ b/cmd/v2/ui/protocol.go
@@ -124,6 +124,8 @@ var (
ff(comm.ModuleSmithy, "customer"): &formview.SmithyView{},
//武馆派遣
ff(comm.ModuleDispatch, "dispatch"): &formview.DispatchView{},
+ //声望
+ ff(comm.ModuleReputation, "reputation"): &formview.ReputationView{},
}
)
@@ -153,6 +155,7 @@ var (
string(comm.ModuleReddot),
string(comm.ModuleSmithy),
string(comm.ModuleDispatch),
+ string(comm.ModuleReputation),
},
"gm": {ff(comm.ModuleGM, "cmd")},
"sys": {
@@ -257,6 +260,9 @@ var (
"dispatch": {
ff(comm.ModuleDispatch, "dispatch"),
},
+ "reputation": {
+ ff(comm.ModuleReputation, "reputation"),
+ },
}
)
@@ -915,6 +921,19 @@ var (
SubType: "dispatch",
Enabled: true,
},
+ // reputation
+ string(comm.ModuleReputation): {
+ NavLabel: "声望",
+ MainType: string(comm.ModuleReputation),
+ Enabled: true,
+ },
+ ff(comm.ModuleReputation, "reputation"): {
+ NavLabel: "声望管理",
+ Desc: "声望管理",
+ MainType: string(comm.ModuleReputation),
+ SubType: "reputation",
+ Enabled: true,
+ },
}
)
diff --git a/cmd/v2/ui/views/dispatch.go b/cmd/v2/ui/views/dispatch.go
index a7860b0df..8e8545a5a 100644
--- a/cmd/v2/ui/views/dispatch.go
+++ b/cmd/v2/ui/views/dispatch.go
@@ -135,8 +135,8 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject {
paiWin := dialog.NewCustom("派遣", "关闭", form, d.w)
paiWin.Resize(fyne.NewSize(600, 300))
paiWin.Show()
-
})
+
//周奖励领取
weekReceiveBtn := widget.NewButton("周奖励", func() {
if err := service.GetPttService().SendToClient(
diff --git a/cmd/v2/ui/views/reputation.go b/cmd/v2/ui/views/reputation.go
new file mode 100644
index 000000000..ca3d13f44
--- /dev/null
+++ b/cmd/v2/ui/views/reputation.go
@@ -0,0 +1,89 @@
+package formview
+
+import (
+ "go_dreamfactory/cmd/v2/lib/common"
+ "go_dreamfactory/cmd/v2/model"
+ "go_dreamfactory/cmd/v2/service"
+ "go_dreamfactory/pb"
+
+ "fyne.io/fyne/v2"
+ "fyne.io/fyne/v2/container"
+ "fyne.io/fyne/v2/dialog"
+ "fyne.io/fyne/v2/widget"
+ "github.com/sirupsen/logrus"
+ "github.com/spf13/cast"
+)
+
+type ReputationView struct {
+ BaseformView
+ itemList *common.ItemList
+ flag bool
+}
+
+func (d *ReputationView) CreateView(t *model.TestCase) fyne.CanvasObject {
+ d.itemList = common.NewItemList()
+
+ d.itemList.ItemList = d.itemList.CreateList()
+
+ swBtn := widget.NewButton("声望升级", func() {
+ //阵营
+ zy := widget.NewEntry()
+ //好感度
+ fv := widget.NewEntry()
+
+ form := widget.NewForm(
+ widget.NewFormItem("阵营ID", zy),
+ widget.NewFormItem("好感度", fv),
+ )
+
+ form.OnSubmit = func() {
+ if err := service.GetPttService().SendToClient(
+ t.MainType,
+ "talenttest",
+ &pb.ReputationTalenttestReq{
+ RaceType: cast.ToInt32(zy),
+ FriendValue: cast.ToInt32(fv),
+ },
+ ); err != nil {
+ logrus.Error(err)
+ return
+ }
+ }
+
+ paiWin := dialog.NewCustom("升级", "关闭", form, d.w)
+ paiWin.Resize(fyne.NewSize(600, 300))
+ paiWin.Show()
+ })
+
+ upgradeBtn := widget.NewButton("天赋升级", func() {
+ nodeId := widget.NewEntry()
+ form := widget.NewForm(
+ widget.NewFormItem("节点ID", nodeId),
+ )
+
+ form.OnSubmit = func() {
+ if err := service.GetPttService().SendToClient(
+ t.MainType,
+ "upgrade",
+ &pb.ReputationUpgradeReq{
+ NodeId: cast.ToInt32(nodeId.Text),
+ },
+ ); err != nil {
+ logrus.Error(err)
+ return
+ }
+ }
+
+ paiWin := dialog.NewCustom("升级", "关闭", form, d.w)
+ paiWin.Resize(fyne.NewSize(600, 300))
+ paiWin.Show()
+ })
+
+ resetBtn := widget.NewButton("重置", func() {
+
+ })
+
+ topBtns := container.NewHBox(swBtn, upgradeBtn, resetBtn)
+ c := container.NewBorder(topBtns, nil, nil, nil, d.itemList.ItemList)
+ return c
+}
diff --git a/comm/const.go b/comm/const.go
index e6d41847e..d0d97b589 100644
--- a/comm/const.go
+++ b/comm/const.go
@@ -313,9 +313,14 @@ const ( //Rpc
// RPC 通知来了邮件
Rpc_Mail core.Rpc_Key = "Rpc_Mail"
+ //PVP 离线托管
+ RPC_PVPTrusteeship core.Rpc_Key = "RPC_PVPTrusteeship"
+
//捕羊大赛加入匹配请求
- RPC_ParkourJoinMatch core.Rpc_Key = "RPC_ParkourJoinMatch"
- RPC_ParkourMatchSucc core.Rpc_Key = "RPC_ParkourMatchSucc"
+ RPC_ParkourJoinMatch core.Rpc_Key = "RPC_ParkourJoinMatch" //加入匹配
+ RPC_ParkourCancelMatch core.Rpc_Key = "RPC_ParkourCancelMatch" //取消匹配
+ RPC_ParkourMatchSucc core.Rpc_Key = "RPC_ParkourMatchSucc" //匹配成功
+ RPC_ParkourTrusteeship core.Rpc_Key = "RPC_ParkourTrusteeship" //捕羊大赛托管
)
// 事件类型定义处
@@ -378,6 +383,10 @@ const (
ArenaCoin = "arenacoin" //竞技场币
ResPs = "ps" // 体力
Moongold = "moongold" //纯净月髓
+ Talent1 = "talent1" //阵营1天赋点
+ Talent2 = "talent2" //阵营2天赋点
+ Talent3 = "talent3" //阵营3天赋点
+ Talent4 = "talent4" //阵营4天赋点
)
const (
Gold int32 = 1 //金币
diff --git a/comm/imodule.go b/comm/imodule.go
index c30c3bd2e..042bf0c4f 100644
--- a/comm/imodule.go
+++ b/comm/imodule.go
@@ -381,7 +381,7 @@ type (
// TaskcondNotify(session IUserSession, condId int32) error
TaskCondFinishNotify(session IUserSession, condId int32) error
// bingo所有任务
- BingoAllTask(session IUserSession) error
+ // BingoAllTask(session IUserSession) error
// bingo任务
BingoJumpTask(session IUserSession, groupId, rtaskId int32) error
// 查询我的世界任务
@@ -470,4 +470,9 @@ type (
GetGlobalConf() *cfg.GameGlobalData
GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn)
}
+
+ IReputation interface {
+ // 声望升级 返回声望等级
+ Upgrade(session IUserSession, raceType int32, fv int32) (lv int32)
+ }
)
diff --git a/modules/gm/module.go b/modules/gm/module.go
index 1301d8231..9db98e660 100644
--- a/modules/gm/module.go
+++ b/modules/gm/module.go
@@ -69,7 +69,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC
this.Debugf("create CMD :%s", cmd) // 打印个日志方便查询
datas := strings.Split(keys[1], ",")
if len(datas) == 3 && (datas[0] == comm.AttrType || datas[0] == comm.ItemType ||
- datas[0] == comm.HeroType || datas[0] == comm.EquipmentType || datas[0] == comm.VipType || datas[0] == comm.AtlasType || datas[0] == comm.PandaType) {
+ datas[0] == comm.HeroType || datas[0] == comm.EquipmentType || datas[0] == comm.VipType || datas[0] == comm.AtlasType || datas[0] == comm.PandaType || datas[0] == comm.MountsType) {
num, err := strconv.Atoi(datas[2])
if err != nil {
code = pb.ErrorCode_ReqParameterError
@@ -285,20 +285,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC
log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "0", Value: datas[1]},
)
- } else if len(datas) == 1 && (datas[0] == "alltask") { // 完成所有世界任务
- module, err := this.service.GetModule(comm.ModuleWorldtask)
- if err != nil {
- return
- }
- if wt, ok := module.(comm.IWorldtask); ok {
- if err = wt.BingoAllTask(session); err != nil {
- this.Error("bingo 世界任务",
- log.Field{Key: "param", Value: datas},
- log.Field{Key: "err", Value: err.Error()})
- }
- }
-
- } else if len(datas) == 1 && (datas[0] == "allgrowtask") { // 完成所有成长任务
+ } else if len(datas) == 1 && (datas[0] == "allgrowtask") { // 完成所有成长任务
module, err := this.service.GetModule(comm.ModuleGrowtask)
if err != nil {
return
diff --git a/modules/items/api_getlist.go b/modules/items/api_getlist.go
index 3bf0566d0..686692758 100644
--- a/modules/items/api_getlist.go
+++ b/modules/items/api_getlist.go
@@ -18,6 +18,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
err error
items []*pb.DB_UserItemData
nt int64
+ temp []*pb.DB_UserItemData
grids []*pb.DB_UserItemData
modifys []*pb.DB_UserItemData
dels []*pb.DB_UserItemData
@@ -39,6 +40,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
return
} else {
// tempgrids = this.module.configure.GetPackItemByType(items, req.IType)
+ temp = make([]*pb.DB_UserItemData, 0, len(items))
modifys = make([]*pb.DB_UserItemData, 0, len(items))
dels = make([]*pb.DB_UserItemData, 0, len(items))
grids = make([]*pb.DB_UserItemData, 0, len(items))
@@ -53,10 +55,11 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ItemsGetlistReq)
temp.IsNewItem = false
modifys = append(modifys, &temp)
}
+ temp = append(temp, v)
}
}
}
- session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: items})
+ session.SendMsg(string(this.module.GetType()), "getlist", &pb.ItemsGetlistResp{Grids: temp})
return
}
diff --git a/modules/items/module.go b/modules/items/module.go
index 24f77f1f0..1feb3e1ee 100644
--- a/modules/items/module.go
+++ b/modules/items/module.go
@@ -8,7 +8,6 @@ import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
- "go_dreamfactory/lego/sys/log"
)
/*
@@ -64,9 +63,7 @@ func (this *Items) OnInstallComp() {
//Event------------------------------------------------------------------------------------------------------------
func (this *Items) EventUserOffline(uid, sessionid string) {
- if err := this.modelItems.BatchDelLists(uid); err != nil {
- this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
- }
+ this.modelItems.BatchDelLists(uid)
}
//IItems-------------------------------------------------------------------------------------------------------------------------------
diff --git a/modules/parkour/ai.go b/modules/parkour/ai.go
new file mode 100644
index 000000000..15fd16a6f
--- /dev/null
+++ b/modules/parkour/ai.go
@@ -0,0 +1,220 @@
+package parkour
+
+import (
+ "fmt"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/core/cbase"
+ "go_dreamfactory/lego/sys/timewheel"
+ "go_dreamfactory/pb"
+ "math/rand"
+ "sync"
+ "time"
+)
+
+/*
+AI 逻辑组件
+*/
+type aiComp struct {
+ cbase.ModuleCompBase
+ service core.IService
+ module *Parkour
+ lock sync.RWMutex
+ ais map[string][]*AI
+ handleS []AIHandleType
+ handleSS []AIHandleType
+ handleSSS []AIHandleType
+}
+
+//组件初始化接口
+func (this *aiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ this.ModuleCompBase.Init(service, module, comp, options)
+ this.module = module.(*Parkour)
+ this.service = service
+ this.ais = make(map[string][]*AI)
+ this.handleS = make([]AIHandleType, 100)
+ this.handleSS = make([]AIHandleType, 100)
+ this.handleSSS = make([]AIHandleType, 100)
+ this.inithandle()
+ return
+}
+
+func (this *aiComp) Start() (err error) {
+ err = this.ModuleCompBase.Start()
+ timewheel.AddCron(time.Second*3, this.aihandle)
+ return
+}
+
+func (this *aiComp) inithandle() {
+ var index int32
+ //AILevelS
+ for i := 0; i < 40; i++ { //失败躲避次数 40
+ this.handleS[index] = AIHandle_Avoid0
+ index++
+ }
+ for i := 0; i < 10; i++ { //成功躲避次数 10
+ this.handleS[index] = AIHandle_Avoid1
+ index++
+ }
+ for i := 0; i < 5; i++ { //完美躲避次数 5
+ this.handleS[index] = AIHandle_Avoid2
+ index++
+ }
+ for i := 0; i < 7; i++ { //射门失败次数 5
+ this.handleS[index] = AIHandle_Shots0
+ index++
+ }
+ for i := 0; i < 3; i++ { //射门成功次数 3
+ this.handleS[index] = AIHandle_Shots1
+ index++
+ }
+ index = 0
+ //AILevelSS
+ for i := 0; i < 30; i++ { //失败躲避次数 30
+ this.handleSS[index] = AIHandle_Avoid0
+ index++
+ }
+ for i := 0; i < 20; i++ { //成功躲避次数 20
+ this.handleSS[index] = AIHandle_Avoid1
+ index++
+ }
+ for i := 0; i < 10; i++ { //完美躲避次数 10
+ this.handleSS[index] = AIHandle_Avoid2
+ index++
+ }
+ for i := 0; i < 5; i++ { //射门失败次数 5
+ this.handleSS[index] = AIHandle_Shots0
+ index++
+ }
+ for i := 0; i < 5; i++ { //射门成功次数 5
+ this.handleSS[index] = AIHandle_Shots1
+ index++
+ }
+
+ index = 0
+ //AILevelSSS
+ for i := 0; i < 10; i++ { //失败躲避次数 10
+ this.handleSSS[index] = AIHandle_Avoid0
+ index++
+ }
+ for i := 0; i < 30; i++ { //成功躲避次数 30
+ this.handleSSS[index] = AIHandle_Avoid1
+ index++
+ }
+ for i := 0; i < 15; i++ { //完美躲避次数 15
+ this.handleSSS[index] = AIHandle_Avoid2
+ index++
+ }
+ for i := 0; i < 2; i++ { //射门失败次数 2
+ this.handleSSS[index] = AIHandle_Shots0
+ index++
+ }
+ for i := 0; i < 8; i++ { //射门成功次数 8
+ this.handleSSS[index] = AIHandle_Shots1
+ index++
+ }
+}
+
+//创建战斗ai
+func (this *aiComp) createAi(battleid string, users []*pb.DBRaceMember) (err error) {
+ var (
+ ok bool
+ ais []*AI
+ r *rand.Rand = rand.New(rand.NewSource(time.Now().Unix()))
+ )
+ if battleid == "" || users == nil || len(users) == 0 {
+ err = fmt.Errorf("battleid:%s users:%v parameter exceptions", battleid, users)
+ return
+ }
+
+ this.lock.RLock()
+ _, ok = this.ais[battleid]
+ this.lock.RUnlock()
+ if ok {
+ err = fmt.Errorf("battle:%s already exists", battleid)
+ return
+ }
+ ais = make([]*AI, len(users))
+ for i, v := range users {
+ ais[i] = &AI{
+ BattleId: battleid,
+ UId: v.Uid,
+ AILevel: AILevelS,
+ Handle: make([]AIHandleType, 100),
+ LastTime: time.Now(),
+ }
+ switch ais[i].AILevel {
+ case AILevelS:
+ ais[i].Interval = time.Second*10 + time.Second*time.Duration(rand.Int31n(5))
+ for ii, vv := range r.Perm(len(this.handleS)) {
+ ais[i].Handle[ii] = this.handleS[vv]
+ }
+ break
+ case AILevelSS:
+ ais[i].Interval = time.Second*7 + time.Second*time.Duration(rand.Int31n(5))
+ for ii, vv := range r.Perm(len(this.handleSS)) {
+ ais[i].Handle[ii] = this.handleSS[vv]
+ }
+ break
+ case AILevelSSS:
+ ais[i].Interval = time.Second*5 + time.Second*time.Duration(rand.Int31n(3))
+ for ii, vv := range r.Perm(len(this.handleSSS)) {
+ ais[i].Handle[ii] = this.handleSSS[vv]
+ }
+ break
+ }
+ }
+ this.lock.Lock()
+ this.ais[battleid] = ais
+ this.lock.Unlock()
+ return
+}
+
+//移除AI
+func (this *aiComp) removeAi(battleid string) {
+ this.lock.Lock()
+ delete(this.ais, battleid)
+ this.lock.Unlock()
+}
+
+//ai自动化
+func (this *aiComp) aihandle(task *timewheel.Task, args ...interface{}) {
+ var (
+ ok bool
+ ais map[string][]*AI = make(map[string][]*AI)
+ )
+ this.lock.RLock()
+ if len(this.ais) > 0 {
+ ok = true
+ for k, v := range this.ais {
+ ais[k] = v
+ }
+ }
+ this.lock.RUnlock()
+ if ok {
+ for id, member := range ais {
+ for _, ai := range member {
+ if time.Now().Sub(ai.LastTime) > ai.Interval {
+ switch ai.Handle[ai.CurrIndex] {
+ case AIHandle_Avoid0: //躲避障碍 失败
+ go this.module.avoid(id, ai.UId, -1)
+ break
+ case AIHandle_Avoid1: //躲避障碍 成功
+ go this.module.avoid(id, ai.UId, 3)
+ break
+ case AIHandle_Avoid2: //躲避障碍 完美
+ go this.module.avoid(id, ai.UId, 1)
+ break
+ case AIHandle_Shots0: //射门 失败
+ break
+ case AIHandle_Shots1: //射门 成功
+ go this.module.shot(id, ai.UId)
+ break
+ }
+ ai.LastTime = time.Now()
+ ai.CurrIndex++
+ ai.CurrIndex = ai.CurrIndex % int32(len(ai.Handle))
+ }
+ }
+ }
+ }
+}
diff --git a/modules/parkour/api_Info.go b/modules/parkour/api_Info.go
new file mode 100644
index 000000000..830853973
--- /dev/null
+++ b/modules/parkour/api_Info.go
@@ -0,0 +1,37 @@
+package parkour
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+)
+
+//参数校验
+func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.ParkourInfoReq) (code pb.ErrorCode) {
+ return
+}
+
+///匹配请求
+func (this *apiComp) Info(session comm.IUserSession, req *pb.ParkourInfoReq) (code pb.ErrorCode, data *pb.ErrorData) {
+ var (
+ isopen bool
+ info *pb.DBParkour
+ recommend []*pb.DBRaceMember
+ err error
+ )
+ if code = this.InfoCheck(session, req); code != pb.ErrorCode_Success {
+ return
+ }
+ isopen = this.module.configure.isopen()
+ if isopen {
+ if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if recommend, err = this.module.parkourComp.getrusers(session.GetUserId()); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ }
+ session.SendMsg(string(this.module.GetType()), "info", &pb.ParkourInfoResp{Isopen: isopen, Info: info, Recommend: recommend})
+ return
+}
diff --git a/modules/parkour/api_avoid.go b/modules/parkour/api_avoid.go
index dd1811d38..8b6add009 100644
--- a/modules/parkour/api_avoid.go
+++ b/modules/parkour/api_avoid.go
@@ -10,7 +10,7 @@ func (this *apiComp) AvoidCheck(session comm.IUserSession, req *pb.ParkourAvoidR
return
}
-///匹配请求
+///游戏
func (this *apiComp) Avoid(session comm.IUserSession, req *pb.ParkourAvoidReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
ok bool
diff --git a/modules/parkour/api_changemts.go b/modules/parkour/api_changemts.go
new file mode 100644
index 000000000..433060b03
--- /dev/null
+++ b/modules/parkour/api_changemts.go
@@ -0,0 +1,82 @@
+package parkour
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+ cfg "go_dreamfactory/sys/configure/structs"
+)
+
+//参数校验
+func (this *apiComp) ChangeMtsCheck(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode) {
+ return
+}
+
+///游戏
+func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode, data *pb.ErrorData) {
+ var (
+ info *pb.DBParkour
+ team *pb.DBParkour
+ mount *cfg.GameBuzkashiMountData
+ err error
+ )
+ if code = this.ChangeMtsCheck(session, req); code != pb.ErrorCode_Success {
+ return
+ }
+ if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if _, ok := info.Mounts[req.Mtsid]; !ok {
+ code = pb.ErrorCode_ReqParameterError
+ return
+ }
+ info.Dfmount = req.Mtsid
+ if info.Captainid != "" {
+ if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ if info.Captainid == session.GetUserId() {
+ for _, v := range info.Member {
+ if v.Uid == session.GetUserId() {
+ v.Mount = info.Dfmount
+ v.Hp = mount.Hp
+ }
+ }
+ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
+ "dfmount": info.Dfmount,
+ "member": info.Member,
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ } else {
+ if team, err = this.module.parkourComp.queryinfo(info.Captainid); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ for _, v := range team.Member {
+ if v.Uid == session.GetUserId() {
+ v.Mount = info.Dfmount
+ v.Hp = mount.Hp
+ }
+ }
+ if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{
+ "member": team.Member,
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ }
+ } else {
+ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
+ "dfmount": info.Dfmount,
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ }
+
+ session.SendMsg(string(this.module.GetType()), "changemts", &pb.ParkourChangeMtsResp{Issucc: true, Mtsid: req.Mtsid})
+ return
+}
diff --git a/modules/parkour/api_invite.go b/modules/parkour/api_invite.go
index cb4cad900..a10ab4340 100644
--- a/modules/parkour/api_invite.go
+++ b/modules/parkour/api_invite.go
@@ -4,62 +4,114 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
"time"
)
//参数校验
func (this *apiComp) InviteCheck(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode) {
+ if req.Uid == session.GetUserId() {
+ code = pb.ErrorCode_ReqParameterError
+ }
return
}
///邀请组队
func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
- tean *pb.DBParkour
- tuser *pb.DBUser
- ok bool
- err error
+ info *pb.DBParkour
+ tinfo *pb.DBParkour
+ tuser *pb.DBUser
+ mount *cfg.GameBuzkashiMountData
+ member *pb.DBRaceMember
+ users []string
+ ok bool
+ err error
)
if code = this.InviteCheck(session, req); code != pb.ErrorCode_Success {
return
}
- if tean, err = this.module.teamComp.queryteam(session.GetUserId()); err != nil {
+ if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
- if len(tean.Member) > 3 {
+ if info.Captainid != "" && info.Captainid != session.GetUserId() { //自己不是队长 无权邀请他人
+ code = pb.ErrorCode_ParkourInviteNoPermissions
+ return
+ }
+ if len(info.Member) > 3 {
code = pb.ErrorCode_ReqParameterError
return
}
+ if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil {
+ code = pb.ErrorCode_SystemError
+ return
+ }
+ if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ ok = false
+ for _, v := range info.Member {
+ if v.Uid == session.GetUserId() {
+ ok = true
+ }
+ }
+ if !ok {
+ info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp})
+ }
+
+ if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
if tuser = this.module.ModuleUser.GetUser(req.Uid); tuser == nil {
code = pb.ErrorCode_SystemError
return
}
+ if mount, err = this.module.configure.getGameBuzkashiMount(tinfo.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+
//目标是否在线
if !this.module.ModuleUser.IsOnline(req.Uid) {
- tean.Member = append(tean.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Isai: true})
+ member = &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true}
+ info.Member = append(info.Member, member)
+ users = make([]string, len(info.Member))
+ for i, v := range info.Member {
+ users[i] = v.Uid
+ }
+ this.module.SendMsgToUsers(string(this.module.GetType()), "teamjoinnotice",
+ &pb.ParkourTeamJoinNoticePush{Member: member}, users...)
+ this.module.SendMsgToUsers(string(this.module.GetType()), "teamchanage",
+ &pb.ParkourTeamChanagePush{Team: info}, users...)
} else {
+ if tinfo.Captainid != "" {
+ code = pb.ErrorCode_ParkourTargetTeamed
+ return
+ }
ok = false
- for _, v := range tean.Invite {
+ for _, v := range info.Invite {
if v.Uid == req.Uid {
v.Expired = configure.Now().Add(time.Second * 10).Unix()
ok = true
}
}
if !ok {
- tean.Invite = append(tean.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name})
+ info.Invite = append(info.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Expired: configure.Now().Add(time.Second * 10).Unix()})
}
this.module.SendMsgToUser(string(this.module.GetType()), "invitenotice",
- &pb.ParkourInviteNoticePush{Team: tean, State: 1}, req.Uid)
+ &pb.ParkourInviteNoticePush{Team: info, State: 1}, req.Uid)
}
- if err = this.module.teamComp.Change(session.GetUserId(), map[string]interface{}{
- "invite": tean.Invite,
- "member": tean.Member,
+ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
+ "invite": info.Invite,
+ "member": info.Member,
}); err != nil {
code = pb.ErrorCode_DBError
return
}
- session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteResp{Issucc: true, Team: tean})
+ session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteResp{Issucc: true, Team: info})
return
}
diff --git a/modules/parkour/api_invitehandle.go b/modules/parkour/api_invitehandle.go
index c4c8cf07d..004d2edab 100644
--- a/modules/parkour/api_invitehandle.go
+++ b/modules/parkour/api_invitehandle.go
@@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
"time"
)
@@ -15,43 +16,69 @@ func (this *apiComp) InviteHandleCheck(session comm.IUserSession, req *pb.Parkou
///邀请组队
func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInviteHandleReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
+ info *pb.DBParkour
tean *pb.DBParkour
invite *pb.DBRaceInvite
member *pb.DBRaceMember
+ mount *cfg.GameBuzkashiMountData
users []string
ok bool
+ index int32
err error
)
if code = this.InviteHandleCheck(session, req); code != pb.ErrorCode_Success {
return
}
- if tean, err = this.module.teamComp.queryteam(req.Captainid); err != nil {
+ if info, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
- if len(tean.Member) > 3 {
+
+ if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if len(tean.Member) >= 3 {
code = pb.ErrorCode_ParkourMemberFull
return
}
if req.State == 1 {
ok = false
- for _, v := range tean.Invite {
- if v.Uid == session.GetUserId() && configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期
+ for i, v := range tean.Invite {
+ if v.Uid == session.GetUserId() && !configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期
invite = v
+ index = int32(i)
ok = true
}
}
if !ok {
code = pb.ErrorCode_ParkourInviteOverdue
+ return
}
+ tean.Invite = append(tean.Invite[0:index], tean.Invite[index+1:]...)
users = make([]string, len(tean.Member))
for i, v := range tean.Member {
users[i] = v.Uid
}
- member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name}
+ if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+ member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount, Hp: mount.Hp}
+ tean.Captainid = tean.Uid
+ tean.State = pb.RaceTeamState_teaming
tean.Member = append(tean.Member, member)
- if err = this.module.teamComp.Change(tean.Captainid, map[string]interface{}{
- "member": tean.Member,
+ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
+ "captainid": tean.Captainid,
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if err = this.module.parkourComp.Change(tean.Captainid, map[string]interface{}{
+ "state": tean.State,
+ "invite": tean.Invite,
+ "captainid": tean.Captainid,
+ "member": tean.Member,
}); err != nil {
code = pb.ErrorCode_DBError
return
diff --git a/modules/parkour/api_quitteam.go b/modules/parkour/api_quitteam.go
index 5cbaaea93..1e3c49163 100644
--- a/modules/parkour/api_quitteam.go
+++ b/modules/parkour/api_quitteam.go
@@ -22,7 +22,7 @@ func (this *apiComp) QuitTeam(session comm.IUserSession, req *pb.ParkourQuitTeam
if code = this.QuitTeamCheck(session, req); code != pb.ErrorCode_Success {
return
}
- if tean, err = this.module.teamComp.queryteam(req.Captainid); err != nil {
+ if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil {
code = pb.ErrorCode_DBError
return
}
@@ -39,7 +39,13 @@ func (this *apiComp) QuitTeam(session comm.IUserSession, req *pb.ParkourQuitTeam
code = pb.ErrorCode_ReqParameterError
return
}
- if err = this.module.teamComp.Change(req.Captainid, map[string]interface{}{
+ if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
+ "captainid": session.GetUserId(),
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if err = this.module.parkourComp.Change(req.Captainid, map[string]interface{}{
"member": tean.Member,
}); err != nil {
code = pb.ErrorCode_DBError
diff --git a/modules/parkour/api_racematch.go b/modules/parkour/api_racematch.go
index 9e4c2a2a4..18400c836 100644
--- a/modules/parkour/api_racematch.go
+++ b/modules/parkour/api_racematch.go
@@ -7,26 +7,52 @@ import (
//参数校验
func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode) {
+ if session.GetUserId() != req.Captainid {
+ code = pb.ErrorCode_ReqParameterError
+ }
return
}
///匹配请求
func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
- team *pb.DBParkour
- err error
+ team *pb.DBParkour
+ users []string
+ err error
)
if code = this.RaceMatchCheck(session, req); code != pb.ErrorCode_Success {
return
}
- if team, err = this.module.teamComp.queryteam(session.GetUserId()); err != nil {
+ if team, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
+ if team.Captainid != session.GetUserId() {
+ code = pb.ErrorCode_ReqParameterError
+ return
+ }
+
if err = this.module.match(team); err != nil {
code = pb.ErrorCode_DBError
return
}
+
+ users = make([]string, len(team.Member))
+ for i, v := range team.Member {
+ if !v.Isai {
+ users[i] = v.Uid
+ if err = this.module.parkourComp.Change(v.Uid, map[string]interface{}{
+ "state": pb.RaceTeamState_matching,
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ }
+
+ }
+ this.module.SendMsgToUsers(string(this.module.GetType()), "racematchstart",
+ &pb.ParkourRaceMatchStartPush{Team: team}, users...)
+
session.SendMsg(string(this.module.GetType()), "racematch", &pb.ParkourRaceMatchResp{})
return
}
diff --git a/modules/parkour/api_racematchcancel.go b/modules/parkour/api_racematchcancel.go
new file mode 100644
index 000000000..cf0110ca0
--- /dev/null
+++ b/modules/parkour/api_racematchcancel.go
@@ -0,0 +1,56 @@
+package parkour
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+)
+
+//参数校验
+func (this *apiComp) RaceMatchCancelCheck(session comm.IUserSession, req *pb.ParkourRaceMatchCancelReq) (code pb.ErrorCode) {
+ if session.GetUserId() != req.Captainid {
+ code = pb.ErrorCode_ReqParameterError
+ }
+ return
+}
+
+///匹配请求
+func (this *apiComp) RaceMatchCancel(session comm.IUserSession, req *pb.ParkourRaceMatchCancelReq) (code pb.ErrorCode, data *pb.ErrorData) {
+ var (
+ team *pb.DBParkour
+ users []string
+ err error
+ )
+ if code = this.RaceMatchCancelCheck(session, req); code != pb.ErrorCode_Success {
+ return
+ }
+ if team, err = this.module.parkourComp.queryinfo(session.GetUserId()); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ if team.Captainid != session.GetUserId() {
+ code = pb.ErrorCode_ReqParameterError
+ return
+ }
+
+ if err = this.module.match(team); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ users = make([]string, len(team.Member))
+ for i, v := range team.Member {
+ if !v.Isai {
+ users[i] = v.Uid
+ if err = this.module.parkourComp.Change(v.Uid, map[string]interface{}{
+ "state": pb.RaceTeamState_matching,
+ }); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+ }
+ }
+ this.module.SendMsgToUsers(string(this.module.GetType()), "racematchstart",
+ &pb.ParkourRaceMatchCancelPush{Team: team}, users...)
+
+ session.SendMsg(string(this.module.GetType()), "racematch", &pb.ParkourRaceMatchResp{})
+ return
+}
diff --git a/modules/parkour/configure.go b/modules/parkour/configure.go
index 919f2ef97..1488b9cab 100644
--- a/modules/parkour/configure.go
+++ b/modules/parkour/configure.go
@@ -1,11 +1,20 @@
package parkour
import (
+ "fmt"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
)
-const ()
+const (
+ game_buzkashiopen = "game_buzkashiopen.json"
+ game_buzkashigrade = "game_buzkashigrade.json"
+ game_buzkashilv = "game_buzkashilv.json"
+ game_buzkashimount = "game_buzkashimount.json"
+ game_buzkashireward = "game_buzkashireward.json"
+)
///背包配置管理组件
type configureComp struct {
@@ -17,6 +26,57 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Parkour)
-
+ this.LoadConfigure(game_buzkashiopen, cfg.NewGamebuzkashiOpen)
+ this.LoadConfigure(game_buzkashigrade, cfg.NewGameBuzkashiGrade)
+ this.LoadConfigure(game_buzkashilv, cfg.NewGameBuzkashiLv)
+ this.LoadConfigure(game_buzkashimount, cfg.NewGameBuzkashiMount)
+ this.LoadConfigure(game_buzkashireward, cfg.NewGameBuzkashiReward)
+ return
+}
+
+//查询开启表
+func (this *configureComp) isopen() (open bool) {
+ var (
+ v interface{}
+ config *cfg.GamebuzkashiOpen
+ currtime string = configure.Now().Format("15:04")
+ err error
+ ok bool
+ )
+ if v, err = this.GetConfigure(game_buzkashiopen); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ if config, ok = v.(*cfg.GamebuzkashiOpen); !ok {
+ err = fmt.Errorf("config type err:%T", v)
+ return
+ } else {
+ for _, v := range config.GetDataList() {
+ if currtime >= fmt.Sprintf("%d:%d", v.Shtime, v.Smtime) && currtime < fmt.Sprintf("%d:%d", v.Ehtime, v.Emtime) {
+ open = true
+ return
+ }
+ }
+ }
+ }
+ return
+}
+
+//查询坐骑表
+func (this *configureComp) getGameBuzkashiMount(id string) (configure *cfg.GameBuzkashiMountData, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+ if v, err = this.GetConfigure(game_buzkashimount); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ if configure, ok = v.(*cfg.GameBuzkashiMount).GetDataMap()[id]; !ok {
+ err = fmt.Errorf("not found:%s ", id)
+ this.module.Errorln(err)
+ return
+ }
+ }
return
}
diff --git a/modules/parkour/core.go b/modules/parkour/core.go
index ee7f9d908..14bd1f929 100644
--- a/modules/parkour/core.go
+++ b/modules/parkour/core.go
@@ -5,15 +5,55 @@ import (
"go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/pb"
"sync"
+ "time"
)
+type Recommend struct {
+ parkour *pb.DBParkour
+ user *pb.DBUser
+ member *pb.DBRaceMember
+}
+
///捕羊大赛对象
type RaceItem struct {
- Id string //战斗id
- lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
- RedMember []*pb.DBRaceMember //红方成员
- RedSession []comm.IUserSession //红方会话
- BuleMember []*pb.DBRaceMember //蓝方成员
- BuleSession []comm.IUserSession //蓝方会话
- overtimer *timewheel.Task //准备倒计时定时器
+ Id string //战斗id
+ lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
+ RedMember []*pb.DBRaceMember //红方成员
+ RedScore int32 //红方分值
+ RedEnergy int32 //红方能量
+ BuleMember []*pb.DBRaceMember //蓝方成员
+ Session map[string]comm.IUserSession
+ BuleScore int32 //蓝方分值
+ BuleEnergy int32 //蓝方能量
+ overtimer *timewheel.Task //准备倒计时定时器
+}
+
+type AILevel int32
+
+const (
+ AILevelS AILevel = iota
+ AILevelSS
+ AILevelSSS
+)
+
+type AIHandleType int32
+
+const (
+ AIHandle_Null AIHandleType = iota //空操作
+ AIHandle_Avoid0 //躲避障碍 失败
+ AIHandle_Avoid1 //躲避障碍 成功
+ AIHandle_Avoid2 //躲避障碍 完美
+ AIHandle_Shots0 //射门 失败
+ AIHandle_Shots1 //射门 成功
+)
+
+//捕羊大赛AI对象
+type AI struct {
+ BattleId string //战场id
+ UId string //用户id
+ AILevel AILevel //AI级别
+ Handle []AIHandleType //操作列表
+ CurrIndex int32 //当前执行下标
+ LastTime time.Time //上一次操作时间
+ Interval time.Duration //最小操作时间
}
diff --git a/modules/parkour/model_parkour.go b/modules/parkour/model_parkour.go
index b8f1b65b8..2b89fca98 100644
--- a/modules/parkour/model_parkour.go
+++ b/modules/parkour/model_parkour.go
@@ -1,23 +1,35 @@
package parkour
import (
+ "context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
+ "go_dreamfactory/sys/configure"
+ cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db"
+ "math/rand"
+ "sync"
+ "time"
+ "go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
+ "go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/x/bsonx"
)
///竞速数据模块
type ModelParkourComp struct {
modules.MCompModel
- module *Parkour
+ module *Parkour
+ refresh time.Time //上一次刷新时间
+ lock sync.RWMutex
+ users []*Recommend //推荐用户信息
}
//组件初始化接口
@@ -32,7 +44,99 @@ func (this *ModelParkourComp) Init(service core.IService, module core.IModule, c
return
}
-func (this *ModelParkourComp) queryteam(uid string) (result *pb.DBParkour, err error) {
+func (this *ModelParkourComp) Start() (err error) {
+ err = this.MCompModel.Start()
+ go this.refreshlist()
+ return
+}
+
+//获取推荐用户
+func (this *ModelParkourComp) getrusers(uid string) (recommend []*pb.DBRaceMember, err error) {
+ var (
+ users []*Recommend
+ mount *cfg.GameBuzkashiMountData
+ ondata bool
+ )
+ this.lock.RLock()
+ if len(this.users) == 0 {
+ ondata = true
+ }
+ this.lock.RUnlock()
+ if ondata { //没有数据 重新获取
+ this.refreshlist()
+ }
+ this.lock.RLock()
+ users = make([]*Recommend, 0, len(this.users))
+ for _, v := range this.users {
+ if v.parkour.Uid != uid {
+ users = append(users, v)
+ }
+ }
+ this.lock.RUnlock()
+ var num int = 6
+ if len(users) < 6 {
+ num = len(users)
+ }
+ recommend = make([]*pb.DBRaceMember, num)
+ r := rand.New(rand.NewSource(configure.Now().Unix()))
+ for i, v := range r.Perm(num) {
+ if users[v].member == nil {
+ if users[v].user = this.module.ModuleUser.GetUser(users[v].parkour.Uid); users[v].user == nil {
+ continue
+ }
+ if mount, err = this.module.configure.getGameBuzkashiMount(users[v].parkour.Dfmount); err != nil {
+ continue
+ }
+ users[v].member = &pb.DBRaceMember{
+ Uid: users[v].user.Uid,
+ Name: users[v].user.Name,
+ Avatar: users[v].user.Avatar,
+ Lv: users[v].user.Lv,
+ Mount: users[v].parkour.Dfmount,
+ Hp: mount.Hp,
+ }
+ }
+ recommend[i] = users[v].member
+ }
+ return
+}
+
+//刷新推荐列表
+func (this *ModelParkourComp) refreshlist() {
+ var (
+ users []*Recommend
+ c *mongo.Cursor
+ err error
+ )
+
+ if c, err = this.DB.Find(core.SqlTable(this.TableName), bson.M{"captainid": ""}, options.Find().SetSort(bson.D{{"integral", -1}}).SetSkip(0).SetLimit(100)); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ result := make([]*pb.DBParkour, 0, c.RemainingBatchLength())
+ for c.Next(context.Background()) {
+ tmp := &pb.DBParkour{}
+ if err = c.Decode(tmp); err != nil {
+ log.Errorln(err)
+ } else {
+ result = append(result, tmp)
+ }
+ }
+ users = make([]*Recommend, len(result))
+ for i, v := range result {
+ users[i] = &Recommend{
+ parkour: v,
+ user: nil,
+ }
+ }
+
+ this.lock.Lock()
+ this.users = users
+ this.lock.Unlock()
+ }
+}
+
+func (this *ModelParkourComp) queryinfo(uid string) (result *pb.DBParkour, err error) {
result = &pb.DBParkour{}
if err = this.Get(uid, result); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
@@ -45,12 +149,12 @@ func (this *ModelParkourComp) queryteam(uid string) (result *pb.DBParkour, err e
return
}
result = &pb.DBParkour{
- Id: primitive.NewObjectID().Hex(),
- Captainid: uid,
- State: pb.RaceTeamState_teaming,
- Mounts: make(map[string]int32),
- Invite: make([]*pb.DBRaceInvite, 0),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
+ Id: primitive.NewObjectID().Hex(),
+ Uid: uid,
+ State: pb.RaceTeamState_teaming,
+ Mounts: make(map[string]int32),
+ Invite: make([]*pb.DBRaceInvite, 0),
+ Member: []*pb.DBRaceMember{},
}
if err = this.Add(uid, result); err != nil {
this.module.Errorln(err)
@@ -61,7 +165,7 @@ func (this *ModelParkourComp) queryteam(uid string) (result *pb.DBParkour, err e
return
}
-func (this *ModelParkourComp) queryteams(uids []string) (results []*pb.DBParkour, err error) {
+func (this *ModelParkourComp) queryinfos(uids []string) (results []*pb.DBParkour, err error) {
results = make([]*pb.DBParkour, 0)
var (
onfound []string
@@ -79,12 +183,12 @@ func (this *ModelParkourComp) queryteams(uids []string) (results []*pb.DBParkour
return
}
temp := &pb.DBParkour{
- Id: primitive.NewObjectID().Hex(),
- Captainid: v,
- State: pb.RaceTeamState_teaming,
- Mounts: make(map[string]int32),
- Invite: make([]*pb.DBRaceInvite, 0),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
+ Id: primitive.NewObjectID().Hex(),
+ Uid: v,
+ State: pb.RaceTeamState_teaming,
+ Mounts: make(map[string]int32),
+ Invite: make([]*pb.DBRaceInvite, 0),
+ Member: []*pb.DBRaceMember{},
}
newdata[v] = temp
}
@@ -117,16 +221,21 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32)
return
}
result = &pb.DBParkour{
- Id: primitive.NewObjectID().Hex(),
- Captainid: uid,
- State: pb.RaceTeamState_teaming,
- Invite: make([]*pb.DBRaceInvite, 0),
- Mounts: make(map[string]int32),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
+ Id: primitive.NewObjectID().Hex(),
+ Uid: uid,
+ State: pb.RaceTeamState_teaming,
+ Invite: make([]*pb.DBRaceInvite, 0),
+ Mounts: make(map[string]int32),
+ Member: []*pb.DBRaceMember{},
}
+
for k, _ := range mounts {
result.Mounts[k] = 0
+ if result.Dfmount == "" {
+ result.Dfmount = k
+ }
}
+
if err = model.Add(uid, result); err != nil {
this.module.Errorf("err:%v", err)
}
@@ -141,11 +250,14 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32)
}
} else {
- if result, err = this.queryteam(uid); err != nil {
+ if result, err = this.queryinfo(uid); err != nil {
this.module.Errorln(err)
}
for k, _ := range mounts {
result.Mounts[k] = 0
+ if result.Dfmount == "" {
+ result.Dfmount = k
+ }
}
this.Change(uid, map[string]interface{}{
"mounts": result.Mounts,
diff --git a/modules/parkour/model_race.go b/modules/parkour/model_race.go
index 03354fcde..b38810c24 100644
--- a/modules/parkour/model_race.go
+++ b/modules/parkour/model_race.go
@@ -3,6 +3,7 @@ package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
@@ -37,3 +38,15 @@ func (this *ModelRaceComp) delrace(id string) (err error) {
}
return
}
+
+//查询用户重置数据
+func (this *ModelRaceComp) queryraces() (result []*pb.DBRace, err error) {
+ result = make([]*pb.DBRace, 0)
+ if err = this.GetList("", &result); err != nil && err != mgo.MongodbNil {
+ this.module.Errorf("err:%v", err)
+ }
+ if err == mgo.MongodbNil {
+ err = nil
+ }
+ return
+}
diff --git a/modules/parkour/model_team.go b/modules/parkour/model_team.go
deleted file mode 100644
index d5fa0df56..000000000
--- a/modules/parkour/model_team.go
+++ /dev/null
@@ -1,96 +0,0 @@
-package parkour
-
-import (
- "fmt"
- "go_dreamfactory/comm"
- "go_dreamfactory/lego/core"
- "go_dreamfactory/lego/sys/mgo"
- "go_dreamfactory/modules"
- "go_dreamfactory/pb"
-
- "go.mongodb.org/mongo-driver/bson/primitive"
- "go.mongodb.org/mongo-driver/mongo"
- "go.mongodb.org/mongo-driver/x/bsonx"
-)
-
-///竞速数据模块
-type ModelTeamComp struct {
- modules.MCompModel
- module *Parkour
-}
-
-//组件初始化接口
-func (this *ModelTeamComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
- this.TableName = comm.TableParkourTeam
- this.MCompModel.Init(service, module, comp, opt)
- this.module = module.(*Parkour)
- //创建uid索引
- this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
- Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
- })
- return
-}
-
-func (this *ModelTeamComp) queryteam(uid string) (result *pb.DBParkour, err error) {
- result = &pb.DBParkour{}
- if err = this.Get(uid, result); err != nil && err != mgo.MongodbNil {
- this.module.Errorln(err)
- return
- }
- if err == mgo.MongodbNil {
- var tuser *pb.DBUser
- if tuser = this.module.ModuleUser.GetUser(uid); tuser == nil {
- err = fmt.Errorf("no found udata:%s", uid)
- return
- }
- result = &pb.DBParkour{
- Id: primitive.NewObjectID().Hex(),
- Captainid: uid,
- State: pb.RaceTeamState_teaming,
- Mounts: make(map[string]int32),
- Invite: make([]*pb.DBRaceInvite, 0),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
- }
- if err = this.Add(uid, result); err != nil {
- this.module.Errorln(err)
- return
- }
- }
- err = nil
- return
-}
-
-func (this *ModelTeamComp) queryteams(uids []string) (results []*pb.DBParkour, err error) {
- results = make([]*pb.DBParkour, 0)
- var (
- onfound []string
- newdata map[string]interface{} = make(map[string]interface{})
- )
- if onfound, err = this.Gets(uids, &results); err != nil {
- this.module.Errorln(err)
- return
- }
- if len(onfound) > 0 {
- for _, v := range onfound {
- var tuser *pb.DBUser
- if tuser = this.module.ModuleUser.GetUser(v); tuser == nil {
- err = fmt.Errorf("no found udata:%s", v)
- return
- }
- temp := &pb.DBParkour{
- Id: primitive.NewObjectID().Hex(),
- Captainid: v,
- State: pb.RaceTeamState_teaming,
- Mounts: make(map[string]int32),
- Invite: make([]*pb.DBRaceInvite, 0),
- Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
- }
- newdata[v] = temp
- }
- if err = this.Adds(newdata); err != nil {
- this.module.Errorln(err)
- return
- }
- }
- return
-}
diff --git a/modules/parkour/module.go b/modules/parkour/module.go
index a9b5a81c5..6d43e274b 100644
--- a/modules/parkour/module.go
+++ b/modules/parkour/module.go
@@ -6,6 +6,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/modules"
@@ -30,8 +31,8 @@ type Parkour struct {
modules.ModuleBase
service base.IRPCXService
api *apiComp
+ ai *aiComp
configure *configureComp
- teamComp *ModelTeamComp
parkourComp *ModelParkourComp
raceComp *ModelRaceComp
lock sync.RWMutex
@@ -54,6 +55,7 @@ func (this *Parkour) Init(service core.IService, module core.IModule, options co
func (this *Parkour) Start() (err error) {
err = this.ModuleBase.Start()
this.service.RegisterFunctionName(string(comm.RPC_ParkourMatchSucc), this.createbattle)
+ event.RegisterGO(comm.EventUserOffline, this.useroffline)
return
}
@@ -61,9 +63,10 @@ func (this *Parkour) Start() (err error) {
func (this *Parkour) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
+ this.ai = this.RegisterComp(new(aiComp)).(*aiComp)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
- this.teamComp = this.RegisterComp(new(ModelTeamComp)).(*ModelTeamComp)
this.parkourComp = this.RegisterComp(new(ModelParkourComp)).(*ModelParkourComp)
+ this.raceComp = this.RegisterComp(new(ModelRaceComp)).(*ModelRaceComp)
}
//添加坐骑资源
@@ -84,8 +87,9 @@ func (this *Parkour) AddMounts(session comm.IUserSession, mounts map[string]int3
//匹配
func (this *Parkour) match(team *pb.DBParkour) (err error) {
+ ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
err = this.service.RpcCall(
- context.Background(),
+ ctx,
comm.Service_Mainte,
string(comm.RPC_ParkourJoinMatch),
&pb.RPCParkourJoinMatchReq{Captainid: team.Captainid, Member: team.Member},
@@ -103,8 +107,6 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
race *pb.DBRace
battle *RaceItem
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
- teams []*pb.DBParkour
- users []string = make([]string, 0)
)
this.Debug("createbattle", log.Field{Key: "req", Value: req.String()})
@@ -115,43 +117,49 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
Bulemember: req.Bule,
}
battle = &RaceItem{
- Id: race.Id,
- RedSession: make([]comm.IUserSession, 0),
- BuleSession: make([]comm.IUserSession, 0),
- overtimer: timewheel.Add(time.Minute*3, this.overtimer, race.Id),
+ Id: race.Id,
+ Session: make(map[string]comm.IUserSession),
+ overtimer: timewheel.Add(time.Minute*3, this.overtimer, race.Id),
}
for _, v := range req.Red {
- users = append(users, v.Uid)
- session, online := this.GetUserSession(v.Uid)
- v.Isoff = !online
- if online {
- battle.RedSession = append(battle.RedSession, session)
+ v.Hp = 6
+ if !v.Isai { //非AI
+ session, online := this.GetUserSession(v.Uid)
+ v.Isoff = !online
+ if online {
+ battle.Session[v.Uid] = session
+ }
+ } else {
+ v.Ready = true
}
+
}
battle.RedMember = req.Red
for _, v := range req.Bule {
- users = append(users, v.Uid)
- session, online := this.GetUserSession(v.Uid)
- v.Isoff = !online
- if online {
- battle.BuleSession = append(battle.BuleSession, session)
+ v.Hp = 6
+ if !v.Isai { //非AI
+ session, online := this.GetUserSession(v.Uid)
+ v.Isoff = !online
+ if online {
+ battle.Session[v.Uid] = session
+ }
+ } else {
+ v.Ready = true
}
}
+ for _, v := range battle.Session {
+ sessions = append(sessions, v)
+ }
+
battle.BuleMember = req.Bule
- if teams, err = this.teamComp.queryteams(users); err != nil {
- return
- }
- for _, v := range teams {
- v.State = pb.RaceTeamState_raceing
- }
if err = this.raceComp.addrace(race); err != nil {
return
}
this.lock.Lock()
this.battles[race.Id] = battle
this.lock.Unlock()
- if err = this.SendMsgToSession(string(comm.ModulePvp), "racematchsucc", &pb.ParkourRaceMatchSuccPush{
+ if err = this.SendMsgToSession(string(this.GetType()), "racematchsucc", &pb.ParkourRaceMatchSuccPush{
Race: race,
}, sessions...); err != nil {
this.Errorln(err)
@@ -164,6 +172,7 @@ func (this *Parkour) startbattle(id string) {
var (
battle *RaceItem
ok bool
+ member []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@@ -171,9 +180,25 @@ func (this *Parkour) startbattle(id string) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
- sessions = append(sessions, battle.RedSession...)
- sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{
+ for _, v := range battle.RedMember {
+ if v.Isai {
+ member = append(member, v)
+ }
+ }
+ for _, v := range battle.BuleMember {
+ if v.Isai {
+ member = append(member, v)
+ }
+ }
+ if err = this.ai.createAi(battle.Id, member); err != nil {
+ this.Errorln(err)
+ return
+ }
+ for _, v := range battle.Session {
+ sessions = append(sessions, v)
+ }
+
+ if err = this.SendMsgToSession(string(this.GetType()), "racestart", &pb.ParkourRaceStartPush{
Countdown: 3,
}, sessions...); err != nil {
this.Errorln(err)
@@ -185,6 +210,7 @@ func (this *Parkour) shot(id string, uid string) {
this.Debug("shot", log.Field{Key: "id", Value: id})
var (
battle *RaceItem
+ side int32
ok bool
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
@@ -193,10 +219,34 @@ func (this *Parkour) shot(id string, uid string) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
- sessions = append(sessions, battle.RedSession...)
- sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{
- Countdown: 3,
+ for _, v := range battle.RedMember {
+ if v.Uid == uid {
+ ok = true
+ side = 1
+ }
+ }
+ if !ok {
+ for _, v := range battle.BuleMember {
+ if v.Uid == uid {
+ ok = true
+ side = 2
+ }
+ }
+ }
+ if side == 1 {
+ battle.RedScore += 3
+ } else {
+ battle.BuleScore += 3
+ }
+ for _, v := range battle.Session {
+ sessions = append(sessions, v)
+ }
+
+ if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{
+ Redscore: battle.RedScore,
+ Redenergy: battle.RedEnergy,
+ Bluescore: battle.BuleScore,
+ Blueenergy: battle.BuleEnergy,
}, sessions...); err != nil {
this.Errorln(err)
}
@@ -208,6 +258,8 @@ func (this *Parkour) avoid(id string, uid string, dis int32) {
var (
battle *RaceItem
ok bool
+ side int32
+ member *pb.DBRaceMember
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@@ -215,10 +267,56 @@ func (this *Parkour) avoid(id string, uid string, dis int32) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
- sessions = append(sessions, battle.RedSession...)
- sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{
- Countdown: 3,
+ ok = false
+ for _, v := range battle.RedMember {
+ if v.Uid == uid {
+ member = v
+ ok = true
+ side = 1
+ }
+ }
+ if !ok {
+ for _, v := range battle.BuleMember {
+ if v.Uid == uid {
+ member = v
+ ok = true
+ side = 2
+ }
+ }
+ }
+ if !ok {
+ this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid})
+ return
+ }
+
+ for _, v := range battle.Session {
+ sessions = append(sessions, v)
+ }
+
+ if dis < 0 {
+ member.Hp--
+ if member.Hp < 0 {
+ // timewheel.Add(time.Second*10, this.resurrectiontimer, battle.Id, member.Uid)
+ }
+ } else {
+ if side == 1 {
+ battle.RedEnergy += 3
+ } else {
+ battle.BuleEnergy += 3
+ }
+ if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourScoreChanagePush{
+ Redscore: battle.RedScore,
+ Redenergy: battle.RedEnergy,
+ Bluescore: battle.BuleScore,
+ Blueenergy: battle.BuleEnergy,
+ }, sessions...); err != nil {
+ this.Errorln(err)
+ }
+ }
+
+ if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
+ Uid: uid,
+ Hp: member.Hp,
}, sessions...); err != nil {
this.Errorln(err)
}
@@ -231,6 +329,7 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
var (
battle *RaceItem
ok bool
+ side int32
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@@ -243,15 +342,299 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
delete(this.battles, id)
this.lock.Unlock()
this.raceComp.delrace(id)
- sessions = append(sessions, battle.RedSession...)
- sessions = append(sessions, battle.BuleSession...)
- if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceOverPush{
- Race: &pb.DBRace{
- Id: battle.Id,
- },
+ this.ai.removeAi(id)
+ if battle.RedScore > battle.BuleScore {
+ side = 1
+ } else {
+ side = 2
+ }
+ for _, v := range battle.Session {
+ sessions = append(sessions, v)
+ }
+
+ if err = this.SendMsgToSession(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{
+ Winside: side,
}, sessions...); err != nil {
this.Errorln(err)
return
}
+
+ for _, v := range battle.RedMember {
+ if !v.Isai {
+ if err = this.parkourComp.Change(v.Uid, map[string]interface{}{
+ "captainid": "",
+ "state": 0,
+ "invite": []*pb.DBRaceInvite{},
+ "member": []*pb.DBRaceMember{},
+ }); err != nil {
+ this.Errorln(err)
+ return
+ }
+ }
+ }
+ for _, v := range battle.BuleMember {
+ if !v.Isai {
+ if err = this.parkourComp.Change(v.Uid, map[string]interface{}{
+ "captainid": "",
+ "state": 0,
+ "invite": []*pb.DBRaceInvite{},
+ "member": []*pb.DBRaceMember{},
+ }); err != nil {
+ this.Errorln(err)
+ return
+ }
+ }
+ }
+
+ }
+}
+
+//用户离线处理
+func (this *Parkour) useroffline(uid, sessionid string) {
+ var (
+ info *pb.DBParkour
+
+ team *pb.DBParkour
+ member *pb.DBRaceMember
+ users []string
+ index int32
+ err error
+ )
+ if info, err = this.parkourComp.queryinfo(uid); err != nil {
+ this.Error("用户离线!", log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ if info.State == pb.RaceTeamState_teaming {
+ if info.Captainid == uid {
+ info.Invite = info.Invite[:0]
+ info.Member = info.Member[:0]
+ if err = this.parkourComp.Change(uid, map[string]interface{}{
+ "captainid": "",
+ "state": 0,
+ "Invite": info.Invite,
+ "member": info.Member,
+ }); err != nil {
+ this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ users = make([]string, 0)
+ for _, v := range info.Member {
+ if v.Uid != uid && !v.Isai {
+ users = append(users, v.Uid)
+ if err = this.parkourComp.Change(v.Uid, map[string]interface{}{
+ "captainid": "",
+ "state": 0,
+ }); err != nil {
+ this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: v.Uid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ }
+ }
+ if len(users) > 0 {
+ if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil {
+ this.Errorln(err)
+ }
+ }
+ } else {
+ if team, err = this.parkourComp.queryinfo(info.Captainid); err != nil {
+ this.Error("用户离线!", log.Field{Key: "Captainid", Value: info.Captainid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ users = make([]string, 0)
+ for i, v := range team.Member {
+ if v.Uid == uid {
+ index = int32(i)
+ member = v
+ continue
+ }
+ if v.Uid != uid && !v.Isai {
+ users = append(users, v.Uid)
+ }
+ }
+ team.Member = append(team.Member[0:index], team.Member[index+1:]...)
+ if err = this.parkourComp.Change(team.Uid, map[string]interface{}{
+ "member": team.Member,
+ }); err != nil {
+ this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: team.Uid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ if len(users) > 0 {
+ this.SendMsgToUsers(string(this.GetType()), "teamquitnotice",
+ &pb.ParkourTeamQuitNoticePush{Member: member}, users...)
+
+ this.SendMsgToUsers(string(this.GetType()), "teamchanage",
+ &pb.ParkourTeamChanagePush{Team: team}, users...)
+ }
+
+ }
+ } else if info.State == pb.RaceTeamState_matching {
+ if info.Captainid == uid {
+ err = this.service.RpcCall(
+ context.Background(),
+ comm.Service_Mainte,
+ string(comm.RPC_ParkourCancelMatch),
+ &pb.RPCParkourCancelMatchReq{Captainid: info.Captainid},
+ &pb.RPCParkourCancelMatchResp{})
+ if err != nil {
+ this.Errorln(err)
+ return
+ }
+ if err = this.parkourComp.Change(uid, map[string]interface{}{
+ "captainid": "",
+ "state": 0,
+ "Invite": info.Invite,
+ "member": info.Member,
+ }); err != nil {
+ this.Error("用户离线! 处理数据", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ users = make([]string, 0)
+ for _, v := range info.Member {
+ if v.Uid != uid && !v.Isai {
+ users = append(users, v.Uid)
+ if err = this.parkourComp.Change(v.Uid, map[string]interface{}{
+ "captainid": "",
+ "state": 0,
+ }); err != nil {
+ this.Error("用户离线! 解散队伍处理", log.Field{Key: "uid", Value: v.Uid}, log.Field{Key: "err", Value: err.Error()})
+ return
+ }
+ }
+ }
+ if len(users) > 0 {
+ if err = this.SendMsgToUsers(string(comm.ModulePvp), "teamdisbandnotice", &pb.ParkourTeamDisbandNoticePush{}, users...); err != nil {
+ this.Errorln(err)
+ }
+ }
+ }
+ } else if info.State == pb.RaceTeamState_raceing {
+ var (
+ lockpath string = fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId())
+ result []*pb.DBRace
+ )
+ if result, err = this.raceComp.queryraces(); err != nil {
+ this.Errorln(err)
+ return
+ }
+ for _, v := range result {
+ for _, v1 := range v.Redmember {
+ if !v1.Isai && v1.Uid == uid {
+ if lockpath == v.ServicePath {
+ this.trusteeship(context.Background(), &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid}, nil)
+ return
+ } else {
+ ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
+ _, err = this.service.RpcGo(
+ ctx,
+ comm.Service_Mainte,
+ string(comm.RPC_ParkourJoinMatch),
+ &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid},
+ nil)
+ if err != nil {
+ this.Errorln(err)
+ return
+ }
+ return
+ }
+ }
+ }
+ for _, v1 := range v.Bulemember {
+ if !v1.Isai && v1.Uid == uid {
+ if lockpath == v.ServicePath {
+ this.trusteeship(context.Background(), &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid}, nil)
+ return
+ } else {
+ ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
+ _, err = this.service.RpcGo(
+ ctx,
+ comm.Service_Mainte,
+ string(comm.RPC_ParkourJoinMatch),
+ &pb.RPC_ParkourTrusteeshipReq{Battleid: v.Id, Uid: uid},
+ nil)
+ if err != nil {
+ this.Errorln(err)
+ return
+ }
+ return
+ }
+ }
+ }
+ }
+ }
+}
+
+//托管
+func (this *Parkour) trusteeship(ctx context.Context, req *pb.RPC_ParkourTrusteeshipReq, resp *pb.RPC_ParkourTrusteeshipResp) (err error) {
+ var (
+ battle *RaceItem
+ ok bool
+ )
+
+ this.lock.RLock()
+ battle, ok = this.battles[req.Battleid]
+ this.lock.RUnlock()
+ if ok {
+ battle.lock.Lock()
+ for _, v := range battle.BuleMember {
+ if v.Uid == v.Uid {
+ v.Isoff = true
+ }
+ }
+ for _, v := range battle.RedMember {
+ if v.Uid == v.Uid {
+ v.Isoff = true
+ }
+ }
+ delete(battle.Session, req.Uid)
+ battle.lock.Unlock()
+ }
+ return
+}
+
+func (this *Parkour) resurrectiontimer(task *timewheel.Task, args ...interface{}) {
+ var (
+ battleid string
+ uid string
+ battle *RaceItem
+ member *pb.DBRaceMember
+ sessions []comm.IUserSession = make([]comm.IUserSession, 0)
+ ok bool
+ err error
+ )
+
+ battleid = args[0].(string)
+ uid = args[1].(string)
+ this.lock.RLock()
+ battle, ok = this.battles[battleid]
+ this.lock.RUnlock()
+ if ok {
+ ok = false
+ for _, v := range battle.RedMember {
+ if v.Uid == uid {
+ member = v
+ ok = true
+ }
+ }
+ if !ok {
+ for _, v := range battle.BuleMember {
+ if v.Uid == uid {
+ member = v
+ ok = true
+ }
+ }
+ }
+
+ if ok {
+ member.Hp = 2
+ for _, v := range battle.Session {
+ sessions = append(sessions, v)
+ }
+ if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
+ Uid: uid,
+ Hp: member.Hp,
+ }, sessions...); err != nil {
+ this.Errorln(err)
+ }
+ }
}
}
diff --git a/modules/parkour/parkour_test.go b/modules/parkour/parkour_test.go
new file mode 100644
index 000000000..4deda17f3
--- /dev/null
+++ b/modules/parkour/parkour_test.go
@@ -0,0 +1,18 @@
+package parkour_test
+
+import (
+ "fmt"
+ "testing"
+ "time"
+)
+
+func Test_Time(t *testing.T) {
+ currt := time.Now().Format("15:04")
+ fmt.Printf(currt)
+ if currt > "13:10" && currt < "16:30" {
+ fmt.Printf("true")
+ } else {
+ fmt.Printf("false")
+ }
+
+}
diff --git a/modules/practice/api_npcbattklefinish.go b/modules/practice/api_npcbattklefinish.go
index 3f0678e7c..a33a4cebb 100644
--- a/modules/practice/api_npcbattklefinish.go
+++ b/modules/practice/api_npcbattklefinish.go
@@ -34,7 +34,7 @@ func (this *apiComp) NPCBattkleFinish(session comm.IUserSession, req *pb.Practic
}
if req.Report.WinSide == 1 {
- room.Npcstate = 2
+ room.Npcstate = 3
if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
diff --git a/modules/practice/api_npcdialog.go b/modules/practice/api_npcdialog.go
index fc5ed60e6..5a3a9835f 100644
--- a/modules/practice/api_npcdialog.go
+++ b/modules/practice/api_npcdialog.go
@@ -3,7 +3,6 @@ package practice
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
- "go_dreamfactory/sys/configure"
)
//参数校验
@@ -14,32 +13,32 @@ func (this *apiComp) NPCDialogCheck(session comm.IUserSession, req *pb.PracticeN
///npc 此协议废弃 不用
func (this *apiComp) NPCDialog(session comm.IUserSession, req *pb.PracticeNPCDialogReq) (code pb.ErrorCode, data *pb.ErrorData) {
- var (
- err error
- room *pb.DBPracticeRoom
- // conf *cfg.GameDispatch_BattleData
- )
- if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil {
- code = pb.ErrorCode_DBError
- return
- }
- if room.Npcstate != 2 {
- code = pb.ErrorCode_ReqParameterError
- return
- }
- // if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil {
- // code = pb.ErrorCode_ConfigNoFound
+ // var (
+ // err error
+ // room *pb.DBPracticeRoom
+ // // conf *cfg.GameDispatch_BattleData
+ // )
+ // if room, err = this.module.modelPandata.queryUserMartialhall(session.GetUserId()); err != nil {
+ // code = pb.ErrorCode_DBError
// return
// }
- // if code = this.module.DispenseRes(session, conf.StoryAward, true); code != pb.ErrorCode_Success {
+ // if room.Npcstate != 2 {
+ // code = pb.ErrorCode_ReqParameterError
// return
// }
- room.Npcstate = 3
- room.Refresh = configure.Now().Unix()
- this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{
- "npcstate": room.Npcstate,
- "refresh": room.Refresh,
- })
+ // // if conf, err = this.module.configure.getDispatchBattleData(room.Currnpc); err != nil {
+ // // code = pb.ErrorCode_ConfigNoFound
+ // // return
+ // // }
+ // // if code = this.module.DispenseRes(session, conf.StoryAward, true); code != pb.ErrorCode_Success {
+ // // return
+ // // }
+ // room.Npcstate = 3
+ // room.Refresh = configure.Now().Unix()
+ // this.module.modelPandata.Change(session.GetUserId(), map[string]interface{}{
+ // "npcstate": room.Npcstate,
+ // "refresh": room.Refresh,
+ // })
session.SendMsg(string(this.module.GetType()), "npcdialog", &pb.PracticeNPCDialogResp{Issucc: true})
return
}
diff --git a/modules/practice/modelPandata.go b/modules/practice/modelPandata.go
index 7cde7fa19..9fc7c1b5c 100644
--- a/modules/practice/modelPandata.go
+++ b/modules/practice/modelPandata.go
@@ -7,6 +7,7 @@ import (
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
+ "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"go.mongodb.org/mongo-driver/bson/primitive"
@@ -51,6 +52,8 @@ func (this *modelPandata) queryUserMartialhall(uid string) (result *pb.DBPractic
Pillar3: &pb.DBPracticePillar{Index: 3, Lv: 1},
Pillarf: &pb.DBPracticePillar{Index: 4, Isunlock: 0, Lv: 1},
Statuers: make([]*pb.DBPracticeStatuer, 0),
+ Npcstate: 3,
+ Refresh: configure.Now().Unix(),
}
if err = this.refreshnpc(result); err != nil {
this.module.Errorln(err)
@@ -90,11 +93,13 @@ func (this *modelPandata) queryrooms(uids []string) (results []*pb.DBPracticeRoo
Pillar3: &pb.DBPracticePillar{Index: 3, Lv: 1},
Pillarf: &pb.DBPracticePillar{Index: 4, Isunlock: 2, Lv: 1},
Statuers: make([]*pb.DBPracticeStatuer, 0),
+ Npcstate: 3,
+ Refresh: configure.Now().Unix(),
}
- if err = this.refreshnpc(temp); err != nil {
- this.module.Errorln(err)
- continue
- }
+ // if err = this.refreshnpc(temp); err != nil {
+ // this.module.Errorln(err)
+ // continue
+ // }
go this.module.atlas.CheckActivatePandaAtlasCollect(v, "100001")
newdata[v] = temp
}
diff --git a/modules/practice/module.go b/modules/practice/module.go
index 71767bd3a..824a0e5da 100644
--- a/modules/practice/module.go
+++ b/modules/practice/module.go
@@ -136,6 +136,8 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32
Pillar3: &pb.DBPracticePillar{Index: 3, Lv: 1},
Pillarf: &pb.DBPracticePillar{Index: 4, Isunlock: 0, Lv: 1},
Statuers: make([]*pb.DBPracticeStatuer, 0),
+ Npcstate: 3,
+ Refresh: configure.Now().Unix(),
}
id = make([]string, 0)
for k, _ := range items {
@@ -143,10 +145,10 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32
id = append(id, k)
this.atlas.CheckActivatePandaAtlasCollect(session.GetUserId(), k)
}
- if err = this.modelPandata.refreshnpc(room); err != nil {
- this.Errorln(err)
- return
- }
+ // if err = this.modelPandata.refreshnpc(room); err != nil {
+ // this.Errorln(err)
+ // return
+ // }
if err = model.Add(session.GetUserId(), room); err != nil {
this.Errorln(err)
return
@@ -413,7 +415,7 @@ func (this *Practice) CleanUpNpc(uid string) {
}
result.Refresh = configure.Now().Unix()
- this.modelPandata.Change(uid, map[string]interface{}{ // 同步状态即可
+ model.Change(uid, map[string]interface{}{ // 同步状态即可
"npcstate": 3,
"refresh": result.Refresh,
})
diff --git a/modules/pvp/module.go b/modules/pvp/module.go
index f7e1515a0..39706d9ec 100644
--- a/modules/pvp/module.go
+++ b/modules/pvp/module.go
@@ -1,6 +1,7 @@
package pvp
import (
+ "context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/base"
@@ -399,39 +400,86 @@ func (this *Pvp) userlogin(session comm.IUserSession) {
//用户离线处理
func (this *Pvp) useroffline(uid, sessionid string) {
var (
- side int32
- data []byte
- code pb.ErrorCode
+ result []*pb.DBPvpBattle
+ lockpath string = fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId())
+ service map[string][]string = make(map[string][]string)
+ err error
)
- this.lock.RLock()
- for _, v := range this.battles {
+ if result, err = this.modelPvpComp.querypvps(); err != nil {
+ this.Errorln(err)
+ return
+ }
+ for _, v := range result {
if v.Red.Uid == uid || v.Blue.Uid == uid {
- if uid == v.Red.Uid {
- side = 1
- v.RedOffline = true
- } else {
- side = 2
- v.BlueOffline = true
+ if service[v.ServicePath] == nil {
+ service[v.ServicePath] = make([]string, 0)
}
+ service[v.ServicePath] = append(service[v.ServicePath], v.Id)
+ }
+ }
- if v.curroperate.Side == side {
- if v.operatetimer != nil {
- timewheel.Remove(v.operatetimer)
+ for k, v := range service {
+ if k == lockpath { //在当前服务器上
+ this.trusteeship(context.Background(), &pb.RPC_PVPTrusteeshipReq{Battleid: v, Uid: uid}, nil)
+ } else { //在别的服务器上
+ ctx, _ := context.WithTimeout(context.Background(), time.Second*5)
+ _, err = this.service.RpcGo(
+ ctx,
+ comm.Service_Mainte,
+ string(comm.RPC_ParkourJoinMatch),
+ &pb.RPC_PVPTrusteeshipReq{Battleid: v, Uid: uid},
+ nil)
+ if err != nil {
+ this.Errorln(err)
+ return
+ }
+ }
+ }
+
+}
+
+//托管
+func (this *Pvp) trusteeship(ctx context.Context, req *pb.RPC_PVPTrusteeshipReq, resp *pb.RPC_PVPTrusteeshipResp) (err error) {
+ var (
+ battle *BattleItem
+ ok bool
+ side int32
+ data []byte
+ code pb.ErrorCode
+ )
+ for _, bid := range req.Battleid {
+ this.lock.RLock()
+ battle, ok = this.battles[bid]
+ this.lock.RUnlock()
+ if ok {
+ if battle.Red.Uid == req.Uid || battle.Blue.Uid == req.Uid {
+ if req.Uid == battle.Red.Uid {
+ side = 1
+ battle.RedOffline = true
+ } else {
+ side = 2
+ battle.BlueOffline = true
}
- v.curroperate.Auto = true
- data, _ = proto.Marshal(v.curroperate)
- if code = this.battle.InCmdBattle(&pb.BattleInCmdReq{
- Battleid: v.Id,
- Side: v.curroperate.Side,
- In: &pb.BattleCmd{
- Cmdtype: "ComWaitInputSkill",
- Value: data,
- },
- }); code != pb.ErrorCode_Success {
- return
+
+ if battle.curroperate.Side == side {
+ if battle.operatetimer != nil {
+ timewheel.Remove(battle.operatetimer)
+ }
+ battle.curroperate.Auto = true
+ data, _ = proto.Marshal(battle.curroperate)
+ if code = this.battle.InCmdBattle(&pb.BattleInCmdReq{
+ Battleid: battle.Id,
+ Side: battle.curroperate.Side,
+ In: &pb.BattleCmd{
+ Cmdtype: "ComWaitInputSkill",
+ Value: data,
+ },
+ }); code != pb.ErrorCode_Success {
+ return
+ }
}
}
}
}
- this.lock.RUnlock()
+ return
}
diff --git a/modules/reputation/api.go b/modules/reputation/api.go
new file mode 100644
index 000000000..2fb9d966d
--- /dev/null
+++ b/modules/reputation/api.go
@@ -0,0 +1,20 @@
+package reputation
+
+import (
+ "go_dreamfactory/lego/base"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+)
+
+type apiComp struct {
+ modules.MCompGate
+ service base.IRPCXService
+ module *Reputation
+}
+
+func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ _ = this.MCompGate.Init(service, module, comp, options)
+ this.service = service.(base.IRPCXService)
+ this.module = module.(*Reputation)
+ return
+}
diff --git a/modules/reputation/api_getattrs.go b/modules/reputation/api_getattrs.go
new file mode 100644
index 000000000..106c80125
--- /dev/null
+++ b/modules/reputation/api_getattrs.go
@@ -0,0 +1,33 @@
+package reputation
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+)
+
+// 获取阵营天赋属性
+func (this *apiComp) GetattrsCheck(session comm.IUserSession, req *pb.ReputationTalentReq) (code pb.ErrorCode) {
+ return
+}
+
+func (this *apiComp) Getattrs(session comm.IUserSession, req *pb.ReputationTalentReq) (code pb.ErrorCode, data *pb.ErrorData) {
+
+ uid := session.GetUserId()
+ rsp := &pb.ReputationTalentResp{}
+
+ reputation := this.module.modelReputation.getDBReputation(uid)
+ if reputation == nil {
+ code = pb.ErrorCode_DataNotFound
+ return
+ }
+
+ for _, v := range reputation.Camps {
+ rsp.Camp = v
+ }
+
+ rsp.AttrGlobal = this.module.modelReputation.mergeAttrs(reputation.Camps)
+
+ session.SendMsg(string(this.module.GetType()), "getattrs", rsp)
+
+ return
+}
diff --git a/modules/reputation/api_reset.go b/modules/reputation/api_reset.go
new file mode 100644
index 000000000..695ae2ba8
--- /dev/null
+++ b/modules/reputation/api_reset.go
@@ -0,0 +1,40 @@
+package reputation
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+)
+
+func (this *apiComp) ResetCheck(session comm.IUserSession, req *pb.ReputationTalentresetReq) (code pb.ErrorCode) {
+ if req.RaceType < 1 && req.RaceType > 4 {
+ code = pb.ErrorCode_ReqParameterError
+ }
+ return
+}
+
+func (this *apiComp) Reset(session comm.IUserSession, req *pb.ReputationTalentresetReq) (code pb.ErrorCode, data *pb.ErrorData) {
+ uid := session.GetUserId()
+ reputation := this.module.modelReputation.getDBReputation(uid)
+ if reputation == nil {
+ code = pb.ErrorCode_DataNotFound
+ return
+ }
+
+ if v, ok := reputation.Camps[req.RaceType]; ok {
+ v.Nodes = []*pb.TalentNode{}
+ }
+
+ update := map[string]interface{}{
+ "camps": reputation.Camps,
+ }
+
+ if err := this.module.modelReputation.Change(uid, update); err != nil {
+ code = pb.ErrorCode_DBError
+ return
+ }
+
+ rsp := &pb.ReputationTalentresetResp{}
+
+ session.SendMsg(string(this.module.GetType()), "reset", rsp)
+ return
+}
diff --git a/modules/reputation/api_talenttest.go b/modules/reputation/api_talenttest.go
new file mode 100644
index 000000000..0ee964a23
--- /dev/null
+++ b/modules/reputation/api_talenttest.go
@@ -0,0 +1,20 @@
+package reputation
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/pb"
+)
+
+func (this *apiComp) TalenttestCheck(session comm.IUserSession, req *pb.ReputationTalenttestReq) (code pb.ErrorCode) {
+ return
+}
+
+func (this *apiComp) Talenttest(session comm.IUserSession, req *pb.ReputationTalenttestReq) (code pb.ErrorCode, data *pb.ErrorData) {
+ rsp := &pb.ReputationTalenttestResp{}
+ lv := this.module.Upgrade(session, req.RaceType, req.FriendValue)
+ this.module.Debug("声望等级", log.Field{Key: "lv", Value: lv})
+
+ session.SendMsg(string(this.module.GetType()), "talenttest", rsp)
+ return
+}
diff --git a/modules/reputation/api_upgrade.go b/modules/reputation/api_upgrade.go
new file mode 100644
index 000000000..08842738e
--- /dev/null
+++ b/modules/reputation/api_upgrade.go
@@ -0,0 +1,70 @@
+package reputation
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+)
+
+// 天赋树升级
+func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.ReputationUpgradeReq) (code pb.ErrorCode) {
+ return
+}
+
+func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.ReputationUpgradeReq) (code pb.ErrorCode, data *pb.ErrorData) {
+ //
+ uid := session.GetUserId()
+ rsp := &pb.ReputationUpgradeResp{}
+
+ talentCfg := this.module.configure.getTalentNodeCfg(req.NodeId)
+ if talentCfg == nil {
+ code = pb.ErrorCode_ConfigNoFound
+ return
+ }
+
+ reputation := this.module.modelReputation.getDBReputation(uid)
+ if reputation == nil {
+ code = pb.ErrorCode_DataNotFound
+ return
+ }
+
+ camp, ok := reputation.Camps[talentCfg.Type]
+ if !ok {
+ reputation.Camps[talentCfg.Type] = &pb.Camp{}
+ }
+
+ if code = this.module.CheckRes(session, talentCfg.IconCos); code != pb.ErrorCode_Success {
+ return
+ }
+
+ if camp != nil {
+ if len(camp.Nodes) == 0 {
+ camp.Nodes = append(camp.Nodes, &pb.TalentNode{
+ Nid: req.NodeId,
+ })
+ } else {
+ for _, v := range camp.Nodes {
+ //判断是否满级
+ if req.NodeId == v.Nid && v.Status == 2 {
+ code = pb.ErrorCode_ReputationTalentFull
+ return
+ } else if req.NodeId == v.Nid {
+ //消耗
+ if c := this.module.ConsumeRes(session, talentCfg.IconCos, true); c == pb.ErrorCode_Success {
+ v.Status = 1
+ camp.CampAttr = this.module.modelReputation.computeAttr(camp.CampAttr, talentCfg.Attribute)
+
+ }
+ break
+ }
+ }
+ }
+ update := map[string]interface{}{
+ "camps": reputation.Camps,
+ }
+ this.module.modelReputation.updateDBReputation(uid, update)
+ }
+
+ session.SendMsg(string(this.module.GetType()), "upgrade", rsp)
+
+ return
+}
diff --git a/modules/reputation/configure.go b/modules/reputation/configure.go
new file mode 100644
index 000000000..9daf6f6d4
--- /dev/null
+++ b/modules/reputation/configure.go
@@ -0,0 +1,69 @@
+package reputation
+
+import (
+ "fmt"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/modules"
+ cfg "go_dreamfactory/sys/configure/structs"
+)
+
+const (
+ gameTalent = "game_talent.json"
+ gameCampLv = "game_camplv.json"
+)
+
+type configureComp struct {
+ modules.MCompConfigure
+}
+
+func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.MCompConfigure.Init(service, module, comp, options)
+ err = this.LoadMultiConfigure(map[string]interface{}{
+ gameTalent: cfg.NewGameTalent,
+ gameCampLv: cfg.NewGameCampLv,
+ })
+ return
+}
+
+// 天赋树配置
+func (this *configureComp) getTalentCfg() (data *cfg.GameTalent, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+ if v, err = this.GetConfigure(gameTalent); err != nil {
+ return
+ } else {
+ if data, ok = v.(*cfg.GameTalent); !ok {
+ err = fmt.Errorf("%T is *cfg.GameTalent", v)
+ return
+ }
+ }
+ return
+}
+
+func (this *configureComp) getTalentNodeCfg(id int32) (data *cfg.GameTalentData) {
+ gt, err := this.getTalentCfg()
+ if err != nil {
+ return
+ }
+
+ data, _ = gt.GetDataMap()[id]
+ return
+}
+
+func (this *configureComp) getCampLvCfg() (data *cfg.GameCampLv, err error) {
+ var (
+ v interface{}
+ ok bool
+ )
+ if v, err = this.GetConfigure(gameCampLv); err != nil {
+ return
+ } else {
+ if data, ok = v.(*cfg.GameCampLv); !ok {
+ err = fmt.Errorf("%T is *cfg.GameCampLv", v)
+ return
+ }
+ }
+ return
+}
diff --git a/modules/reputation/model_reputation.go b/modules/reputation/model_reputation.go
new file mode 100644
index 000000000..14ddcf557
--- /dev/null
+++ b/modules/reputation/model_reputation.go
@@ -0,0 +1,94 @@
+package reputation
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/modules"
+ "go_dreamfactory/pb"
+ cfg "go_dreamfactory/sys/configure/structs"
+
+ "go.mongodb.org/mongo-driver/mongo"
+)
+
+type ModelReputation struct {
+ modules.MCompModel
+ moduleReputation *Reputation
+ service core.IService
+}
+
+func (this *ModelReputation) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
+ err = this.MCompModel.Init(service, module, comp, options)
+ this.TableName = comm.TableReputation
+ this.moduleReputation = module.(*Reputation)
+ this.service = service
+ return
+}
+
+func(this *ModelReputation) initCamp(reputation *pb.DBReputation){
+ if reputation!=nil && reputation.Camps == nil{
+ reputation.Camps = make(map[int32]*pb.Camp)
+
+ }
+}
+
+// 获取玩家声望数据
+func (this *ModelReputation) getDBReputation(uid string) *pb.DBReputation {
+ reputation := &pb.DBReputation{}
+ if err := this.Get(uid, reputation); err != nil {
+ if err == mongo.ErrNoDocuments {
+ reputation.Uid = uid
+ reputation.Camps = make(map[int32]*pb.Camp)
+ if err2 := this.Add(uid, reputation); err2 == nil {
+ return reputation
+ }
+ }
+ this.moduleReputation.Error("getDBReputation",
+ log.Field{Key: "uid", Value: uid},
+ log.Field{Key: "err", Value: err})
+ }
+ return reputation
+}
+
+// 更新声望数据
+func (this *ModelReputation) updateDBReputation(uid string, data map[string]interface{}) {
+ if err := this.Change(uid, data); err != nil {
+ this.moduleReputation.Error("updateDBReputation",
+ log.Field{Key: "uid", Value: uid},
+ log.Field{Key: "err", Value: err})
+ }
+}
+
+// 阵营属性
+func (this *ModelReputation) computeAttr(attr *pb.CampAttr, cfgs []*cfg.Gameatr) *pb.CampAttr {
+ if attr == nil {
+ attr = &pb.CampAttr{}
+ }
+ for _, v := range cfgs {
+ switch v.A {
+ case comm.Hp:
+ attr.Hp += v.N
+ case comm.Atk:
+ attr.Attack += v.N
+ case comm.Def:
+ attr.Defense += v.N
+ case comm.HpPro:
+ attr.HpPer += v.N
+ }
+ }
+ return attr
+}
+
+// 合计所有阵营的属性
+func (this *ModelReputation) mergeAttrs(camps map[int32]*pb.Camp) *pb.CampAttr {
+ totalAttr := &pb.CampAttr{}
+ for _, v := range camps {
+ if v.CampAttr != nil {
+ totalAttr.Hp += v.CampAttr.Hp
+ totalAttr.Attack += v.CampAttr.Attack
+ totalAttr.Defense += v.CampAttr.Defense
+ totalAttr.HpPer += v.CampAttr.HpPer
+ }
+ }
+ return totalAttr
+}
diff --git a/modules/reputation/module.go b/modules/reputation/module.go
new file mode 100644
index 000000000..32eee42a6
--- /dev/null
+++ b/modules/reputation/module.go
@@ -0,0 +1,113 @@
+package reputation
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/lego/base"
+ "go_dreamfactory/lego/core"
+ "go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/modules"
+ cfg "go_dreamfactory/sys/configure/structs"
+)
+
+var _ comm.IReputation = (*Reputation)(nil)
+
+type Reputation struct {
+ modules.ModuleBase
+ api *apiComp
+ service base.IRPCXService
+ configure *configureComp
+ modelReputation *ModelReputation
+}
+
+func NewModule() core.IModule {
+ return &Reputation{}
+}
+
+func (this *Reputation) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
+ err = this.ModuleBase.Init(service, module, options)
+ this.service = service.(base.IRPCXService)
+ return
+}
+
+func (this *Reputation) OnInstallComp() {
+ this.ModuleBase.OnInstallComp()
+ this.api = this.RegisterComp(new(apiComp)).(*apiComp)
+ this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
+ this.modelReputation = this.RegisterComp(new(ModelReputation)).(*ModelReputation)
+}
+
+func (this *Reputation) GetType() core.M_Modules {
+ return comm.ModuleReputation
+}
+
+func (this *Reputation) Start() (err error) {
+ err = this.ModuleBase.Start()
+
+ return
+}
+
+// 获取阵营最大等级
+// raceType 阵营类型
+func (this *Reputation) getCampLvMax(raceType int32) (maxLv int32) {
+ campLvConf, err := this.configure.getCampLvCfg()
+ if err != nil {
+ return
+ }
+ arr := campLvConf.GetDataList()
+ n := len(arr)
+ if n > 0 {
+ maxLv = arr[n-1].ReputationLv
+ } else {
+ maxLv = -1
+ }
+ return
+}
+
+// 声望升级
+// raceType 阵营 fv 阵营好感度累计值
+func (this *Reputation) Upgrade(session comm.IUserSession, raceType int32, fv int32) (lv int32) {
+ uid := session.GetUserId()
+ reputation := this.modelReputation.getDBReputation(uid)
+ if reputation == nil {
+ return
+ }
+
+ c, ok := reputation.Camps[raceType]
+ if !ok {
+ this.Error("阵营不存在",
+ log.Field{Key: "uid", Value: uid},
+ log.Field{Key: "raceType", Value: raceType})
+ return
+ }
+
+ maxLv := this.getCampLvMax(raceType)
+
+ if c.ReputationLv == maxLv {
+ this.Debug("已达到声望最大等级",
+ log.Field{Key: "uid", Value: uid},
+ log.Field{Key: "maxLv", Value: c.ReputationLv})
+ return c.ReputationLv
+ }
+
+ campLvConf, err := this.configure.getCampLvCfg()
+ if err != nil {
+ return
+ }
+
+ for _, conf := range campLvConf.GetDataList() {
+ if conf.RaceType == raceType && conf.ReputationLv == c.ReputationLv {
+ if fv >= conf.ReputationExp {
+ //更新等级
+ c.ReputationLv = c.ReputationLv + 1
+ update := map[string]interface{}{
+ "camps": reputation.Camps,
+ }
+ this.modelReputation.updateDBReputation(uid, update)
+ //发放天赋点奖励
+ this.DispenseRes(session, []*cfg.Gameatn{conf.Reward}, false)
+ break
+ }
+ }
+ }
+ return
+}
diff --git a/modules/timer/module.go b/modules/timer/module.go
index be54b2341..fe1340958 100644
--- a/modules/timer/module.go
+++ b/modules/timer/module.go
@@ -6,6 +6,8 @@ import (
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/core/cbase"
"go_dreamfactory/lego/sys/log"
+ "go_dreamfactory/sys/db"
+ "time"
)
/*
@@ -25,8 +27,9 @@ type Timer struct {
service base.IRPCXService //rpc服务对象 通过这个对象可以发布服务和调用其他服务的接口
chat *ChatComp //俩天系统定时任务
//season *SeasonPagoda
- forum *ForumComp
- arena *ArenaComp
+ forum *ForumComp
+ arena *ArenaComp
+ parkour *ParkourComp
}
//模块名
@@ -58,6 +61,29 @@ func (this *Timer) OnInstallComp() {
this.chat = this.RegisterComp(new(ChatComp)).(*ChatComp)
//this.season = this.RegisterComp(new(SeasonPagoda)).(*SeasonPagoda)
this.arena = this.RegisterComp(new(ArenaComp)).(*ArenaComp)
+ this.parkour = this.RegisterComp(new(ParkourComp)).(*ParkourComp)
+}
+
+//跨服对象获取数据操作对象
+func (this *Timer) getDBModelByUid(uid, tableName string) (model *db.DBModel, err error) {
+ var (
+ stag string
+ conn *db.DBConn
+ )
+ if stag, err = comm.UidToSTag(uid); err != nil {
+ return
+ }
+ if stag == this.service.GetTag() {
+ if conn, err = db.Local(); err != nil {
+ return
+ }
+ } else {
+ if conn, err = db.ServerDBConn(stag); err != nil {
+ return
+ }
+ }
+ model = db.NewDBModel(tableName, time.Hour, conn)
+ return
}
//日志
diff --git a/modules/timer/parkour.go b/modules/timer/parkour.go
index 91bc463e2..3a479595a 100644
--- a/modules/timer/parkour.go
+++ b/modules/timer/parkour.go
@@ -12,6 +12,11 @@ import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/cron"
+ "go_dreamfactory/lego/sys/log"
+
+ "go.mongodb.org/mongo-driver/bson"
+ "go.mongodb.org/mongo-driver/mongo"
+ "go.mongodb.org/mongo-driver/mongo/options"
)
/*
@@ -21,6 +26,9 @@ type ParkourComp struct {
modules.MCompConfigure
service base.IRPCXService
module *Timer
+ refresh time.Time //上一次刷新时间
+ ulock sync.RWMutex
+ users []*pb.DBRaceMember //推荐用户信息
lock sync.RWMutex
teams map[string][]*pb.DBRaceMember
total int32
@@ -39,10 +47,54 @@ func (this *ParkourComp) Init(service core.IService, module core.IModule, comp c
func (this *ParkourComp) Start() (err error) {
err = this.MCompConfigure.Start()
if db.IsCross() {
+ this.refreshlist()
this.service.RegisterFunctionName(string(comm.RPC_ParkourJoinMatch), this.join)
- if _, err = cron.AddFunc("0 59 23 ? * SAT", this.timer); err != nil {
+ this.service.RegisterFunctionName(string(comm.RPC_ParkourCancelMatch), this.cancel)
+ if _, err = cron.AddFunc("5 * * * * ?", this.timer); err != nil {
this.module.Errorf("cron.AddFunc err:%v", err)
}
+ if _, err = cron.AddFunc("1 1 * * * ?", this.refreshlist); err != nil {
+ this.module.Errorf("cron.AddFunc err:%v", err)
+ }
+ }
+ return
+}
+
+//刷新推荐列表
+func (this *ParkourComp) refreshlist() {
+ var (
+ c *mongo.Cursor
+ conn *db.DBConn
+ err error
+ )
+ if conn, err = db.Local(); err != nil {
+ return
+ }
+ if c, err = conn.Mgo.Find(core.SqlTable(comm.TableParkour), bson.M{}, options.Find().SetSort(bson.D{{"integral", -1}}).SetSkip(0).SetLimit(100)); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ result := make([]*pb.DBParkour, 0, c.RemainingBatchLength())
+ for c.Next(context.Background()) {
+ tmp := &pb.DBParkour{}
+ if err = c.Decode(tmp); err != nil {
+ log.Errorln(err)
+ } else {
+ result = append(result, tmp)
+ }
+ }
+ this.ulock.Lock()
+ this.users = this.users[:0]
+ for _, v := range result {
+ this.users = append(this.users, &pb.DBRaceMember{
+ Uid: v.Uid,
+ Mount: v.Dfmount,
+ Hp: 6,
+ Isai: true,
+ })
+ }
+
+ this.ulock.Unlock()
}
return
}
@@ -135,7 +187,228 @@ func (this *ParkourComp) join(ctx context.Context, req *pb.RPCParkourJoinMatchRe
return
}
+//加入匹配中
+func (this *ParkourComp) cancel(ctx context.Context, req *pb.RPCParkourCancelMatchReq, resp *pb.RPCParkourCancelMatchResp) (err error) {
+ this.lock.Lock()
+ delete(this.teams, req.Captainid)
+ this.lock.Unlock()
+ return
+}
+
//定时匹配处理
func (this *ParkourComp) timer() {
+ if this.total == 0 {
+ return
+ }
+ this.ulock.RLock()
+ this.ulock.RUnlock()
+ this.lock.Lock()
+ defer this.lock.Unlock()
+ var (
+ ok bool
+ err error
+ users []*pb.DBRaceMember
+ teams1 []string = make([]string, 0)
+ teams2 []string = make([]string, 0)
+ teams3 []string = make([]string, 0)
+ left int32 = this.total
+ red []string = make([]string, 0)
+ rednum int = 0
+ reduser []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
+ bule []string = make([]string, 0)
+ bulenum int = 0
+ buleuser []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
+ order bool = false
+ )
+ for k, v := range this.teams {
+ if len(v) == 1 {
+ teams1 = append(teams1, k)
+ } else if len(v) == 2 {
+ teams2 = append(teams2, k)
+ } else {
+ teams3 = append(teams3, k)
+ }
+ }
+ this.ulock.Lock()
+ users = make([]*pb.DBRaceMember, 0, len(this.users))
+ for _, v1 := range this.users {
+ ok = false
+ for _, v := range this.teams {
+ for _, v2 := range v {
+ if v1.Uid == v2.Uid {
+ ok = true
+ }
+ }
+ }
+ if !ok { //过滤掉已存在的人员
+ users = append(users, v1)
+ }
+ }
+ this.ulock.Unlock()
+ if len(users)+int(this.total) < 6 { //人员不足
+ return
+ }
+
+ var fn = func() {
+ if order {
+ //找红队
+ if rednum <= 0 && len(teams3) > 0 {
+ red = append(red, teams3[0])
+ teams3 = teams3[1:]
+ rednum = 3
+ left -= 3
+ } else if rednum <= 1 && len(teams2) > 0 {
+ red = append(red, teams2[0])
+ teams2 = teams2[1:]
+ rednum = 2
+ left -= 2
+ } else if rednum <= 2 && len(teams1) > 0 {
+ red = append(red, teams1[0])
+ teams1 = teams1[1:]
+ rednum = 1
+ left -= 1
+ }
+
+ //找蓝队
+ if bulenum <= 0 && len(teams3) > 0 {
+ bule = append(bule, teams3[0])
+ teams3 = teams3[1:]
+ bulenum = 3
+ left -= 3
+ } else if bulenum <= 1 && len(teams2) > 0 {
+ bule = append(bule, teams2[0])
+ teams2 = teams2[1:]
+ bulenum = 2
+ left -= 2
+ } else if bulenum <= 2 && len(teams1) > 0 {
+ bule = append(bule, teams1[0])
+ teams1 = teams1[1:]
+ bulenum = 1
+ left -= 1
+ }
+ } else {
+ //找蓝队
+ if bulenum <= 0 && len(teams3) > 0 {
+ bule = append(bule, teams3[0])
+ teams3 = teams3[1:]
+ bulenum = 3
+ left -= 3
+ } else if bulenum <= 1 && len(teams2) > 0 {
+ bule = append(bule, teams2[0])
+ teams2 = teams2[1:]
+ bulenum = 2
+ left -= 2
+ } else if bulenum <= 2 && len(teams1) > 0 {
+ bule = append(bule, teams1[0])
+ teams1 = teams1[1:]
+ bulenum = 1
+ left -= 1
+ }
+ //找红队
+ if rednum <= 0 && len(teams3) > 0 {
+ red = append(red, teams3[0])
+ teams3 = teams3[1:]
+ rednum = 3
+ left -= 3
+ } else if rednum <= 1 && len(teams2) > 0 {
+ red = append(red, teams2[0])
+ teams2 = teams2[1:]
+ rednum = 2
+ left -= 2
+ } else if rednum <= 2 && len(teams1) > 0 {
+ red = append(red, teams1[0])
+ teams1 = teams1[1:]
+ rednum = 1
+ left -= 1
+ }
+
+ }
+ order = !order
+ }
+ fn()
+ if (rednum < 3 || bulenum < 3) && left > 0 {
+ _lt := left
+ fn()
+ if left < _lt {
+ fn() //做多执行三次即可
+ }
+ }
+ for _, v := range red {
+ reduser = append(reduser, this.teams[v]...)
+ }
+ for _, v := range bule {
+ buleuser = append(reduser, this.teams[v]...)
+ }
+
+ if len(users)+rednum+bulenum < 6 {
+ return
+ }
+
+ //补充人员
+ if len(reduser) < 3 {
+ reduser = append(reduser, users[0:(3-len(reduser))]...)
+ users = users[(3 - len(reduser)):]
+ for _, v := range reduser[rednum:3] {
+ if v.Name == "" { //同步用户数据
+ if user, err := this.getuser(v.Uid); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ v.Name = user.Name
+ v.Avatar = user.Avatar
+ }
+ }
+ }
+ }
+ if len(buleuser) < 3 {
+ buleuser = append(buleuser, users[0:(3-len(buleuser))]...)
+ users = users[(3 - len(buleuser)):]
+ for _, v := range buleuser[bulenum:3] {
+ if v.Name == "" { //同步用户数据
+ if user, err := this.getuser(v.Uid); err != nil {
+ this.module.Errorln(err)
+ return
+ } else {
+ v.Name = user.Name
+ v.Avatar = user.Avatar
+ }
+ }
+ }
+ }
+
+ ctx, _ := context.WithTimeout(context.Background(), time.Second*2)
+ if err = this.service.RpcCall(ctx,
+ comm.Service_Worker,
+ string(comm.RPC_ParkourMatchSucc),
+ &pb.RPCParkourMatchSuccReq{Red: reduser, Bule: buleuser},
+ &pb.RPCParkourMatchSuccResp{},
+ ); err != nil {
+ this.module.Errorln(err)
+ return
+ }
+
+ for _, v := range red {
+ delete(this.teams, v)
+ }
+ for _, v := range bule {
+ delete(this.teams, v)
+ }
+ this.total -= int32(rednum)
+ this.total -= int32(bulenum)
+}
+
+// 从远程库查询用户
+func (this *ParkourComp) getuser(uid string) (user *pb.DBUser, err error) {
+ var (
+ model *db.DBModel
+ )
+ if model, err = this.module.getDBModelByUid(uid, comm.TableUser); err != nil {
+ return
+ }
+ user = &pb.DBUser{}
+ if err = model.Get(uid, user); err != nil {
+ this.module.Errorln(err)
+ }
+ return
}
diff --git a/modules/user/model_user.go b/modules/user/model_user.go
index 48f667e8a..c15118d2a 100644
--- a/modules/user/model_user.go
+++ b/modules/user/model_user.go
@@ -42,6 +42,10 @@ func (this *ModelUser) Init(service core.IService, module core.IModule, comp cor
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "name", Value: bsonx.Int32(1)}},
})
+
+ this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
+ Keys: bsonx.Doc{{Key: "logintime", Value: bsonx.Int32(1)}},
+ })
return
}
diff --git a/modules/user/module.go b/modules/user/module.go
index c920bcac8..33eb6e04c 100644
--- a/modules/user/module.go
+++ b/modules/user/module.go
@@ -353,6 +353,14 @@ func (this *User) QueryAttributeValue(uid string, attr string) (value int64) {
return int64(userEx.FriendPoint)
case comm.Moongold:
return int64(user.Moongold)
+ case comm.Talent1:
+ return int64(user.Talent1)
+ case comm.Talent2:
+ return int64(user.Talent2)
+ case comm.Talent3:
+ return int64(user.Talent3)
+ case comm.Talent4:
+ return int64(user.Talent4)
}
return
}
@@ -488,6 +496,38 @@ func (this *User) change(session comm.IUserSession, attr string, add int32) (cha
return
}
change.Ps += add
+ case comm.Talent1:
+ if add < 0 {
+ if user.Talent1+add < 0 {
+ code = pb.ErrorCode_UserTalent1NoEnough
+ return
+ }
+ }
+ change.Talent1 += add
+ case comm.Talent2:
+ if add < 0 {
+ if user.Talent2+add < 0 {
+ code = pb.ErrorCode_UserTalent2NoEnough
+ return
+ }
+ }
+ change.Talent2 += add
+ case comm.Talent3:
+ if add < 0 {
+ if user.Talent3+add < 0 {
+ code = pb.ErrorCode_UserTalent3NoEnough
+ return
+ }
+ }
+ change.Talent3 += add
+ case comm.Talent4:
+ if add < 0 {
+ if user.Talent4+add < 0 {
+ code = pb.ErrorCode_UserTalent4NoEnough
+ return
+ }
+ }
+ change.Talent4 += add
default:
err = errors.New(fmt.Sprintf("%s no supported", attr))
return
@@ -502,6 +542,7 @@ func (this *User) change(session comm.IUserSession, attr string, add int32) (cha
comm.StarCoin: change.Starcoin,
comm.ResPs: change.Ps,
comm.Moongold: change.Moongold,
+ comm.Talent1: change.Talent1,
}
//user ex
diff --git a/modules/worldtask/api_completetask.go b/modules/worldtask/api_completetask.go
index b4ab3fdff..dd339c9b0 100644
--- a/modules/worldtask/api_completetask.go
+++ b/modules/worldtask/api_completetask.go
@@ -41,6 +41,7 @@ func (this *apiComp) CompleteCondi(session comm.IUserSession, req *pb.WorldtaskC
return
}
+ myWorldtask.Uid = uid
wt := myWorldtask.CurrentTask[req.GroupId]
if m, err := this.module.service.GetModule(comm.ModuleRtask); err == nil {
iwt, ok := m.(comm.IRtask)
@@ -77,5 +78,10 @@ func (this *apiComp) CompleteCondi(session comm.IUserSession, req *pb.WorldtaskC
session.SendMsg(string(this.module.GetType()), "completecondi", rsp)
+ //结束任务
+ if curTaskConf.DeliverNpc == 0 {
+ this.module.modelWorldtask.taskFinish(session, req.GroupId, req.TaskId, myWorldtask, curTaskConf)
+ this.module.modelWorldtask.taskFinishPush(session, req.GroupId, myWorldtask, curTaskConf)
+ }
return
}
diff --git a/modules/worldtask/module.go b/modules/worldtask/module.go
index f88021989..811293ce2 100644
--- a/modules/worldtask/module.go
+++ b/modules/worldtask/module.go
@@ -72,7 +72,7 @@ func (this *Worldtask) TaskCondFinishNotify(session comm.IUserSession, condId in
if v == condId {
//校验任务是否是当前任务
if task, ok := userTask.CurrentTask[c.Group]; ok {
- if task.NpcStatus == 1 && c.Key == task.TaskId{
+ if task.NpcStatus == 1 && c.Key == task.TaskId {
finishedTaskIds[c.Group] = c.Key
groupId = c.Group
taskId = c.Key
@@ -141,81 +141,72 @@ func (this *Worldtask) GetMyWorldtask(uid string) *pb.DBWorldtask {
return wt
}
-func (this *Worldtask) BingoAllTask(session comm.IUserSession) error {
- // uid := session.GetUserId()
- // mytask := &pb.DBWorldtask{Uid: uid}
-
- // tasklist := this.worldtaskConf.GetDataList()
-
- // for _, conf := range tasklist {
- // //世界任务配置
- // wt := &pb.Worldtask{
- // TaskId: conf.Key,
- // TaskType: conf.Des,
- // }
- // mytask.TaskList = append(mytask.TaskList, wt)
- // }
-
- // if err := this.modelWorldtask.Add(uid, mytask); err != nil {
- // return err
- // }
-
- // rsp := &pb.WorldtaskFinishIdsPush{
- // TaskList: mytask.TaskList,
- // }
-
- return nil //session.SendMsg(string(this.GetType()), "finishids", rsp)
-}
-
// bingo世界任务跳跃 支持回退
func (this *Worldtask) BingoJumpTask(session comm.IUserSession, groupId, taskId int32) error {
- // uid := session.GetUserId()
- // mytask, err := this.modelWorldtask.getWorldtask(uid)
- // if err != nil {
- // return err
- // }
- // mytask.Uid = uid
- // // 更新数据
- // update := map[string]interface{}{}
+ uid := session.GetUserId()
- // taskConf := this.worldtaskConf.GetDataMap()[taskId]
- // if taskConf == nil {
- // return fmt.Errorf("taskId: %v config is nil", taskId)
- // }
+ mytask, err := this.modelWorldtask.getWorldtask(uid)
+ if err != nil {
+ return err
+ }
- // //重置taskList
- // mytask.TaskList = []*pb.Worldtask{}
+ if mytask == nil {
+ mytask = &pb.DBWorldtask{}
+ mytask.Uid = uid
+ if err := this.modelWorldtask.Add(uid, mytask); err != nil {
+ this.Error("添加世界任务失败", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err})
+ return err
+ }
+ }
- // //遍历
- // if taskConf.Ontxe != 0 && taskConf.IdAfter != 0 {
- // for _, v := range this.worldtaskConf.GetDataList() {
- // if v.Group == groupId && v.Key <= taskId {
- // wt := &pb.Worldtask{
- // TaskId: v.Key,
- // TaskType: v.Des,
- // }
- // mytask.TaskList = append(mytask.TaskList, wt)
- // }
+ if _, ok := utils.Findx(mytask.TaskList, taskId); ok {
+ this.Error("GM 任务已完成", log.Field{Key: "taskId", Value: taskId})
+ return comm.NewCustomError(pb.ErrorCode_WorldtaskFinihed)
+ }
- // }
- // } else {
- // wt := &pb.Worldtask{
- // TaskId: taskId,
- // TaskType: taskConf.Des,
- // }
- // mytask.TaskList = append(mytask.TaskList, wt)
- // }
- // update = map[string]interface{}{
- // "taskList": mytask.TaskList,
- // }
+ taskConf := this.worldtaskConf.GetDataMap()[taskId]
+ if taskConf == nil {
+ return comm.NewCustomError(pb.ErrorCode_ConfigNoFound)
+ }
- // if err := this.modelWorldtask.Change(uid, update); err != nil {
- // return err
- // }
+ //重置taskList
+ mytask.TaskList = []int32{}
- // rsp := &pb.WorldtaskFinishIdsPush{
- // TaskList: mytask.TaskList,
- // }
+ //遍历
+ if taskConf.Ontxe != 0 && taskConf.IdAfter != 0 {
+ for _, v := range this.worldtaskConf.GetDataList() {
+ if v.Group == groupId && v.Key <= taskId && v.Des == 2 { //只做主线的des=2
+ mytask.TaskList = append(mytask.TaskList, v.Key)
+ }
+ }
+ } else {
+ mytask.TaskList = append(mytask.TaskList, taskId)
+ }
- return nil //session.SendMsg(string(this.GetType()), "finishids", rsp)
+ update := map[string]interface{}{
+ "taskList": mytask.TaskList,
+ }
+
+ //当前任务
+ nextTaskIds := this.modelWorldtask.findNextTasks(taskId)
+
+ if mytask.CurrentTask == nil {
+ mytask.CurrentTask = make(map[int32]*pb.Worldtask)
+ }
+
+ if len(nextTaskIds) == 1 {
+ mytask.CurrentTask[groupId] = &pb.Worldtask{
+ TaskId: nextTaskIds[0],
+ TaskType: 2, //设置主线类型
+ }
+ update["currentTask"] = mytask.CurrentTask
+ }
+
+ if err := this.modelWorldtask.Change(uid, update); err != nil {
+ return err
+ }
+
+ rsp := &pb.WorldtaskFinishIdsPush{}
+
+ return session.SendMsg(string(this.GetType()), "finishids", rsp)
}
diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go
index 318787427..dcce3f80c 100644
--- a/pb/errorcode.pb.go
+++ b/pb/errorcode.pb.go
@@ -77,6 +77,10 @@ const (
ErrorCode_UserSign ErrorCode = 1022 //签到状态不对
ErrorCode_OpenCondErr ErrorCode = 1023 //功能开启条件未达到
ErrorCode_OpenCondActivate ErrorCode = 1024 //功能开启条件已激活
+ ErrorCode_UserTalent1NoEnough ErrorCode = 1025 //阵营1天赋点
+ ErrorCode_UserTalent2NoEnough ErrorCode = 1026 //阵营2天赋点
+ ErrorCode_UserTalent3NoEnough ErrorCode = 1027 //阵营3天赋点
+ ErrorCode_UserTalent4NoEnough ErrorCode = 1028 //阵营4天赋点
// friend
ErrorCode_FriendNotSelf ErrorCode = 1100 //不能是自己
ErrorCode_FriendSelfMax ErrorCode = 1101 //超出好友最大数量
@@ -366,8 +370,12 @@ const (
ErrorCode_PracticeYouQiecuoing ErrorCode = 4305 //你有切磋未完成
ErrorCode_PracticeTargetQiecuoing ErrorCode = 4306 //目标正在切磋中
//parkour
- ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满
- ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期
+ ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满
+ ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期
+ ErrorCode_ParkourInviteNoPermissions ErrorCode = 4403 //无权邀请
+ ErrorCode_ParkourTargetTeamed ErrorCode = 4404 //目标已组队
+ //reputation
+ ErrorCode_ReputationTalentFull ErrorCode = 4501 //天赋满级
)
// Enum value maps for ErrorCode.
@@ -425,6 +433,10 @@ var (
1022: "UserSign",
1023: "OpenCondErr",
1024: "OpenCondActivate",
+ 1025: "UserTalent1NoEnough",
+ 1026: "UserTalent2NoEnough",
+ 1027: "UserTalent3NoEnough",
+ 1028: "UserTalent4NoEnough",
1100: "FriendNotSelf",
1101: "FriendSelfMax",
1102: "FriendTargetMax",
@@ -683,6 +695,9 @@ var (
4306: "PracticeTargetQiecuoing",
4401: "ParkourMemberFull",
4402: "ParkourInviteOverdue",
+ 4403: "ParkourInviteNoPermissions",
+ 4404: "ParkourTargetTeamed",
+ 4501: "ReputationTalentFull",
}
ErrorCode_value = map[string]int32{
"Success": 0,
@@ -737,6 +752,10 @@ var (
"UserSign": 1022,
"OpenCondErr": 1023,
"OpenCondActivate": 1024,
+ "UserTalent1NoEnough": 1025,
+ "UserTalent2NoEnough": 1026,
+ "UserTalent3NoEnough": 1027,
+ "UserTalent4NoEnough": 1028,
"FriendNotSelf": 1100,
"FriendSelfMax": 1101,
"FriendTargetMax": 1102,
@@ -995,6 +1014,9 @@ var (
"PracticeTargetQiecuoing": 4306,
"ParkourMemberFull": 4401,
"ParkourInviteOverdue": 4402,
+ "ParkourInviteNoPermissions": 4403,
+ "ParkourTargetTeamed": 4404,
+ "ReputationTalentFull": 4501,
}
)
@@ -1029,7 +1051,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2a, 0xc2, 0x38, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
+ 0x6f, 0x2a, 0xa8, 0x38, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
@@ -1095,163 +1117,171 @@ var file_errorcode_proto_rawDesc = []byte{
0x08, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xfe, 0x07, 0x12, 0x10, 0x0a, 0x0b,
0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x10, 0xff, 0x07, 0x12, 0x15,
0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
- 0x74, 0x65, 0x10, 0x80, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e,
- 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69,
- 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a,
- 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78,
- 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c,
- 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72,
- 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61,
- 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74,
- 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70,
- 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65,
- 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3,
- 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65,
- 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10,
- 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72,
- 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61,
- 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65,
- 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74,
- 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61,
- 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
- 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12,
- 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10,
- 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e,
- 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69,
- 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08,
- 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f,
- 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72,
- 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
- 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10,
- 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63,
- 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65,
- 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b,
- 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63,
- 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12,
- 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10,
- 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75,
- 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65,
- 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2,
- 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d,
- 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14,
- 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f,
- 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73,
- 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12,
- 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70,
- 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65,
- 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c,
- 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12,
- 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12,
- 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
- 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b,
- 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72, 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48,
- 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a,
- 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e,
- 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f,
- 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a,
- 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79,
- 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69,
- 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65,
- 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f,
- 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12,
- 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10,
- 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79,
- 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f,
- 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10, 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65,
- 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e,
- 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6,
- 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45,
- 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61,
- 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72,
- 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a,
- 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74,
- 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f,
- 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a,
- 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67,
- 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48,
- 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a,
- 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
- 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65,
- 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65,
- 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65,
- 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64,
- 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
- 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa, 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75,
- 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10,
- 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53,
- 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12,
- 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69,
- 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10,
- 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
- 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e,
- 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61,
- 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e,
- 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
- 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12,
- 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
- 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14,
- 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68,
- 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49,
- 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
- 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61,
- 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52,
- 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61,
- 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12,
- 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66,
- 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41,
- 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c,
- 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
- 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e,
- 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b,
- 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54,
- 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a,
- 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c,
- 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53,
- 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4, 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f,
- 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c, 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
- 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45,
- 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e,
- 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61,
- 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c, 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17,
- 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
- 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64,
- 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e,
- 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
- 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61,
- 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f,
- 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49,
- 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69,
- 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2,
- 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c,
- 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a,
- 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61,
- 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4, 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72,
- 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52,
- 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f, 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72,
- 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
- 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b,
- 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52,
- 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12,
- 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
- 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f,
- 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73,
- 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10,
- 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
- 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64,
- 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52,
- 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11,
- 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f,
- 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11, 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69,
- 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69,
- 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12,
- 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43,
- 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12, 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e,
- 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75,
- 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e,
- 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1,
+ 0x74, 0x65, 0x10, 0x80, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c,
+ 0x65, 0x6e, 0x74, 0x31, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x81, 0x08, 0x12,
+ 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x4e, 0x6f,
+ 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x82, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65,
+ 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68,
+ 0x10, 0x83, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e,
+ 0x74, 0x34, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x84, 0x08, 0x12, 0x12, 0x0a,
+ 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc,
+ 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d,
+ 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10,
+ 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08,
+ 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c,
+ 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65,
+ 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70,
+ 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08,
+ 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
+ 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x10, 0x0a, 0x0b,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x65, 0x64, 0x10, 0xd8, 0x08, 0x12, 0x16,
+ 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5a, 0x61, 0x6e, 0x72, 0x65, 0x63, 0x65, 0x69,
+ 0x76, 0x65, 0x64, 0x10, 0xd9, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x5a, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xda, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xdb,
+ 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x72, 0x65, 0x63,
+ 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xdc, 0x08, 0x12, 0x18, 0x0a, 0x13, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10,
+ 0xdd, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63,
+ 0x75, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x10, 0xde, 0x08, 0x12, 0x1a,
+ 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x4e, 0x6f,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0xdf, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xe0, 0x08,
+ 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f,
+ 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6b, 0x10, 0xe1, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f,
+ 0x75, 0x67, 0x68, 0x10, 0xe2, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e,
+ 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74,
+ 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1,
+ 0x09, 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75,
+ 0x6d, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65,
+ 0x6d, 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65,
+ 0x72, 0x10, 0xb3, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65,
+ 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x10, 0xb4, 0x09, 0x12,
+ 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x6f, 0x43, 0x61, 0x6e,
+ 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xb5, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73,
+ 0x42, 0x75, 0x79, 0x50, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10,
+ 0xb6, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73,
+ 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e,
+ 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d,
+ 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49,
+ 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48,
+ 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x13,
+ 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x45, 0x72, 0x72,
+ 0x10, 0x99, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x52, 0x65,
+ 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9a, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72,
+ 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9b, 0x0a, 0x12, 0x18,
+ 0x0a, 0x13, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73,
+ 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f,
+ 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48,
+ 0x65, 0x72, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f,
+ 0x48, 0x65, 0x72, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10,
+ 0x9f, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61,
+ 0x6b, 0x65, 0x6e, 0x10, 0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73,
+ 0x4c, 0x6f, 0x63, 0x6b, 0x10, 0xa1, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4d,
+ 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xa2, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65,
+ 0x72, 0x6f, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa3, 0x0a,
+ 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x45, 0x72, 0x72, 0x10,
+ 0xa4, 0x0a, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72,
+ 0x72, 0x10, 0xa5, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x54,
+ 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0xa6, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72,
+ 0x6f, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x10, 0xa7, 0x0a, 0x12, 0x12, 0x0a,
+ 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x61, 0x72, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10, 0xa8,
+ 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x74, 0x61, 0x72,
+ 0x4c, 0x76, 0x10, 0xa9, 0x0a, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x72, 0x61, 0x77, 0x43, 0x61, 0x72,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xaa, 0x0a,
+ 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x4c, 0x76, 0x10, 0xab, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x6c, 0x72,
+ 0x65, 0x61, 0x64, 0x79, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x10, 0xac, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x76, 0x4e, 0x6f, 0x45,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xad, 0x0a, 0x12, 0x13, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f,
+ 0x49, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0xae, 0x0a, 0x12, 0x1e, 0x0a,
+ 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e,
+ 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a,
+ 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69,
+ 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x45,
+ 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x73, 0x57, 0x6f, 0x72, 0x6e, 0x10, 0xfa,
+ 0x0a, 0x12, 0x17, 0x0a, 0x12, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f,
+ 0x43, 0x61, 0x6e, 0x53, 0x65, 0x6c, 0x6c, 0x10, 0xfb, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x46,
+ 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xfc, 0x0a, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x12, 0x15, 0x0a, 0x10, 0x4d,
+ 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10,
+ 0xde, 0x0b, 0x12, 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72,
+ 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xdf, 0x0b, 0x12, 0x19, 0x0a, 0x14,
+ 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x10, 0xe0, 0x0b, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x10, 0xe1, 0x0b, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x53, 0x74, 0x61, 0x72, 0x10, 0xe2, 0x0b, 0x12,
+ 0x0d, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc0, 0x0c, 0x12, 0x0e,
+ 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x10, 0xc1, 0x0c, 0x12, 0x0f,
+ 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x10, 0xc2, 0x0c, 0x12,
+ 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10,
+ 0xc3, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x49, 0x6e, 0x69, 0x74, 0x10, 0xc4, 0x0c, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xc5, 0x0c, 0x12,
+ 0x17, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x65,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xc6, 0x0c, 0x12, 0x13, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b,
+ 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc7, 0x0c, 0x12, 0x11, 0x0a,
+ 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xc8, 0x0c,
+ 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x61, 0x67, 0x45, 0x6d, 0x70, 0x74, 0x79,
+ 0x10, 0xc9, 0x0c, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x10, 0xca, 0x0c, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74,
+ 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xcb, 0x0c, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70,
+ 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x73, 0x53, 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0xa4,
+ 0x0d, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x70, 0x4e, 0x6f, 0x53, 0x75, 0x72, 0x70, 0x6c,
+ 0x75, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x10, 0xa5, 0x0d, 0x12,
+ 0x0c, 0x0a, 0x07, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x72, 0x72, 0x10, 0x88, 0x0e, 0x12, 0x13, 0x0a,
+ 0x0e, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10,
+ 0xec, 0x0e, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x4c, 0x65, 0x76, 0x6c,
+ 0x45, 0x72, 0x72, 0x10, 0xed, 0x0e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61,
+ 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x72, 0x72, 0x10, 0xee, 0x0e, 0x12,
+ 0x17, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x10, 0xef, 0x0e, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x61, 0x67, 0x6f,
+ 0x64, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xf0, 0x0e, 0x12, 0x1b, 0x0a, 0x16, 0x4d,
+ 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x55, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd0, 0x0f, 0x12, 0x15, 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x74,
+ 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x10, 0xd1, 0x0f, 0x12,
+ 0x18, 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x55, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0xd2, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72,
+ 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x65, 0x64, 0x10, 0xd3, 0x0f, 0x12, 0x1a, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
+ 0x68, 0x61, 0x6c, 0x6c, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd4,
+ 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x68, 0x61, 0x6c, 0x6c,
+ 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xd5, 0x0f,
+ 0x12, 0x19, 0x0a, 0x14, 0x47, 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x4d, 0x6f, 0x72, 0x65, 0x4f,
+ 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xb5, 0x10, 0x12, 0x16, 0x0a, 0x11, 0x47,
+ 0x6f, 0x75, 0x72, 0x6d, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x4c, 0x76,
+ 0x10, 0xb6, 0x10, 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x10, 0x99, 0x11, 0x12, 0x14, 0x0a, 0x0f, 0x52, 0x74, 0x61, 0x73, 0x6b,
+ 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x9a, 0x11, 0x12, 0x11, 0x0a,
+ 0x0c, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x9b, 0x11,
+ 0x12, 0x12, 0x0a, 0x0d, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65,
+ 0x64, 0x10, 0x9c, 0x11, 0x12, 0x15, 0x0a, 0x10, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x65,
+ 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0x9d, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52,
+ 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68,
+ 0x10, 0x9e, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x52, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x4c, 0x61,
+ 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x10, 0x9f, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x52, 0x74, 0x61, 0x73,
+ 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xa0, 0x11,
+ 0x12, 0x10, 0x0a, 0x0b, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x10,
+ 0xfd, 0x11, 0x12, 0x13, 0x0a, 0x0e, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6f, 0x73,
+ 0x54, 0x79, 0x70, 0x65, 0x10, 0xfe, 0x11, 0x12, 0x16, 0x0a, 0x11, 0x56, 0x69, 0x6b, 0x69, 0x6e,
+ 0x67, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xff, 0x11, 0x12,
+ 0x1c, 0x0a, 0x17, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x80, 0x12, 0x12, 0x1a, 0x0a,
+ 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x48, 0x61, 0x73, 0x45,
+ 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xe1, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f,
+ 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2,
0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79,
0x4a, 0x6f, 0x69, 0x6e, 0x55, 0x70, 0x10, 0xe2, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x6f, 0x6f,
0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x44, 0x61, 0x72, 0x65, 0x55, 0x70, 0x10, 0xe3,
@@ -1299,190 +1329,188 @@ var file_errorcode_proto_rawDesc = []byte{
0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75,
0x6e, 0x64, 0x10, 0xf6, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x50, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
- 0x64, 0x10, 0xf7, 0x15, 0x12, 0x18, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x47,
- 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xf8, 0x15, 0x12, 0x1b,
- 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42,
- 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a,
- 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69,
- 0x6c, 0x65, 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
- 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12,
- 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10,
- 0xd9, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73,
- 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10,
- 0xda, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65,
- 0x65, 0x70, 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
- 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f,
- 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a,
- 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e,
- 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f,
- 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17,
- 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67,
- 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
- 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f,
- 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12,
- 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf,
- 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x67, 0x72, 0x65,
- 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52,
- 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69,
- 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12,
- 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72,
- 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63,
- 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4,
- 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74,
- 0x69, 0x6e, 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
- 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10, 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b,
- 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12,
- 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10,
- 0xc8, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c,
- 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61,
- 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a,
- 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74,
- 0x69, 0x6e, 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
- 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69,
- 0x74, 0x10, 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52,
- 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17,
- 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
- 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53,
- 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf,
- 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f,
- 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
- 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15,
- 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45,
- 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69,
- 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x10, 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41,
- 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10,
- 0xd5, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69,
- 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12,
- 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73,
- 0x73, 0x65, 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
- 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a,
- 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c,
- 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69,
- 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xda, 0x17, 0x12, 0x17,
- 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61,
- 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67,
- 0x68, 0x10, 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53,
- 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69, 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15,
- 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45,
- 0x6e, 0x64, 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
- 0x54, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a,
- 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f,
- 0x75, 0x6e, 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
- 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10,
- 0xe1, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73,
- 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10,
- 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70,
- 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b,
- 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17,
- 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63,
- 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e,
- 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12,
- 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61,
- 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c,
- 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15,
- 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61,
- 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75,
- 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c,
- 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72,
- 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10,
- 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74,
- 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72,
- 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72,
- 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70,
- 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12,
- 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74,
- 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72,
- 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10,
- 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52,
- 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56,
- 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c,
- 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12,
- 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10,
- 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65,
- 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77,
- 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92,
- 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f,
- 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61,
- 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c,
- 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70,
- 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c,
- 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19,
- 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74,
- 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72,
- 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb,
- 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f,
- 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57,
- 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10,
- 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c,
- 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d,
- 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f,
- 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65, 0x10, 0xdf, 0x1d, 0x12, 0x1f, 0x0a,
- 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65,
- 0x72, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe0, 0x1d, 0x12, 0x1d,
- 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74,
- 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xe1, 0x1d, 0x12, 0x17, 0x0a,
- 0x12, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x63,
- 0x65, 0x73, 0x73, 0x10, 0xe2, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d,
- 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54,
- 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61,
- 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a,
- 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
- 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6d, 0x69, 0x74, 0x68,
- 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x65, 0x6c, 0x10, 0x85, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d,
- 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72,
- 0x65, 0x10, 0x86, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x53, 0x74,
- 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x87, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53,
- 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x6d,
- 0x69, 0x74, 0x10, 0x88, 0x20, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43,
- 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4e, 0x6f, 0x45, 0x6e,
- 0x6f, 0x75, 0x67, 0x68, 0x10, 0x89, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68,
- 0x79, 0x4d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10,
- 0x8a, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x61, 0x63, 0x6b,
- 0x4c, 0x61, 0x76, 0x61, 0x10, 0x8b, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68,
- 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x8c, 0x20, 0x12, 0x16,
- 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4c, 0x61, 0x63,
- 0x6b, 0x4c, 0x76, 0x10, 0x8d, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
- 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0x8e,
- 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52,
- 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0x8f, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d,
- 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x74, 0x6c, 0x61, 0x73,
- 0x10, 0x90, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x41,
- 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x91, 0x20, 0x12,
- 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73,
- 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x92, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69,
- 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x50, 0x72, 0x65, 0x10, 0x93, 0x20,
- 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x54,
- 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0x94, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x44, 0x69, 0x73,
- 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68,
- 0x65, 0x64, 0x10, 0xe9, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
- 0x68, 0x4e, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x10, 0xea, 0x20, 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x69,
- 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e,
- 0x6f, 0x75, 0x67, 0x68, 0x10, 0xeb, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61,
- 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10,
- 0xec, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61,
- 0x73, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0xed, 0x20, 0x12, 0x17, 0x0a, 0x12,
- 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d,
- 0x61, 0x78, 0x10, 0xee, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
- 0x68, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xef, 0x20, 0x12, 0x19,
- 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f,
- 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf0, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x61,
- 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xcd,
- 0x21, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e,
- 0x74, 0x10, 0xce, 0x21, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
- 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x75, 0x74, 0x10, 0xcf, 0x21,
- 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c,
- 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72,
- 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69,
- 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
- 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67,
- 0x10, 0xd2, 0x21, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x65,
- 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0xb1, 0x22, 0x12, 0x19, 0x0a, 0x14, 0x50,
- 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72,
- 0x64, 0x75, 0x65, 0x10, 0xb2, 0x22, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x64, 0x10, 0xf7, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5,
+ 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e,
+ 0x10, 0xd6, 0x16, 0x12, 0x17, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd7, 0x16, 0x12, 0x16, 0x0a, 0x11,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x65,
+ 0x64, 0x10, 0xd8, 0x16, 0x12, 0x12, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x73,
+ 0x65, 0x72, 0x4f, 0x66, 0x66, 0x10, 0xd9, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x43, 0x61, 0x70, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46,
+ 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xda, 0x16, 0x12, 0x11, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x10, 0xdb, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17,
+ 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64,
+ 0x10, 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69,
+ 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17,
+ 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d,
+ 0x62, 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
+ 0x79, 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17,
+ 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69,
+ 0x73, 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
+ 0x51, 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x15,
+ 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x10, 0xc2, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
+ 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xc3, 0x17, 0x12,
+ 0x16, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xc4, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xc5, 0x17, 0x12, 0x14, 0x0a, 0x0f,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, 0x65, 0x10,
+ 0xc6, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67,
+ 0x6e, 0x10, 0xc7, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53,
+ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc8, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xc9, 0x17, 0x12, 0x14, 0x0a,
+ 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78,
+ 0x10, 0xca, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65,
+ 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xcb, 0x17, 0x12, 0x1c, 0x0a, 0x17,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0xcc, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69,
+ 0x76, 0x65, 0x64, 0x10, 0xcd, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74,
+ 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce,
+ 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x10, 0xcf, 0x17, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x74, 0x79, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xd1, 0x17, 0x12, 0x13, 0x0a,
+ 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10,
+ 0xd2, 0x17, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70,
+ 0x79, 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd3, 0x17, 0x12, 0x1a,
+ 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xd4, 0x17, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xd5, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69,
+ 0x76, 0x65, 0x10, 0xd6, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
+ 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xd7, 0x17, 0x12, 0x15, 0x0a, 0x10,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74,
+ 0x10, 0xd8, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75,
+ 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, 0xd9, 0x17, 0x12, 0x14,
+ 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65,
+ 0x72, 0x10, 0xda, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e,
+ 0x6f, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xdb, 0x17, 0x12, 0x1b, 0x0a,
+ 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4e,
+ 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xdc, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4e, 0x6f, 0x69, 0x6e, 0x69,
+ 0x74, 0x10, 0xdd, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53,
+ 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x64, 0x10, 0xde, 0x17, 0x12, 0x16, 0x0a, 0x11, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x10, 0xdf, 0x17, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61,
+ 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xe0, 0x17, 0x12, 0x1a, 0x0a, 0x15,
+ 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x10, 0xe1, 0x17, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10,
+ 0xe2, 0x17, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65,
+ 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65,
+ 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67,
+ 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63,
+ 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a,
+ 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61,
+ 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45,
+ 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c,
+ 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65,
+ 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a,
+ 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19,
+ 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19,
+ 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f,
+ 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64,
+ 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f,
+ 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a,
+ 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76,
+ 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae,
+ 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10,
+ 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72,
+ 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77,
+ 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17,
+ 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63,
+ 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75,
+ 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c,
+ 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65,
+ 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x4f, 0x72, 0x64,
+ 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x10, 0xf7, 0x1c, 0x12, 0x14,
+ 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73,
+ 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12,
+ 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64,
+ 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc,
+ 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69,
+ 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c,
+ 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1b, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74,
+ 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4e, 0x6f, 0x73, 0x61, 0x6d, 0x65,
+ 0x10, 0xdf, 0x1d, 0x12, 0x1f, 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b,
+ 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x10, 0xe0, 0x1d, 0x12, 0x1d, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73,
+ 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64,
+ 0x10, 0xe1, 0x1d, 0x12, 0x17, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b,
+ 0x4e, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x10, 0xe2, 0x1d, 0x12, 0x1e, 0x0a, 0x19,
+ 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d,
+ 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x12, 0x15, 0x0a, 0x10,
+ 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61,
+ 0x10, 0xa1, 0x1f, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x72, 0x72, 0x10, 0xa2, 0x1f, 0x12, 0x11, 0x0a,
+ 0x0c, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x52, 0x65, 0x65, 0x6c, 0x10, 0x85, 0x20,
+ 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x54, 0x65, 0x6d, 0x70,
+ 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x86, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x53, 0x6d,
+ 0x69, 0x74, 0x68, 0x79, 0x53, 0x74, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x87,
+ 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x88, 0x20, 0x12, 0x20, 0x0a, 0x1b, 0x53,
+ 0x6d, 0x69, 0x74, 0x68, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x71, 0x75,
+ 0x69, 0x70, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x89, 0x20, 0x12, 0x19, 0x0a,
+ 0x14, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4d, 0x61, 0x78, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 0x10, 0x8a, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6d, 0x69, 0x74,
+ 0x68, 0x79, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x76, 0x61, 0x10, 0x8b, 0x20, 0x12, 0x15, 0x0a,
+ 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x4d, 0x61, 0x78, 0x4c,
+ 0x76, 0x10, 0x8c, 0x20, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x41, 0x74,
+ 0x6c, 0x61, 0x73, 0x4c, 0x61, 0x63, 0x6b, 0x4c, 0x76, 0x10, 0x8d, 0x20, 0x12, 0x19, 0x0a, 0x14,
+ 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x10, 0x8e, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68,
+ 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0x8f, 0x20,
+ 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e,
+ 0x64, 0x41, 0x74, 0x6c, 0x61, 0x73, 0x10, 0x90, 0x20, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x6d, 0x69,
+ 0x74, 0x68, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x74, 0x6c,
+ 0x61, 0x73, 0x10, 0x91, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c,
+ 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x92, 0x20, 0x12,
+ 0x15, 0x0a, 0x10, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79, 0x4c, 0x76, 0x54, 0x6f, 0x6f, 0x6c, 0x73,
+ 0x50, 0x72, 0x65, 0x10, 0x93, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x6d, 0x69, 0x74, 0x68, 0x79,
+ 0x41, 0x74, 0x6c, 0x61, 0x73, 0x54, 0x79, 0x70, 0x65, 0x45, 0x72, 0x72, 0x10, 0x94, 0x20, 0x12,
+ 0x1a, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x4e,
+ 0x6f, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xe9, 0x20, 0x12, 0x13, 0x0a, 0x0e, 0x44,
+ 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x72, 0x65, 0x65, 0x10, 0xea, 0x20,
+ 0x12, 0x1b, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b,
+ 0x65, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xeb, 0x20, 0x12, 0x19, 0x0a,
+ 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x73, 0x73,
+ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xec, 0x20, 0x12, 0x18, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x70,
+ 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10,
+ 0xed, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x78, 0x10, 0xee, 0x20, 0x12, 0x17, 0x0a, 0x12, 0x44,
+ 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x10, 0xef, 0x20, 0x12, 0x19, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
+ 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf0, 0x20, 0x12,
+ 0x16, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75,
+ 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xcd, 0x21, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x72, 0x61, 0x63, 0x74,
+ 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x10, 0xce, 0x21, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x4f, 0x75, 0x74, 0x10, 0xcf, 0x21, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
+ 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0xd0, 0x21,
+ 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51,
+ 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50,
+ 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65,
+ 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd2, 0x21, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x72,
+ 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0xb1,
+ 0x22, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, 0x65, 0x10, 0xb2, 0x22, 0x42, 0x06, 0x5a, 0x04,
+ 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/pb/parkour_db.pb.go b/pb/parkour_db.pb.go
index 3506a730a..ba17532d7 100644
--- a/pb/parkour_db.pb.go
+++ b/pb/parkour_db.pb.go
@@ -70,22 +70,25 @@ func (RaceType) EnumDescriptor() ([]byte, []int) {
type RaceTeamState int32
const (
- RaceTeamState_teaming RaceTeamState = 0 //组队中
- RaceTeamState_matching RaceTeamState = 1 //匹配中
- RaceTeamState_raceing RaceTeamState = 2 //比赛中
+ RaceTeamState_resting RaceTeamState = 0 //休息中
+ RaceTeamState_teaming RaceTeamState = 1 //组队中
+ RaceTeamState_matching RaceTeamState = 2 //匹配中
+ RaceTeamState_raceing RaceTeamState = 3 //比赛中
)
// Enum value maps for RaceTeamState.
var (
RaceTeamState_name = map[int32]string{
- 0: "teaming",
- 1: "matching",
- 2: "raceing",
+ 0: "resting",
+ 1: "teaming",
+ 2: "matching",
+ 3: "raceing",
}
RaceTeamState_value = map[string]int32{
- "teaming": 0,
- "matching": 1,
- "raceing": 2,
+ "resting": 0,
+ "teaming": 1,
+ "matching": 2,
+ "raceing": 3,
}
)
@@ -124,12 +127,14 @@ type DBRaceMember struct {
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称
- Mount string `protobuf:"bytes,3,opt,name=mount,proto3" json:"mount"` //上阵坐骑
- Hp int32 `protobuf:"varint,4,opt,name=hp,proto3" json:"hp"` //初始血量
- Innermost int32 `protobuf:"varint,5,opt,name=innermost,proto3" json:"innermost"` //里程数
- Ready bool `protobuf:"varint,6,opt,name=ready,proto3" json:"ready"` //是否准备
- Isai bool `protobuf:"varint,7,opt,name=isai,proto3" json:"isai"` //是否是ai
- Isoff bool `protobuf:"varint,8,opt,name=isoff,proto3" json:"isoff"` //是否离线
+ Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"` //用户头像
+ Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv"` //等级
+ Mount string `protobuf:"bytes,5,opt,name=mount,proto3" json:"mount"` //上阵坐骑
+ Hp int32 `protobuf:"varint,6,opt,name=hp,proto3" json:"hp"` //初始血量
+ Innermost int32 `protobuf:"varint,7,opt,name=innermost,proto3" json:"innermost"` //里程数
+ Ready bool `protobuf:"varint,8,opt,name=ready,proto3" json:"ready"` //是否准备
+ Isai bool `protobuf:"varint,9,opt,name=isai,proto3" json:"isai"` //是否是ai
+ Isoff bool `protobuf:"varint,10,opt,name=isoff,proto3" json:"isoff"` //是否离线
}
func (x *DBRaceMember) Reset() {
@@ -178,6 +183,20 @@ func (x *DBRaceMember) GetName() string {
return ""
}
+func (x *DBRaceMember) GetAvatar() string {
+ if x != nil {
+ return x.Avatar
+ }
+ return ""
+}
+
+func (x *DBRaceMember) GetLv() int32 {
+ if x != nil {
+ return x.Lv
+ }
+ return 0
+}
+
func (x *DBRaceMember) GetMount() string {
if x != nil {
return x.Mount
@@ -227,7 +246,9 @@ type DBRaceInvite struct {
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称
- Expired int64 `protobuf:"varint,3,opt,name=expired,proto3" json:"expired"` //过期时间
+ Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar"` //用户头像
+ Lv int32 `protobuf:"varint,4,opt,name=lv,proto3" json:"lv"` //等级
+ Expired int64 `protobuf:"varint,5,opt,name=expired,proto3" json:"expired"` //过期时间
}
func (x *DBRaceInvite) Reset() {
@@ -276,6 +297,20 @@ func (x *DBRaceInvite) GetName() string {
return ""
}
+func (x *DBRaceInvite) GetAvatar() string {
+ if x != nil {
+ return x.Avatar
+ }
+ return ""
+}
+
+func (x *DBRaceInvite) GetLv() int32 {
+ if x != nil {
+ return x.Lv
+ }
+ return 0
+}
+
func (x *DBRaceInvite) GetExpired() int64 {
if x != nil {
return x.Expired
@@ -289,13 +324,16 @@ type DBParkour struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` // 队伍id
- Mounts map[string]int32 `protobuf:"bytes,2,rep,name=mounts,proto3" json:"mounts" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑列表
- Dfmount string `protobuf:"bytes,3,opt,name=dfmount,proto3" json:"dfmount"` //默认坐骑
- State RaceTeamState `protobuf:"varint,4,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态
- Captainid string `protobuf:"bytes,5,opt,name=captainid,proto3" json:"captainid"` //队长id
- Invite []*DBRaceInvite `protobuf:"bytes,6,rep,name=invite,proto3" json:"invite"` //邀请列表
- Member []*DBRaceMember `protobuf:"bytes,7,rep,name=member,proto3" json:"member"` //成员列表
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` // 队伍id
+ Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"` //用户id
+ Mounts map[string]int32 `protobuf:"bytes,3,rep,name=mounts,proto3" json:"mounts" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //坐骑列表
+ Dfmount string `protobuf:"bytes,4,opt,name=dfmount,proto3" json:"dfmount"` //默认坐骑
+ State RaceTeamState `protobuf:"varint,5,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态
+ Currbattid string `protobuf:"bytes,6,opt,name=currbattid,proto3" json:"currbattid"` //当前战斗id
+ Integral int32 `protobuf:"varint,7,opt,name=integral,proto3" json:"integral"` //积分
+ Captainid string `protobuf:"bytes,8,opt,name=captainid,proto3" json:"captainid"` //队长id 当前所在队伍
+ Invite []*DBRaceInvite `protobuf:"bytes,9,rep,name=invite,proto3" json:"invite"` //邀请列表
+ Member []*DBRaceMember `protobuf:"bytes,10,rep,name=member,proto3" json:"member"` //成员列表
}
func (x *DBParkour) Reset() {
@@ -337,6 +375,13 @@ func (x *DBParkour) GetId() string {
return ""
}
+func (x *DBParkour) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
func (x *DBParkour) GetMounts() map[string]int32 {
if x != nil {
return x.Mounts
@@ -355,7 +400,21 @@ func (x *DBParkour) GetState() RaceTeamState {
if x != nil {
return x.State
}
- return RaceTeamState_teaming
+ return RaceTeamState_resting
+}
+
+func (x *DBParkour) GetCurrbattid() string {
+ if x != nil {
+ return x.Currbattid
+ }
+ return ""
+}
+
+func (x *DBParkour) GetIntegral() int32 {
+ if x != nil {
+ return x.Integral
+ }
+ return 0
}
func (x *DBParkour) GetCaptainid() string {
@@ -479,65 +538,76 @@ var File_parkour_parkour_db_proto protoreflect.FileDescriptor
var file_parkour_parkour_db_proto_rawDesc = []byte{
0x0a, 0x18, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75,
- 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x0c, 0x44,
+ 0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x0c, 0x44,
0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 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, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72,
- 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65,
- 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x06,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69,
- 0x73, 0x61, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12,
- 0x14, 0x0a, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
- 0x69, 0x73, 0x6f, 0x66, 0x66, 0x22, 0x4e, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49,
- 0x6e, 0x76, 0x69, 0x74, 0x65, 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, 0x18, 0x0a, 0x07, 0x65,
- 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78,
- 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12,
+ 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a,
+ 0x05, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65,
+ 0x61, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x04, 0x69, 0x73, 0x61, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x22, 0x76, 0x0a,
+ 0x0c, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 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, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
+ 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x65,
+ 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x78,
+ 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0x80, 0x03, 0x0a, 0x09, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b,
0x6f, 0x75, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2e,
- 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x6f, 0x75,
- 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a,
- 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x52,
- 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
- 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69,
- 0x64, 0x12, 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
- 0x52, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62,
- 0x65, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63,
- 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a,
- 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 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, 0xef, 0x01, 0x0a, 0x06, 0x44,
- 0x42, 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63,
- 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b,
- 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18,
- 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74,
- 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62,
- 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a,
- 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28,
+ 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
+ 0x72, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d,
+ 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x66, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e,
+ 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62, 0x61, 0x74,
+ 0x74, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x62,
+ 0x61, 0x74, 0x74, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
+ 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
+ 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12,
+ 0x25, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x06,
+ 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x39, 0x0a,
+ 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 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, 0xef, 0x01, 0x0a, 0x06, 0x44, 0x42, 0x52,
+ 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61,
+ 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x64,
+ 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x74, 0x12, 0x2b,
+ 0x0a, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
- 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2a, 0x22, 0x0a, 0x08,
- 0x52, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69,
- 0x6e, 0x61, 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01,
- 0x2a, 0x37, 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0c,
- 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
- 0x72, 0x61, 0x63, 0x65, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
- 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x52, 0x09, 0x72, 0x65, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x0a, 0x62,
+ 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a,
+ 0x62, 0x75, 0x6c, 0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2a, 0x22, 0x0a, 0x08, 0x52, 0x61,
+ 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61,
+ 0x72, 0x79, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x10, 0x01, 0x2a, 0x44,
+ 0x0a, 0x0d, 0x52, 0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x0b, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
+ 0x74, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x61, 0x63, 0x65, 0x69,
+ 0x6e, 0x67, 0x10, 0x03, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/pb/parkour_msg.pb.go b/pb/parkour_msg.pb.go
index 46d43ac37..17393fef5 100644
--- a/pb/parkour_msg.pb.go
+++ b/pb/parkour_msg.pb.go
@@ -20,7 +20,214 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-//推送捕羊大赛用户信息改变
+//请求比赛信息
+type ParkourInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ParkourInfoReq) Reset() {
+ *x = ParkourInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourInfoReq) ProtoMessage() {}
+
+func (x *ParkourInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[0]
+ 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 ParkourInfoReq.ProtoReflect.Descriptor instead.
+func (*ParkourInfoReq) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{0}
+}
+
+//请求比赛信息请求
+type ParkourInfoResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Isopen bool `protobuf:"varint,1,opt,name=isopen,proto3" json:"isopen"` //当前赛事是否开启
+ Info *DBParkour `protobuf:"bytes,2,opt,name=info,proto3" json:"info"`
+ Recommend []*DBRaceMember `protobuf:"bytes,3,rep,name=recommend,proto3" json:"recommend"`
+}
+
+func (x *ParkourInfoResp) Reset() {
+ *x = ParkourInfoResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourInfoResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourInfoResp) ProtoMessage() {}
+
+func (x *ParkourInfoResp) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[1]
+ 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 ParkourInfoResp.ProtoReflect.Descriptor instead.
+func (*ParkourInfoResp) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ParkourInfoResp) GetIsopen() bool {
+ if x != nil {
+ return x.Isopen
+ }
+ return false
+}
+
+func (x *ParkourInfoResp) GetInfo() *DBParkour {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+func (x *ParkourInfoResp) GetRecommend() []*DBRaceMember {
+ if x != nil {
+ return x.Recommend
+ }
+ return nil
+}
+
+//变更坐骑请求
+type ParkourChangeMtsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Mtsid string `protobuf:"bytes,1,opt,name=mtsid,proto3" json:"mtsid"`
+}
+
+func (x *ParkourChangeMtsReq) Reset() {
+ *x = ParkourChangeMtsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourChangeMtsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourChangeMtsReq) ProtoMessage() {}
+
+func (x *ParkourChangeMtsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[2]
+ 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 ParkourChangeMtsReq.ProtoReflect.Descriptor instead.
+func (*ParkourChangeMtsReq) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ParkourChangeMtsReq) GetMtsid() string {
+ if x != nil {
+ return x.Mtsid
+ }
+ return ""
+}
+
+//变更坐骑请求
+type ParkourChangeMtsResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Issucc bool `protobuf:"varint,1,opt,name=issucc,proto3" json:"issucc"`
+ Mtsid string `protobuf:"bytes,2,opt,name=mtsid,proto3" json:"mtsid"`
+}
+
+func (x *ParkourChangeMtsResp) Reset() {
+ *x = ParkourChangeMtsResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourChangeMtsResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourChangeMtsResp) ProtoMessage() {}
+
+func (x *ParkourChangeMtsResp) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[3]
+ 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 ParkourChangeMtsResp.ProtoReflect.Descriptor instead.
+func (*ParkourChangeMtsResp) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *ParkourChangeMtsResp) GetIssucc() bool {
+ if x != nil {
+ return x.Issucc
+ }
+ return false
+}
+
+func (x *ParkourChangeMtsResp) GetMtsid() string {
+ if x != nil {
+ return x.Mtsid
+ }
+ return ""
+}
+
+// //推送捕羊大赛用户信息改变
type ParkourInfoChangePush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -32,7 +239,7 @@ type ParkourInfoChangePush struct {
func (x *ParkourInfoChangePush) Reset() {
*x = ParkourInfoChangePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[0]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -45,7 +252,7 @@ func (x *ParkourInfoChangePush) String() string {
func (*ParkourInfoChangePush) ProtoMessage() {}
func (x *ParkourInfoChangePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[0]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -58,7 +265,7 @@ func (x *ParkourInfoChangePush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourInfoChangePush.ProtoReflect.Descriptor instead.
func (*ParkourInfoChangePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{0}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{4}
}
func (x *ParkourInfoChangePush) GetInfo() *DBParkour {
@@ -80,7 +287,7 @@ type ParkourInviteReq struct {
func (x *ParkourInviteReq) Reset() {
*x = ParkourInviteReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[1]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -93,7 +300,7 @@ func (x *ParkourInviteReq) String() string {
func (*ParkourInviteReq) ProtoMessage() {}
func (x *ParkourInviteReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[1]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -106,7 +313,7 @@ func (x *ParkourInviteReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourInviteReq.ProtoReflect.Descriptor instead.
func (*ParkourInviteReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{1}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{5}
}
func (x *ParkourInviteReq) GetUid() string {
@@ -129,7 +336,7 @@ type ParkourInviteResp struct {
func (x *ParkourInviteResp) Reset() {
*x = ParkourInviteResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[2]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -142,7 +349,7 @@ func (x *ParkourInviteResp) String() string {
func (*ParkourInviteResp) ProtoMessage() {}
func (x *ParkourInviteResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[2]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -155,7 +362,7 @@ func (x *ParkourInviteResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourInviteResp.ProtoReflect.Descriptor instead.
func (*ParkourInviteResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{2}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{6}
}
func (x *ParkourInviteResp) GetIssucc() bool {
@@ -185,7 +392,7 @@ type ParkourInviteNoticePush struct {
func (x *ParkourInviteNoticePush) Reset() {
*x = ParkourInviteNoticePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[3]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -198,7 +405,7 @@ func (x *ParkourInviteNoticePush) String() string {
func (*ParkourInviteNoticePush) ProtoMessage() {}
func (x *ParkourInviteNoticePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[3]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -211,7 +418,7 @@ func (x *ParkourInviteNoticePush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourInviteNoticePush.ProtoReflect.Descriptor instead.
func (*ParkourInviteNoticePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{3}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{7}
}
func (x *ParkourInviteNoticePush) GetTeam() *DBParkour {
@@ -240,7 +447,7 @@ type ParkourTeamChanagePush struct {
func (x *ParkourTeamChanagePush) Reset() {
*x = ParkourTeamChanagePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[4]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -253,7 +460,7 @@ func (x *ParkourTeamChanagePush) String() string {
func (*ParkourTeamChanagePush) ProtoMessage() {}
func (x *ParkourTeamChanagePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[4]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -266,7 +473,7 @@ func (x *ParkourTeamChanagePush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourTeamChanagePush.ProtoReflect.Descriptor instead.
func (*ParkourTeamChanagePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{4}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{8}
}
func (x *ParkourTeamChanagePush) GetTeam() *DBParkour {
@@ -289,7 +496,7 @@ type ParkourInviteHandleReq struct {
func (x *ParkourInviteHandleReq) Reset() {
*x = ParkourInviteHandleReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[5]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -302,7 +509,7 @@ func (x *ParkourInviteHandleReq) String() string {
func (*ParkourInviteHandleReq) ProtoMessage() {}
func (x *ParkourInviteHandleReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[5]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -315,7 +522,7 @@ func (x *ParkourInviteHandleReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourInviteHandleReq.ProtoReflect.Descriptor instead.
func (*ParkourInviteHandleReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{5}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{9}
}
func (x *ParkourInviteHandleReq) GetCaptainid() string {
@@ -343,7 +550,7 @@ type ParkourInviteHandleResp struct {
func (x *ParkourInviteHandleResp) Reset() {
*x = ParkourInviteHandleResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[6]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -356,7 +563,7 @@ func (x *ParkourInviteHandleResp) String() string {
func (*ParkourInviteHandleResp) ProtoMessage() {}
func (x *ParkourInviteHandleResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[6]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -369,7 +576,7 @@ func (x *ParkourInviteHandleResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourInviteHandleResp.ProtoReflect.Descriptor instead.
func (*ParkourInviteHandleResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{6}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{10}
}
func (x *ParkourInviteHandleResp) GetIsSucc() bool {
@@ -391,7 +598,7 @@ type ParkourQuitTeamReq struct {
func (x *ParkourQuitTeamReq) Reset() {
*x = ParkourQuitTeamReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[7]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -404,7 +611,7 @@ func (x *ParkourQuitTeamReq) String() string {
func (*ParkourQuitTeamReq) ProtoMessage() {}
func (x *ParkourQuitTeamReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[7]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -417,7 +624,7 @@ func (x *ParkourQuitTeamReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourQuitTeamReq.ProtoReflect.Descriptor instead.
func (*ParkourQuitTeamReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{7}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{11}
}
func (x *ParkourQuitTeamReq) GetCaptainid() string {
@@ -437,7 +644,7 @@ type ParkourQuitTeamResp struct {
func (x *ParkourQuitTeamResp) Reset() {
*x = ParkourQuitTeamResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[8]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -450,7 +657,7 @@ func (x *ParkourQuitTeamResp) String() string {
func (*ParkourQuitTeamResp) ProtoMessage() {}
func (x *ParkourQuitTeamResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[8]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -463,7 +670,7 @@ func (x *ParkourQuitTeamResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourQuitTeamResp.ProtoReflect.Descriptor instead.
func (*ParkourQuitTeamResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{8}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{12}
}
//队伍成员加入推送
@@ -478,7 +685,7 @@ type ParkourTeamJoinNoticePush struct {
func (x *ParkourTeamJoinNoticePush) Reset() {
*x = ParkourTeamJoinNoticePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[9]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -491,7 +698,7 @@ func (x *ParkourTeamJoinNoticePush) String() string {
func (*ParkourTeamJoinNoticePush) ProtoMessage() {}
func (x *ParkourTeamJoinNoticePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[9]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -504,7 +711,7 @@ func (x *ParkourTeamJoinNoticePush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourTeamJoinNoticePush.ProtoReflect.Descriptor instead.
func (*ParkourTeamJoinNoticePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{9}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{13}
}
func (x *ParkourTeamJoinNoticePush) GetMember() *DBRaceMember {
@@ -526,7 +733,7 @@ type ParkourTeamQuitNoticePush struct {
func (x *ParkourTeamQuitNoticePush) Reset() {
*x = ParkourTeamQuitNoticePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[10]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -539,7 +746,7 @@ func (x *ParkourTeamQuitNoticePush) String() string {
func (*ParkourTeamQuitNoticePush) ProtoMessage() {}
func (x *ParkourTeamQuitNoticePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[10]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -552,7 +759,7 @@ func (x *ParkourTeamQuitNoticePush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourTeamQuitNoticePush.ProtoReflect.Descriptor instead.
func (*ParkourTeamQuitNoticePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{10}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{14}
}
func (x *ParkourTeamQuitNoticePush) GetMember() *DBRaceMember {
@@ -572,7 +779,7 @@ type ParkourTeamDisbandNoticePush struct {
func (x *ParkourTeamDisbandNoticePush) Reset() {
*x = ParkourTeamDisbandNoticePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[11]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -585,7 +792,7 @@ func (x *ParkourTeamDisbandNoticePush) String() string {
func (*ParkourTeamDisbandNoticePush) ProtoMessage() {}
func (x *ParkourTeamDisbandNoticePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[11]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -598,20 +805,22 @@ func (x *ParkourTeamDisbandNoticePush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourTeamDisbandNoticePush.ProtoReflect.Descriptor instead.
func (*ParkourTeamDisbandNoticePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{11}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{15}
}
-//匹配请求
+//匹配请求 只有队长有权限
type ParkourRaceMatchReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id
}
func (x *ParkourRaceMatchReq) Reset() {
*x = ParkourRaceMatchReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[12]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -624,7 +833,7 @@ func (x *ParkourRaceMatchReq) String() string {
func (*ParkourRaceMatchReq) ProtoMessage() {}
func (x *ParkourRaceMatchReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[12]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -637,7 +846,14 @@ func (x *ParkourRaceMatchReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceMatchReq.ProtoReflect.Descriptor instead.
func (*ParkourRaceMatchReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{12}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{16}
+}
+
+func (x *ParkourRaceMatchReq) GetCaptainid() string {
+ if x != nil {
+ return x.Captainid
+ }
+ return ""
}
//匹配请求
@@ -650,7 +866,7 @@ type ParkourRaceMatchResp struct {
func (x *ParkourRaceMatchResp) Reset() {
*x = ParkourRaceMatchResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[13]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -663,7 +879,7 @@ func (x *ParkourRaceMatchResp) String() string {
func (*ParkourRaceMatchResp) ProtoMessage() {}
func (x *ParkourRaceMatchResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[13]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -676,7 +892,190 @@ func (x *ParkourRaceMatchResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceMatchResp.ProtoReflect.Descriptor instead.
func (*ParkourRaceMatchResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{13}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{17}
+}
+
+//匹配取消请求 只有队长有权限
+type ParkourRaceMatchCancelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id
+}
+
+func (x *ParkourRaceMatchCancelReq) Reset() {
+ *x = ParkourRaceMatchCancelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourRaceMatchCancelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourRaceMatchCancelReq) ProtoMessage() {}
+
+func (x *ParkourRaceMatchCancelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[18]
+ 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 ParkourRaceMatchCancelReq.ProtoReflect.Descriptor instead.
+func (*ParkourRaceMatchCancelReq) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *ParkourRaceMatchCancelReq) GetCaptainid() string {
+ if x != nil {
+ return x.Captainid
+ }
+ return ""
+}
+
+//匹配取消请求
+type ParkourRaceMatchCancelResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ParkourRaceMatchCancelResp) Reset() {
+ *x = ParkourRaceMatchCancelResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourRaceMatchCancelResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourRaceMatchCancelResp) ProtoMessage() {}
+
+func (x *ParkourRaceMatchCancelResp) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[19]
+ 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 ParkourRaceMatchCancelResp.ProtoReflect.Descriptor instead.
+func (*ParkourRaceMatchCancelResp) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{19}
+}
+
+//匹配成功
+type ParkourRaceMatchStartPush struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Team *DBParkour `protobuf:"bytes,1,opt,name=team,proto3" json:"team"`
+}
+
+func (x *ParkourRaceMatchStartPush) Reset() {
+ *x = ParkourRaceMatchStartPush{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourRaceMatchStartPush) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourRaceMatchStartPush) ProtoMessage() {}
+
+func (x *ParkourRaceMatchStartPush) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[20]
+ 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 ParkourRaceMatchStartPush.ProtoReflect.Descriptor instead.
+func (*ParkourRaceMatchStartPush) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *ParkourRaceMatchStartPush) GetTeam() *DBParkour {
+ if x != nil {
+ return x.Team
+ }
+ return nil
+}
+
+//匹配取消通知
+type ParkourRaceMatchCancelPush struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Team *DBParkour `protobuf:"bytes,1,opt,name=team,proto3" json:"team"`
+}
+
+func (x *ParkourRaceMatchCancelPush) Reset() {
+ *x = ParkourRaceMatchCancelPush{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourRaceMatchCancelPush) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourRaceMatchCancelPush) ProtoMessage() {}
+
+func (x *ParkourRaceMatchCancelPush) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[21]
+ 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 ParkourRaceMatchCancelPush.ProtoReflect.Descriptor instead.
+func (*ParkourRaceMatchCancelPush) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *ParkourRaceMatchCancelPush) GetTeam() *DBParkour {
+ if x != nil {
+ return x.Team
+ }
+ return nil
}
//匹配成功
@@ -691,7 +1090,7 @@ type ParkourRaceMatchSuccPush struct {
func (x *ParkourRaceMatchSuccPush) Reset() {
*x = ParkourRaceMatchSuccPush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[14]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -704,7 +1103,7 @@ func (x *ParkourRaceMatchSuccPush) String() string {
func (*ParkourRaceMatchSuccPush) ProtoMessage() {}
func (x *ParkourRaceMatchSuccPush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[14]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -717,7 +1116,7 @@ func (x *ParkourRaceMatchSuccPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceMatchSuccPush.ProtoReflect.Descriptor instead.
func (*ParkourRaceMatchSuccPush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{14}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{22}
}
func (x *ParkourRaceMatchSuccPush) GetRace() *DBRace {
@@ -739,7 +1138,7 @@ type ParkourReadyReq struct {
func (x *ParkourReadyReq) Reset() {
*x = ParkourReadyReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[15]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -752,7 +1151,7 @@ func (x *ParkourReadyReq) String() string {
func (*ParkourReadyReq) ProtoMessage() {}
func (x *ParkourReadyReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[15]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -765,7 +1164,7 @@ func (x *ParkourReadyReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourReadyReq.ProtoReflect.Descriptor instead.
func (*ParkourReadyReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{15}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{23}
}
func (x *ParkourReadyReq) GetId() string {
@@ -785,7 +1184,7 @@ type ParkourReadyResp struct {
func (x *ParkourReadyResp) Reset() {
*x = ParkourReadyResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[16]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -798,7 +1197,7 @@ func (x *ParkourReadyResp) String() string {
func (*ParkourReadyResp) ProtoMessage() {}
func (x *ParkourReadyResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[16]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -811,7 +1210,7 @@ func (x *ParkourReadyResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourReadyResp.ProtoReflect.Descriptor instead.
func (*ParkourReadyResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{16}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{24}
}
//竞速开始推送
@@ -826,7 +1225,7 @@ type ParkourRaceStartPush struct {
func (x *ParkourRaceStartPush) Reset() {
*x = ParkourRaceStartPush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[17]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -839,7 +1238,7 @@ func (x *ParkourRaceStartPush) String() string {
func (*ParkourRaceStartPush) ProtoMessage() {}
func (x *ParkourRaceStartPush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[17]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -852,7 +1251,7 @@ func (x *ParkourRaceStartPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceStartPush.ProtoReflect.Descriptor instead.
func (*ParkourRaceStartPush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{17}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{25}
}
func (x *ParkourRaceStartPush) GetCountdown() int32 {
@@ -874,7 +1273,7 @@ type ParkourShotReq struct {
func (x *ParkourShotReq) Reset() {
*x = ParkourShotReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[18]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -887,7 +1286,7 @@ func (x *ParkourShotReq) String() string {
func (*ParkourShotReq) ProtoMessage() {}
func (x *ParkourShotReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[18]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -900,7 +1299,7 @@ func (x *ParkourShotReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourShotReq.ProtoReflect.Descriptor instead.
func (*ParkourShotReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{18}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26}
}
func (x *ParkourShotReq) GetId() string {
@@ -920,7 +1319,7 @@ type ParkourShotResp struct {
func (x *ParkourShotResp) Reset() {
*x = ParkourShotResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[19]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -933,7 +1332,7 @@ func (x *ParkourShotResp) String() string {
func (*ParkourShotResp) ProtoMessage() {}
func (x *ParkourShotResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[19]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -946,7 +1345,7 @@ func (x *ParkourShotResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourShotResp.ProtoReflect.Descriptor instead.
func (*ParkourShotResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{19}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27}
}
//躲避障碍请求
@@ -962,7 +1361,7 @@ type ParkourAvoidReq struct {
func (x *ParkourAvoidReq) Reset() {
*x = ParkourAvoidReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[20]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -975,7 +1374,7 @@ func (x *ParkourAvoidReq) String() string {
func (*ParkourAvoidReq) ProtoMessage() {}
func (x *ParkourAvoidReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[20]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -988,7 +1387,7 @@ func (x *ParkourAvoidReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourAvoidReq.ProtoReflect.Descriptor instead.
func (*ParkourAvoidReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{20}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28}
}
func (x *ParkourAvoidReq) GetId() string {
@@ -1015,7 +1414,7 @@ type ParkourAvoidResp struct {
func (x *ParkourAvoidResp) Reset() {
*x = ParkourAvoidResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[21]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1028,7 +1427,7 @@ func (x *ParkourAvoidResp) String() string {
func (*ParkourAvoidResp) ProtoMessage() {}
func (x *ParkourAvoidResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[21]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1041,7 +1440,7 @@ func (x *ParkourAvoidResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourAvoidResp.ProtoReflect.Descriptor instead.
func (*ParkourAvoidResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{21}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29}
}
//全员冲刺
@@ -1049,12 +1448,14 @@ type ParkourAllSprintsPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+
+ Left int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left"` //剩余时间
}
func (x *ParkourAllSprintsPush) Reset() {
*x = ParkourAllSprintsPush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[22]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1067,7 +1468,7 @@ func (x *ParkourAllSprintsPush) String() string {
func (*ParkourAllSprintsPush) ProtoMessage() {}
func (x *ParkourAllSprintsPush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[22]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1080,35 +1481,43 @@ func (x *ParkourAllSprintsPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourAllSprintsPush.ProtoReflect.Descriptor instead.
func (*ParkourAllSprintsPush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{22}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30}
}
-//比赛数值变化推送
-type ParkourRaceChanagePush struct {
+func (x *ParkourAllSprintsPush) GetLeft() int32 {
+ if x != nil {
+ return x.Left
+ }
+ return 0
+}
+
+//玩家hp变化通知
+type ParkourPlayerHPChanagePush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"`
+ Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
+ Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
}
-func (x *ParkourRaceChanagePush) Reset() {
- *x = ParkourRaceChanagePush{}
+func (x *ParkourPlayerHPChanagePush) Reset() {
+ *x = ParkourPlayerHPChanagePush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[23]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ParkourRaceChanagePush) String() string {
+func (x *ParkourPlayerHPChanagePush) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ParkourRaceChanagePush) ProtoMessage() {}
+func (*ParkourPlayerHPChanagePush) ProtoMessage() {}
-func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[23]
+func (x *ParkourPlayerHPChanagePush) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1119,31 +1528,110 @@ func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ParkourRaceChanagePush.ProtoReflect.Descriptor instead.
-func (*ParkourRaceChanagePush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{23}
+// Deprecated: Use ParkourPlayerHPChanagePush.ProtoReflect.Descriptor instead.
+func (*ParkourPlayerHPChanagePush) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31}
}
-func (x *ParkourRaceChanagePush) GetRace() *DBRace {
+func (x *ParkourPlayerHPChanagePush) GetUid() string {
if x != nil {
- return x.Race
+ return x.Uid
}
- return nil
+ return ""
}
-//比赛
+func (x *ParkourPlayerHPChanagePush) GetHp() int32 {
+ if x != nil {
+ return x.Hp
+ }
+ return 0
+}
+
+//比赛分值变化
+type ParkourScoreChanagePush struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Redscore int32 `protobuf:"varint,1,opt,name=redscore,proto3" json:"redscore"`
+ Redenergy int32 `protobuf:"varint,2,opt,name=redenergy,proto3" json:"redenergy"`
+ Bluescore int32 `protobuf:"varint,3,opt,name=bluescore,proto3" json:"bluescore"`
+ Blueenergy int32 `protobuf:"varint,4,opt,name=blueenergy,proto3" json:"blueenergy"`
+}
+
+func (x *ParkourScoreChanagePush) Reset() {
+ *x = ParkourScoreChanagePush{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[32]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourScoreChanagePush) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourScoreChanagePush) ProtoMessage() {}
+
+func (x *ParkourScoreChanagePush) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[32]
+ 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 ParkourScoreChanagePush.ProtoReflect.Descriptor instead.
+func (*ParkourScoreChanagePush) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32}
+}
+
+func (x *ParkourScoreChanagePush) GetRedscore() int32 {
+ if x != nil {
+ return x.Redscore
+ }
+ return 0
+}
+
+func (x *ParkourScoreChanagePush) GetRedenergy() int32 {
+ if x != nil {
+ return x.Redenergy
+ }
+ return 0
+}
+
+func (x *ParkourScoreChanagePush) GetBluescore() int32 {
+ if x != nil {
+ return x.Bluescore
+ }
+ return 0
+}
+
+func (x *ParkourScoreChanagePush) GetBlueenergy() int32 {
+ if x != nil {
+ return x.Blueenergy
+ }
+ return 0
+}
+
+//比赛结束通知
type ParkourRaceOverPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"`
+ Winside int32 `protobuf:"varint,1,opt,name=winside,proto3" json:"winside"` //0平局 1 红方胜利 2 蓝方胜利
}
func (x *ParkourRaceOverPush) Reset() {
*x = ParkourRaceOverPush{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[24]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1156,7 +1644,7 @@ func (x *ParkourRaceOverPush) String() string {
func (*ParkourRaceOverPush) ProtoMessage() {}
func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[24]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1169,14 +1657,14 @@ func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceOverPush.ProtoReflect.Descriptor instead.
func (*ParkourRaceOverPush) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{24}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33}
}
-func (x *ParkourRaceOverPush) GetRace() *DBRace {
+func (x *ParkourRaceOverPush) GetWinside() int32 {
if x != nil {
- return x.Race
+ return x.Winside
}
- return nil
+ return 0
}
///匹配请求 RPC消息定义 服务器自用 客户端不用理会
@@ -1192,7 +1680,7 @@ type RPCParkourJoinMatchReq struct {
func (x *RPCParkourJoinMatchReq) Reset() {
*x = RPCParkourJoinMatchReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[25]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1205,7 +1693,7 @@ func (x *RPCParkourJoinMatchReq) String() string {
func (*RPCParkourJoinMatchReq) ProtoMessage() {}
func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[25]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1218,7 +1706,7 @@ func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourJoinMatchReq.ProtoReflect.Descriptor instead.
func (*RPCParkourJoinMatchReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{25}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{34}
}
func (x *RPCParkourJoinMatchReq) GetCaptainid() string {
@@ -1245,7 +1733,7 @@ type RPCParkourJoinMatchResp struct {
func (x *RPCParkourJoinMatchResp) Reset() {
*x = RPCParkourJoinMatchResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[26]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1258,7 +1746,7 @@ func (x *RPCParkourJoinMatchResp) String() string {
func (*RPCParkourJoinMatchResp) ProtoMessage() {}
func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[26]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1271,7 +1759,93 @@ func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourJoinMatchResp.ProtoReflect.Descriptor instead.
func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{35}
+}
+
+//取消匹配
+type RPCParkourCancelMatchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Captainid string `protobuf:"bytes,1,opt,name=captainid,proto3" json:"captainid"` //队长id
+}
+
+func (x *RPCParkourCancelMatchReq) Reset() {
+ *x = RPCParkourCancelMatchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[36]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RPCParkourCancelMatchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPCParkourCancelMatchReq) ProtoMessage() {}
+
+func (x *RPCParkourCancelMatchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[36]
+ 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 RPCParkourCancelMatchReq.ProtoReflect.Descriptor instead.
+func (*RPCParkourCancelMatchReq) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{36}
+}
+
+func (x *RPCParkourCancelMatchReq) GetCaptainid() string {
+ if x != nil {
+ return x.Captainid
+ }
+ return ""
+}
+
+type RPCParkourCancelMatchResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RPCParkourCancelMatchResp) Reset() {
+ *x = RPCParkourCancelMatchResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[37]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RPCParkourCancelMatchResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPCParkourCancelMatchResp) ProtoMessage() {}
+
+func (x *RPCParkourCancelMatchResp) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[37]
+ 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 RPCParkourCancelMatchResp.ProtoReflect.Descriptor instead.
+func (*RPCParkourCancelMatchResp) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{37}
}
///匹配成功通知请求
@@ -1287,7 +1861,7 @@ type RPCParkourMatchSuccReq struct {
func (x *RPCParkourMatchSuccReq) Reset() {
*x = RPCParkourMatchSuccReq{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[27]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1300,7 +1874,7 @@ func (x *RPCParkourMatchSuccReq) String() string {
func (*RPCParkourMatchSuccReq) ProtoMessage() {}
func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[27]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1313,7 +1887,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead.
func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{38}
}
func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember {
@@ -1340,7 +1914,7 @@ type RPCParkourMatchSuccResp struct {
func (x *RPCParkourMatchSuccResp) Reset() {
*x = RPCParkourMatchSuccResp{}
if protoimpl.UnsafeEnabled {
- mi := &file_parkour_parkour_msg_proto_msgTypes[28]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1353,7 +1927,7 @@ func (x *RPCParkourMatchSuccResp) String() string {
func (*RPCParkourMatchSuccResp) ProtoMessage() {}
func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message {
- mi := &file_parkour_parkour_msg_proto_msgTypes[28]
+ mi := &file_parkour_parkour_msg_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1366,7 +1940,101 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead.
func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) {
- return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28}
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{39}
+}
+
+//托管求情
+type RPC_ParkourTrusteeshipReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Battleid string `protobuf:"bytes,1,opt,name=battleid,proto3" json:"battleid"`
+ Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
+}
+
+func (x *RPC_ParkourTrusteeshipReq) Reset() {
+ *x = RPC_ParkourTrusteeshipReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[40]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RPC_ParkourTrusteeshipReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPC_ParkourTrusteeshipReq) ProtoMessage() {}
+
+func (x *RPC_ParkourTrusteeshipReq) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[40]
+ 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 RPC_ParkourTrusteeshipReq.ProtoReflect.Descriptor instead.
+func (*RPC_ParkourTrusteeshipReq) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{40}
+}
+
+func (x *RPC_ParkourTrusteeshipReq) GetBattleid() string {
+ if x != nil {
+ return x.Battleid
+ }
+ return ""
+}
+
+func (x *RPC_ParkourTrusteeshipReq) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+type RPC_ParkourTrusteeshipResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RPC_ParkourTrusteeshipResp) Reset() {
+ *x = RPC_ParkourTrusteeshipResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[41]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RPC_ParkourTrusteeshipResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPC_ParkourTrusteeshipResp) ProtoMessage() {}
+
+func (x *RPC_ParkourTrusteeshipResp) ProtoReflect() protoreflect.Message {
+ mi := &file_parkour_parkour_msg_proto_msgTypes[41]
+ 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 RPC_ParkourTrusteeshipResp.ProtoReflect.Descriptor instead.
+func (*RPC_ParkourTrusteeshipResp) Descriptor() ([]byte, []int) {
+ return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{41}
}
var File_parkour_parkour_msg_proto protoreflect.FileDescriptor
@@ -1375,96 +2043,150 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{
0x0a, 0x19, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x72, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x61, 0x72,
0x6b, 0x6f, 0x75, 0x72, 0x2f, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x62, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
- 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e,
- 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44,
- 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x24,
- 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52,
- 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x75, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49,
- 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73,
- 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63,
- 0x63, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61,
- 0x6d, 0x22, 0x4f, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69,
- 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04,
- 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50,
- 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x22, 0x38, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61,
- 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04,
- 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50,
- 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4c, 0x0a, 0x16,
- 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e,
- 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69,
- 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61,
- 0x69, 0x6e, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x50, 0x61,
- 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c,
- 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, 0x32, 0x0a,
- 0x12, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x76, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f,
+ 0x75, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6f, 0x70,
+ 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e,
+ 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65,
+ 0x6d, 0x62, 0x65, 0x72, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x22,
+ 0x2b, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4d, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x14,
+ 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x74, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x14, 0x0a, 0x05,
+ 0x6d, 0x74, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x74, 0x73,
+ 0x69, 0x64, 0x22, 0x37, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61,
+ 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x0a, 0x10, 0x50,
+ 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x22, 0x4b, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x12, 0x1e,
+ 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44,
+ 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4f,
+ 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61,
+ 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b,
+ 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22,
+ 0x38, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61,
+ 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b,
+ 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x4c, 0x0a, 0x16, 0x50, 0x61, 0x72,
+ 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65,
0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69,
- 0x64, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74,
- 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b,
- 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4a, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63,
- 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65,
- 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x19,
- 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x69, 0x74, 0x4e,
- 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d,
- 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61,
- 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
- 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x44,
- 0x69, 0x73, 0x62, 0x61, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68,
- 0x22, 0x15, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d,
- 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f,
- 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22,
- 0x37, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61,
- 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72,
- 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61,
- 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b,
- 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x50,
- 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22,
- 0x34, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74,
- 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e,
- 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
- 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f,
- 0x75, 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, 0x0f, 0x50, 0x61,
- 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a,
- 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a,
- 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72,
- 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x17, 0x0a,
- 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, 0x69, 0x6e,
- 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
- 0x72, 0x52, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68,
- 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07,
- 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x32, 0x0a,
- 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72,
- 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63,
- 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a,
- 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63,
- 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
- 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d,
- 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61,
- 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
- 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f,
- 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52,
- 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75,
- 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x6b, 0x6f,
+ 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 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, 0x32, 0x0a, 0x12, 0x50, 0x61,
+ 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71,
+ 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x15,
+ 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x51, 0x75, 0x69, 0x74, 0x54, 0x65, 0x61,
+ 0x6d, 0x52, 0x65, 0x73, 0x70, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
+ 0x54, 0x65, 0x61, 0x6d, 0x4a, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75,
+ 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65,
- 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
- 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43,
- 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63,
- 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x19, 0x50, 0x61, 0x72,
+ 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x1e, 0x0a,
+ 0x1c, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x62,
+ 0x61, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x50, 0x75, 0x73, 0x68, 0x22, 0x33, 0x0a,
+ 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e,
+ 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63,
+ 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x39, 0x0a, 0x19, 0x50, 0x61,
+ 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61,
+ 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61,
+ 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74,
+ 0x61, 0x69, 0x6e, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
+ 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52,
+ 0x65, 0x73, 0x70, 0x22, 0x3b, 0x0a, 0x19, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61,
+ 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x73, 0x68,
+ 0x12, 0x1e, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,
+ 0x2e, 0x44, 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d,
+ 0x22, 0x3c, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e,
+ 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44,
+ 0x42, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x37,
+ 0x0a, 0x18, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63,
+ 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22, 0x21, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f,
+ 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61,
+ 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x34,
+ 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x64,
+ 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x20, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53,
+ 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
+ 0x72, 0x53, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72,
+ 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08,
+ 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
+ 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b,
+ 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2b, 0x0a, 0x15,
+ 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74,
+ 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x0a, 0x1a, 0x50, 0x61, 0x72,
+ 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43, 0x68, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x50, 0x61,
+ 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x64, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12,
+ 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a,
+ 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x2f, 0x0a,
+ 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72,
+ 0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d,
+ 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74,
+ 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70,
+ 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a,
+ 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x38, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x50,
+ 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e,
+ 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
+ 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22,
+ 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
+ 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75,
+ 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63,
+ 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a,
+ 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x22, 0x49, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f,
+ 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68,
+ 0x69, 0x70, 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, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x61, 0x72, 0x6b, 0x6f,
+ 0x75, 0x72, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73,
+ 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var (
@@ -1479,59 +2201,74 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte {
return file_parkour_parkour_msg_proto_rawDescData
}
-var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
+var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
var file_parkour_parkour_msg_proto_goTypes = []interface{}{
- (*ParkourInfoChangePush)(nil), // 0: ParkourInfoChangePush
- (*ParkourInviteReq)(nil), // 1: ParkourInviteReq
- (*ParkourInviteResp)(nil), // 2: ParkourInviteResp
- (*ParkourInviteNoticePush)(nil), // 3: ParkourInviteNoticePush
- (*ParkourTeamChanagePush)(nil), // 4: ParkourTeamChanagePush
- (*ParkourInviteHandleReq)(nil), // 5: ParkourInviteHandleReq
- (*ParkourInviteHandleResp)(nil), // 6: ParkourInviteHandleResp
- (*ParkourQuitTeamReq)(nil), // 7: ParkourQuitTeamReq
- (*ParkourQuitTeamResp)(nil), // 8: ParkourQuitTeamResp
- (*ParkourTeamJoinNoticePush)(nil), // 9: ParkourTeamJoinNoticePush
- (*ParkourTeamQuitNoticePush)(nil), // 10: ParkourTeamQuitNoticePush
- (*ParkourTeamDisbandNoticePush)(nil), // 11: ParkourTeamDisbandNoticePush
- (*ParkourRaceMatchReq)(nil), // 12: ParkourRaceMatchReq
- (*ParkourRaceMatchResp)(nil), // 13: ParkourRaceMatchResp
- (*ParkourRaceMatchSuccPush)(nil), // 14: ParkourRaceMatchSuccPush
- (*ParkourReadyReq)(nil), // 15: ParkourReadyReq
- (*ParkourReadyResp)(nil), // 16: ParkourReadyResp
- (*ParkourRaceStartPush)(nil), // 17: ParkourRaceStartPush
- (*ParkourShotReq)(nil), // 18: ParkourShotReq
- (*ParkourShotResp)(nil), // 19: ParkourShotResp
- (*ParkourAvoidReq)(nil), // 20: ParkourAvoidReq
- (*ParkourAvoidResp)(nil), // 21: ParkourAvoidResp
- (*ParkourAllSprintsPush)(nil), // 22: ParkourAllSprintsPush
- (*ParkourRaceChanagePush)(nil), // 23: ParkourRaceChanagePush
- (*ParkourRaceOverPush)(nil), // 24: ParkourRaceOverPush
- (*RPCParkourJoinMatchReq)(nil), // 25: RPCParkourJoinMatchReq
- (*RPCParkourJoinMatchResp)(nil), // 26: RPCParkourJoinMatchResp
- (*RPCParkourMatchSuccReq)(nil), // 27: RPCParkourMatchSuccReq
- (*RPCParkourMatchSuccResp)(nil), // 28: RPCParkourMatchSuccResp
- (*DBParkour)(nil), // 29: DBParkour
- (*DBRaceMember)(nil), // 30: DBRaceMember
- (*DBRace)(nil), // 31: DBRace
+ (*ParkourInfoReq)(nil), // 0: ParkourInfoReq
+ (*ParkourInfoResp)(nil), // 1: ParkourInfoResp
+ (*ParkourChangeMtsReq)(nil), // 2: ParkourChangeMtsReq
+ (*ParkourChangeMtsResp)(nil), // 3: ParkourChangeMtsResp
+ (*ParkourInfoChangePush)(nil), // 4: ParkourInfoChangePush
+ (*ParkourInviteReq)(nil), // 5: ParkourInviteReq
+ (*ParkourInviteResp)(nil), // 6: ParkourInviteResp
+ (*ParkourInviteNoticePush)(nil), // 7: ParkourInviteNoticePush
+ (*ParkourTeamChanagePush)(nil), // 8: ParkourTeamChanagePush
+ (*ParkourInviteHandleReq)(nil), // 9: ParkourInviteHandleReq
+ (*ParkourInviteHandleResp)(nil), // 10: ParkourInviteHandleResp
+ (*ParkourQuitTeamReq)(nil), // 11: ParkourQuitTeamReq
+ (*ParkourQuitTeamResp)(nil), // 12: ParkourQuitTeamResp
+ (*ParkourTeamJoinNoticePush)(nil), // 13: ParkourTeamJoinNoticePush
+ (*ParkourTeamQuitNoticePush)(nil), // 14: ParkourTeamQuitNoticePush
+ (*ParkourTeamDisbandNoticePush)(nil), // 15: ParkourTeamDisbandNoticePush
+ (*ParkourRaceMatchReq)(nil), // 16: ParkourRaceMatchReq
+ (*ParkourRaceMatchResp)(nil), // 17: ParkourRaceMatchResp
+ (*ParkourRaceMatchCancelReq)(nil), // 18: ParkourRaceMatchCancelReq
+ (*ParkourRaceMatchCancelResp)(nil), // 19: ParkourRaceMatchCancelResp
+ (*ParkourRaceMatchStartPush)(nil), // 20: ParkourRaceMatchStartPush
+ (*ParkourRaceMatchCancelPush)(nil), // 21: ParkourRaceMatchCancelPush
+ (*ParkourRaceMatchSuccPush)(nil), // 22: ParkourRaceMatchSuccPush
+ (*ParkourReadyReq)(nil), // 23: ParkourReadyReq
+ (*ParkourReadyResp)(nil), // 24: ParkourReadyResp
+ (*ParkourRaceStartPush)(nil), // 25: ParkourRaceStartPush
+ (*ParkourShotReq)(nil), // 26: ParkourShotReq
+ (*ParkourShotResp)(nil), // 27: ParkourShotResp
+ (*ParkourAvoidReq)(nil), // 28: ParkourAvoidReq
+ (*ParkourAvoidResp)(nil), // 29: ParkourAvoidResp
+ (*ParkourAllSprintsPush)(nil), // 30: ParkourAllSprintsPush
+ (*ParkourPlayerHPChanagePush)(nil), // 31: ParkourPlayerHPChanagePush
+ (*ParkourScoreChanagePush)(nil), // 32: ParkourScoreChanagePush
+ (*ParkourRaceOverPush)(nil), // 33: ParkourRaceOverPush
+ (*RPCParkourJoinMatchReq)(nil), // 34: RPCParkourJoinMatchReq
+ (*RPCParkourJoinMatchResp)(nil), // 35: RPCParkourJoinMatchResp
+ (*RPCParkourCancelMatchReq)(nil), // 36: RPCParkourCancelMatchReq
+ (*RPCParkourCancelMatchResp)(nil), // 37: RPCParkourCancelMatchResp
+ (*RPCParkourMatchSuccReq)(nil), // 38: RPCParkourMatchSuccReq
+ (*RPCParkourMatchSuccResp)(nil), // 39: RPCParkourMatchSuccResp
+ (*RPC_ParkourTrusteeshipReq)(nil), // 40: RPC_ParkourTrusteeshipReq
+ (*RPC_ParkourTrusteeshipResp)(nil), // 41: RPC_ParkourTrusteeshipResp
+ (*DBParkour)(nil), // 42: DBParkour
+ (*DBRaceMember)(nil), // 43: DBRaceMember
+ (*DBRace)(nil), // 44: DBRace
}
var file_parkour_parkour_msg_proto_depIdxs = []int32{
- 29, // 0: ParkourInfoChangePush.info:type_name -> DBParkour
- 29, // 1: ParkourInviteResp.team:type_name -> DBParkour
- 29, // 2: ParkourInviteNoticePush.team:type_name -> DBParkour
- 29, // 3: ParkourTeamChanagePush.team:type_name -> DBParkour
- 30, // 4: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember
- 30, // 5: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember
- 31, // 6: ParkourRaceMatchSuccPush.race:type_name -> DBRace
- 31, // 7: ParkourRaceChanagePush.race:type_name -> DBRace
- 31, // 8: ParkourRaceOverPush.race:type_name -> DBRace
- 30, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
- 30, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
- 30, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
- 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
- 12, // [12:12] is the sub-list for extension extendee
- 0, // [0:12] is the sub-list for field type_name
+ 42, // 0: ParkourInfoResp.info:type_name -> DBParkour
+ 43, // 1: ParkourInfoResp.recommend:type_name -> DBRaceMember
+ 42, // 2: ParkourInfoChangePush.info:type_name -> DBParkour
+ 42, // 3: ParkourInviteResp.team:type_name -> DBParkour
+ 42, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour
+ 42, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour
+ 43, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember
+ 43, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember
+ 42, // 8: ParkourRaceMatchStartPush.team:type_name -> DBParkour
+ 42, // 9: ParkourRaceMatchCancelPush.team:type_name -> DBParkour
+ 44, // 10: ParkourRaceMatchSuccPush.race:type_name -> DBRace
+ 43, // 11: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
+ 43, // 12: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
+ 43, // 13: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
+ 14, // [14:14] is the sub-list for method output_type
+ 14, // [14:14] is the sub-list for method input_type
+ 14, // [14:14] is the sub-list for extension type_name
+ 14, // [14:14] is the sub-list for extension extendee
+ 0, // [0:14] is the sub-list for field type_name
}
func init() { file_parkour_parkour_msg_proto_init() }
@@ -1542,7 +2279,7 @@ func file_parkour_parkour_msg_proto_init() {
file_parkour_parkour_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_parkour_parkour_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourInfoChangePush); i {
+ switch v := v.(*ParkourInfoReq); i {
case 0:
return &v.state
case 1:
@@ -1554,7 +2291,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourInviteReq); i {
+ switch v := v.(*ParkourInfoResp); i {
case 0:
return &v.state
case 1:
@@ -1566,7 +2303,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourInviteResp); i {
+ switch v := v.(*ParkourChangeMtsReq); i {
case 0:
return &v.state
case 1:
@@ -1578,7 +2315,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourInviteNoticePush); i {
+ switch v := v.(*ParkourChangeMtsResp); i {
case 0:
return &v.state
case 1:
@@ -1590,7 +2327,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourTeamChanagePush); i {
+ switch v := v.(*ParkourInfoChangePush); i {
case 0:
return &v.state
case 1:
@@ -1602,7 +2339,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourInviteHandleReq); i {
+ switch v := v.(*ParkourInviteReq); i {
case 0:
return &v.state
case 1:
@@ -1614,7 +2351,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourInviteHandleResp); i {
+ switch v := v.(*ParkourInviteResp); i {
case 0:
return &v.state
case 1:
@@ -1626,7 +2363,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourQuitTeamReq); i {
+ switch v := v.(*ParkourInviteNoticePush); i {
case 0:
return &v.state
case 1:
@@ -1638,7 +2375,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourQuitTeamResp); i {
+ switch v := v.(*ParkourTeamChanagePush); i {
case 0:
return &v.state
case 1:
@@ -1650,7 +2387,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourTeamJoinNoticePush); i {
+ switch v := v.(*ParkourInviteHandleReq); i {
case 0:
return &v.state
case 1:
@@ -1662,7 +2399,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourTeamQuitNoticePush); i {
+ switch v := v.(*ParkourInviteHandleResp); i {
case 0:
return &v.state
case 1:
@@ -1674,7 +2411,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourTeamDisbandNoticePush); i {
+ switch v := v.(*ParkourQuitTeamReq); i {
case 0:
return &v.state
case 1:
@@ -1686,7 +2423,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceMatchReq); i {
+ switch v := v.(*ParkourQuitTeamResp); i {
case 0:
return &v.state
case 1:
@@ -1698,7 +2435,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceMatchResp); i {
+ switch v := v.(*ParkourTeamJoinNoticePush); i {
case 0:
return &v.state
case 1:
@@ -1710,7 +2447,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceMatchSuccPush); i {
+ switch v := v.(*ParkourTeamQuitNoticePush); i {
case 0:
return &v.state
case 1:
@@ -1722,7 +2459,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourReadyReq); i {
+ switch v := v.(*ParkourTeamDisbandNoticePush); i {
case 0:
return &v.state
case 1:
@@ -1734,7 +2471,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourReadyResp); i {
+ switch v := v.(*ParkourRaceMatchReq); i {
case 0:
return &v.state
case 1:
@@ -1746,7 +2483,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceStartPush); i {
+ switch v := v.(*ParkourRaceMatchResp); i {
case 0:
return &v.state
case 1:
@@ -1758,7 +2495,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourShotReq); i {
+ switch v := v.(*ParkourRaceMatchCancelReq); i {
case 0:
return &v.state
case 1:
@@ -1770,7 +2507,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourShotResp); i {
+ switch v := v.(*ParkourRaceMatchCancelResp); i {
case 0:
return &v.state
case 1:
@@ -1782,7 +2519,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourAvoidReq); i {
+ switch v := v.(*ParkourRaceMatchStartPush); i {
case 0:
return &v.state
case 1:
@@ -1794,7 +2531,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourAvoidResp); i {
+ switch v := v.(*ParkourRaceMatchCancelPush); i {
case 0:
return &v.state
case 1:
@@ -1806,7 +2543,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourAllSprintsPush); i {
+ switch v := v.(*ParkourRaceMatchSuccPush); i {
case 0:
return &v.state
case 1:
@@ -1818,7 +2555,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceChanagePush); i {
+ switch v := v.(*ParkourReadyReq); i {
case 0:
return &v.state
case 1:
@@ -1830,7 +2567,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ParkourRaceOverPush); i {
+ switch v := v.(*ParkourReadyResp); i {
case 0:
return &v.state
case 1:
@@ -1842,7 +2579,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RPCParkourJoinMatchReq); i {
+ switch v := v.(*ParkourRaceStartPush); i {
case 0:
return &v.state
case 1:
@@ -1854,7 +2591,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RPCParkourJoinMatchResp); i {
+ switch v := v.(*ParkourShotReq); i {
case 0:
return &v.state
case 1:
@@ -1866,7 +2603,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RPCParkourMatchSuccReq); i {
+ switch v := v.(*ParkourShotResp); i {
case 0:
return &v.state
case 1:
@@ -1878,6 +2615,138 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourAvoidReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourAvoidResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourAllSprintsPush); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourPlayerHPChanagePush); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourScoreChanagePush); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourRaceOverPush); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPCParkourJoinMatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPCParkourJoinMatchResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPCParkourCancelMatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPCParkourCancelMatchResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPCParkourMatchSuccReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourMatchSuccResp); i {
case 0:
return &v.state
@@ -1889,6 +2758,30 @@ func file_parkour_parkour_msg_proto_init() {
return nil
}
}
+ file_parkour_parkour_msg_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPC_ParkourTrusteeshipReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_parkour_parkour_msg_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPC_ParkourTrusteeshipResp); 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{
@@ -1896,7 +2789,7 @@ func file_parkour_parkour_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_parkour_parkour_msg_proto_rawDesc,
NumEnums: 0,
- NumMessages: 29,
+ NumMessages: 42,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/pb/pvp_msg.pb.go b/pb/pvp_msg.pb.go
index 4a7e81c9b..83235ff6b 100644
--- a/pb/pvp_msg.pb.go
+++ b/pb/pvp_msg.pb.go
@@ -993,6 +993,99 @@ func (x *PvpFinishPush) GetBattleid() string {
return ""
}
+type RPC_PVPTrusteeshipReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Battleid []string `protobuf:"bytes,1,rep,name=battleid,proto3" json:"battleid"`
+ Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
+}
+
+func (x *RPC_PVPTrusteeshipReq) Reset() {
+ *x = RPC_PVPTrusteeshipReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_pvp_pvp_msg_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RPC_PVPTrusteeshipReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPC_PVPTrusteeshipReq) ProtoMessage() {}
+
+func (x *RPC_PVPTrusteeshipReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pvp_pvp_msg_proto_msgTypes[18]
+ 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 RPC_PVPTrusteeshipReq.ProtoReflect.Descriptor instead.
+func (*RPC_PVPTrusteeshipReq) Descriptor() ([]byte, []int) {
+ return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{18}
+}
+
+func (x *RPC_PVPTrusteeshipReq) GetBattleid() []string {
+ if x != nil {
+ return x.Battleid
+ }
+ return nil
+}
+
+func (x *RPC_PVPTrusteeshipReq) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+type RPC_PVPTrusteeshipResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RPC_PVPTrusteeshipResp) Reset() {
+ *x = RPC_PVPTrusteeshipResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_pvp_pvp_msg_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RPC_PVPTrusteeshipResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RPC_PVPTrusteeshipResp) ProtoMessage() {}
+
+func (x *RPC_PVPTrusteeshipResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pvp_pvp_msg_proto_msgTypes[19]
+ 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 RPC_PVPTrusteeshipResp.ProtoReflect.Descriptor instead.
+func (*RPC_PVPTrusteeshipResp) Descriptor() ([]byte, []int) {
+ return file_pvp_pvp_msg_proto_rawDescGZIP(), []int{19}
+}
+
var File_pvp_pvp_msg_proto protoreflect.FileDescriptor
var file_pvp_pvp_msg_proto_rawDesc = []byte{
@@ -1081,8 +1174,14 @@ var file_pvp_pvp_msg_proto_rawDesc = []byte{
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,
+ 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x15, 0x52, 0x50, 0x43,
+ 0x5f, 0x50, 0x56, 0x50, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52,
+ 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
+ 0x22, 0x18, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x5f, 0x50, 0x56, 0x50, 0x54, 0x72, 0x75, 0x73, 0x74,
+ 0x65, 0x65, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
+ 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1097,7 +1196,7 @@ 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, 18)
+var file_pvp_pvp_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_pvp_pvp_msg_proto_goTypes = []interface{}{
(*PvpListReq)(nil), // 0: PvpListReq
(*PvpListResp)(nil), // 1: PvpListResp
@@ -1117,27 +1216,29 @@ var file_pvp_pvp_msg_proto_goTypes = []interface{}{
(*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
+ (*RPC_PVPTrusteeshipReq)(nil), // 18: RPC_PVPTrusteeshipReq
+ (*RPC_PVPTrusteeshipResp)(nil), // 19: RPC_PVPTrusteeshipResp
+ (*DBPvpBattle)(nil), // 20: DBPvpBattle
+ (ErrorCode)(0), // 21: ErrorCode
+ (*BattleStateInfo)(nil), // 22: BattleStateInfo
+ (*PvpUserInfo)(nil), // 23: PvpUserInfo
+ (*BattleFormation)(nil), // 24: BattleFormation
+ (*BattleInfo)(nil), // 25: BattleInfo
+ (*BattleCmd)(nil), // 26: BattleCmd
}
var file_pvp_pvp_msg_proto_depIdxs = []int32{
- 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
+ 20, // 0: PvpListResp.list:type_name -> DBPvpBattle
+ 21, // 1: PvpIntoResp.code:type_name -> ErrorCode
+ 22, // 2: PvpIntoResp.info:type_name -> BattleStateInfo
+ 23, // 3: PvpReadyPush.red:type_name -> PvpUserInfo
+ 23, // 4: PvpReadyPush.blue:type_name -> PvpUserInfo
+ 24, // 5: PvpFormationReq.formation:type_name -> BattleFormation
+ 21, // 6: PvpStartPush.code:type_name -> ErrorCode
+ 25, // 7: PvpStartPush.info:type_name -> BattleInfo
+ 26, // 8: PvpOutCmdPush.cmd:type_name -> BattleCmd
+ 26, // 9: PvpInCmdReq.cmd:type_name -> BattleCmd
+ 21, // 10: PvpInCmdResp.code:type_name -> ErrorCode
+ 26, // 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
@@ -1370,6 +1471,30 @@ func file_pvp_pvp_msg_proto_init() {
return nil
}
}
+ file_pvp_pvp_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPC_PVPTrusteeshipReq); 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[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RPC_PVPTrusteeshipResp); 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{
@@ -1377,7 +1502,7 @@ func file_pvp_pvp_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pvp_pvp_msg_proto_rawDesc,
NumEnums: 0,
- NumMessages: 18,
+ NumMessages: 20,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/pb/reputation_db.pb.go b/pb/reputation_db.pb.go
new file mode 100644
index 000000000..ef4a6bf4c
--- /dev/null
+++ b/pb/reputation_db.pb.go
@@ -0,0 +1,419 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: reputation/reputation_db.proto
+
+package pb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DBReputation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid" bson:"uid"` //玩家ID
+ Camps map[int32]*Camp `protobuf:"bytes,2,rep,name=camps,proto3" json:"camps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" bson:"camps"` //key 阵营id
+}
+
+func (x *DBReputation) Reset() {
+ *x = DBReputation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_db_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DBReputation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DBReputation) ProtoMessage() {}
+
+func (x *DBReputation) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_db_proto_msgTypes[0]
+ 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 DBReputation.ProtoReflect.Descriptor instead.
+func (*DBReputation) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_db_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DBReputation) GetUid() string {
+ if x != nil {
+ return x.Uid
+ }
+ return ""
+}
+
+func (x *DBReputation) GetCamps() map[int32]*Camp {
+ if x != nil {
+ return x.Camps
+ }
+ return nil
+}
+
+// 阵营
+type Camp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReputationLv int32 `protobuf:"varint,1,opt,name=reputationLv,proto3" json:"reputationLv" bson:"reputationLv"` //声望等级
+ CampAttr *CampAttr `protobuf:"bytes,2,opt,name=campAttr,proto3" json:"campAttr" bson:"campAttr"` //
+ Nodes []*TalentNode `protobuf:"bytes,3,rep,name=nodes,proto3" json:"nodes" bson:"nodes"` //天赋节点
+}
+
+func (x *Camp) Reset() {
+ *x = Camp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_db_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Camp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Camp) ProtoMessage() {}
+
+func (x *Camp) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_db_proto_msgTypes[1]
+ 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 Camp.ProtoReflect.Descriptor instead.
+func (*Camp) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_db_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *Camp) GetReputationLv() int32 {
+ if x != nil {
+ return x.ReputationLv
+ }
+ return 0
+}
+
+func (x *Camp) GetCampAttr() *CampAttr {
+ if x != nil {
+ return x.CampAttr
+ }
+ return nil
+}
+
+func (x *Camp) GetNodes() []*TalentNode {
+ if x != nil {
+ return x.Nodes
+ }
+ return nil
+}
+
+// 阵营声望属性
+type CampAttr struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Hp int32 `protobuf:"varint,1,opt,name=hp,proto3" json:"hp"`
+ Attack int32 `protobuf:"varint,2,opt,name=attack,proto3" json:"attack"`
+ Defense int32 `protobuf:"varint,3,opt,name=defense,proto3" json:"defense"`
+ HpPer int32 `protobuf:"varint,4,opt,name=hpPer,proto3" json:"hpPer"`
+}
+
+func (x *CampAttr) Reset() {
+ *x = CampAttr{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_db_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CampAttr) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CampAttr) ProtoMessage() {}
+
+func (x *CampAttr) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_db_proto_msgTypes[2]
+ 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 CampAttr.ProtoReflect.Descriptor instead.
+func (*CampAttr) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_db_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *CampAttr) GetHp() int32 {
+ if x != nil {
+ return x.Hp
+ }
+ return 0
+}
+
+func (x *CampAttr) GetAttack() int32 {
+ if x != nil {
+ return x.Attack
+ }
+ return 0
+}
+
+func (x *CampAttr) GetDefense() int32 {
+ if x != nil {
+ return x.Defense
+ }
+ return 0
+}
+
+func (x *CampAttr) GetHpPer() int32 {
+ if x != nil {
+ return x.HpPer
+ }
+ return 0
+}
+
+// 天赋节点
+type TalentNode struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nid int32 `protobuf:"varint,1,opt,name=nid,proto3" json:"nid" bson:"nid"` //节点ID
+ Lv int32 `protobuf:"varint,2,opt,name=lv,proto3" json:"lv" bson:"lv"` //天赋节点等级
+ Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status" bson:"status"` // 状态 0未升级 1未满级 2满级
+}
+
+func (x *TalentNode) Reset() {
+ *x = TalentNode{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_db_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TalentNode) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TalentNode) ProtoMessage() {}
+
+func (x *TalentNode) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_db_proto_msgTypes[3]
+ 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 TalentNode.ProtoReflect.Descriptor instead.
+func (*TalentNode) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_db_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *TalentNode) GetNid() int32 {
+ if x != nil {
+ return x.Nid
+ }
+ return 0
+}
+
+func (x *TalentNode) GetLv() int32 {
+ if x != nil {
+ return x.Lv
+ }
+ return 0
+}
+
+func (x *TalentNode) GetStatus() int32 {
+ if x != nil {
+ return x.Status
+ }
+ return 0
+}
+
+var File_reputation_reputation_db_proto protoreflect.FileDescriptor
+
+var file_reputation_reputation_db_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x91, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x63, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x61,
+ 0x6d, 0x70, 0x73, 0x1a, 0x3f, 0x0a, 0x0a, 0x43, 0x61, 0x6d, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x22, 0x74, 0x0a, 0x04, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0c,
+ 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x76, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x76,
+ 0x12, 0x25, 0x0a, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x63,
+ 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4e,
+ 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x08, 0x43, 0x61,
+ 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x70, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x18,
+ 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x70, 0x50, 0x65,
+ 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x70, 0x50, 0x65, 0x72, 0x22, 0x46,
+ 0x0a, 0x0a, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03,
+ 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x69, 0x64, 0x12, 0x0e,
+ 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x16,
+ 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_reputation_reputation_db_proto_rawDescOnce sync.Once
+ file_reputation_reputation_db_proto_rawDescData = file_reputation_reputation_db_proto_rawDesc
+)
+
+func file_reputation_reputation_db_proto_rawDescGZIP() []byte {
+ file_reputation_reputation_db_proto_rawDescOnce.Do(func() {
+ file_reputation_reputation_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_reputation_reputation_db_proto_rawDescData)
+ })
+ return file_reputation_reputation_db_proto_rawDescData
+}
+
+var file_reputation_reputation_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_reputation_reputation_db_proto_goTypes = []interface{}{
+ (*DBReputation)(nil), // 0: DBReputation
+ (*Camp)(nil), // 1: Camp
+ (*CampAttr)(nil), // 2: CampAttr
+ (*TalentNode)(nil), // 3: TalentNode
+ nil, // 4: DBReputation.CampsEntry
+}
+var file_reputation_reputation_db_proto_depIdxs = []int32{
+ 4, // 0: DBReputation.camps:type_name -> DBReputation.CampsEntry
+ 2, // 1: Camp.campAttr:type_name -> CampAttr
+ 3, // 2: Camp.nodes:type_name -> TalentNode
+ 1, // 3: DBReputation.CampsEntry.value:type_name -> Camp
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_reputation_reputation_db_proto_init() }
+func file_reputation_reputation_db_proto_init() {
+ if File_reputation_reputation_db_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_reputation_reputation_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DBReputation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Camp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CampAttr); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TalentNode); 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{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_reputation_reputation_db_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 5,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_reputation_reputation_db_proto_goTypes,
+ DependencyIndexes: file_reputation_reputation_db_proto_depIdxs,
+ MessageInfos: file_reputation_reputation_db_proto_msgTypes,
+ }.Build()
+ File_reputation_reputation_db_proto = out.File
+ file_reputation_reputation_db_proto_rawDesc = nil
+ file_reputation_reputation_db_proto_goTypes = nil
+ file_reputation_reputation_db_proto_depIdxs = nil
+}
diff --git a/pb/reputation_msg.pb.go b/pb/reputation_msg.pb.go
new file mode 100644
index 000000000..91ecf57e0
--- /dev/null
+++ b/pb/reputation_msg.pb.go
@@ -0,0 +1,575 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.20.0
+// source: reputation/reputation_msg.proto
+
+package pb
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+//测试
+type ReputationTalenttestReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RaceType int32 `protobuf:"varint,1,opt,name=raceType,proto3" json:"raceType"`
+ FriendValue int32 `protobuf:"varint,2,opt,name=friendValue,proto3" json:"friendValue"`
+}
+
+func (x *ReputationTalenttestReq) Reset() {
+ *x = ReputationTalenttestReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationTalenttestReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationTalenttestReq) ProtoMessage() {}
+
+func (x *ReputationTalenttestReq) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[0]
+ 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 ReputationTalenttestReq.ProtoReflect.Descriptor instead.
+func (*ReputationTalenttestReq) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReputationTalenttestReq) GetRaceType() int32 {
+ if x != nil {
+ return x.RaceType
+ }
+ return 0
+}
+
+func (x *ReputationTalenttestReq) GetFriendValue() int32 {
+ if x != nil {
+ return x.FriendValue
+ }
+ return 0
+}
+
+type ReputationTalenttestResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReputationTalenttestResp) Reset() {
+ *x = ReputationTalenttestResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationTalenttestResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationTalenttestResp) ProtoMessage() {}
+
+func (x *ReputationTalenttestResp) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[1]
+ 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 ReputationTalenttestResp.ProtoReflect.Descriptor instead.
+func (*ReputationTalenttestResp) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{1}
+}
+
+//天赋树升级
+type ReputationUpgradeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NodeId int32 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId"` //节点ID
+}
+
+func (x *ReputationUpgradeReq) Reset() {
+ *x = ReputationUpgradeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationUpgradeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationUpgradeReq) ProtoMessage() {}
+
+func (x *ReputationUpgradeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[2]
+ 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 ReputationUpgradeReq.ProtoReflect.Descriptor instead.
+func (*ReputationUpgradeReq) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ReputationUpgradeReq) GetNodeId() int32 {
+ if x != nil {
+ return x.NodeId
+ }
+ return 0
+}
+
+type ReputationUpgradeResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReputationUpgradeResp) Reset() {
+ *x = ReputationUpgradeResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationUpgradeResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationUpgradeResp) ProtoMessage() {}
+
+func (x *ReputationUpgradeResp) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[3]
+ 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 ReputationUpgradeResp.ProtoReflect.Descriptor instead.
+func (*ReputationUpgradeResp) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{3}
+}
+
+//获取天赋树节点
+type ReputationTalentReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReputationTalentReq) Reset() {
+ *x = ReputationTalentReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationTalentReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationTalentReq) ProtoMessage() {}
+
+func (x *ReputationTalentReq) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[4]
+ 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 ReputationTalentReq.ProtoReflect.Descriptor instead.
+func (*ReputationTalentReq) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{4}
+}
+
+type ReputationTalentResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AttrGlobal *CampAttr `protobuf:"bytes,1,opt,name=attrGlobal,proto3" json:"attrGlobal"`
+ Camp *Camp `protobuf:"bytes,2,opt,name=camp,proto3" json:"camp"`
+}
+
+func (x *ReputationTalentResp) Reset() {
+ *x = ReputationTalentResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationTalentResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationTalentResp) ProtoMessage() {}
+
+func (x *ReputationTalentResp) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_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 ReputationTalentResp.ProtoReflect.Descriptor instead.
+func (*ReputationTalentResp) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *ReputationTalentResp) GetAttrGlobal() *CampAttr {
+ if x != nil {
+ return x.AttrGlobal
+ }
+ return nil
+}
+
+func (x *ReputationTalentResp) GetCamp() *Camp {
+ if x != nil {
+ return x.Camp
+ }
+ return nil
+}
+
+// 阵营天赋树重置
+type ReputationTalentresetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RaceType int32 `protobuf:"varint,1,opt,name=raceType,proto3" json:"raceType"`
+}
+
+func (x *ReputationTalentresetReq) Reset() {
+ *x = ReputationTalentresetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationTalentresetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationTalentresetReq) ProtoMessage() {}
+
+func (x *ReputationTalentresetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_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 ReputationTalentresetReq.ProtoReflect.Descriptor instead.
+func (*ReputationTalentresetReq) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *ReputationTalentresetReq) GetRaceType() int32 {
+ if x != nil {
+ return x.RaceType
+ }
+ return 0
+}
+
+type ReputationTalentresetResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReputationTalentresetResp) Reset() {
+ *x = ReputationTalentresetResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_reputation_reputation_msg_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReputationTalentresetResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReputationTalentresetResp) ProtoMessage() {}
+
+func (x *ReputationTalentresetResp) ProtoReflect() protoreflect.Message {
+ mi := &file_reputation_reputation_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 ReputationTalentresetResp.ProtoReflect.Descriptor instead.
+func (*ReputationTalentresetResp) Descriptor() ([]byte, []int) {
+ return file_reputation_reputation_msg_proto_rawDescGZIP(), []int{7}
+}
+
+var File_reputation_reputation_msg_proto protoreflect.FileDescriptor
+
+var file_reputation_reputation_msg_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1e, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x72, 0x65,
+ 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08,
+ 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
+ 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x72, 0x65,
+ 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2e, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16,
+ 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
+ 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22,
+ 0x15, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c,
+ 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x22, 0x5c, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29,
+ 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0a, 0x61,
+ 0x74, 0x74, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x04, 0x63, 0x61, 0x6d,
+ 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x05, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x04,
+ 0x63, 0x61, 0x6d, 0x70, 0x22, 0x36, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71,
+ 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x1b, 0x0a, 0x19,
+ 0x72, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74,
+ 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
+ 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_reputation_reputation_msg_proto_rawDescOnce sync.Once
+ file_reputation_reputation_msg_proto_rawDescData = file_reputation_reputation_msg_proto_rawDesc
+)
+
+func file_reputation_reputation_msg_proto_rawDescGZIP() []byte {
+ file_reputation_reputation_msg_proto_rawDescOnce.Do(func() {
+ file_reputation_reputation_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_reputation_reputation_msg_proto_rawDescData)
+ })
+ return file_reputation_reputation_msg_proto_rawDescData
+}
+
+var file_reputation_reputation_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
+var file_reputation_reputation_msg_proto_goTypes = []interface{}{
+ (*ReputationTalenttestReq)(nil), // 0: reputationTalenttestReq
+ (*ReputationTalenttestResp)(nil), // 1: reputationTalenttestResp
+ (*ReputationUpgradeReq)(nil), // 2: reputationUpgradeReq
+ (*ReputationUpgradeResp)(nil), // 3: reputationUpgradeResp
+ (*ReputationTalentReq)(nil), // 4: reputationTalentReq
+ (*ReputationTalentResp)(nil), // 5: reputationTalentResp
+ (*ReputationTalentresetReq)(nil), // 6: reputationTalentresetReq
+ (*ReputationTalentresetResp)(nil), // 7: reputationTalentresetResp
+ (*CampAttr)(nil), // 8: CampAttr
+ (*Camp)(nil), // 9: Camp
+}
+var file_reputation_reputation_msg_proto_depIdxs = []int32{
+ 8, // 0: reputationTalentResp.attrGlobal:type_name -> CampAttr
+ 9, // 1: reputationTalentResp.camp:type_name -> Camp
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_reputation_reputation_msg_proto_init() }
+func file_reputation_reputation_msg_proto_init() {
+ if File_reputation_reputation_msg_proto != nil {
+ return
+ }
+ file_reputation_reputation_db_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_reputation_reputation_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationTalenttestReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationTalenttestResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationUpgradeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationUpgradeResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationTalentReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationTalentResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationTalentresetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_reputation_reputation_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReputationTalentresetResp); 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{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_reputation_reputation_msg_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 8,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_reputation_reputation_msg_proto_goTypes,
+ DependencyIndexes: file_reputation_reputation_msg_proto_depIdxs,
+ MessageInfos: file_reputation_reputation_msg_proto_msgTypes,
+ }.Build()
+ File_reputation_reputation_msg_proto = out.File
+ file_reputation_reputation_msg_proto_rawDesc = nil
+ file_reputation_reputation_msg_proto_goTypes = nil
+ file_reputation_reputation_msg_proto_depIdxs = nil
+}
diff --git a/pb/user_db.pb.go b/pb/user_db.pb.go
index e89282ebf..10ca45045 100644
--- a/pb/user_db.pb.go
+++ b/pb/user_db.pb.go
@@ -131,6 +131,10 @@ type DBUser struct {
Ps int32 `protobuf:"varint,25,opt,name=ps,proto3" json:"ps" bson:"ps"` //体力
LastRecoverPsSec int64 `protobuf:"varint,26,opt,name=lastRecoverPsSec,proto3" json:"lastRecoverPsSec" bson:"lastRecoverPsSec"` // 上次体会恢复时间
Moongold int32 `protobuf:"varint,27,opt,name=moongold,proto3" json:"moongold" bson:"moongold"` //纯净月髓
+ Talent1 int32 `protobuf:"varint,28,opt,name=talent1,proto3" json:"talent1" bson:"talent1"` //阵营1天赋点
+ Talent2 int32 `protobuf:"varint,29,opt,name=talent2,proto3" json:"talent2" bson:"talent2"` //阵营2天赋点
+ Talent3 int32 `protobuf:"varint,30,opt,name=talent3,proto3" json:"talent3" bson:"talent3"` //阵营3天赋点
+ Talent4 int32 `protobuf:"varint,31,opt,name=talent4,proto3" json:"talent4" bson:"talent4"` //阵营4天赋点
}
func (x *DBUser) Reset() {
@@ -354,6 +358,34 @@ func (x *DBUser) GetMoongold() int32 {
return 0
}
+func (x *DBUser) GetTalent1() int32 {
+ if x != nil {
+ return x.Talent1
+ }
+ return 0
+}
+
+func (x *DBUser) GetTalent2() int32 {
+ if x != nil {
+ return x.Talent2
+ }
+ return 0
+}
+
+func (x *DBUser) GetTalent3() int32 {
+ if x != nil {
+ return x.Talent3
+ }
+ return 0
+}
+
+func (x *DBUser) GetTalent4() int32 {
+ if x != nil {
+ return x.Talent4
+ }
+ return 0
+}
+
type DBUserSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -614,7 +646,7 @@ var file_user_user_db_proto_rawDesc = []byte{
0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x0e,
- 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x8a,
+ 0x0a, 0x02, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xf2,
0x05, 0x0a, 0x06, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75,
@@ -655,40 +687,47 @@ var file_user_user_db_proto_rawDesc = []byte{
0x65, 0x72, 0x50, 0x73, 0x53, 0x65, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6c,
0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x73, 0x53, 0x65, 0x63, 0x12,
0x1a, 0x0a, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28,
- 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x22, 0xc7, 0x02, 0x0a, 0x0d,
- 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a,
- 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
- 0x16, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
- 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a,
- 0x75, 0x63, 0x68, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x61, 0x6e, 0x67,
- 0x6a, 0x75, 0x63, 0x68, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e,
- 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e,
- 0x67, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x75, 0x6c, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x04, 0x77, 0x75, 0x6c, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x65,
- 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x66, 0x66,
- 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x75, 0x61, 0x6a, 0x69, 0x18, 0x09, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x61, 0x6a, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x75, 0x62,
- 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x12,
- 0x16, 0x0a, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f,
- 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e,
- 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x78, 0x75, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x18, 0x0d,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x75, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05,
- 0x73, 0x61, 0x69, 0x6a, 0x69, 0x22, 0xb8, 0x01, 0x0a, 0x06, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e,
- 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
- 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
- 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c,
- 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x05, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
- 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f,
- 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x03, 0x64, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x18, 0x07,
- 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04,
- 0x74, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73,
- 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x05, 0x52, 0x08, 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74,
+ 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61,
+ 0x6c, 0x65, 0x6e, 0x74, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32,
+ 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x12,
+ 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c,
+ 0x65, 0x6e, 0x74, 0x34, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x34, 0x22, 0xc7, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
+ 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68,
+ 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x75, 0x61, 0x7a, 0x68, 0x69, 0x12,
+ 0x1c, 0x0a, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x63, 0x68, 0x69, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x61, 0x6e, 0x67, 0x6a, 0x75, 0x63, 0x68, 0x69, 0x12, 0x1a, 0x0a,
+ 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x08, 0x67, 0x61, 0x6f, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x75, 0x6c,
+ 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x75, 0x6c, 0x69, 0x12, 0x14, 0x0a,
+ 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75,
+ 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67,
+ 0x75, 0x61, 0x6a, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67, 0x75, 0x61, 0x6a,
+ 0x69, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x05, 0x66, 0x75, 0x62, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75,
+ 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x74, 0x61, 0x6e, 0x73, 0x75, 0x6f, 0x12,
+ 0x18, 0x0a, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x68, 0x75, 0x6f, 0x64, 0x6f, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x78, 0x75, 0x61,
+ 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x78, 0x75,
+ 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x61, 0x69, 0x6a, 0x69, 0x22, 0xb8, 0x01,
+ 0x0a, 0x06, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69,
+ 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x69,
+ 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61,
+ 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06,
+ 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x75,
+ 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/pb/user_msg.pb.go b/pb/user_msg.pb.go
index 380bfc9b2..506164042 100644
--- a/pb/user_msg.pb.go
+++ b/pb/user_msg.pb.go
@@ -595,6 +595,10 @@ type UserResChangedPush struct {
Arenacoin int32 `protobuf:"varint,8,opt,name=arenacoin,proto3" json:"arenacoin" bson:"arenacoin"` //竞技场币
Ps int32 `protobuf:"varint,9,opt,name=ps,proto3" json:"ps" bson:"ps"` //体力
Moongold int32 `protobuf:"varint,10,opt,name=moongold,proto3" json:"moongold" bson:"moongold"` //纯净月髓
+ Talent1 int32 `protobuf:"varint,11,opt,name=talent1,proto3" json:"talent1" bson:"talent1"` //阵营1天赋点
+ Talent2 int32 `protobuf:"varint,12,opt,name=talent2,proto3" json:"talent2" bson:"talent2"` //阵营2天赋点
+ Talent3 int32 `protobuf:"varint,13,opt,name=talent3,proto3" json:"talent3" bson:"talent3"` //阵营3天赋点
+ Talent4 int32 `protobuf:"varint,14,opt,name=talent4,proto3" json:"talent4" bson:"talent4"` //阵营4天赋点
}
func (x *UserResChangedPush) Reset() {
@@ -699,6 +703,34 @@ func (x *UserResChangedPush) GetMoongold() int32 {
return 0
}
+func (x *UserResChangedPush) GetTalent1() int32 {
+ if x != nil {
+ return x.Talent1
+ }
+ return 0
+}
+
+func (x *UserResChangedPush) GetTalent2() int32 {
+ if x != nil {
+ return x.Talent2
+ }
+ return 0
+}
+
+func (x *UserResChangedPush) GetTalent3() int32 {
+ if x != nil {
+ return x.Talent3
+ }
+ return 0
+}
+
+func (x *UserResChangedPush) GetTalent4() int32 {
+ if x != nil {
+ return x.Talent4
+ }
+ return 0
+}
+
// 玩家在其它终端登录的通知
type UserOtherTermLoginPush struct {
state protoimpl.MessageState
@@ -2702,7 +2734,7 @@ var file_user_user_msg_proto_rawDesc = []byte{
0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e,
0x64, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x88, 0x02,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0xf0, 0x02,
0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18,
@@ -2719,137 +2751,143 @@ var file_user_user_msg_proto_rawDesc = []byte{
0x05, 0x52, 0x09, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
0x70, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08,
0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
- 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72,
- 0x4f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x75,
- 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x75, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x50, 0x73, 0x43, 0x68,
- 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65,
- 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x22, 0x3e,
- 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
- 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
- 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x40,
- 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74,
- 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
- 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72,
- 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
- 0x22, 0x29, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
- 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55,
- 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x22, 0x26,
- 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x25, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
- 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x24, 0x0a,
- 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73,
+ 0x6d, 0x6f, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e,
+ 0x74, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x32, 0x12, 0x18, 0x0a, 0x07,
+ 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74,
+ 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
+ 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x34,
+ 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x65, 0x72,
+ 0x6d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x11,
+ 0x55, 0x73, 0x65, 0x72, 0x50, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73,
+ 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70,
+ 0x73, 0x22, 0x13, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x22, 0x3e, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65,
+ 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07,
+ 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
+ 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x40, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x28,
+ 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0e, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52,
+ 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66,
- 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12,
- 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31,
- 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74,
- 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
- 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61,
- 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61,
- 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61,
- 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4d,
- 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x62,
- 0x67, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49,
- 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62,
- 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x31,
- 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75,
- 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49,
- 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49,
- 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66,
- 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66,
- 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66,
- 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x47,
- 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2d, 0x0a, 0x11, 0x55,
- 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70,
- 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x11, 0x55, 0x73,
- 0x65, 0x72, 0x4c, 0x76, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12,
- 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69,
- 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
- 0x65, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x02, 0x6c, 0x76, 0x22, 0x54, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x70, 0x43, 0x68,
- 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76,
- 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x69, 0x70,
- 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x70, 0x4c, 0x76, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65,
- 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12,
- 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69,
- 0x67, 0x6e, 0x22, 0x26, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
- 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73,
- 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
- 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x75, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74,
- 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04,
- 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55,
- 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x02, 0x65, 0x78, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78,
- 0x70, 0x61, 0x6e, 0x64, 0x52, 0x02, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x6f,
- 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
- 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
- 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a,
- 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
- 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63,
- 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63,
- 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69,
- 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67,
- 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x34, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
- 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a,
- 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x13,
- 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52,
- 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f,
- 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x22, 0x32, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72,
- 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a,
- 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0e,
- 0x55, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20,
- 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
- 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73,
- 0x22, 0x31, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73,
- 0x65, 0x72, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65,
- 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x15, 0x55,
+ 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x43,
+ 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x22, 0x26, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x56, 0x65,
+ 0x72, 0x69, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x25,
+ 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69, 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65,
+ 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x24, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x69,
+ 0x74, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x11, 0x55,
+ 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69,
+ 0x66, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f,
+ 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
+ 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65,
+ 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73,
+ 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x22,
+ 0x28, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70,
+ 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x55, 0x73, 0x65,
+ 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x62, 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
+ 0x12, 0x14, 0x0a, 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x62, 0x67, 0x70, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f,
+ 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
+ 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x55, 0x73, 0x65,
+ 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22,
+ 0x12, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6a, 0x69, 0x61, 0x6e,
+ 0x52, 0x65, 0x71, 0x22, 0x2d, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x75,
+ 0x6a, 0x69, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f,
+ 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x69,
+ 0x64, 0x73, 0x22, 0x47, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x76, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
+ 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x54, 0x0a, 0x12, 0x55,
+ 0x73, 0x65, 0x72, 0x56, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x75, 0x73,
+ 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x69, 0x70, 0x4c, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x69, 0x70, 0x4c,
+ 0x76, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73,
+ 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x26, 0x0a, 0x12, 0x55, 0x73,
+ 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70,
+ 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
+ 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x14,
+ 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74,
+ 0x61, 0x12, 0x1d, 0x0a, 0x02, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x02, 0x65, 0x78,
+ 0x12, 0x33, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64,
+ 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a, 0x0d, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44,
+ 0x42, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x0d, 0x68, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x76,
+ 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x56, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x6e, 0x6b,
+ 0x52, 0x0c, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x34,
+ 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61,
+ 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49,
+ 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62,
+ 0x6a, 0x49, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x11, 0x0a,
+ 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71,
+ 0x22, 0x32, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x74, 0x65, 0x61, 0x6d,
+ 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49,
+ 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62,
+ 0x6a, 0x49, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x69,
+ 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x73, 0x65,
+ 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x31, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05,
+ 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42,
+ 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55,
0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61,
- 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74,
- 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53,
- 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2b, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69,
- 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64,
- 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c,
- 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64,
- 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22,
- 0x2b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61,
- 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x27, 0x0a, 0x11,
- 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65,
- 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x04, 0x74, 0x69, 0x70, 0x73, 0x22, 0x31, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61,
- 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64,
- 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69,
- 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x52, 0x65, 0x71, 0x22, 0x3a, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x53,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
+ 0x0d, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x2b,
+ 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b,
+ 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44,
+ 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, 0x12, 0x55,
+ 0x73, 0x65, 0x72, 0x50, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x50,
+ 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14,
+ 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x70,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x70, 0x73, 0x22, 0x31, 0x0a,
+ 0x12, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x70, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
+ 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/services/worker/main.go b/services/worker/main.go
index 7f50df4ad..acfabc1fe 100644
--- a/services/worker/main.go
+++ b/services/worker/main.go
@@ -34,6 +34,7 @@ import (
"go_dreamfactory/modules/privilege"
"go_dreamfactory/modules/pvp"
"go_dreamfactory/modules/reddot"
+ "go_dreamfactory/modules/reputation"
"go_dreamfactory/modules/rtask"
"go_dreamfactory/modules/shop"
"go_dreamfactory/modules/smithy"
@@ -58,8 +59,8 @@ import (
)
/*
- 服务类型:worker
- 服务描述:处理梦工厂的具体业务需求,包含 user,pack,mail,friend...功能业务模块
+服务类型:worker
+服务描述:处理梦工厂的具体业务需求,包含 user,pack,mail,friend...功能业务模块
*/
var (
conf = flag.String("conf", "./conf/worker_1.yaml", "获取需要启动的服务配置文件") //启动服务的Id
@@ -119,6 +120,7 @@ func main() {
practice.NewModule(),
parkour.NewModule(),
tools.NewModule(),
+ reputation.NewModule(),
)
}
@@ -128,12 +130,12 @@ func NewService(ops ...rpcx.Option) core.IService {
return s
}
-//worker 的服务对象定义
+// worker 的服务对象定义
type Service struct {
services.ServiceBase
}
-//初始化worker需要的一些系统工具
+// 初始化worker需要的一些系统工具
func (this *Service) InitSys() {
this.ServiceBase.InitSys()
//初始化配置中心系统 每个服务都会用到的就在这个初始化就好
diff --git a/sys/configure/structs/Game.BuzkashiFm.go b/sys/configure/structs/Game.BuzkashiFm.go
new file mode 100644
index 000000000..828a9568a
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiFm.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiFm struct {
+ _dataMap map[int32]*GameBuzkashiFmData
+ _dataList []*GameBuzkashiFmData
+}
+
+func NewGameBuzkashiFm(_buf []map[string]interface{}) (*GameBuzkashiFm, error) {
+ _dataList := make([]*GameBuzkashiFmData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiFmData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiFmData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiFm{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiFm) GetDataMap() map[int32]*GameBuzkashiFmData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiFm) GetDataList() []*GameBuzkashiFmData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiFm) Get(key int32) *GameBuzkashiFmData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiFmData.go b/sys/configure/structs/Game.BuzkashiFmData.go
new file mode 100644
index 000000000..d4270f2be
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiFmData.go
@@ -0,0 +1,43 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiFmData struct {
+ Num int32
+ Type int32
+ Stime string
+ Broadcast string
+ Icon string
+}
+
+const TypeId_GameBuzkashiFmData = -1288548636
+
+func (*GameBuzkashiFmData) GetTypeId() int32 {
+ return -1288548636
+}
+
+func (_v *GameBuzkashiFmData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Stime, _ok_ = _buf["stime"].(string); !_ok_ { err = errors.New("stime error"); return } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["broadcast"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Broadcast error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Broadcast, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
+ return
+}
+
+func DeserializeGameBuzkashiFmData(_buf map[string]interface{}) (*GameBuzkashiFmData, error) {
+ v := &GameBuzkashiFmData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiGrade.go b/sys/configure/structs/Game.BuzkashiGrade.go
new file mode 100644
index 000000000..844167a60
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiGrade.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiGrade struct {
+ _dataMap map[int32]*GameBuzkashiGradeData
+ _dataList []*GameBuzkashiGradeData
+}
+
+func NewGameBuzkashiGrade(_buf []map[string]interface{}) (*GameBuzkashiGrade, error) {
+ _dataList := make([]*GameBuzkashiGradeData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiGradeData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiGradeData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiGrade{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiGrade) GetDataMap() map[int32]*GameBuzkashiGradeData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiGrade) GetDataList() []*GameBuzkashiGradeData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiGrade) Get(key int32) *GameBuzkashiGradeData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiGradeData.go b/sys/configure/structs/Game.BuzkashiGradeData.go
new file mode 100644
index 000000000..58cefc9c3
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiGradeData.go
@@ -0,0 +1,39 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiGradeData struct {
+ Num int32
+ Distance string
+ Value int32
+}
+
+const TypeId_GameBuzkashiGradeData = -378990226
+
+func (*GameBuzkashiGradeData) GetTypeId() int32 {
+ return -378990226
+}
+
+func (_v *GameBuzkashiGradeData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Distance, _ok_ = _buf["distance"].(string); !_ok_ { err = errors.New("distance error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameBuzkashiGradeData(_buf map[string]interface{}) (*GameBuzkashiGradeData, error) {
+ v := &GameBuzkashiGradeData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiLv.go b/sys/configure/structs/Game.BuzkashiLv.go
new file mode 100644
index 000000000..5c4c1a3f2
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiLv.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiLv struct {
+ _dataMap map[int32]*GameBuzkashiLvData
+ _dataList []*GameBuzkashiLvData
+}
+
+func NewGameBuzkashiLv(_buf []map[string]interface{}) (*GameBuzkashiLv, error) {
+ _dataList := make([]*GameBuzkashiLvData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiLvData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiLvData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiLv{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiLv) GetDataMap() map[int32]*GameBuzkashiLvData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiLv) GetDataList() []*GameBuzkashiLvData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiLv) Get(key int32) *GameBuzkashiLvData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiLvData.go b/sys/configure/structs/Game.BuzkashiLvData.go
new file mode 100644
index 000000000..ad32def00
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiLvData.go
@@ -0,0 +1,39 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiLvData struct {
+ Num int32
+ Score string
+ Value int32
+}
+
+const TypeId_GameBuzkashiLvData = -1108462041
+
+func (*GameBuzkashiLvData) GetTypeId() int32 {
+ return -1108462041
+}
+
+func (_v *GameBuzkashiLvData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Score, _ok_ = _buf["score"].(string); !_ok_ { err = errors.New("score error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameBuzkashiLvData(_buf map[string]interface{}) (*GameBuzkashiLvData, error) {
+ v := &GameBuzkashiLvData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiMount.go b/sys/configure/structs/Game.BuzkashiMount.go
new file mode 100644
index 000000000..256db7a82
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiMount.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiMount struct {
+ _dataMap map[string]*GameBuzkashiMountData
+ _dataList []*GameBuzkashiMountData
+}
+
+func NewGameBuzkashiMount(_buf []map[string]interface{}) (*GameBuzkashiMount, error) {
+ _dataList := make([]*GameBuzkashiMountData, 0, len(_buf))
+ dataMap := make(map[string]*GameBuzkashiMountData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiMountData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GameBuzkashiMount{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiMount) GetDataMap() map[string]*GameBuzkashiMountData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiMount) GetDataList() []*GameBuzkashiMountData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiMount) Get(key string) *GameBuzkashiMountData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiMountData.go b/sys/configure/structs/Game.BuzkashiMountData.go
new file mode 100644
index 000000000..503940851
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiMountData.go
@@ -0,0 +1,53 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiMountData struct {
+ Num string
+ Stime int32
+ Etime int32
+ Hp int32
+ Model string
+ Point string
+ Moderate int32
+ Sprint int32
+ Acceleration int32
+ Deceleration int32
+}
+
+const TypeId_GameBuzkashiMountData = 1598069936
+
+func (*GameBuzkashiMountData) GetTypeId() int32 {
+ return 1598069936
+}
+
+func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; if _v.Num, _ok_ = _buf["num"].(string); !_ok_ { err = errors.New("num error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stime"].(float64); !_ok_ { err = errors.New("stime error"); return }; _v.Stime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["etime"].(float64); !_ok_ { err = errors.New("etime error"); return }; _v.Etime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } }
+ { var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["moderate"].(float64); !_ok_ { err = errors.New("moderate error"); return }; _v.Moderate = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sprint"].(float64); !_ok_ { err = errors.New("sprint error"); return }; _v.Sprint = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["acceleration"].(float64); !_ok_ { err = errors.New("acceleration error"); return }; _v.Acceleration = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["deceleration"].(float64); !_ok_ { err = errors.New("deceleration error"); return }; _v.Deceleration = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGameBuzkashiMountData(_buf map[string]interface{}) (*GameBuzkashiMountData, error) {
+ v := &GameBuzkashiMountData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.BuzkashiReward.go b/sys/configure/structs/Game.BuzkashiReward.go
new file mode 100644
index 000000000..8afd2c6cb
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiReward.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameBuzkashiReward struct {
+ _dataMap map[int32]*GameBuzkashiRewardData
+ _dataList []*GameBuzkashiRewardData
+}
+
+func NewGameBuzkashiReward(_buf []map[string]interface{}) (*GameBuzkashiReward, error) {
+ _dataList := make([]*GameBuzkashiRewardData, 0, len(_buf))
+ dataMap := make(map[int32]*GameBuzkashiRewardData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameBuzkashiRewardData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Key] = _v
+ }
+ }
+ return &GameBuzkashiReward{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameBuzkashiReward) GetDataMap() map[int32]*GameBuzkashiRewardData {
+ return table._dataMap
+}
+
+func (table *GameBuzkashiReward) GetDataList() []*GameBuzkashiRewardData {
+ return table._dataList
+}
+
+func (table *GameBuzkashiReward) Get(key int32) *GameBuzkashiRewardData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.BuzkashiRewardData.go b/sys/configure/structs/Game.BuzkashiRewardData.go
new file mode 100644
index 000000000..cf44a2e1f
--- /dev/null
+++ b/sys/configure/structs/Game.BuzkashiRewardData.go
@@ -0,0 +1,52 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameBuzkashiRewardData struct {
+ Key int32
+ Schedule int32
+ Reword []*Gameatn
+}
+
+const TypeId_GameBuzkashiRewardData = -1577911348
+
+func (*GameBuzkashiRewardData) GetTypeId() int32 {
+ return -1577911348
+}
+
+func (_v *GameBuzkashiRewardData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["schedule"].(float64); !_ok_ { err = errors.New("schedule error"); return }; _v.Schedule = int32(_tempNum_) }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
+
+ _v.Reword = make([]*Gameatn, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ *Gameatn
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
+ _v.Reword = append(_v.Reword, _list_v_)
+ }
+ }
+
+ return
+}
+
+func DeserializeGameBuzkashiRewardData(_buf map[string]interface{}) (*GameBuzkashiRewardData, error) {
+ v := &GameBuzkashiRewardData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.Navigation.go b/sys/configure/structs/Game.Navigation.go
new file mode 100644
index 000000000..66b6a814a
--- /dev/null
+++ b/sys/configure/structs/Game.Navigation.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameNavigation struct {
+ _dataMap map[int32]*GameNavigationData
+ _dataList []*GameNavigationData
+}
+
+func NewGameNavigation(_buf []map[string]interface{}) (*GameNavigation, error) {
+ _dataList := make([]*GameNavigationData, 0, len(_buf))
+ dataMap := make(map[int32]*GameNavigationData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameNavigationData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GameNavigation{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameNavigation) GetDataMap() map[int32]*GameNavigationData {
+ return table._dataMap
+}
+
+func (table *GameNavigation) GetDataList() []*GameNavigationData {
+ return table._dataList
+}
+
+func (table *GameNavigation) Get(key int32) *GameNavigationData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.NavigationData.go b/sys/configure/structs/Game.NavigationData.go
new file mode 100644
index 000000000..293610cc0
--- /dev/null
+++ b/sys/configure/structs/Game.NavigationData.go
@@ -0,0 +1,47 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameNavigationData struct {
+ Id int32
+ Scene string
+ Scenename string
+ Sceneicon string
+ Functionname string
+ NpcName string
+ Functionicon string
+}
+
+const TypeId_GameNavigationData = -800652966
+
+func (*GameNavigationData) GetTypeId() int32 {
+ return -800652966
+}
+
+func (_v *GameNavigationData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Id"].(float64); !_ok_ { err = errors.New("Id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Scene, _ok_ = _buf["scene"].(string); !_ok_ { err = errors.New("scene error"); return } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["scenename"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Scenename error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Scenename, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; if _v.Sceneicon, _ok_ = _buf["sceneicon"].(string); !_ok_ { err = errors.New("sceneicon error"); return } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["functionname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Functionname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Functionname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; if _v.NpcName, _ok_ = _buf["npcName"].(string); !_ok_ { err = errors.New("npcName error"); return } }
+ { var _ok_ bool; if _v.Functionicon, _ok_ = _buf["functionicon"].(string); !_ok_ { err = errors.New("functionicon error"); return } }
+ return
+}
+
+func DeserializeGameNavigationData(_buf map[string]interface{}) (*GameNavigationData, error) {
+ v := &GameNavigationData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.buzkashiOpen.go b/sys/configure/structs/Game.buzkashiOpen.go
new file mode 100644
index 000000000..819f52683
--- /dev/null
+++ b/sys/configure/structs/Game.buzkashiOpen.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GamebuzkashiOpen struct {
+ _dataMap map[int32]*GamebuzkashiOpenData
+ _dataList []*GamebuzkashiOpenData
+}
+
+func NewGamebuzkashiOpen(_buf []map[string]interface{}) (*GamebuzkashiOpen, error) {
+ _dataList := make([]*GamebuzkashiOpenData, 0, len(_buf))
+ dataMap := make(map[int32]*GamebuzkashiOpenData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGamebuzkashiOpenData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Num] = _v
+ }
+ }
+ return &GamebuzkashiOpen{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GamebuzkashiOpen) GetDataMap() map[int32]*GamebuzkashiOpenData {
+ return table._dataMap
+}
+
+func (table *GamebuzkashiOpen) GetDataList() []*GamebuzkashiOpenData {
+ return table._dataList
+}
+
+func (table *GamebuzkashiOpen) Get(key int32) *GamebuzkashiOpenData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.buzkashiOpenData.go b/sys/configure/structs/Game.buzkashiOpenData.go
new file mode 100644
index 000000000..3189a64c2
--- /dev/null
+++ b/sys/configure/structs/Game.buzkashiOpenData.go
@@ -0,0 +1,43 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GamebuzkashiOpenData struct {
+ Num int32
+ Shtime int32
+ Smtime int32
+ Ehtime int32
+ Emtime int32
+}
+
+const TypeId_GamebuzkashiOpenData = 1621393927
+
+func (*GamebuzkashiOpenData) GetTypeId() int32 {
+ return 1621393927
+}
+
+func (_v *GamebuzkashiOpenData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["shtime"].(float64); !_ok_ { err = errors.New("shtime error"); return }; _v.Shtime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["smtime"].(float64); !_ok_ { err = errors.New("smtime error"); return }; _v.Smtime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ehtime"].(float64); !_ok_ { err = errors.New("ehtime error"); return }; _v.Ehtime = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["emtime"].(float64); !_ok_ { err = errors.New("emtime error"); return }; _v.Emtime = int32(_tempNum_) }
+ return
+}
+
+func DeserializeGamebuzkashiOpenData(_buf map[string]interface{}) (*GamebuzkashiOpenData, error) {
+ v := &GamebuzkashiOpenData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go
index 5c53fea6d..a2c92e40d 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -189,6 +189,13 @@ type Tables struct {
Favorability *GameFavorability
Friends *GameFriends
CampLv *GameCampLv
+ Navigation *GameNavigation
+ BuzkashiMount *GameBuzkashiMount
+ BuzkashiLv *GameBuzkashiLv
+ BuzkashiGrade *GameBuzkashiGrade
+ BuzkashiReward *GameBuzkashiReward
+ BuzkashiFm *GameBuzkashiFm
+ buzkashiOpen *GamebuzkashiOpen
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -1264,5 +1271,47 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.CampLv, err = NewGameCampLv(buf) ; err != nil {
return nil, err
}
+ if buf, err = loader("game_navigation") ; err != nil {
+ return nil, err
+ }
+ if tables.Navigation, err = NewGameNavigation(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashimount") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiMount, err = NewGameBuzkashiMount(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashilv") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiLv, err = NewGameBuzkashiLv(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashigrade") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiGrade, err = NewGameBuzkashiGrade(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashireward") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiReward, err = NewGameBuzkashiReward(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashifm") ; err != nil {
+ return nil, err
+ }
+ if tables.BuzkashiFm, err = NewGameBuzkashiFm(buf) ; err != nil {
+ return nil, err
+ }
+ if buf, err = loader("game_buzkashiopen") ; err != nil {
+ return nil, err
+ }
+ if tables.buzkashiOpen, err = NewGamebuzkashiOpen(buf) ; err != nil {
+ return nil, err
+ }
return tables, nil
}
diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go
index 76dc46387..87c169344 100644
--- a/sys/configure/structs/game.globalData.go
+++ b/sys/configure/structs/game.globalData.go
@@ -222,7 +222,10 @@ type GameGlobalData struct {
BuzkashiVintegral []*Gameatn
BuzkashiFintegral []*Gameatn
BuzkashiResurrection int32
+<<<<<<< HEAD
FavorabilityAttenuation []*Gamekv
+=======
+>>>>>>> 2ff92487cf513d980124f84c7fe3db1e6bb88e31
}
const TypeId_GameGlobalData = 477542761
@@ -911,6 +914,7 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buzkashi_resurrection"].(float64); !_ok_ { err = errors.New("buzkashi_resurrection error"); return }; _v.BuzkashiResurrection = int32(_tempNum_) }
+<<<<<<< HEAD
{
var _arr_ []interface{}
var _ok_ bool
@@ -925,6 +929,8 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
}
}
+=======
+>>>>>>> 2ff92487cf513d980124f84c7fe3db1e6bb88e31
return
}
diff --git a/sys/configure/structs/game.modelData.go b/sys/configure/structs/game.modelData.go
index 633f8ba0c..8d2478052 100644
--- a/sys/configure/structs/game.modelData.go
+++ b/sys/configure/structs/game.modelData.go
@@ -27,6 +27,8 @@ type GameModelData struct {
Bust string
Postxyz []float32
Rotation serialization.Vector3
+ BoxPos serialization.Vector3
+ BoxSize serialization.Vector3
}
const TypeId_GameModelData = -305436809
@@ -71,6 +73,22 @@ func (_v *GameModelData)Deserialize(_buf map[string]interface{}) (err error) {
_v.Rotation = serialization.NewVector3(_x_, _y_, _z_)
}
+ { var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["boxPos"].(map[string]interface{}); !_ok_ { err = errors.New("boxPos error"); return }
+ var _x_, _y_, _z_ float32;
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
+ _v.BoxPos = serialization.NewVector3(_x_, _y_, _z_)
+ }
+
+ { var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["boxSize"].(map[string]interface{}); !_ok_ { err = errors.New("boxSize error"); return }
+ var _x_, _y_, _z_ float32;
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
+ _v.BoxSize = serialization.NewVector3(_x_, _y_, _z_)
+ }
+
return
}