上传服务配置

This commit is contained in:
liwei1dao 2023-04-18 20:28:43 +08:00
parent c518cd0a61
commit 0bdcd919ce
58 changed files with 8359 additions and 1395 deletions

View File

@ -286,5 +286,53 @@
"key": "bubblegroup_24",
"text": "踢馆"
}
},
{
"KeyId": 25,
"GroupID": 25001,
"Type": 1,
"TaskIDMin": 0,
"TaskIDMax": 0,
"weight": 10,
"Text_Bubble": {
"key": "bubblegroup_25",
"text": "好好训练!"
}
},
{
"KeyId": 26,
"GroupID": 25002,
"Type": 1,
"TaskIDMin": 0,
"TaskIDMax": 0,
"weight": 10,
"Text_Bubble": {
"key": "bubblegroup_26",
"text": "力气这么弱,昨晚没吃饭吗?"
}
},
{
"KeyId": 27,
"GroupID": 25003,
"Type": 1,
"TaskIDMin": 0,
"TaskIDMax": 0,
"weight": 10,
"Text_Bubble": {
"key": "bubblegroup_27",
"text": "准备好锻炼了吗"
}
},
{
"KeyId": 28,
"GroupID": 25004,
"Type": 1,
"TaskIDMin": 0,
"TaskIDMax": 0,
"weight": 10,
"Text_Bubble": {
"key": "bubblegroup_28",
"text": "没错就是这样"
}
}
]

222
bin/json/game_camplv.json Normal file
View File

