This commit is contained in:
meixiongfeng 2023-04-19 11:47:46 +08:00
commit 14a658f62e
29 changed files with 1246 additions and 790 deletions

View File

@ -15,6 +15,7 @@
"text": "有人前来闹事,快去解决掉他"
},
"BattleReadyID": 100,
"monsterformat_id": 101011,
"EventList": [],
"award": [
{
@ -57,6 +58,7 @@
"text": "有人前来闹事,快去解决掉他"
},
"BattleReadyID": 100,
"monsterformat_id": 101052,
"EventList": [],
"award": [
{

View File

@ -8,7 +8,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 69,
"tasktime": 140,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -56,7 +56,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 140,
"tasktime": 73,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -104,7 +104,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 62,
"tasktime": 137,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -152,7 +152,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 91,
"tasktime": 132,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -200,7 +200,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 85,
"tasktime": 126,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -248,7 +248,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 72,
"tasktime": 82,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -296,7 +296,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 129,
"tasktime": 166,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -344,7 +344,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 176,
"tasktime": 79,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -392,7 +392,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 100,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -440,7 +440,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 103,
"tasktime": 158,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -488,7 +488,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 114,
"tasktime": 168,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -536,7 +536,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 124,
"tasktime": 170,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -584,7 +584,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 112,
"tasktime": 83,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -632,7 +632,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 87,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -680,7 +680,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 122,
"tasktime": 141,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -728,7 +728,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 75,
"tasktime": 92,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -776,7 +776,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 74,
"tasktime": 128,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -824,7 +824,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 92,
"tasktime": 136,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -872,7 +872,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 73,
"tasktime": 132,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -920,7 +920,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 85,
"tasktime": 122,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -968,7 +968,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 95,
"tasktime": 82,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1016,7 +1016,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 169,
"tasktime": 84,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1064,7 +1064,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 118,
"tasktime": 122,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1112,7 +1112,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 151,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1160,7 +1160,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 178,
"tasktime": 159,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1208,7 +1208,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 105,
"tasktime": 88,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1256,7 +1256,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 84,
"tasktime": 94,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1304,7 +1304,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 118,
"tasktime": 132,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1352,7 +1352,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 178,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1400,7 +1400,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 108,
"tasktime": 147,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1448,7 +1448,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 62,
"tasktime": 61,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1496,7 +1496,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 125,
"tasktime": 130,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1544,7 +1544,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 112,
"tasktime": 160,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1592,7 +1592,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 152,
"tasktime": 109,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1640,7 +1640,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 100,
"tasktime": 60,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1688,7 +1688,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 154,
"tasktime": 105,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1736,7 +1736,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 165,
"tasktime": 103,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1784,7 +1784,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 98,
"tasktime": 122,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1832,7 +1832,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 135,
"tasktime": 76,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1880,7 +1880,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 150,
"tasktime": 140,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1928,7 +1928,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 63,
"tasktime": 89,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1976,7 +1976,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 94,
"tasktime": 81,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2024,7 +2024,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 63,
"tasktime": 166,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2072,7 +2072,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 112,
"tasktime": 180,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2120,7 +2120,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 176,
"tasktime": 95,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2168,7 +2168,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 76,
"tasktime": 146,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2216,7 +2216,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 84,
"tasktime": 153,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2264,7 +2264,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 175,
"tasktime": 113,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2312,7 +2312,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 97,
"tasktime": 70,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2360,7 +2360,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 135,
"tasktime": 69,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2408,7 +2408,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 178,
"tasktime": 160,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2456,7 +2456,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 95,
"tasktime": 141,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2504,7 +2504,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 116,
"tasktime": 143,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2552,7 +2552,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 180,
"tasktime": 91,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2600,7 +2600,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 89,
"tasktime": 120,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2648,7 +2648,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 65,
"tasktime": 119,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2696,7 +2696,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 79,
"tasktime": 129,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2744,7 +2744,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 125,
"tasktime": 76,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2792,7 +2792,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 85,
"tasktime": 84,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2840,7 +2840,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 179,
"tasktime": 68,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2888,7 +2888,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 166,
"tasktime": 152,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2936,7 +2936,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 155,
"tasktime": 129,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2984,7 +2984,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 144,
"tasktime": 105,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3032,7 +3032,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 134,
"tasktime": 73,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3080,7 +3080,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 129,
"tasktime": 144,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3128,7 +3128,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 103,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -3176,7 +3176,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 108,
"tasktime": 88,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3224,7 +3224,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 88,
"tasktime": 123,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3272,7 +3272,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 97,
"tasktime": 152,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3320,7 +3320,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 158,
"tasktime": 62,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -3368,7 +3368,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 103,
"tasktime": 132,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3416,7 +3416,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 162,
"tasktime": 64,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3464,7 +3464,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 94,
"tasktime": 70,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3512,7 +3512,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 70,
"tasktime": 71,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"

View File

@ -89347,5 +89347,57 @@
"atkpro": 1,
"defpro": 0.8,
"modelsize": 1
},
{
"Id": 801031,
"pos": 1,
"captainId": 0,
"IsBoss": 0,
"bossHpCnt": 0,
"monster": 510023,
"lv": 10,
"hppro": 0.5,
"atkpro": 0.6,
"defpro": 0.1,
"modelsize": 1
},
{
"Id": 801031,
"pos": 2,
"captainId": 0,
"IsBoss": 0,
"bossHpCnt": 0,
"monster": 510053,
"lv": 10,
"hppro": 0.5,
"atkpro": 0.6,
"defpro": 0.1,
"modelsize": 1
},
{
"Id": 801031,
"pos": 3,
"captainId": 0,
"IsBoss": 0,
"bossHpCnt": 0,
"monster": 510043,
"lv": 10,
"hppro": 0.5,
"atkpro": 0.6,
"defpro": 0.1,
"modelsize": 1
},
{
"Id": 801031,
"pos": 5,
"captainId": 0,
"IsBoss": 0,
"bossHpCnt": 0,
"monster": 530013,
"lv": 12,
"hppro": 0.5,
"atkpro": 0.6,
"defpro": 0.1,
"modelsize": 1
}
]

View File

@ -14,7 +14,7 @@
"monster_id": [
501001,
801031,
501003
801031
],
"reward": [
{
@ -52,7 +52,7 @@
"monster_id": [
501004,
801031,
501006
801031
],
"reward": [
{
@ -85,7 +85,7 @@
"monster_id": [
501007,
801031,
501009
801031
],
"reward": [
{
@ -118,7 +118,7 @@
"monster_id": [
501010,
801031,
501012
801031
],
"reward": [
{
@ -151,7 +151,7 @@
"monster_id": [
501013,
801031,
501015
801031
],
"reward": [
{
@ -184,7 +184,7 @@
"monster_id": [
501016,
801031,
501018
801031
],
"reward": [
{
@ -217,7 +217,7 @@
"monster_id": [
501019,
801031,
501021
801031
],
"reward": [
{
@ -250,7 +250,7 @@
"monster_id": [
501022,
801031,
501024
801031
],
"reward": [
{
@ -283,7 +283,7 @@
"monster_id": [
501025,
801031,
501027
801031
],
"reward": [
{
@ -316,7 +316,7 @@
"monster_id": [
501028,
801031,
501030
801031
],
"reward": [
{

View File

@ -48,7 +48,7 @@
"img": "sbkp_js_13001",
"intr": {
"key": "shirenyu10002",
"text": "闪闪"
"text": "作为教习,闪闪一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -82,7 +82,7 @@
"img": "sbkp_js_44002",
"intr": {
"key": "shirenyu10003",
"text": "蛇先生"
"text": "作为教习,蛇先生一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -116,7 +116,7 @@
"img": "sbkp_js_24005",
"intr": {
"key": "shirenyu10004",
"text": "金猴"
"text": "作为教习,金猴一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -161,7 +161,7 @@
"img": "sbkp_js_14005",
"intr": {
"key": "shirenyu10005",
"text": "鹤大师"
"text": "作为教习,鹤大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -195,7 +195,7 @@
"img": "sbkp_js_44006",
"intr": {
"key": "shirenyu10006",
"text": "悍娇虎"
"text": "作为教习,悍娇虎一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -229,7 +229,7 @@
"img": "sbkp_js_43001",
"intr": {
"key": "shirenyu10007",
"text": "盖"
"text": "作为教习,一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -263,7 +263,7 @@
"img": "sbkp_js_35002",
"intr": {
"key": "shirenyu10008",
"text": "希卡普"
"text": "作为教习,希卡普一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -297,7 +297,7 @@
"img": "sbkp_js_45004",
"intr": {
"key": "shirenyu10009",
"text": "穿靴猫"
"text": "作为教习,穿靴猫一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -342,7 +342,7 @@
"img": "sbkp_js_35001",
"intr": {
"key": "shirenyu10010",
"text": "师父"
"text": "作为教习,师父一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -387,7 +387,7 @@
"img": "sbkp_js_25001",
"intr": {
"key": "shirenyu10011",
"text": "阿宝"
"text": "作为教习,阿宝一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -432,7 +432,7 @@
"img": "sbkp_js_45001",
"intr": {
"key": "shirenyu10012",
"text": "乌龟大师"
"text": "作为教习,乌龟大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
@ -522,7 +522,7 @@
"img": "wg_icon_kz",
"intr": {
"key": "shirenyu20002",
"text": "双头空竹"
"text": "双头空竹,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -556,7 +556,7 @@
"img": "wg_icon_pj",
"intr": {
"key": "shirenyu20003",
"text": "木爬架"
"text": "木爬架,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -590,7 +590,7 @@
"img": "wg_icon_bdw",
"intr": {
"key": "shirenyu20004",
"text": "不倒翁"
"text": "不倒翁,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -624,7 +624,7 @@
"img": "wg_icon_pc",
"intr": {
"key": "shirenyu20005",
"text": "棒槌"
"text": "棒槌,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -658,7 +658,7 @@
"img": "wg_icon_tl",
"intr": {
"key": "shirenyu20006",
"text": "铜铃"
"text": "铜铃,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -692,7 +692,7 @@
"img": "wg_icon_tj",
"intr": {
"key": "shirenyu20007",
"text": "尖刺吊环"
"text": "尖刺吊环,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -726,7 +726,7 @@
"img": "wg_icon_tj01",
"intr": {
"key": "shirenyu20008",
"text": "陀螺"
"text": "陀螺,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -760,7 +760,7 @@
"img": "wg_icon_zl",
"intr": {
"key": "shirenyu20009",
"text": "大转轮"
"text": "大转轮,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -805,7 +805,7 @@
"img": "wg_icon_mp",
"intr": {
"key": "shirenyu20010",
"text": "木头牌"
"text": "木头牌,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -850,7 +850,7 @@
"img": "wg_icon_sjg",
"intr": {
"key": "shirenyu20011",
"text": "双节棍"
"text": "双节棍,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -895,7 +895,7 @@
"img": "wg_icon_yd",
"intr": {
"key": "shirenyu20012",
"text": "练功带"
"text": "练功带,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -940,7 +940,7 @@
"img": "wg_icon_tj",
"intr": {
"key": "shirenyu20013",
"text": "七彩花棍"
"text": "七彩花棍,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -985,7 +985,7 @@
"img": "wg_icon_fb",
"intr": {
"key": "shirenyu20014",
"text": "流星飞镖"
"text": "流星飞镖,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -1019,7 +1019,7 @@
"img": "wg_icon_mxl",
"intr": {
"key": "shirenyu20015",
"text": "冥想锣"
"text": "冥想锣,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -1053,7 +1053,7 @@
"img": "wg_icon_ct",
"intr": {
"key": "shirenyu20016",
"text": "彩条龙"
"text": "彩条龙,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -1087,7 +1087,7 @@
"img": "wg_icon_kqms",
"intr": {
"key": "shirenyu20017",
"text": "孔雀毛扇"
"text": "孔雀毛扇,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -1130,7 +1130,7 @@
"img": "wg_icon_ph",
"intr": {
"key": "shirenyu20018",
"text": "平衡木"
"text": "平衡木,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -1173,7 +1173,7 @@
"img": "wg_icon_th",
"intr": {
"key": "shirenyu20019",
"text": "铁环"
"text": "铁环,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
@ -1216,7 +1216,7 @@
"img": "wg_icon_tj",
"intr": {
"key": "shirenyu20020",
"text": "太极球"
"text": "太极球,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,

View File

@ -37,7 +37,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -81,7 +81,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -213,7 +213,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -399,7 +399,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -443,7 +443,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -487,7 +487,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -531,7 +531,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -575,7 +575,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -619,7 +619,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -663,7 +663,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -707,7 +707,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -751,7 +751,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -795,7 +795,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -839,7 +839,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -856,7 +856,7 @@
"icon": "",
"task_Tname": {
"key": "Daily_tasks4",
"text": "1"
"text": "日常任务"
},
"task_name": {
"key": "Daily_tasks4",
@ -883,95 +883,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"n": 5000
}
],
"module": []
},
{
"key": 100050,
"lock": 6,
"lockend": 20,
"ontxe": 20050,
"id_after": 0,
"group": 114,
"des": 1,
"icon": "",
"task_Tname": {
"key": "Daily_tasks5",
"text": "1"
},
"task_name": {
"key": "Daily_tasks5",
"text": "1"
},
"npctxt": {
"key": "",
"text": ""
},
"npc": 10010,
"completetasktxt": {
"key": "",
"text": ""
},
"completetask": [
0
],
"deliver_npctxt": {
"key": "",
"text": ""
},
"deliver_npc": 10012,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "glod",
"n": 5000
}
],
"module": []
},
{
"key": 100030,
"lock": 7,
"lockend": 5,
"ontxe": 20070,
"id_after": 0,
"group": 112,
"des": 1,
"icon": "",
"task_Tname": {
"key": "Daily_tasks3",
"text": "1"
},
"task_name": {
"key": "Daily_tasks3",
"text": "1"
},
"npctxt": {
"key": "",
"text": ""
},
"npc": 10010,
"completetasktxt": {
"key": "",
"text": ""
},
"completetask": [
0
],
"deliver_npctxt": {
"key": "",
"text": ""
},
"deliver_npc": 10012,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],
@ -980,7 +892,7 @@
{
"key": 500010,
"lock": 9,
"lockend": 5,
"lockend": 15,
"ontxe": 20090,
"id_after": 0,
"group": 410,
@ -988,7 +900,7 @@
"icon": "",
"task_Tname": {
"key": "Weekly_Tasks1",
"text": "1"
"text": "周常任务"
},
"task_name": {
"key": "Weekly_Tasks1",
@ -1015,95 +927,7 @@
"reword": [
{
"a": "attr",
"t": "glod",
"n": 5000
}
],
"module": []
},
{
"key": 500020,
"lock": 10,
"lockend": 5,
"ontxe": 20100,
"id_after": 0,
"group": 411,
"des": 4,
"icon": "",
"task_Tname": {
"key": "Weekly_Tasks2",
"text": "1"
},
"task_name": {
"key": "Weekly_Tasks2",
"text": "1"
},
"npctxt": {
"key": "",
"text": ""
},
"npc": 10040,
"completetasktxt": {
"key": "",
"text": ""
},
"completetask": [
0
],
"deliver_npctxt": {
"key": "",
"text": ""
},
"deliver_npc": 10082,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "glod",
"n": 5001
}
],
"module": []
},
{
"key": 500030,
"lock": 11,
"lockend": 5,
"ontxe": 20110,
"id_after": 0,
"group": 412,
"des": 4,
"icon": "",
"task_Tname": {
"key": "Weekly_Tasks3",
"text": "1"
},
"task_name": {
"key": "Weekly_Tasks3",
"text": "1"
},
"npctxt": {
"key": "",
"text": ""
},
"npc": 10040,
"completetasktxt": {
"key": "",
"text": ""
},
"completetask": [
0
],
"deliver_npctxt": {
"key": "",
"text": ""
},
"deliver_npc": 10082,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "glod",
"t": "gold",
"n": 5000
}
],

View File

@ -247,12 +247,14 @@ const (
TableReputation = "reputation"
///捕羊大赛
TableParkour = "parkour"
TableParkour = "parkour"
TableParkourRace = "parkourrace"
///捕羊大赛 队伍表
TableParkourTeam = "parkourteam"
///捕羊大赛 匹配表
TableParkourMatch = "parkourmatch"
///坐骑表
TableParkourMounts = "parkourmounts"
)
// RPC服务接口定义处

View File

@ -33,6 +33,7 @@ const (
VipType = "vip" //vip
AtlasType = "atlas" //铁匠铺资源
PandaType = "panda" //熊猫武馆资源
MountsType = "mts" //捕羊大赛坐骑资源
)
type Autogenerated struct {

View File

@ -458,6 +458,11 @@ type (
CleanUpNpc(uid string)
}
//捕羊大赛
IParkour interface {
AddMounts(session IUserSession, mounts map[string]int32, bPush bool) (code pb.ErrorCode)
}
ITools interface {
GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn)
GetGlobalConf() *cfg.GameGlobalData

View File

@ -38,8 +38,9 @@ type ModuleBase struct {
ModuleRtask comm.IRtask //随机任务
ModuleSociaty comm.ISociaty //公会
ModulePrivilege comm.IPrivilege // 月卡
ModuleSmithy comm.ISmithy //
ModuleSmithy comm.ISmithy //铁建普
ModulePractice comm.IPractice //练功房
ModuleParkour comm.IParkour //捕羊大赛
ModuleTools comm.ITools //工具类 获取一些通用配置
}
@ -126,6 +127,10 @@ func (this *ModuleBase) Start() (err error) {
return
}
this.ModulePractice = module.(comm.IPractice)
if module, err = this.service.GetModule(comm.ModuleParkour); err != nil {
return
}
this.ModuleParkour = module.(comm.IParkour)
if module, err = this.service.GetModule(comm.ModuleTools); err != nil {
return
}
@ -396,8 +401,9 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
attrs map[string]int32 // 属性
equips map[string]uint32 // 装备
vip map[string]int32 // vip
atlas map[string]int32 //
atlas map[string]int32 // 铁匠铺资源
panda map[string]int32 // 熊猫武馆资源
mts map[string]int32 // 捕羊大赛资源
)
items = make(map[string]int32, 0)
heros = make(map[string]int32, 0)
@ -406,6 +412,7 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
vip = make(map[string]int32, 0)
atlas = make(map[string]int32, 0)
panda = make(map[string]int32, 0)
mts = make(map[string]int32, 0)
for _, v := range res {
switch v.A {
@ -425,6 +432,8 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
atlas[v.T] = 1
case comm.PandaType:
panda[v.T] = 1
case comm.MountsType:
mts[v.T] = 1
default:
this.Errorf("not found res type") // 找不到资源类型
}
@ -462,6 +471,10 @@ func (this *ModuleBase) DispenseRes(session comm.IUserSession, res []*cfg.Gameat
code = this.ModulePractice.AddItems(session, panda, bPush)
this.Debugf("发放武馆资源: %v [%v]", panda, code)
}
if len(mts) > 0 {
code = this.ModuleParkour.AddMounts(session, mts, bPush)
this.Debugf("发放捕羊大赛资源: %v [%v]", mts, code)
}
return
}
@ -640,7 +653,7 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea
case comm.VipType:
vip[v.T] += v.N
default:
this.Errorf("not found res type") // 找不到资源类型
this.Error("not found res type") // 找不到资源类型
}
}

View File

@ -0,0 +1,32 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) AvoidCheck(session comm.IUserSession, req *pb.ParkourAvoidReq) (code pb.ErrorCode) {
return
}
///匹配请求
func (this *apiComp) Avoid(session comm.IUserSession, req *pb.ParkourAvoidReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
ok bool
)
if code = this.AvoidCheck(session, req); code != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
_, ok = this.module.battles[req.Id]
this.module.lock.RUnlock()
if ok {
go this.module.avoid(req.Id, session.GetUserId(), req.Distance)
} else {
code = pb.ErrorCode_ReqParameterError
return
}
session.SendMsg(string(this.module.GetType()), "avoid", &pb.ParkourAvoidResp{})
return
}

View File

@ -15,7 +15,7 @@ func (this *apiComp) InviteCheck(session comm.IUserSession, req *pb.ParkourInvit
///邀请组队
func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
tean *pb.DBRaceTeam
tean *pb.DBParkour
tuser *pb.DBUser
ok bool
err error

View File

@ -15,7 +15,7 @@ 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 (
tean *pb.DBRaceTeam
tean *pb.DBParkour
invite *pb.DBRaceInvite
member *pb.DBRaceMember
users []string

View File

@ -13,7 +13,7 @@ func (this *apiComp) QuitTeamCheck(session comm.IUserSession, req *pb.ParkourQui
///退出队伍
func (this *apiComp) QuitTeam(session comm.IUserSession, req *pb.ParkourQuitTeamReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
tean *pb.DBRaceTeam
tean *pb.DBParkour
member *pb.DBRaceMember
users []string
ok bool

View File

@ -13,7 +13,7 @@ func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRa
///匹配请求
func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
team *pb.DBRaceTeam
team *pb.DBParkour
err error
)
if code = this.RaceMatchCheck(session, req); code != pb.ErrorCode_Success {
@ -23,7 +23,7 @@ func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMat
code = pb.ErrorCode_DBError
return
}
if err = this.module.matchComp.addteam(team); err != nil {
if err = this.module.match(team); err != nil {
code = pb.ErrorCode_DBError
return
}

View File

@ -0,0 +1,68 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) ReadyCheck(session comm.IUserSession, req *pb.ParkourReadyReq) (code pb.ErrorCode) {
return
}
///匹配请求
func (this *apiComp) Ready(session comm.IUserSession, req *pb.ParkourReadyReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
race *RaceItem
ok bool
isready bool
)
if code = this.ReadyCheck(session, req); code != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
race, ok = this.module.battles[req.Id]
this.module.lock.RUnlock()
if ok {
race.lock.Lock()
ok = false
isready = true
for _, v := range race.RedMember {
if v.Uid == session.GetUserId() {
v.Ready = true
ok = true
} else {
if !v.Ready {
isready = false
}
}
}
for _, v := range race.BuleMember {
if v.Uid == session.GetUserId() {
v.Ready = true
ok = true
} else {
if !v.Ready {
isready = false
}
}
}
if !ok {
code = pb.ErrorCode_ReqParameterError
race.lock.Unlock()
return
}
race.lock.Unlock()
this.module.lock.Lock()
this.module.battles[req.Id] = race
this.module.lock.Unlock()
if isready {
go this.module.startbattle(req.Id)
}
} else {
code = pb.ErrorCode_ReqParameterError
return
}
session.SendMsg(string(this.module.GetType()), "ready", &pb.ParkourReadyResp{})
return
}

View File

@ -0,0 +1,32 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) ShotCheck(session comm.IUserSession, req *pb.ParkourShotReq) (code pb.ErrorCode) {
return
}
///匹配请求
func (this *apiComp) Shot(session comm.IUserSession, req *pb.ParkourShotReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
ok bool
)
if code = this.ShotCheck(session, req); code != pb.ErrorCode_Success {
return
}
this.module.lock.RLock()
_, ok = this.module.battles[req.Id]
this.module.lock.RUnlock()
if ok {
go this.module.shot(req.Id, session.GetUserId())
} else {
code = pb.ErrorCode_ReqParameterError
return
}
session.SendMsg(string(this.module.GetType()), "shot", &pb.ParkourShotResp{})
return
}

View File

@ -2,14 +2,18 @@ package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/pb"
"sync"
)
///捕羊大赛对象
type RaceItem struct {
Id string //战斗id
lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
RedMember []*pb.DBRaceMember //红方成员
RedSession []comm.IUserSession //红方会话
BuleMember []*pb.DBRaceMember //蓝方成员
BuleSession []comm.IUserSession //蓝方会话
overtimer *timewheel.Task //准备倒计时定时器
}

View File

@ -1,36 +0,0 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
///竞速数据模块
type ModelMatchComp struct {
modules.MCompModel
module *Parkour
}
//组件初始化接口 只是用redis 层
func (this *ModelMatchComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableParkourMatch
this.MCompModel.Init(service, module, comp, opt)
this.module = module.(*Parkour)
return
}
///添加匹配队伍
func (this *ModelMatchComp) addteam(team *pb.DBRaceTeam) (err error) {
// var (
// teams []*pb.DBRaceTeam = make([]*pb.DBRaceTeam, 0)
// )
// if err = this.GetQueues(this.TableName, 1000, &teams); err == redis.RedisNil {
// if outkey, err = this.AddQueues(this.TableName, 1000, data); err != nil {
// this.module.Errorf("err:%v", err)
// return
// }
// }
return
}

View File

@ -0,0 +1,53 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
///竞速数据模块 坐骑
type ModelMountsComp struct {
modules.MCompModel
module *Parkour
}
//组件初始化接口 只是用redis 层
func (this *ModelMountsComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableParkourMounts
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 *ModelMountsComp) QueryUserPack(uId string) (itmes []*pb.DB_UserItemData, err error) {
var (
model *db.DBModel
)
itmes = make([]*pb.DB_UserItemData, 0)
if this.module.IsCross() {
if model, err = this.module.GetDBModelByUid(uId, this.TableName, this.Expired); err != nil {
this.module.Errorln(err)
} else {
if err = model.GetList(uId, &itmes); err != nil {
this.module.Errorf("err:%v", err)
}
}
} else {
if err = this.GetList(uId, &itmes); err != nil {
this.module.Errorf("err:%v", err)
}
}
return
}

View File

@ -1,12 +1,15 @@
package parkour
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
@ -29,10 +32,124 @@ func (this *ModelParkourComp) Init(service core.IService, module core.IModule, c
return
}
//记录战斗信息
func (this *ModelParkourComp) addrace(race *pb.DBRace) (err error) {
if err = this.AddList("", race.Id, race, db.SetDBMgoLog(false)); err != nil {
func (this *ModelParkourComp) 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 *ModelParkourComp) 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
}
//更新用户的背包信息
func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32) (result *pb.DBParkour, err error) {
var (
model *db.DBModel
)
if !this.module.IsCross() { //非跨服
if model, err = this.module.GetCrossDBModel(this.TableName, this.Expired); err != nil {
this.module.Errorln(err)
} else {
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,
Invite: make([]*pb.DBRaceInvite, 0),
Mounts: make(map[string]int32),
Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
}
for k, _ := range mounts {
result.Mounts[k] = 0
}
if err = model.Add(uid, result); err != nil {
this.module.Errorf("err:%v", err)
}
} else {
for k, _ := range mounts {
result.Mounts[k] = 0
}
this.Change(uid, map[string]interface{}{
"mounts": result.Mounts,
})
}
}
} else {
if result, err = this.queryteam(uid); err != nil {
this.module.Errorln(err)
}
for k, _ := range mounts {
result.Mounts[k] = 0
}
this.Change(uid, map[string]interface{}{
"mounts": result.Mounts,
})
}
return
}

View File

@ -0,0 +1,39 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
)
///竞速数据模块
type ModelRaceComp struct {
modules.MCompModel
module *Parkour
}
//组件初始化接口
func (this *ModelRaceComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableParkourRace
this.MCompModel.Init(service, module, comp, opt)
this.module = module.(*Parkour)
return
}
//记录战斗信息
func (this *ModelRaceComp) addrace(race *pb.DBRace) (err error) {
if err = this.AddList("", race.Id, race, db.SetDBMgoLog(false)); err != nil {
this.module.Errorln(err)
}
return
}
//移除战斗记录
func (this *ModelRaceComp) delrace(id string) (err error) {
if err = this.DelListlds("", []string{id}, db.SetDBMgoLog(false)); err != nil {
this.module.Errorln(err)
}
return
}

View File

@ -31,8 +31,8 @@ func (this *ModelTeamComp) Init(service core.IService, module core.IModule, comp
return
}
func (this *ModelTeamComp) queryteam(uid string) (result *pb.DBRaceTeam, err error) {
result = &pb.DBRaceTeam{}
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
@ -43,10 +43,11 @@ func (this *ModelTeamComp) queryteam(uid string) (result *pb.DBRaceTeam, err err
err = fmt.Errorf("no found udata:%s", uid)
return
}
result = &pb.DBRaceTeam{
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}},
}
@ -59,8 +60,8 @@ func (this *ModelTeamComp) queryteam(uid string) (result *pb.DBRaceTeam, err err
return
}
func (this *ModelTeamComp) queryteams(uids []string) (results []*pb.DBRaceTeam, err error) {
results = make([]*pb.DBRaceTeam, 0)
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{})
@ -76,10 +77,11 @@ func (this *ModelTeamComp) queryteams(uids []string) (results []*pb.DBRaceTeam,
err = fmt.Errorf("no found udata:%s", v)
return
}
temp := &pb.DBRaceTeam{
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}},
}

View File

@ -7,9 +7,11 @@ import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/timewheel"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"sync"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
)
@ -30,8 +32,8 @@ type Parkour struct {
api *apiComp
configure *configureComp
teamComp *ModelTeamComp
matchComp *ModelMatchComp
parkourComp *ModelParkourComp
raceComp *ModelRaceComp
lock sync.RWMutex
battles map[string]*RaceItem
}
@ -61,17 +63,47 @@ func (this *Parkour) OnInstallComp() {
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
this.teamComp = this.RegisterComp(new(ModelTeamComp)).(*ModelTeamComp)
this.matchComp = this.RegisterComp(new(ModelMatchComp)).(*ModelMatchComp)
this.parkourComp = this.RegisterComp(new(ModelParkourComp)).(*ModelParkourComp)
}
//添加坐骑资源
func (this *Parkour) AddMounts(session comm.IUserSession, mounts map[string]int32, bPush bool) (code pb.ErrorCode) {
var (
result *pb.DBParkour
err error
)
if result, err = this.parkourComp.addUserMounts(session.GetUserId(), mounts); err != nil {
code = pb.ErrorCode_DBError
return
}
if bPush {
session.SendMsg(string(this.GetType()), "infochange", &pb.ParkourInfoChangePush{Info: result})
}
return
}
//匹配
func (this *Parkour) match(team *pb.DBParkour) (err error) {
err = this.service.RpcCall(
context.Background(),
comm.Service_Mainte,
string(comm.RPC_ParkourJoinMatch),
&pb.RPCParkourJoinMatchReq{Captainid: team.Captainid, Member: team.Member},
&pb.RPCParkourJoinMatchResp{})
if err != nil {
this.Errorln(err)
return
}
return
}
//匹配成功 创建战斗
func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSuccReq, resp *pb.RPCParkourMatchSuccResp) (err error) {
var (
race *pb.DBRace
battle *RaceItem
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
teams []*pb.DBRaceTeam
teams []*pb.DBParkour
users []string = make([]string, 0)
)
this.Debug("createbattle", log.Field{Key: "req", Value: req.String()})
@ -86,6 +118,7 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
Id: race.Id,
RedSession: make([]comm.IUserSession, 0),
BuleSession: make([]comm.IUserSession, 0),
overtimer: timewheel.Add(time.Minute*3, this.overtimer, race.Id),
}
for _, v := range req.Red {
@ -112,7 +145,7 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
for _, v := range teams {
v.State = pb.RaceTeamState_raceing
}
if err = this.parkourComp.addrace(race); err != nil {
if err = this.raceComp.addrace(race); err != nil {
return
}
this.lock.Lock()
@ -126,4 +159,99 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
return
}
func (this *Parkour) startbattle(id string) {
this.Debug("startbattle", log.Field{Key: "id", Value: id})
var (
battle *RaceItem
ok bool
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
this.lock.RLock()
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,
}, sessions...); err != nil {
this.Errorln(err)
}
}
}
func (this *Parkour) shot(id string, uid string) {
this.Debug("shot", log.Field{Key: "id", Value: id})
var (
battle *RaceItem
ok bool
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
this.lock.RLock()
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,
}, sessions...); err != nil {
this.Errorln(err)
}
}
}
func (this *Parkour) avoid(id string, uid string, dis int32) {
this.Debug("shot", log.Field{Key: "id", Value: id})
var (
battle *RaceItem
ok bool
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
this.lock.RLock()
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,
}, sessions...); err != nil {
this.Errorln(err)
}
}
}
//战斗结束
func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
this.Debug("shot", log.Field{Key: "id", Value: args})
var (
battle *RaceItem
ok bool
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
id := args[0].(string)
this.lock.RLock()
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
this.lock.Lock()
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,
},
}, sessions...); err != nil {
this.Errorln(err)
return
}
}
}

View File

@ -1,6 +1,7 @@
package practice
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
@ -111,6 +112,7 @@ func (this *modelPandata) refreshnpc(room *pb.DBPracticeRoom) (err error) {
npcs []*cfg.GameDispatch_BattleData
wigets []int32
index int32
code pb.ErrorCode
)
if npcs, err = this.module.configure.getDispatchBattle(); err != nil {
@ -125,7 +127,8 @@ func (this *modelPandata) refreshnpc(room *pb.DBPracticeRoom) (err error) {
room.Currnpc = npcs[index].Id
room.Npcstate = 0
room.Battlenum = 0
if room.Captain, room.Formation, err = this.module.arena.GetMatcheBattleRoles(room.Uid); err != nil {
if room.Captain, room.Formation, code = this.module.battle.CreateRolesByFormat(npcs[index].MonsterformatId); code != pb.ErrorCode_Success {
err = fmt.Errorf("CreateRolesByFormat fail:%d", code)
return
}
return

View File

@ -116,81 +116,26 @@ func (RaceTeamState) EnumDescriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{1}
}
//坐骑
type DBMounts struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"` //坐骑id
Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid"` //配置id
}
func (x *DBMounts) Reset() {
*x = DBMounts{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBMounts) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBMounts) ProtoMessage() {}
func (x *DBMounts) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_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 DBMounts.ProtoReflect.Descriptor instead.
func (*DBMounts) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBMounts) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBMounts) GetCid() string {
if x != nil {
return x.Cid
}
return ""
}
//队员信息
type DBRaceMember struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //用户名称
Mount *DBMounts `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"` //里程数
Isai bool `protobuf:"varint,6,opt,name=isai,proto3" json:"isai"` //是否是ai
Isoff bool `protobuf:"varint,7,opt,name=isoff,proto3" json:"isoff"` //是否离线
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"` //是否离线
}
func (x *DBRaceMember) Reset() {
*x = DBRaceMember{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[1]
mi := &file_parkour_parkour_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -203,7 +148,7 @@ func (x *DBRaceMember) String() string {
func (*DBRaceMember) ProtoMessage() {}
func (x *DBRaceMember) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[1]
mi := &file_parkour_parkour_db_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -216,7 +161,7 @@ func (x *DBRaceMember) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBRaceMember.ProtoReflect.Descriptor instead.
func (*DBRaceMember) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{1}
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBRaceMember) GetUid() string {
@ -233,11 +178,11 @@ func (x *DBRaceMember) GetName() string {
return ""
}
func (x *DBRaceMember) GetMount() *DBMounts {
func (x *DBRaceMember) GetMount() string {
if x != nil {
return x.Mount
}
return nil
return ""
}
func (x *DBRaceMember) GetHp() int32 {
@ -254,6 +199,13 @@ func (x *DBRaceMember) GetInnermost() int32 {
return 0
}
func (x *DBRaceMember) GetReady() bool {
if x != nil {
return x.Ready
}
return false
}
func (x *DBRaceMember) GetIsai() bool {
if x != nil {
return x.Isai
@ -281,7 +233,7 @@ type DBRaceInvite struct {
func (x *DBRaceInvite) Reset() {
*x = DBRaceInvite{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[2]
mi := &file_parkour_parkour_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -294,7 +246,7 @@ func (x *DBRaceInvite) String() string {
func (*DBRaceInvite) ProtoMessage() {}
func (x *DBRaceInvite) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[2]
mi := &file_parkour_parkour_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -307,7 +259,7 @@ func (x *DBRaceInvite) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBRaceInvite.ProtoReflect.Descriptor instead.
func (*DBRaceInvite) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{2}
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBRaceInvite) GetUid() string {
@ -331,35 +283,38 @@ func (x *DBRaceInvite) GetExpired() int64 {
return 0
}
type DBRaceTeam struct {
//个人竞赛信息
type DBParkour struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` // 队伍id
State RaceTeamState `protobuf:"varint,2,opt,name=state,proto3,enum=RaceTeamState" json:"state"` //队伍状态
Captainid string `protobuf:"bytes,3,opt,name=captainid,proto3" json:"captainid"` //队长id
Invite []*DBRaceInvite `protobuf:"bytes,4,rep,name=invite,proto3" json:"invite"` //邀请列表
Member []*DBRaceMember `protobuf:"bytes,5,rep,name=member,proto3" json:"member"` //成员列表
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"` //成员列表
}
func (x *DBRaceTeam) Reset() {
*x = DBRaceTeam{}
func (x *DBParkour) Reset() {
*x = DBParkour{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[3]
mi := &file_parkour_parkour_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBRaceTeam) String() string {
func (x *DBParkour) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBRaceTeam) ProtoMessage() {}
func (*DBParkour) ProtoMessage() {}
func (x *DBRaceTeam) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[3]
func (x *DBParkour) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -370,40 +325,54 @@ func (x *DBRaceTeam) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use DBRaceTeam.ProtoReflect.Descriptor instead.
func (*DBRaceTeam) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{3}
// Deprecated: Use DBParkour.ProtoReflect.Descriptor instead.
func (*DBParkour) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBRaceTeam) GetId() string {
func (x *DBParkour) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBRaceTeam) GetState() RaceTeamState {
func (x *DBParkour) GetMounts() map[string]int32 {
if x != nil {
return x.Mounts
}
return nil
}
func (x *DBParkour) GetDfmount() string {
if x != nil {
return x.Dfmount
}
return ""
}
func (x *DBParkour) GetState() RaceTeamState {
if x != nil {
return x.State
}
return RaceTeamState_teaming
}
func (x *DBRaceTeam) GetCaptainid() string {
func (x *DBParkour) GetCaptainid() string {
if x != nil {
return x.Captainid
}
return ""
}
func (x *DBRaceTeam) GetInvite() []*DBRaceInvite {
func (x *DBParkour) GetInvite() []*DBRaceInvite {
if x != nil {
return x.Invite
}
return nil
}
func (x *DBRaceTeam) GetMember() []*DBRaceMember {
func (x *DBParkour) GetMember() []*DBRaceMember {
if x != nil {
return x.Member
}
@ -428,7 +397,7 @@ type DBRace struct {
func (x *DBRace) Reset() {
*x = DBRace{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[4]
mi := &file_parkour_parkour_db_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -441,7 +410,7 @@ func (x *DBRace) String() string {
func (*DBRace) ProtoMessage() {}
func (x *DBRace) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[4]
mi := &file_parkour_parkour_db_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -454,7 +423,7 @@ func (x *DBRace) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBRace.ProtoReflect.Descriptor instead.
func (*DBRace) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{4}
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{3}
}
func (x *DBRace) GetId() string {
@ -510,59 +479,65 @@ 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, 0x2c, 0x0a, 0x08, 0x44, 0x42,
0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x22, 0xad, 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,
0x1f, 0x0a, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09,
0x2e, 0x44, 0x42, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 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, 0x12,
0x0a, 0x04, 0x69, 0x73, 0x61, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
0x61, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x6f, 0x66, 0x66, 0x18, 0x07, 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, 0xae, 0x01, 0x0a, 0x0a, 0x44, 0x42, 0x52,
0x61, 0x63, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
0x18, 0x02, 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, 0x03, 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, 0x04, 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, 0x05, 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, 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, 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,
0x72, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 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,
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,
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,
}
var (
@ -582,20 +557,20 @@ var file_parkour_parkour_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_parkour_parkour_db_proto_goTypes = []interface{}{
(RaceType)(0), // 0: RaceType
(RaceTeamState)(0), // 1: RaceTeamState
(*DBMounts)(nil), // 2: DBMounts
(*DBRaceMember)(nil), // 3: DBRaceMember
(*DBRaceInvite)(nil), // 4: DBRaceInvite
(*DBRaceTeam)(nil), // 5: DBRaceTeam
(*DBRace)(nil), // 6: DBRace
(*DBRaceMember)(nil), // 2: DBRaceMember
(*DBRaceInvite)(nil), // 3: DBRaceInvite
(*DBParkour)(nil), // 4: DBParkour
(*DBRace)(nil), // 5: DBRace
nil, // 6: DBParkour.MountsEntry
}
var file_parkour_parkour_db_proto_depIdxs = []int32{
2, // 0: DBRaceMember.mount:type_name -> DBMounts
1, // 1: DBRaceTeam.state:type_name -> RaceTeamState
4, // 2: DBRaceTeam.invite:type_name -> DBRaceInvite
3, // 3: DBRaceTeam.member:type_name -> DBRaceMember
6, // 0: DBParkour.mounts:type_name -> DBParkour.MountsEntry
1, // 1: DBParkour.state:type_name -> RaceTeamState
3, // 2: DBParkour.invite:type_name -> DBRaceInvite
2, // 3: DBParkour.member:type_name -> DBRaceMember
0, // 4: DBRace.rtype:type_name -> RaceType
3, // 5: DBRace.redmember:type_name -> DBRaceMember
3, // 6: DBRace.bulemember:type_name -> DBRaceMember
2, // 5: DBRace.redmember:type_name -> DBRaceMember
2, // 6: DBRace.bulemember:type_name -> DBRaceMember
7, // [7:7] is the sub-list for method output_type
7, // [7:7] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
@ -610,18 +585,6 @@ func file_parkour_parkour_db_proto_init() {
}
if !protoimpl.UnsafeEnabled {
file_parkour_parkour_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBMounts); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_parkour_parkour_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRaceMember); i {
case 0:
return &v.state
@ -633,7 +596,7 @@ func file_parkour_parkour_db_proto_init() {
return nil
}
}
file_parkour_parkour_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
file_parkour_parkour_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRaceInvite); i {
case 0:
return &v.state
@ -645,8 +608,8 @@ func file_parkour_parkour_db_proto_init() {
return nil
}
}
file_parkour_parkour_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRaceTeam); i {
file_parkour_parkour_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBParkour); i {
case 0:
return &v.state
case 1:
@ -657,7 +620,7 @@ func file_parkour_parkour_db_proto_init() {
return nil
}
}
file_parkour_parkour_db_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
file_parkour_parkour_db_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRace); i {
case 0:
return &v.state

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,7 @@ import (
"go_dreamfactory/modules/moonfantasy"
"go_dreamfactory/modules/notify"
"go_dreamfactory/modules/pagoda"
"go_dreamfactory/modules/parkour"
"go_dreamfactory/modules/pay"
"go_dreamfactory/modules/practice"
"go_dreamfactory/modules/privilege"
@ -116,6 +117,7 @@ func main() {
dispatch.NewModule(),
atlas.NewModule(),
practice.NewModule(),
parkour.NewModule(),
tools.NewModule(),
)
}

View File

@ -20,6 +20,7 @@ type GameDispatch_BattleData struct {
Battlename string
Battletxt string
BattleReadyID int32
MonsterformatId int32
EventList []int32
Award []*Gameatn
Onlookers []string
@ -43,6 +44,7 @@ func (_v *GameDispatch_BattleData)Deserialize(_buf map[string]interface{}) (err
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["battlename"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Battlename error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Battlename, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["battletxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Battletxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Battletxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monsterformat_id"].(float64); !_ok_ { err = errors.New("monsterformat_id error"); return }; _v.MonsterformatId = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool