Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
14a658f62e
@ -15,6 +15,7 @@
|
||||
"text": "有人前来闹事,快去解决掉他"
|
||||
},
|
||||
"BattleReadyID": 100,
|
||||
"monsterformat_id": 101011,
|
||||
"EventList": [],
|
||||
"award": [
|
||||
{
|
||||
@ -57,6 +58,7 @@
|
||||
"text": "有人前来闹事,快去解决掉他"
|
||||
},
|
||||
"BattleReadyID": 100,
|
||||
"monsterformat_id": 101052,
|
||||
"EventList": [],
|
||||
"award": [
|
||||
{
|
||||
|
@ -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": "这是属于波比的专属委托"
|
||||
|
@ -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
|
||||
}
|
||||
]
|
@ -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": [
|
||||
{
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
}
|
||||
],
|
||||
|
@ -247,12 +247,14 @@ const (
|
||||
TableReputation = "reputation"
|
||||
|
||||
///捕羊大赛
|
||||
TableParkour = "parkour"
|
||||
TableParkour = "parkour"
|
||||
TableParkourRace = "parkourrace"
|
||||
///捕羊大赛 队伍表
|
||||
TableParkourTeam = "parkourteam"
|
||||
///捕羊大赛 匹配表
|
||||
TableParkourMatch = "parkourmatch"
|
||||
|
||||
///坐骑表
|
||||
TableParkourMounts = "parkourmounts"
|
||||
)
|
||||
|
||||
// RPC服务接口定义处
|
||||
|
@ -33,6 +33,7 @@ const (
|
||||
VipType = "vip" //vip
|
||||
AtlasType = "atlas" //铁匠铺资源
|
||||
PandaType = "panda" //熊猫武馆资源
|
||||
MountsType = "mts" //捕羊大赛坐骑资源
|
||||
)
|
||||
|
||||
type Autogenerated struct {
|
||||
|
@ -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
|
||||
|
@ -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") // 找不到资源类型
|
||||
}
|
||||
}
|
||||
|
||||
|
32
modules/parkour/api_avoid.go
Normal file
32
modules/parkour/api_avoid.go
Normal 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
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
68
modules/parkour/api_ready.go
Normal file
68
modules/parkour/api_ready.go
Normal 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
|
||||
}
|
32
modules/parkour/api_shot.go
Normal file
32
modules/parkour/api_shot.go
Normal 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
|
||||
}
|
@ -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 //准备倒计时定时器
|
||||
}
|
||||
|
@ -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
|
||||
}
|
53
modules/parkour/model_mounts.go
Normal file
53
modules/parkour/model_mounts.go
Normal 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
|
||||
}
|
@ -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
|
||||
}
|
||||
|
39
modules/parkour/model_race.go
Normal file
39
modules/parkour/model_race.go
Normal 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
|
||||
}
|
@ -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}},
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
@ -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(),
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user