@ -0,0 +1,222 @@
[
{
"id": 1,
"reputation_lv": 1,
"raceType": 1,
"reputation_exp": 20,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 2,
"reputation_lv": 2,
"raceType": 1,
"reputation_exp": 30,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 3,
"reputation_lv": 3,
"raceType": 1,
"reputation_exp": 40,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 4,
"reputation_lv": 4,
"raceType": 1,
"reputation_exp": 50,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 5,
"reputation_lv": 5,
"raceType": 1,
"reputation_exp": 60,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 6,
"reputation_lv": 6,
"raceType": 1,
"reputation_exp": 70,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 7,
"reputation_lv": 7,
"raceType": 1,
"reputation_exp": 80,
"Reward": {
"a": "attr",
"t": "talent1",
"n": 1
}
},
{
"id": 8,
"reputation_lv": 1,
"raceType": 2,
"reputation_exp": 10,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 9,
"reputation_lv": 2,
"raceType": 2,
"reputation_exp": 20,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 10,
"reputation_lv": 3,
"raceType": 2,
"reputation_exp": 30,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 11,
"reputation_lv": 4,
"raceType": 2,
"reputation_exp": 40,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 12,
"reputation_lv": 5,
"raceType": 2,
"reputation_exp": 50,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 13,
"reputation_lv": 6,
"raceType": 2,
"reputation_exp": 60,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 14,
"reputation_lv": 7,
"raceType": 2,
"reputation_exp": 70,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 15,
"reputation_lv": 8,
"raceType": 2,
"reputation_exp": 80,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 16,
"reputation_lv": 9,
"raceType": 2,
"reputation_exp": 90,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 17,
"reputation_lv": 10,
"raceType": 2,
"reputation_exp": 100,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 18,
"reputation_lv": 11,
"raceType": 2,
"reputation_exp": 110,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 19,
"reputation_lv": 12,
"raceType": 2,
"reputation_exp": 120,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
},
{
"id": 20,
"reputation_lv": 20,
"raceType": 2,
"reputation_exp": 130,
"Reward": {
"a": "attr",
"t": "talent2",
"n": 1
}
}
]

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": 170,
"tasktime": 61,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -56,7 +56,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 176,
"tasktime": 125,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -104,7 +104,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 149,
"tasktime": 114,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -152,7 +152,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 104,
"tasktime": 146,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -200,7 +200,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 79,
"tasktime": 136,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -248,7 +248,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 158,
"tasktime": 155,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -296,7 +296,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 69,
"tasktime": 128,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -344,7 +344,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 165,
"tasktime": 112,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -392,7 +392,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 162,
"tasktime": 123,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -440,7 +440,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 78,
"tasktime": 63,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -488,7 +488,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 173,
"tasktime": 146,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -536,7 +536,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 120,
"tasktime": 180,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -584,7 +584,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 139,
"tasktime": 111,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -632,7 +632,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 60,
"tasktime": 149,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -680,7 +680,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 167,
"tasktime": 180,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -728,7 +728,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 130,
"tasktime": 140,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -776,7 +776,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 132,
"tasktime": 177,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -824,7 +824,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 61,
"tasktime": 126,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -872,7 +872,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 90,
"tasktime": 103,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -920,7 +920,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 146,
"tasktime": 132,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -968,7 +968,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 77,
"tasktime": 81,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1016,7 +1016,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 90,
"tasktime": 136,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1064,7 +1064,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 67,
"tasktime": 125,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1112,7 +1112,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 175,
"tasktime": 110,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1160,7 +1160,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 156,
"tasktime": 179,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1208,7 +1208,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 152,
"tasktime": 127,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1256,7 +1256,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 149,
"tasktime": 162,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1304,7 +1304,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 156,
"tasktime": 89,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1352,7 +1352,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 91,
"tasktime": 77,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1400,7 +1400,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 110,
"tasktime": 136,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1448,7 +1448,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 89,
"tasktime": 96,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1496,7 +1496,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 169,
"tasktime": 66,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1544,7 +1544,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 90,
"tasktime": 142,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1592,7 +1592,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 117,
"tasktime": 176,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1640,7 +1640,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 73,
"tasktime": 77,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1688,7 +1688,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 179,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1736,7 +1736,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 142,
"tasktime": 94,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1784,7 +1784,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 178,
"tasktime": 170,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -1832,7 +1832,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 150,
"tasktime": 143,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -1880,7 +1880,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 175,
"tasktime": 136,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -1928,7 +1928,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 139,
"tasktime": 142,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -1976,7 +1976,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 105,
"tasktime": 156,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2024,7 +2024,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 125,
"tasktime": 175,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2072,7 +2072,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 175,
"tasktime": 114,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2120,7 +2120,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 166,
"tasktime": 108,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2168,7 +2168,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 62,
"tasktime": 110,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2216,7 +2216,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 167,
"tasktime": 176,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2264,7 +2264,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 94,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2312,7 +2312,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 81,
"tasktime": 65,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2360,7 +2360,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 104,
"tasktime": 86,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2408,7 +2408,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 164,
"tasktime": 138,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2456,7 +2456,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 92,
"tasktime": 138,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2504,7 +2504,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 151,
"tasktime": 152,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2552,7 +2552,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 89,
"tasktime": 171,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2600,7 +2600,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 124,
"tasktime": 93,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2696,7 +2696,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 92,
"tasktime": 105,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2744,7 +2744,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 63,
"tasktime": 94,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2792,7 +2792,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 82,
"tasktime": 74,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -2840,7 +2840,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 116,
"tasktime": 97,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -2888,7 +2888,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 128,
"tasktime": 103,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -2936,7 +2936,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 67,
"tasktime": 134,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -2984,7 +2984,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 141,
"tasktime": 64,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3032,7 +3032,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 81,
"tasktime": 169,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3080,7 +3080,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 175,
"tasktime": 109,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3128,7 +3128,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 169,
"tasktime": 124,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -3176,7 +3176,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 90,
"tasktime": 155,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3224,7 +3224,7 @@
},
"icon": "xmwg_rw_pt5",
"taskcd": 200,
"tasktime": 131,
"tasktime": 155,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3272,7 +3272,7 @@
},
"icon": "xmwg_rw_pt6",
"taskcd": 200,
"tasktime": 160,
"tasktime": 97,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3320,7 +3320,7 @@
},
"icon": "xmwg_rw_pt7",
"taskcd": 200,
"tasktime": 69,
"tasktime": 160,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"
@ -3368,7 +3368,7 @@
},
"icon": "xmwg_rw_pt1",
"taskcd": 200,
"tasktime": 102,
"tasktime": 154,
"tasktxt": {
"key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托"
@ -3416,7 +3416,7 @@
},
"icon": "xmwg_rw_pt2",
"taskcd": 200,
"tasktime": 168,
"tasktime": 125,
"tasktxt": {
"key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托"
@ -3464,7 +3464,7 @@
},
"icon": "xmwg_rw_pt3",
"taskcd": 200,
"tasktime": 119,
"tasktime": 86,
"tasktxt": {
"key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托"
@ -3512,7 +3512,7 @@
},
"icon": "xmwg_rw_pt4",
"taskcd": 200,
"tasktime": 110,
"tasktime": 172,
"tasktxt": {
"key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托"

File diff suppressed because it is too large Load Diff

407
bin/json/game_friends.json Normal file
View File

@ -0,0 +1,407 @@
[
{
"id": 1,
"friend_id": 40001,
"type": 1,
"type_name": {
"key": "favorability_friends_type_name_1",
"text": "传承"
},
"friend_name": {
"key": "favorability_friends_friend_name_40001",
"text": "师徒二人"
},
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 25001,
"attribute": [
{
"a": "atkpro",
"n": 1
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_250011",
"text": "攻击力+{0}"
}
},
{
"id": 2,
"friend_id": 40001,
"type": 1,
"type_name": {
"key": "favorability_friends_name_1",
"text": "传承"
},
"friend_name": {
"key": "favorability_friends_friend_name_40001",
"text": "师徒二人"
},
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 35001,
"attribute": [
{
"a": "atk",
"n": 10
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_350011",
"text": "攻击力+{0}"
}
},
{
"id": 3,
"friend_id": 40001,
"type": 1,
"type_name": {
"key": "favorability_friends_name_1",
"text": "传承"
},
"friend_name": {
"key": "favorability_friends_friend_name_40001",
"text": "师徒二人"
},
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 25001,
"attribute": [
{
"a": "atkpro",
"n": 2
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_250012",
"text": "攻击力+{0}"
}
},
{
"id": 4,
"friend_id": 40001,
"type": 1,
"type_name": {
"key": "favorability_friends_name_1",
"text": "传承"
},
"friend_name": {
"key": "favorability_friends_friend_name_40001",
"text": "师徒二人"
},
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 35001,
"attribute": [
{
"a": "atk",
"n": 20
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_350012",
"text": "攻击力+{0}"
}
},
{
"id": 5,
"friend_id": 40001,
"type": 1,
"type_name": {
"key": "favorability_friends_name_1",
"text": "传承"
},
"friend_name": {
"key": "favorability_friends_friend_name_40001",
"text": "师徒二人"
},
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 25001,
"attribute": [
{
"a": "atkpro",
"n": 3
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_250013",
"text": "攻击力+{0}"
}
},
{
"id": 6,
"friend_id": 40001,
"type": 1,
"type_name": {
"key": "favorability_friends_name_1",
"text": "传承"
},
"friend_name": {
"key": "favorability_friends_friend_name_40001",
"text": "师徒二人"
},
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 35001,
"attribute": [
{
"a": "atk",
"n": 30
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_350013",
"text": "攻击力+{0}"
}
},
{
"id": 7,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 25001,
"attribute": [
{
"a": "atkpro",
"n": 1
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_250011",
"text": "攻击力+{0}"
}
},
{
"id": 8,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 35001,
"attribute": [
{
"a": "atk",
"n": 10
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_350011",
"text": "攻击力+{0}"
}
},
{
"id": 9,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 15004,
"attribute": [
{
"a": "HP",
"n": 100
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_150041",
"text": "生命值+{0}"
}
},
{
"id": 10,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 25001,
"attribute": [
{
"a": "atkpro",
"n": 1
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_250012",
"text": "攻击力+{0}"
}
},
{
"id": 11,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 35001,
"attribute": [
{
"a": "atk",
"n": 10
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_350012",
"text": "攻击力+{0}"
}
},
{
"id": 12,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 15004,
"attribute": [
{
"a": "HP",
"n": 100
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_150042",
"text": "生命值+{0}"
}
},
{
"id": 13,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 25001,
"attribute": [
{
"a": "atkpro",
"n": 1
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_250013",
"text": "攻击力+{0}"
}
},
{
"id": 14,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 35001,
"attribute": [
{
"a": "atk",
"n": 10
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_350013",
"text": "攻击力+{0}"
}
},
{
"id": 15,
"friend_id": 102,
"type": 2,
"type_name": {
"key": "favorability_friends_name_2",
"text": "友谊"
},
"friend_name": {
"key": "favorability_friends_friend_name_102",
"text": "师徒三人"
},
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 15004,
"attribute": [
{
"a": "HP",
"n": 100
}
],
"attribute_txt": {
"key": "favorability_friends_friend_name_150043",
"text": "生命值+{0}"
}
}
]

View File

@ -1888,9 +1888,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_flower",
"intr": {
@ -1918,9 +1918,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_yshy",
"intr": {
@ -1948,9 +1948,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_ttry",
"intr": {
@ -1978,9 +1978,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_hmkz",
"intr": {
@ -2008,9 +2008,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_ljym",
"intr": {
@ -2038,9 +2038,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_emtm",
"intr": {
@ -2068,9 +2068,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_cjbs",
"intr": {
@ -2098,9 +2098,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_zjbs",
"intr": {
@ -2128,9 +2128,9 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1001
],
"use_skip": 139,
"use_skip": 1001,
"upper_limit": -1,
"img": "tj_icon_gjbs",
"intr": {

View File

@ -355,7 +355,7 @@
},
"EditorStage": 0,
"frontstoryid": 626,
"afterstoryid": 0,
"afterstoryid": 628,
"mainlineName": {
"key": "mainlineName1100105",
"text": "1-5"
@ -441,8 +441,8 @@
"z": 0
},
"EditorStage": 0,
"frontstoryid": 628,
"afterstoryid": 629,
"frontstoryid": 636,
"afterstoryid": 637,
"mainlineName": {
"key": "mainlineName1100106",
"text": "1-6"

View File

@ -89334,5 +89334,18 @@
"atkpro": 1,
"defpro": 0.8,
"modelsize": 1
},
{
"Id": 801031,
"pos": 4,
"captainId": 0,
"IsBoss": 0,
"bossHpCnt": 0,
"monster": 440065,
"lv": 20,
"hppro": 0.6,
"atkpro": 1,
"defpro": 0.8,
"modelsize": 1
}
]

View File

@ -13,7 +13,7 @@
"BattleReadyID": 103,
"monster_id": [
501001,
501002,
801031,
501003
],
"reward": [
@ -51,7 +51,7 @@
"BattleReadyID": 103,
"monster_id": [
501004,
501005,
801031,
501006
],
"reward": [
@ -84,7 +84,7 @@
"BattleReadyID": 103,
"monster_id": [
501007,
501008,
801031,
501009
],
"reward": [
@ -117,7 +117,7 @@
"BattleReadyID": 103,
"monster_id": [
501010,
501011,
801031,
501012
],
"reward": [
@ -150,7 +150,7 @@
"BattleReadyID": 103,
"monster_id": [
501013,
501014,
801031,
501015
],
"reward": [
@ -183,7 +183,7 @@
"BattleReadyID": 103,
"monster_id": [
501016,
501017,
801031,
501018
],
"reward": [
@ -216,7 +216,7 @@
"BattleReadyID": 103,
"monster_id": [
501019,
501020,
801031,
501021
],
"reward": [
@ -249,7 +249,7 @@
"BattleReadyID": 103,
"monster_id": [
501022,
501023,
801031,
501024
],
"reward": [
@ -282,7 +282,7 @@
"BattleReadyID": 103,
"monster_id": [
501025,
501026,
801031,
501027
],
"reward": [
@ -315,7 +315,7 @@
"BattleReadyID": 103,
"monster_id": [
501028,
501029,
801031,
501030
],
"reward": [

View File

@ -16,8 +16,14 @@
"key": "shirenyu10001",
"text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10001",
"key": "xiaoguo_6",
"text": "提升每分钟的经验值获取{0}%"
},
"duration": 0,
@ -44,8 +50,14 @@
"key": "shirenyu10002",
"text": "闪闪"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10002",
"key": "xiaoguo_7",
"text": "提升每分钟的经验值获取{0}%"
},
"duration": 0,
@ -72,8 +84,14 @@
"key": "shirenyu10003",
"text": "蛇先生"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10003",
"key": "xiaoguo_8",
"text": "提升每分钟的经验值获取{0}%"
},
"duration": 0,
@ -100,8 +118,14 @@
"key": "shirenyu10004",
"text": "金猴"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10004",
"key": "xiaoguo_9",
"text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -139,8 +163,14 @@
"key": "shirenyu10005",
"text": "鹤大师"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10005",
"key": "xiaoguo_10",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -167,8 +197,14 @@
"key": "shirenyu10006",
"text": "悍娇虎"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10006",
"key": "xiaoguo_11",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -195,8 +231,14 @@
"key": "shirenyu10007",
"text": "盖"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10007",
"key": "xiaoguo_12",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -223,8 +265,14 @@
"key": "shirenyu10008",
"text": "希卡普"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10008",
"key": "xiaoguo_13",
"text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%"
},
"duration": 1,
@ -251,8 +299,14 @@
"key": "shirenyu10009",
"text": "穿靴猫"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10009",
"key": "xiaoguo_14",
"text": "提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -290,8 +344,14 @@
"key": "shirenyu10010",
"text": "师父"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10010",
"key": "xiaoguo_15",
"text": "提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -329,8 +389,14 @@
"key": "shirenyu10011",
"text": "阿宝"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10011",
"key": "xiaoguo_16",
"text": "{0}%概率获得1个3级升星精灵"
},
"duration": 0,
@ -368,8 +434,14 @@
"key": "shirenyu10012",
"text": "乌龟大师"
},
"standard_text": 25001,
"special_text": 25002,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu10012",
"key": "xiaoguo_17",
"text": "{0}%概率获得1个3级升星精灵"
},
"duration": 0,
@ -407,8 +479,14 @@
"key": "shirenyu20001",
"text": "石锁,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20001",
"key": "xiaoguo_18",
"text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -446,8 +524,14 @@
"key": "shirenyu20002",
"text": "双头空竹"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20002",
"key": "xiaoguo_19",
"text": "提升每分钟的经验值获取{0}%"
},
"duration": 0,
@ -474,8 +558,14 @@
"key": "shirenyu20003",
"text": "木爬架"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20003",
"key": "xiaoguo_20",
"text": "提升每分钟的经验值获取{0}%"
},
"duration": 0,
@ -502,8 +592,14 @@
"key": "shirenyu20004",
"text": "不倒翁"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20004",
"key": "xiaoguo_21",
"text": "提升每分钟的经验值获取{0}%"
},
"duration": 0,
@ -530,8 +626,14 @@
"key": "shirenyu20005",
"text": "棒槌"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20005",
"key": "xiaoguo_22",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -558,8 +660,14 @@
"key": "shirenyu20006",
"text": "铜铃"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20006",
"key": "xiaoguo_23",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -586,8 +694,14 @@
"key": "shirenyu20007",
"text": "尖刺吊环"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20007",
"key": "xiaoguo_24",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -614,8 +728,14 @@
"key": "shirenyu20008",
"text": "陀螺"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20008",
"key": "xiaoguo_25",
"text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%"
},
"duration": 1,
@ -642,8 +762,14 @@
"key": "shirenyu20009",
"text": "大转轮"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20009",
"key": "xiaoguo_26",
"text": "提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -681,8 +807,14 @@
"key": "shirenyu20010",
"text": "木头牌"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20010",
"key": "xiaoguo_27",
"text": "提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -720,8 +852,14 @@
"key": "shirenyu20011",
"text": "双节棍"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20011",
"key": "xiaoguo_28",
"text": "{0}%概率获得1个3级升星精灵"
},
"duration": 0,
@ -759,8 +897,14 @@
"key": "shirenyu20012",
"text": "练功带"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20012",
"key": "xiaoguo_29",
"text": "{0}%概率获得1个3级升星精灵"
},
"duration": 0,
@ -798,8 +942,14 @@
"key": "shirenyu20013",
"text": "七彩花棍"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20013",
"key": "xiaoguo_30",
"text": "{0}%概率获得1个3级升星精灵"
},
"duration": 0,
@ -837,8 +987,14 @@
"key": "shirenyu20014",
"text": "流星飞镖"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20014",
"key": "xiaoguo_31",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -865,8 +1021,14 @@
"key": "shirenyu20015",
"text": "冥想锣"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20015",
"key": "xiaoguo_32",
"text": "提升可挂机的时间{0}秒"
},
"duration": 1,
@ -893,8 +1055,14 @@
"key": "shirenyu20016",
"text": "彩条龙"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20016",
"key": "xiaoguo_33",
"text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%"
},
"duration": 1,
@ -921,8 +1089,14 @@
"key": "shirenyu20017",
"text": "孔雀毛扇"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20017",
"key": "xiaoguo_34",
"text": "提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -958,8 +1132,14 @@
"key": "shirenyu20018",
"text": "平衡木"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20018",
"key": "xiaoguo_35",
"text": "提升低级觉醒材料的获取数量{0}"
},
"duration": 0,
@ -995,8 +1175,14 @@
"key": "shirenyu20019",
"text": "铁环"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20019",
"key": "xiaoguo_36",
"text": "{0}%概率获得1个3级升星精灵"
},
"duration": 0,
@ -1032,8 +1218,14 @@
"key": "shirenyu20020",
"text": "太极球"
},
"standard_text": 0,
"special_text": 0,
"effective_hero_id": [
"25001",
"24003"
],
"description": {
"key": "wuguanshirenyu20020",
"key": "xiaoguo_37",
"text": "{0}%概率获得1个3级升星精灵,提升低级觉醒材料的获取数量{0}"
},
"duration": 0,

View File

@ -8,10 +8,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "开合跳"
"text": "双脚并立,双臂自然垂在身体的两侧。向上跳,双腿打开,双手举过头顶。\n再向上跳,双脚并拢,手臂放回身体两侧,重复这个动作。这项运动锻炼身体所有的大肌肉群。"
},
"ticks": 3,
"ani": "fitness_action1",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -23,10 +26,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "手臂环绕"
"text": "双腿与肩同宽,双臂与肩同高平伸于身体两侧。\n然后双臂进行顺时针绕环活动,之后逆时针绕环。"
},
"ticks": 3,
"ani": "fitness_action2",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -38,10 +44,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "肩部拉伸"
"text": "一只手臂放于胸前,与地面平行,另一只手臂将它拉向胸部。\n坚持一会儿再拉伸另一侧肩膀重复练习。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -53,10 +62,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "波比"
"text": "双脚与肩同宽,然后下蹲并双手着地,同时双腿向后蹬直。\n快速做一个俯卧撑的动作然后起身向上跳起。重复这套动作。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -68,10 +80,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "交错俯卧撑"
"text": "从标准的俯卧撑姿势开始,但两只手一前一后。\n双臂做一个俯卧撑的动作然后换另一只手靠前。注意身体要保持成一条直线的状态。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -83,10 +98,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "钻石俯卧撑"
"text": "四肢着地,双手的食指和拇指分别相对,放于脸颊下方。\n身体保持呈一条直线然后做俯卧撑动作。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -98,10 +116,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "掌上压后转身"
"text": "从标准的俯卧撑姿势开始。向下做一个俯卧撑动作,起身的同时,旋转上半身,并将右臂向上伸直。\n然后换另一条手臂重复这一动作。这个动作能够锻炼你的胸部、肩膀和手臂,同时也能锻炼腹部肌肉。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -113,10 +134,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "眼镜蛇式拉伸"
"text": "腹部向下俯卧,肘部弯曲,双手放置在肩膀下方。\n然后胸部离地,尽量伸展。保持这个姿势数秒。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -128,10 +152,13 @@
"icon": "wg_js_dz001",
"des": {
"key": "wuguandongzuo_wg_js_dz001",
"text": "胸部拉伸"
"text": "站在门前,腿部呈弓步姿势,两臂倚在门框上,两肘略低于肩膀,胸部慢慢向前移。\n坚持30至40秒。慢慢还原姿势,手臂自然放下,再做几圈摆臂练习。"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -146,7 +173,10 @@
"text": "原地跑"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -161,7 +191,10 @@
"text": "深蹲"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
},
{
@ -176,7 +209,10 @@
"text": "仰卧起坐"
},
"ticks": 3,
"ani": "",
"p": 200,
"before_training": 25003,
"after_training": 25004,
"buff_group": 1000001
}
]

View File

@ -1748,7 +1748,7 @@
"type_sp": 1,
"tasktxt": {
"key": "308_taskcond",
"text": "通关维京远征难度1"
"text": "和戈伯聊聊,并通关维京远征难度1"
},
"type": 73,
"valid": 0,
@ -1764,7 +1764,7 @@
"type_sp": 1,
"tasktxt": {
"key": "309_taskcond",
"text": "通关维京远征难度1"
"text": "和戈伯聊聊,并通关维京远征难度1"
},
"type": 73,
"valid": 0,
@ -5757,7 +5757,7 @@
"data2": 602,
"data3": 0,
"data4": 0,
"data5": 10011
"data5": 0
},
{
"id": 20002,
@ -5773,6 +5773,102 @@
"data2": 432,
"data3": 0,
"data4": 0,
"data5": 10021
"data5": 0
},
{
"id": 30001,
"type_sp": 1,
"tasktxt": {
"key": "30001_tasktxt",
"text": "和盖进行对话"
},
"type": 20001,
"valid": 1,
"NPC": 70010,
"data1": 1,
"data2": 9010,
"data3": 0,
"data4": 0,
"data5": 0
},
{
"id": 30002,
"type_sp": 1,
"tasktxt": {
"key": "30002_tasktxt",
"text": "和格林森对话"
},
"type": 20001,
"valid": 1,
"NPC": 70020,
"data1": 1,
"data2": 9020,
"data3": 0,
"data4": 0,
"data5": 0
},
{
"id": 30003,
"type_sp": 1,
"tasktxt": {
"key": "30003_tasktxt",
"text": "和戈伯对话"
},
"type": 20001,
"valid": 1,
"NPC": 70030,
"data1": 1,
"data2": 9030,
"data3": 0,
"data4": 0,
"data5": 0
},
{
"id": 30004,
"type_sp": 1,
"tasktxt": {
"key": "30004_tasktxt",
"text": "和瓦希尔指挥官对话"
},
"type": 20001,
"valid": 1,
"NPC": 70040,
"data1": 1,
"data2": 9040,
"data3": 0,
"data4": 0,
"data5": 0
},
{
"id": 30005,
"type_sp": 1,
"tasktxt": {
"key": "30005_tasktxt",
"text": "和小伊对话"
},
"type": 20001,
"valid": 1,
"NPC": 70050,
"data1": 1,
"data2": 9050,
"data3": 0,
"data4": 0,
"data5": 0
},
{
"id": 30006,
"type_sp": 1,
"tasktxt": {
"key": "30006_tasktxt",
"text": "和鼻涕粗对话"
},
"type": 20001,
"valid": 1,
"NPC": 70060,
"data1": 1,
"data2": 9060,
"data3": 0,
"data4": 0,
"data5": 0
}
]

View File

@ -1,6 +1,7 @@
[
{
"id": 101,
"heroid": 45001,
"datas": [
"GameMain",
"功能入口-招募",
@ -14,6 +15,7 @@
},
{
"id": 102,
"heroid": 14003,
"datas": [
"GameMain",
"功能入口-主线",
@ -27,6 +29,7 @@
},
{
"id": 103,
"heroid": 45001,
"datas": [
"WuGuanScene",
"乌龟大师",
@ -40,6 +43,7 @@
},
{
"id": 104,
"heroid": 45001,
"datas": [
"WuGuanScene",
"木桩1",
@ -53,6 +57,7 @@
},
{
"id": 10010,
"heroid": 25001,
"datas": [
"GameMain",
"20010_熊猫_1",
@ -66,6 +71,7 @@
},
{
"id": 10011,
"heroid": 44004,
"datas": [
"GameMain",
"20010_骇客蛛_1",
@ -79,6 +85,7 @@
},
{
"id": 10012,
"heroid": 25001,
"datas": [
"GameMain",
"20010_箱子_1",
@ -92,6 +99,7 @@
},
{
"id": 10020,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -105,6 +113,7 @@
},
{
"id": 10021,
"heroid": 24004,
"datas": [
"GameMain",
"20020_邦尼兔_1",
@ -118,6 +127,7 @@
},
{
"id": 10022,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -131,6 +141,7 @@
},
{
"id": 10030,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -144,6 +155,7 @@
},
{
"id": 10031,
"heroid": 24004,
"datas": [
"GameMain",
"20020_邦尼兔_1",
@ -157,6 +169,7 @@
},
{
"id": 10032,
"heroid": 24004,
"datas": [
"GameMain",
"20020_邦尼兔_1",
@ -170,6 +183,7 @@
},
{
"id": 10040,
"heroid": 24004,
"datas": [
"GameMain",
"20020_邦尼兔_1",
@ -183,6 +197,7 @@
},
{
"id": 10041,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -196,6 +211,7 @@
},
{
"id": 10050,
"heroid": 24004,
"datas": [
"WuGuanScene",
"20050_邦尼兔_1",
@ -209,6 +225,7 @@
},
{
"id": 10060,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -222,6 +239,7 @@
},
{
"id": 10061,
"heroid": 25001,
"datas": [
"GameMain",
"20010_熊猫_1",
@ -235,6 +253,7 @@
},
{
"id": 10070,
"heroid": 43007,
"datas": [
"SmithyScene",
"打造",
@ -248,6 +267,7 @@
},
{
"id": 10071,
"heroid": 14001,
"datas": [
"GameMain",
"功能入口-维京远征",
@ -261,6 +281,7 @@
},
{
"id": 10072,
"heroid": 43007,
"datas": [
"SmithyScene",
"打造",
@ -274,6 +295,7 @@
},
{
"id": 10080,
"heroid": 44004,
"datas": [
"GameMain",
"20010_骇客蛛_1",
@ -287,6 +309,7 @@
},
{
"id": 10081,
"heroid": 14003,
"datas": [
"GameMain",
"功能入口-主线",
@ -300,6 +323,7 @@
},
{
"id": 10082,
"heroid": 13002,
"datas": [
"GameMain",
"20080_食人鱼_1",
@ -313,6 +337,7 @@
},
{
"id": 10090,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -326,6 +351,7 @@
},
{
"id": 10091,
"heroid": 45001,
"datas": [
"GameMain",
"功能入口-招募",
@ -339,6 +365,7 @@
},
{
"id": 10100,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -352,6 +379,7 @@
},
{
"id": 10101,
"heroid": 35003,
"datas": [
"GameMain",
"20100_梦魇_1",
@ -365,6 +393,7 @@
},
{
"id": 10102,
"heroid": 24004,
"datas": [
"GameMain",
"20020_邦尼兔_1",
@ -378,6 +407,7 @@
},
{
"id": 10110,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
@ -391,6 +421,7 @@
},
{
"id": 70010,
"heroid": 45003,
"datas": [
"GameMain",
"70010_盖_1",
@ -404,6 +435,7 @@
},
{
"id": 70020,
"heroid": 14007,
"datas": [
"GameMain",
"支线40010_格里森_1",
@ -417,6 +449,7 @@
},
{
"id": 70021,
"heroid": 43007,
"datas": [
"SmithyScene",
"打造",
@ -430,6 +463,7 @@
},
{
"id": 70022,
"heroid": 14001,
"datas": [
"GameMain",
"功能入口-维京远征",
@ -443,6 +477,7 @@
},
{
"id": 70023,
"heroid": 14007,
"datas": [
"GameMain",
"支线40020_格里森_2",
@ -456,6 +491,7 @@
},
{
"id": 70030,
"heroid": 43007,
"datas": [
"SmithyScene",
"打造",
@ -469,6 +505,7 @@
},
{
"id": 70031,
"heroid": 43007,
"datas": [
"SmithyScene",
"打造",
@ -482,6 +519,7 @@
},
{
"id": 70032,
"heroid": 14001,
"datas": [
"GameMain",
"功能入口-维京远征",
@ -495,6 +533,7 @@
},
{
"id": 70033,
"heroid": 43007,
"datas": [
"SmithyScene",
"打造",
@ -508,6 +547,7 @@
},
{
"id": 70040,
"heroid": 43005,
"datas": [
"WuGuanScene",
"支线60010_瓦希尔指挥官_1",
@ -521,6 +561,7 @@
},
{
"id": 70050,
"heroid": 44005,
"datas": [
"GameMain",
"支线70010_小伊_1",
@ -534,6 +575,7 @@
},
{
"id": 70060,
"heroid": 33005,
"datas": [
"GameMain",
"支线80010_鼻涕粗_1",

View File

@ -13601,9 +13601,7 @@
-1,
-1
],
"FollowSK": [
214001212
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
@ -13650,9 +13648,7 @@
-1,
-1
],
"FollowSK": [
214001214
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
@ -13694,10 +13690,7 @@
-1,
-1
],
"FollowSK": [
214001312,
214001313
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
@ -13712,6 +13705,56 @@
"From": 3,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 2,
"Argu": [
414001312,
-1,
-1
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001313,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 8,
"Argu": [
1,
390001202,
-1,
1000
],
"FollowSK": [
214001314,
214001315
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001314,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
@ -13731,44 +13774,18 @@
"RevisiParams": []
},
{
"Id": 214001313,
"Id": 214001315,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 28,
"Argu": [
390001202,
1000,
10
],
"FollowSK": [
214001314
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001314,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 8,
"Type": 33,
"Argu": [
1,
390001202,
-1,
1000
2,
400
],
"FollowSK": [],
"SucFollowSK": [],
@ -13780,7 +13797,7 @@
"RevisiParams": []
},
{
"Id": 214001315,
"Id": 214001316,
"EmitPR": 1000,
"From": 4,
"Where": [],
@ -13797,7 +13814,7 @@
1200
],
"FollowSK": [
214001316
214001317
],
"SucFollowSK": [],
"FailFollowSK": [],
@ -13808,7 +13825,7 @@
"RevisiParams": []
},
{
"Id": 214001316,
"Id": 214001317,
"EmitPR": 1000,
"From": 4,
"Where": [],
@ -19235,7 +19252,7 @@
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 36,
"Type": 37,
"Argu": [
215002312,
215002313,
@ -23743,7 +23760,7 @@
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 33,
"Type": 34,
"Argu": [
1,
1

View File

@ -8472,7 +8472,9 @@
"ChildSkill": {
"Id": [
214001311,
214001315
214001312,
214001313,
214001316
]
},
"Desc": {

View File

@ -744,15 +744,15 @@
{
"Id": 414001211,
"When": 16,
"FromCheck": "",
"FromCheck": "Target=2",
"TargetCheck": "Target=3",
"MainSkillCheck": "",
"AfterSkillCheck": "",
"BuffCheck": "BuffID=390001202",
"BuffCheck": "",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 1,
"MaxEmitTimes": 10,
"Callback": [
214001212
]
@ -775,10 +775,10 @@
},
{
"Id": 414001311,
"When": 2,
"When": 3,
"FromCheck": "Target=3,HasBuff=390001202,OverlayNum=10",
"TargetCheck": "Target=3",
"MainSkillCheck": "",
"TargetCheck": "Target=2",
"MainSkillCheck": "114001311",
"AfterSkillCheck": "",
"BuffCheck": "",
"AddCon": [],
@ -786,8 +786,23 @@
"Type": "CallSkillPas",
"MaxEmitTimes": 1,
"Callback": [
214001315,
214001316
214001313
]
},
{
"Id": 414001312,
"When": 18,
"FromCheck": "Target=3",
"TargetCheck": "Target=3",
"MainSkillCheck": "",
"AfterSkillCheck": "SkillID=214001313",
"BuffCheck": "BuffID=390001202,Succ=1",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 1,
"Callback": [
214001315
]
},
{

View File

@ -14,7 +14,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10110",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -33,7 +33,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10111",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -52,7 +52,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10112",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -71,7 +71,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10113",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -90,7 +90,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10114",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -109,7 +109,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10115",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -128,7 +128,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10210",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -147,7 +147,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10211",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -166,7 +166,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10212",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -185,7 +185,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10213",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -204,7 +204,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10214",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -223,7 +223,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10215",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -242,7 +242,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10310",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -261,7 +261,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10311",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -280,7 +280,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10312",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -299,7 +299,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10313",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -318,7 +318,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10314",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -337,7 +337,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10315",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -356,7 +356,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10410",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -375,7 +375,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10411",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -394,7 +394,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10412",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -413,7 +413,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10413",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -432,7 +432,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10414",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -451,7 +451,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10415",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -470,7 +470,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10510",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -489,7 +489,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10511",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -508,7 +508,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10512",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -527,7 +527,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10513",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -546,7 +546,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10514",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -565,7 +565,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10515",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -584,7 +584,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10610",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -603,7 +603,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10611",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -622,7 +622,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10612",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -641,7 +641,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10613",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -660,7 +660,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10614",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -679,7 +679,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10615",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -698,7 +698,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10710",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -717,7 +717,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10711",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -736,7 +736,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10712",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -755,7 +755,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10713",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -774,7 +774,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10714",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -793,7 +793,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10715",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -812,7 +812,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10810",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -831,7 +831,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10811",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -850,7 +850,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10812",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -869,7 +869,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10813",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -888,7 +888,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10814",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -907,7 +907,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10815",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -926,7 +926,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11010",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -945,7 +945,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11011",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -964,7 +964,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11012",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -983,7 +983,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11013",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1002,7 +1002,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11014",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1021,7 +1021,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11015",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1040,7 +1040,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11110",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1059,7 +1059,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11111",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1078,7 +1078,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11112",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1097,7 +1097,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11113",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1116,7 +1116,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11114",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1135,7 +1135,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11115",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1154,7 +1154,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11210",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1173,7 +1173,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11211",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1192,7 +1192,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11212",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1211,7 +1211,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11213",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1230,7 +1230,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11214",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1249,7 +1249,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11215",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1268,7 +1268,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11310",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1287,7 +1287,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11311",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1306,7 +1306,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11312",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1325,7 +1325,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11313",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1344,7 +1344,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11314",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1363,7 +1363,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11315",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1382,7 +1382,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11410",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1401,7 +1401,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11411",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1420,7 +1420,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11412",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1439,7 +1439,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11413",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1458,7 +1458,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11414",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1477,7 +1477,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11415",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1496,7 +1496,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11510",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1515,7 +1515,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11511",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1534,7 +1534,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11512",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1553,7 +1553,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11513",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1572,7 +1572,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11514",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1591,7 +1591,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11515",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1610,7 +1610,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11610",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1629,7 +1629,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11611",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1648,7 +1648,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11612",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1667,7 +1667,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11613",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1686,7 +1686,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11614",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1705,7 +1705,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11615",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1724,7 +1724,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11710",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1743,7 +1743,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11711",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1762,7 +1762,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11712",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1781,7 +1781,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11713",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1800,7 +1800,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11714",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1819,7 +1819,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11715",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1838,7 +1838,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11810",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1857,7 +1857,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11811",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1876,7 +1876,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11812",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1895,7 +1895,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11813",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1914,7 +1914,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11814",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1933,7 +1933,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11815",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1952,7 +1952,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11910",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1971,7 +1971,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11911",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -1990,7 +1990,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11912",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -2009,7 +2009,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11913",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -2028,7 +2028,7 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11914",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
@ -2047,83 +2047,83 @@
"atlas_score": 0,
"quality": 0,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour11915",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
{
"id": "10013",
"id": "120006",
"tab_id": 4,
"type_id": 2,
"name_text": {
"key": "newsmithy_tool_name_text10013",
"text": "四叶草"
"key": "newsmithy_tool_name_text120006",
"text": "恶魔藤蔓"
},
"content_text": {
"key": "newsmithy_tool_content_text10013",
"text": "这里会有一段关于【四叶草】的故事。"
"key": "newsmithy_tool_content_text120006",
"text": "这里会有一段关于【恶魔藤蔓】的故事。"
},
"atlas_score": 5,
"quality": 1,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10013",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
{
"id": "10014",
"id": "120007",
"tab_id": 4,
"type_id": 2,
"name_text": {
"key": "newsmithy_tool_name_text10014",
"text": "冒险家勋章"
"key": "newsmithy_tool_name_text120007",
"text": "凛冬雪花"
},
"content_text": {
"key": "newsmithy_tool_content_text10014",
"text": "这里会有一段关于【冒险家勋章】的故事。"
"key": "newsmithy_tool_content_text120007",
"text": "这里会有一段关于【凛冬雪花】的故事。"
},
"atlas_score": 10,
"quality": 2,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10014",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
{
"id": "10015",
"id": "120008",
"tab_id": 4,
"type_id": 2,
"name_text": {
"key": "newsmithy_tool_name_text10015",
"text": "猫猫护身符"
"key": "newsmithy_tool_name_text120008",
"text": "北极冰砖"
},
"content_text": {
"key": "newsmithy_tool_content_text10015",
"text": "这里会有一段关于【猫猫护身符】的故事。"
"key": "newsmithy_tool_content_text120008",
"text": "这里会有一段关于【北极冰砖】的故事。"
},
"atlas_score": 20,
"quality": 3,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10015",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
},
{
"id": "10016",
"id": "120009",
"tab_id": 4,
"type_id": 2,
"name_text": {
"key": "newsmithy_tool_name_text10016",
"text": "人造钻石"
"key": "newsmithy_tool_name_text120009",
"text": "龙之冰晶"
},
"content_text": {
"key": "newsmithy_tool_content_text10016",
"text": "这里会有一段关于【人造钻石】的故事。"
"key": "newsmithy_tool_content_text120009",
"text": "这里会有一段关于【龙之冰晶】的故事。"
},
"atlas_score": 40,
"quality": 4,
"atlas_favour": {
"key": "newsmithy_tool_atlas_favour10016",
"key": "newsmithy_tool_atlas_favour25001",
"text": "阿宝"
}
}

992
bin/json/game_talent.json Normal file
View File

@ -0,0 +1,992 @@
[
{
"id": 1,
"type": 1,
"node": 1001,
"pre_node": 0,
"node_lv": 1,
"pre_node_lv": 0,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 20
}
],
"range": 0,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 2,
"type": 1,
"node": 1001,
"pre_node": 0,
"node_lv": 2,
"pre_node_lv": 0,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 40
}
],
"range": 0,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 3,
"type": 1,
"node": 1001,
"pre_node": 0,
"node_lv": 3,
"pre_node_lv": 0,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 60
}
],
"range": 0,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 4,
"type": 1,
"node": 1001,
"pre_node": 0,
"node_lv": 4,
"pre_node_lv": 0,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 80
}
],
"range": 0,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 5,
"type": 1,
"node": 1001,
"pre_node": 0,
"node_lv": 5,
"pre_node_lv": 0,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 100
}
],
"range": 0,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 6,
"type": 1,
"node": 1002,
"pre_node": 1001,
"node_lv": 1,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 20
}
],
"range": 1,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 7,
"type": 1,
"node": 1002,
"pre_node": 1001,
"node_lv": 2,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 40
}
],
"range": 1,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 8,
"type": 1,
"node": 1002,
"pre_node": 1001,
"node_lv": 3,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 60
}
],
"range": 1,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 9,
"type": 1,
"node": 1002,
"pre_node": 1001,
"node_lv": 4,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 80
}
],
"range": 1,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 10,
"type": 1,
"node": 1002,
"pre_node": 1001,
"node_lv": 5,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 100
}
],
"range": 1,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 11,
"type": 1,
"node": 1003,
"pre_node": 1002,
"node_lv": 1,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 20
}
],
"range": 2,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 12,
"type": 1,
"node": 1003,
"pre_node": 1002,
"node_lv": 2,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 40
}
],
"range": 2,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 13,
"type": 1,
"node": 1003,
"pre_node": 1002,
"node_lv": 3,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 60
}
],
"range": 2,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 14,
"type": 1,
"node": 1003,
"pre_node": 1002,
"node_lv": 4,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "hp_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 80
}
],
"range": 2,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 15,
"type": 1,
"node": 1003,
"pre_node": 1002,
"node_lv": 5,
"pre_node_lv": 5,
"node_direction": 90,
"node_long": 20,
"node_png": "def_png",
"node_type": 1,
"disc_png": "",
"disc_pos": 0,
"attribute": [
{
"a": "hp",
"n": 100
}
],
"range": 2,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 16,
"type": 1,
"node": 2001,
"pre_node": 1003,
"node_lv": 1,
"pre_node_lv": 5,
"node_direction": 45,
"node_long": 30,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 3,
"attribute": [
{
"a": "def",
"n": 2
}
],
"range": 3,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 17,
"type": 1,
"node": 2001,
"pre_node": 1003,
"node_lv": 2,
"pre_node_lv": 5,
"node_direction": 45,
"node_long": 30,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 3,
"attribute": [
{
"a": "def",
"n": 4
}
],
"range": 3,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 18,
"type": 1,
"node": 2001,
"pre_node": 1003,
"node_lv": 3,
"pre_node_lv": 5,
"node_direction": 45,
"node_long": 30,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 3,
"attribute": [
{
"a": "def",
"n": 6
}
],
"range": 3,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 19,
"type": 1,
"node": 2001,
"pre_node": 1003,
"node_lv": 4,
"pre_node_lv": 5,
"node_direction": 45,
"node_long": 30,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 3,
"attribute": [
{
"a": "def",
"n": 8
}
],
"range": 3,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 20,
"type": 1,
"node": 2001,
"pre_node": 1003,
"node_lv": 5,
"pre_node_lv": 5,
"node_direction": 45,
"node_long": 30,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 3,
"attribute": [
{
"a": "def",
"n": 10
}
],
"range": 3,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 21,
"type": 1,
"node": 2002,
"pre_node": 2001,
"node_lv": 1,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 2,
"attribute": [
{
"a": "def",
"n": 2
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 22,
"type": 1,
"node": 2002,
"pre_node": 2001,
"node_lv": 2,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 2,
"attribute": [
{
"a": "def",
"n": 4
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 23,
"type": 1,
"node": 2002,
"pre_node": 2001,
"node_lv": 3,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 2,
"attribute": [
{
"a": "def",
"n": 6
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 24,
"type": 1,
"node": 2002,
"pre_node": 2001,
"node_lv": 4,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 2,
"attribute": [
{
"a": "def",
"n": 8
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 25,
"type": 1,
"node": 2002,
"pre_node": 2001,
"node_lv": 5,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "def_png",
"node_type": 1,
"disc_png": "png001",
"disc_pos": 2,
"attribute": [
{
"a": "def",
"n": 10
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 26,
"type": 1,
"node": 2003,
"pre_node": 2002,
"node_lv": 1,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "defpro_png",
"node_type": 2,
"disc_png": "png001",
"disc_pos": 1,
"attribute": [
{
"a": "defpro",
"n": 5
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 27,
"type": 1,
"node": 2003,
"pre_node": 2002,
"node_lv": 2,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "defpro_png",
"node_type": 2,
"disc_png": "png001",
"disc_pos": 1,
"attribute": [
{
"a": "defpro",
"n": 10
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 28,
"type": 1,
"node": 2003,
"pre_node": 2002,
"node_lv": 3,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "defpro_png",
"node_type": 2,
"disc_png": "png001",
"disc_pos": 1,
"attribute": [
{
"a": "defpro",
"n": 15
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 29,
"type": 1,
"node": 2003,
"pre_node": 2002,
"node_lv": 4,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "defpro_png",
"node_type": 2,
"disc_png": "png001",
"disc_pos": 1,
"attribute": [
{
"a": "defpro",
"n": 20
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"id": 30,
"type": 1,
"node": 2003,
"pre_node": 2002,
"node_lv": 5,
"pre_node_lv": 5,
"node_direction": 0,
"node_long": 0,
"node_png": "defpro_png",
"node_type": 2,
"disc_png": "png001",
"disc_pos": 1,
"attribute": [
{
"a": "defpro",
"n": 25
}
],
"range": 4,
"icon_cos": [
{
"a": "attr",
"t": "talent1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
}
]

View File

@ -14,12 +14,7 @@
{
"a": "item",
"t": "30001",
"n": 30
},
{
"a": "hero",
"t": "34006",
"n": 1
"n": 5
}
]
},
@ -38,12 +33,12 @@
{
"a": "item",
"t": "30001",
"n": 31
"n": 2
},
{
"a": "hero",
"t": "34006",
"n": 2
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
@ -62,12 +57,12 @@
{
"a": "item",
"t": "30001",
"n": 32
"n": 2
},
{
"a": "hero",
"t": "34006",
"n": 3
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
@ -86,12 +81,12 @@
{
"a": "item",
"t": "30001",
"n": 33
"n": 2
},
{
"a": "hero",
"t": "34006",
"n": 4
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
@ -110,12 +105,12 @@
{
"a": "item",
"t": "30001",
"n": 34
"n": 2
},
{
"a": "hero",
"t": "34006",
"n": 5
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
@ -134,12 +129,12 @@
{
"a": "item",
"t": "30001",
"n": 35
"n": 2
},
{
"a": "hero",
"t": "34006",
"n": 6
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
@ -158,17 +153,17 @@
{
"a": "item",
"t": "30001",
"n": 36
"n": 2
},
{
"a": "hero",
"t": "34006",
"n": 7
"a": "attr",
"t": "diamond",
"n": 100
}
]
},
{
"id": 110,
"id": 113,
"name": {
"key": "story_80",
"text": "日常测试任务"
@ -182,12 +177,7 @@
{
"a": "item",
"t": "30001",
"n": 37
},
{
"a": "hero",
"t": "34006",
"n": 8
"n": 1
}
]
},
@ -206,12 +196,7 @@
{
"a": "item",
"t": "30001",
"n": 38
},
{
"a": "hero",
"t": "34006",
"n": 9
"n": 1
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -244,11 +244,14 @@ const (
TableGourmetAtlas = "gourmetatlas"
///捕羊大赛
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

@ -452,6 +452,11 @@ type (
ChallengeResults(bid, red, bule string, winSide int32)
}
//捕羊大赛
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

@ -3,11 +3,13 @@ package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"sync"
)
///捕羊大赛对象
type RaceItem struct {
Id string //战斗id
lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
RedMember []*pb.DBRaceMember //红方成员
RedSession []comm.IUserSession //红方会话
BuleMember []*pb.DBRaceMember //蓝方成员

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,31 @@
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
}

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

@ -30,8 +30,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 +61,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()})
@ -112,7 +142,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 +156,68 @@ 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)
}
}
}

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

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

View File

@ -0,0 +1,43 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameCampLvData struct {
Id int32
ReputationLv int32
RaceType int32
ReputationExp int32
Reward *Gameatn
}
const TypeId_GameCampLvData = -571721295
func (*GameCampLvData) GetTypeId() int32 {
return -571721295
}
func (_v *GameCampLvData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["reputation_lv"].(float64); !_ok_ { err = errors.New("reputation_lv error"); return }; _v.ReputationLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["raceType"].(float64); !_ok_ { err = errors.New("raceType error"); return }; _v.RaceType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["reputation_exp"].(float64); !_ok_ { err = errors.New("reputation_exp error"); return }; _v.ReputationExp = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["Reward"].(map[string]interface{}); !_ok_ { err = errors.New("Reward error"); return }; if _v.Reward, err = DeserializeGameatn(_x_); err != nil { return } }
return
}
func DeserializeGameCampLvData(_buf map[string]interface{}) (*GameCampLvData, error) {
v := &GameCampLvData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

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

View File

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

View File

@ -0,0 +1,256 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameFavorabilityData struct {
Id int32
Hid string
Name string
FavorLv int32
FavorExp int32
LvName string
PrivilegeType int32
PrivilegeValue int32
ReturnReward []*Gameatn
ReturnTxt string
LikesFood []int32
DislikingFood []int32
LikesTxt string
OrdinaryTxt string
DislikingTxt string
Favorlv []int32
BiographyName []string
BiographyTxt []string
BiographyReward1 []*Gameatn
BiographyReward2 []*Gameatn
BiographyReward3 []*Gameatn
PlotUnlock []int32
Startid int32
Endid []int32
Rightend int32
Stroyprize []*Gameatn
SpecialStroyprize []*Gameatn
}
const TypeId_GameFavorabilityData = -1618357902
func (*GameFavorabilityData) GetTypeId() int32 {
return -1618357902
}
func (_v *GameFavorabilityData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; if _v.Hid, _ok_ = _buf["hid"].(string); !_ok_ { err = errors.New("hid error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favor_lv"].(float64); !_ok_ { err = errors.New("favor_lv error"); return }; _v.FavorLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favor_exp"].(float64); !_ok_ { err = errors.New("favor_exp error"); return }; _v.FavorExp = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["lv_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.LvName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.LvName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["privilege_type"].(float64); !_ok_ { err = errors.New("privilege_type error"); return }; _v.PrivilegeType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["privilege_value"].(float64); !_ok_ { err = errors.New("privilege_value error"); return }; _v.PrivilegeValue = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["return_reward"].([]interface{}); !_ok_ { err = errors.New("return_reward error"); return }
_v.ReturnReward = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.ReturnReward = append(_v.ReturnReward, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["return_txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.ReturnTxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.ReturnTxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["likes_food"].([]interface{}); !_ok_ { err = errors.New("likes_food error"); return }
_v.LikesFood = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.LikesFood = append(_v.LikesFood, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["disliking_food"].([]interface{}); !_ok_ { err = errors.New("disliking_food error"); return }
_v.DislikingFood = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.DislikingFood = append(_v.DislikingFood, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["likes_txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.LikesTxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.LikesTxt, _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["ordinary_txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.OrdinaryTxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.OrdinaryTxt, _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["disliking_txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.DislikingTxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.DislikingTxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["favorlv"].([]interface{}); !_ok_ { err = errors.New("favorlv error"); return }
_v.Favorlv = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Favorlv = append(_v.Favorlv, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["biography_name"].([]interface{}); !_ok_ { err = errors.New("biography_name error"); return }
_v.BiographyName = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.BiographyName = append(_v.BiographyName, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["biography_txt"].([]interface{}); !_ok_ { err = errors.New("biography_txt error"); return }
_v.BiographyTxt = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.BiographyTxt = append(_v.BiographyTxt, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["biography_reward1"].([]interface{}); !_ok_ { err = errors.New("biography_reward1 error"); return }
_v.BiographyReward1 = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.BiographyReward1 = append(_v.BiographyReward1, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["biography_reward2"].([]interface{}); !_ok_ { err = errors.New("biography_reward2 error"); return }
_v.BiographyReward2 = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.BiographyReward2 = append(_v.BiographyReward2, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["biography_reward3"].([]interface{}); !_ok_ { err = errors.New("biography_reward3 error"); return }
_v.BiographyReward3 = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.BiographyReward3 = append(_v.BiographyReward3, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["plot_unlock"].([]interface{}); !_ok_ { err = errors.New("plot_unlock error"); return }
_v.PlotUnlock = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.PlotUnlock = append(_v.PlotUnlock, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["startid"].(float64); !_ok_ { err = errors.New("startid error"); return }; _v.Startid = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["endid"].([]interface{}); !_ok_ { err = errors.New("endid error"); return }
_v.Endid = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Endid = append(_v.Endid, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["rightend"].(float64); !_ok_ { err = errors.New("rightend error"); return }; _v.Rightend = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["stroyprize"].([]interface{}); !_ok_ { err = errors.New("stroyprize error"); return }
_v.Stroyprize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.Stroyprize = append(_v.Stroyprize, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["special_stroyprize"].([]interface{}); !_ok_ { err = errors.New("special_stroyprize error"); return }
_v.SpecialStroyprize = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.SpecialStroyprize = append(_v.SpecialStroyprize, _list_v_)
}
}
return
}
func DeserializeGameFavorabilityData(_buf map[string]interface{}) (*GameFavorabilityData, error) {
v := &GameFavorabilityData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

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

View File

@ -0,0 +1,68 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameFriendsData struct {
Id int32
FriendId int32
Type int32
TypeName string
FriendName string
Png string
FriendsLv int32
FavorabilityLv int32
Hid int32
Attribute []*Gameatr
AttributeTxt string
}
const TypeId_GameFriendsData = -103780637
func (*GameFriendsData) GetTypeId() int32 {
return -103780637
}
func (_v *GameFriendsData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friend_id"].(float64); !_ok_ { err = errors.New("friend_id error"); return }; _v.FriendId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["type_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TypeName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TypeName, _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["friend_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.FriendName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.FriendName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Png, _ok_ = _buf["png"].(string); !_ok_ { err = errors.New("png error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friends_lv"].(float64); !_ok_ { err = errors.New("friends_lv error"); return }; _v.FriendsLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_lv"].(float64); !_ok_ { err = errors.New("favorability_lv error"); return }; _v.FavorabilityLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["attribute"].([]interface{}); !_ok_ { err = errors.New("attribute error"); return }
_v.Attribute = make([]*Gameatr, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatr
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatr(_x_); err != nil { return } }
_v.Attribute = append(_v.Attribute, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["attribute_txt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.AttributeTxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.AttributeTxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}
func DeserializeGameFriendsData(_buf map[string]interface{}) (*GameFriendsData, error) {
v := &GameFriendsData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -21,6 +21,9 @@ type GamePandamasJxData struct {
Heroid string
Img string
Intr string
StandardText int32
SpecialText int32
EffectiveHeroId []string
Description string
Duration int32
Exp int32
@ -47,6 +50,22 @@ func (_v *GamePandamasJxData)Deserialize(_buf map[string]interface{}) (err error
{ var _ok_ bool; if _v.Heroid, _ok_ = _buf["heroid"].(string); !_ok_ { err = errors.New("heroid error"); return } }
{ var _ok_ bool; if _v.Img, _ok_ = _buf["img"].(string); !_ok_ { err = errors.New("img error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["intr"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Intr error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Intr, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["standard_text"].(float64); !_ok_ { err = errors.New("standard_text error"); return }; _v.StandardText = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["special_text"].(float64); !_ok_ { err = errors.New("special_text error"); return }; _v.SpecialText = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["effective_hero_id"].([]interface{}); !_ok_ { err = errors.New("effective_hero_id error"); return }
_v.EffectiveHeroId = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.EffectiveHeroId = append(_v.EffectiveHeroId, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["description"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Description error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Description, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["duration"].(float64); !_ok_ { err = errors.New("duration error"); return }; _v.Duration = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) }

View File

@ -16,7 +16,10 @@ type GamePandamasMrylData struct {
Icon string
Des string
Ticks int32
Ani string
P int32
BeforeTraining int32
AfterTraining int32
BuffGroup int32
}
@ -32,7 +35,10 @@ func (_v *GamePandamasMrylData)Deserialize(_buf map[string]interface{}) (err err
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["des"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Des error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Des, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ticks"].(float64); !_ok_ { err = errors.New("ticks error"); return }; _v.Ticks = int32(_tempNum_) }
{ var _ok_ bool; if _v.Ani, _ok_ = _buf["ani"].(string); !_ok_ { err = errors.New("ani error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["p"].(float64); !_ok_ { err = errors.New("p error"); return }; _v.P = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["before_training"].(float64); !_ok_ { err = errors.New("before_training error"); return }; _v.BeforeTraining = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["after_training"].(float64); !_ok_ { err = errors.New("after_training error"); return }; _v.AfterTraining = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buff_group"].(float64); !_ok_ { err = errors.New("buff_group error"); return }; _v.BuffGroup = int32(_tempNum_) }
return
}

View File

@ -12,6 +12,7 @@ import "errors"
type GameRdtaskNpcData struct {
Id int32
Heroid int32
Datas []string
Event []int32
Goto int32
@ -25,6 +26,7 @@ func (*GameRdtaskNpcData) GetTypeId() int32 {
func (_v *GameRdtaskNpcData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroid"].(float64); !_ok_ { err = errors.New("heroid error"); return }; _v.Heroid = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool

View File

@ -41,8 +41,9 @@ const (
GameSkillEffectType_Rebirth = 30
GameSkillEffectType_StealBuff = 31
GameSkillEffectType_BuffDmg = 32
GameSkillEffectType_ShiftOurAllBuff = 33
GameSkillEffectType_DrawActValueToTeam = 34
GameSkillEffectType_SpecialTre = 35
GameSkillEffectType_RandChildSkill = 36
GameSkillEffectType_BuffTre = 33
GameSkillEffectType_ShiftOurAllBuff = 34
GameSkillEffectType_DrawActValueToTeam = 35
GameSkillEffectType_SpecialTre = 36
GameSkillEffectType_RandChildSkill = 37
)

View File

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

View File

@ -0,0 +1,89 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type GameTalentData struct {
Id int32
Type int32
Node int32
PreNode int32
NodeLv int32
PreNodeLv int32
NodeDirection int32
NodeLong int32
NodePng string
NodeType int32
DiscPng string
DiscPos int32
Attribute []*Gameatr
Range int32
IconCos []*Gameatn
}
const TypeId_GameTalentData = -1561355726
func (*GameTalentData) GetTypeId() int32 {
return -1561355726
}
func (_v *GameTalentData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node"].(float64); !_ok_ { err = errors.New("node error"); return }; _v.Node = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pre_node"].(float64); !_ok_ { err = errors.New("pre_node error"); return }; _v.PreNode = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_lv"].(float64); !_ok_ { err = errors.New("node_lv error"); return }; _v.NodeLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pre_node_lv"].(float64); !_ok_ { err = errors.New("pre_node_lv error"); return }; _v.PreNodeLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_direction"].(float64); !_ok_ { err = errors.New("node_direction error"); return }; _v.NodeDirection = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_long"].(float64); !_ok_ { err = errors.New("node_long error"); return }; _v.NodeLong = int32(_tempNum_) }
{ var _ok_ bool; if _v.NodePng, _ok_ = _buf["node_png"].(string); !_ok_ { err = errors.New("node_png error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["node_type"].(float64); !_ok_ { err = errors.New("node_type error"); return }; _v.NodeType = int32(_tempNum_) }
{ var _ok_ bool; if _v.DiscPng, _ok_ = _buf["disc_png"].(string); !_ok_ { err = errors.New("disc_png error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["disc_pos"].(float64); !_ok_ { err = errors.New("disc_pos error"); return }; _v.DiscPos = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["attribute"].([]interface{}); !_ok_ { err = errors.New("attribute error"); return }
_v.Attribute = make([]*Gameatr, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatr
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatr(_x_); err != nil { return } }
_v.Attribute = append(_v.Attribute, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["range"].(float64); !_ok_ { err = errors.New("range error"); return }; _v.Range = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["icon_cos"].([]interface{}); !_ok_ { err = errors.New("icon_cos error"); return }
_v.IconCos = make([]*Gameatn, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Gameatn
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
_v.IconCos = append(_v.IconCos, _list_v_)
}
}
return
}
func DeserializeGameTalentData(_buf map[string]interface{}) (*GameTalentData, error) {
v := &GameTalentData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -21,9 +21,11 @@ type GameWorldTaskData struct {
Icon string
TaskTname string
TaskName string
TaskDisplay string
Npctxt string
Npc int32
Completetasktxt string
Completetask []int32
DeliverNpctxt string
DeliverNpc int32
AutoAccept int32
Reword []*Gameatn
@ -47,8 +49,9 @@ func (_v *GameWorldTaskData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_Tname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskTname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskTname, _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["task_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskName, _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["task_display"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskDisplay error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskDisplay, _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["npctxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Npctxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Npctxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc"].(float64); !_ok_ { err = errors.New("npc error"); return }; _v.Npc = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["completetasktxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Completetasktxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Completetasktxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{
var _arr_ []interface{}
var _ok_ bool
@ -63,6 +66,7 @@ func (_v *GameWorldTaskData)Deserialize(_buf map[string]interface{}) (err error)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["deliver_npctxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.DeliverNpctxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.DeliverNpctxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["deliver_npc"].(float64); !_ok_ { err = errors.New("deliver_npc error"); return }; _v.DeliverNpc = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["auto_accept"].(float64); !_ok_ { err = errors.New("auto_accept error"); return }; _v.AutoAccept = int32(_tempNum_) }
{

View File

@ -185,6 +185,10 @@ type Tables struct {
itinerant_lv *Gameitinerant_lv
itinerant_reward *Gameitinerant_reward
NewRedDot *GameNewRedDot
Talent *GameTalent
Favorability *GameFavorability
Friends *GameFriends
CampLv *GameCampLv
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -1236,5 +1240,29 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.NewRedDot, err = NewGameNewRedDot(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_talent") ; err != nil {
return nil, err
}
if tables.Talent, err = NewGameTalent(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_favorability") ; err != nil {
return nil, err
}
if tables.Favorability, err = NewGameFavorability(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_friends") ; err != nil {
return nil, err
}
if tables.Friends, err = NewGameFriends(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_camplv") ; err != nil {
return nil, err
}
if tables.CampLv, err = NewGameCampLv(buf) ; err != nil {
return nil, err
}
return tables, nil
}