This commit is contained in:
wh_zcy 2023-04-18 16:12:28 +08:00
commit a4cc45c7e0
66 changed files with 12782 additions and 1933 deletions

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": "zy",
"n": 1
}
},
{
"id": 2,
"reputation_lv": 2,
"raceType": 1,
"reputation_exp": 30,
"Reward": {
"a": "attr",
"t": "zy",
"n": 2
}
},
{
"id": 3,
"reputation_lv": 3,
"raceType": 1,
"reputation_exp": 40,
"Reward": {
"a": "attr",
"t": "zy",
"n": 3
}
},
{
"id": 4,
"reputation_lv": 4,
"raceType": 1,
"reputation_exp": 50,
"Reward": {
"a": "attr",
"t": "zy",
"n": 4
}
},
{
"id": 5,
"reputation_lv": 5,
"raceType": 1,
"reputation_exp": 60,
"Reward": {
"a": "attr",
"t": "zy",
"n": 5
}
},
{
"id": 6,
"reputation_lv": 6,
"raceType": 1,
"reputation_exp": 70,
"Reward": {
"a": "attr",
"t": "zy",
"n": 6
}
},
{
"id": 7,
"reputation_lv": 7,
"raceType": 1,
"reputation_exp": 80,
"Reward": {
"a": "attr",
"t": "zy",
"n": 7
}
},
{
"id": 8,
"reputation_lv": 1,
"raceType": 2,
"reputation_exp": 10,
"Reward": {
"a": "attr",
"t": "zy",
"n": 8
}
},
{
"id": 9,
"reputation_lv": 2,
"raceType": 2,
"reputation_exp": 20,
"Reward": {
"a": "attr",
"t": "zy",
"n": 9
}
},
{
"id": 10,
"reputation_lv": 3,
"raceType": 2,
"reputation_exp": 30,
"Reward": {
"a": "attr",
"t": "zy",
"n": 10
}
},
{
"id": 11,
"reputation_lv": 4,
"raceType": 2,
"reputation_exp": 40,
"Reward": {
"a": "attr",
"t": "zy",
"n": 11
}
},
{
"id": 12,
"reputation_lv": 5,
"raceType": 2,
"reputation_exp": 50,
"Reward": {
"a": "attr",
"t": "zy",
"n": 12
}
},
{
"id": 13,
"reputation_lv": 6,
"raceType": 2,
"reputation_exp": 60,
"Reward": {
"a": "attr",
"t": "zy",
"n": 13
}
},
{
"id": 14,
"reputation_lv": 7,
"raceType": 2,
"reputation_exp": 70,
"Reward": {
"a": "attr",
"t": "zy",
"n": 14
}
},
{
"id": 15,
"reputation_lv": 8,
"raceType": 2,
"reputation_exp": 80,
"Reward": {
"a": "attr",
"t": "zy",
"n": 15
}
},
{
"id": 16,
"reputation_lv": 9,
"raceType": 2,
"reputation_exp": 90,
"Reward": {
"a": "attr",
"t": "zy",
"n": 16
}
},
{
"id": 17,
"reputation_lv": 10,
"raceType": 2,
"reputation_exp": 100,
"Reward": {
"a": "attr",
"t": "zy",
"n": 17
}
},
{
"id": 18,
"reputation_lv": 11,
"raceType": 2,
"reputation_exp": 110,
"Reward": {
"a": "attr",
"t": "zy",
"n": 18
}
},
{
"id": 19,
"reputation_lv": 12,
"raceType": 2,
"reputation_exp": 120,
"Reward": {
"a": "attr",
"t": "zy",
"n": 19
}
},
{
"id": 20,
"reputation_lv": 20,
"raceType": 2,
"reputation_exp": 130,
"Reward": {
"a": "attr",
"t": "zy",
"n": 20
}
}
]

View File

@ -8,7 +8,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 111, "tasktime": 170,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -56,7 +56,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 174, "tasktime": 176,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -104,7 +104,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 100, "tasktime": 149,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -152,7 +152,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 140, "tasktime": 104,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -200,7 +200,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 176, "tasktime": 79,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -248,7 +248,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 65, "tasktime": 158,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -296,7 +296,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 124, "tasktime": 69,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -344,7 +344,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 96, "tasktime": 165,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -392,7 +392,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 114, "tasktime": 162,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -440,7 +440,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 109, "tasktime": 78,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -488,7 +488,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 92, "tasktime": 173,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -536,7 +536,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 137, "tasktime": 120,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -584,7 +584,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 109, "tasktime": 139,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -632,7 +632,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 109, "tasktime": 60,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -680,7 +680,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 107, "tasktime": 167,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -728,7 +728,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 175, "tasktime": 130,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -776,7 +776,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 142, "tasktime": 132,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -824,7 +824,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 109, "tasktime": 61,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -872,7 +872,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 61, "tasktime": 90,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -920,7 +920,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 172, "tasktime": 146,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -968,7 +968,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 120, "tasktime": 77,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -1016,7 +1016,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 64, "tasktime": 90,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -1064,7 +1064,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 103, "tasktime": 67,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -1112,7 +1112,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 140, "tasktime": 175,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -1160,7 +1160,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 124, "tasktime": 156,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -1208,7 +1208,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 147, "tasktime": 152,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -1256,7 +1256,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 120, "tasktime": 149,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -1304,7 +1304,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 137, "tasktime": 156,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -1352,7 +1352,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 90, "tasktime": 91,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -1400,7 +1400,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 158, "tasktime": 110,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -1448,7 +1448,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 104, "tasktime": 89,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -1496,7 +1496,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 158, "tasktime": 169,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -1544,7 +1544,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 92, "tasktime": 90,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -1592,7 +1592,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 83, "tasktime": 117,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -1640,7 +1640,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 60, "tasktime": 73,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -1688,7 +1688,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 152, "tasktime": 179,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -1736,7 +1736,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 88, "tasktime": 142,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -1784,7 +1784,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 156, "tasktime": 178,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -1832,7 +1832,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 153, "tasktime": 150,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -1880,7 +1880,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 110, "tasktime": 175,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -1928,7 +1928,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 127, "tasktime": 139,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -1976,7 +1976,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 115, "tasktime": 105,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -2024,7 +2024,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 109, "tasktime": 125,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -2072,7 +2072,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 174, "tasktime": 175,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -2120,7 +2120,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 79, "tasktime": 166,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -2168,7 +2168,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 70, "tasktime": 62,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -2216,7 +2216,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 103, "tasktime": 167,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -2264,7 +2264,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 143, "tasktime": 94,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -2312,7 +2312,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 123, "tasktime": 81,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -2360,7 +2360,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 65, "tasktime": 104,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -2408,7 +2408,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 171, "tasktime": 164,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -2456,7 +2456,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 150, "tasktime": 92,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -2504,7 +2504,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 90, "tasktime": 151,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -2552,7 +2552,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 163, "tasktime": 89,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -2600,7 +2600,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 87, "tasktime": 124,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -2648,7 +2648,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 100, "tasktime": 162,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -2696,7 +2696,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 154, "tasktime": 92,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -2744,7 +2744,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 167, "tasktime": 63,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -2792,7 +2792,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 114, "tasktime": 82,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -2840,7 +2840,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 64, "tasktime": 116,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -2888,7 +2888,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 157, "tasktime": 128,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -2936,7 +2936,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 129, "tasktime": 67,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -2984,7 +2984,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 166, "tasktime": 141,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -3032,7 +3032,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 100, "tasktime": 81,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -3080,7 +3080,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 63, "tasktime": 175,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -3128,7 +3128,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 137, "tasktime": 169,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -3176,7 +3176,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 70, "tasktime": 90,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -3224,7 +3224,7 @@
}, },
"icon": "xmwg_rw_pt5", "icon": "xmwg_rw_pt5",
"taskcd": 200, "taskcd": 200,
"tasktime": 63, "tasktime": 131,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -3272,7 +3272,7 @@
}, },
"icon": "xmwg_rw_pt6", "icon": "xmwg_rw_pt6",
"taskcd": 200, "taskcd": 200,
"tasktime": 83, "tasktime": 160,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -3320,7 +3320,7 @@
}, },
"icon": "xmwg_rw_pt7", "icon": "xmwg_rw_pt7",
"taskcd": 200, "taskcd": 200,
"tasktime": 163, "tasktime": 69,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "text": "这是属于波比的专属委托"
@ -3368,7 +3368,7 @@
}, },
"icon": "xmwg_rw_pt1", "icon": "xmwg_rw_pt1",
"taskcd": 200, "taskcd": 200,
"tasktime": 91, "tasktime": 102,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Tiger", "key": "Entrustment details of Tiger",
"text": "这是属于悍娇虎的专属委托" "text": "这是属于悍娇虎的专属委托"
@ -3416,7 +3416,7 @@
}, },
"icon": "xmwg_rw_pt2", "icon": "xmwg_rw_pt2",
"taskcd": 200, "taskcd": 200,
"tasktime": 73, "tasktime": 168,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Shifu", "key": "Entrustment details of Shifu",
"text": "这是属于师父的专属委托" "text": "这是属于师父的专属委托"
@ -3464,7 +3464,7 @@
}, },
"icon": "xmwg_rw_pt3", "icon": "xmwg_rw_pt3",
"taskcd": 200, "taskcd": 200,
"tasktime": 151, "tasktime": 119,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Po", "key": "Entrustment details of Po",
"text": "这是属于阿宝的专属委托" "text": "这是属于阿宝的专属委托"
@ -3512,7 +3512,7 @@
}, },
"icon": "xmwg_rw_pt4", "icon": "xmwg_rw_pt4",
"taskcd": 200, "taskcd": 200,
"tasktime": 115, "tasktime": 110,
"tasktxt": { "tasktxt": {
"key": "Entrustment details of Bobi", "key": "Entrustment details of Bobi",
"text": "这是属于波比的专属委托" "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, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_flower", "img": "tj_icon_flower",
"intr": { "intr": {
@ -1918,9 +1918,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_yshy", "img": "tj_icon_yshy",
"intr": { "intr": {
@ -1948,9 +1948,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_ttry", "img": "tj_icon_ttry",
"intr": { "intr": {
@ -1978,9 +1978,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_hmkz", "img": "tj_icon_hmkz",
"intr": { "intr": {
@ -2008,9 +2008,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_ljym", "img": "tj_icon_ljym",
"intr": { "intr": {
@ -2038,9 +2038,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_emtm", "img": "tj_icon_emtm",
"intr": { "intr": {
@ -2068,9 +2068,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_cjbs", "img": "tj_icon_cjbs",
"intr": { "intr": {
@ -2098,9 +2098,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_zjbs", "img": "tj_icon_zjbs",
"intr": { "intr": {
@ -2128,9 +2128,9 @@
"box_id": 0, "box_id": 0,
"synthetize_num": 0, "synthetize_num": 0,
"access": [ "access": [
123 1001
], ],
"use_skip": 139, "use_skip": 1001,
"upper_limit": -1, "upper_limit": -1,
"img": "tj_icon_gjbs", "img": "tj_icon_gjbs",
"intr": { "intr": {

View File

@ -0,0 +1,71 @@
[
{
"id": 101,
"cityticket": 1,
"citylvlock": 0,
"citymainlock": [
11001
],
"cityname": {
"key": "shopname1",
"text": "功夫熊猫城市"
},
"cityinformation": {
"key": "shopname1",
"text": "常年游荡在哀伤山脉的商人,这一区域或许只有他才敢在这里做生意。"
},
"citytxt": {
"key": "shopname1",
"text": "哀伤山脉长年被一股胀气笼罩,这里的人们长年吸入这些气息,不知不觉已经产生了异变,他们自己称之为兽化病,年长的居民,会随着兽化病的加重,变成熊猫的模样,他们的人性会逐渐的被兽性所代替,最后彻底沦为一只只知道吃包子的直立行走的熊猫。\n\n山脉的长者为了避免失去理智的自己误伤后代会在晚年独自一人前往山脉深处。\n\n当旅行者在山脉的深处看到那些整日吃包子的熊猫大概率就是有山脉的居民演化而来。\n\n也正因如此这里的居民对于包子竹子等熊猫喜爱的食物需求量很大也很乐意高价收购外来的那些优秀的竹笋和上好的白面。\n\n不仅仅是对于那些已经彻底兽化的长辈在时间的流逝下熊猫的本性已经遗留在当地居民的血脉新生孩子以及那些山脉之中的年轻人也会对这些食物有着近乎病态的追求。"
},
"citytype": 1,
"citytypenum": 2,
"special": [
1,
2
],
"specialnum": 5000,
"exspecial": [
3,
4,
6
],
"exspecialnum": 2000000,
"Orspecial": 100000
},
{
"id": 102,
"cityticket": 1,
"citylvlock": 0,
"citymainlock": [
11001
],
"cityname": {
"key": "shopname2",
"text": "圣桃树山脉"
},
"cityinformation": {
"key": "shopname2",
"text": "常年游荡在哀伤山脉的商人,这一区域或许只有他才敢在这里做生意。"
},
"citytxt": {
"key": "shopname2",
"text": "哀伤山脉长年被一股胀气笼罩,这里的人们长年吸入这些气息,不知不觉已经产生了异变,他们自己称之为兽化病,年长的居民,会随着兽化病的加重,变成熊猫的模样,他们的人性会逐渐的被兽性所代替,最后彻底沦为一只只知道吃包子的直立行走的熊猫。\n\n山脉的长者为了避免失去理智的自己误伤后代会在晚年独自一人前往山脉深处。\n\n当旅行者在山脉的深处看到那些整日吃包子的熊猫大概率就是有山脉的居民演化而来。\n\n也正因如此这里的居民对于包子竹子等熊猫喜爱的食物需求量很大也很乐意高价收购外来的那些优秀的竹笋和上好的白面。\n\n不仅仅是对于那些已经彻底兽化的长辈在时间的流逝下熊猫的本性已经遗留在当地居民的血脉新生孩子以及那些山脉之中的年轻人也会对这些食物有着近乎病态的追求。"
},
"citytype": 2,
"citytypenum": 3,
"special": [
3,
4,
5,
6
],
"specialnum": 5000,
"exspecial": [
1,
2
],
"exspecialnum": 2000000,
"Orspecial": 100000
}
]

View File

@ -0,0 +1,139 @@
[
{
"lv": 0,
"newmoneyexp": 0,
"reward": []
},
{
"lv": 1,
"newmoneyexp": 100000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"lv": 2,
"newmoneyexp": 200000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 2000
}
]
},
{
"lv": 3,
"newmoneyexp": 300000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 3000
}
]
},
{
"lv": 4,
"newmoneyexp": 400000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 4000
}
]
},
{
"lv": 5,
"newmoneyexp": 500000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 5000
}
]
},
{
"lv": 6,
"newmoneyexp": 600000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 6000
}
]
},
{
"lv": 7,
"newmoneyexp": 700000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 7000
}
]
},
{
"lv": 8,
"newmoneyexp": 800000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 8000
}
]
},
{
"lv": 9,
"newmoneyexp": 900000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 9000
}
]
},
{
"lv": 10,
"newmoneyexp": 1000000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 10000
}
]
},
{
"lv": 11,
"newmoneyexp": 1100000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 11000
}
]
},
{
"lv": 12,
"newmoneyexp": 1200000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 12000
}
]
}
]

View File

@ -0,0 +1,32 @@
[
{
"num": 10000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
},
{
"num": 20000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 2000
}
]
},
{
"num": 30000,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 3000
}
]
}
]

View File

@ -0,0 +1,230 @@
[
{
"id": 1,
"goodsname": {
"key": "name",
"text": "番茄"
},
"goodsinfor": {
"key": "txt",
"text": "这是一个番茄"
},
"goodsicon": "fanqie_c",
"goodsprice": 1000,
"changeperiod": [
5,
15
],
"changetime": 60,
"PriceChangeWeight": [
40,
20,
40
],
"PriceChangeWeight_one": [
80,
20
],
"PriceChangeWeight_two": [
50,
50
],
"PriceChangeWeight_three": [
20,
80
],
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000
},
{
"id": 2,
"goodsname": {
"key": "name",
"text": "苹果"
},
"goodsinfor": {
"key": "txt",
"text": "这是一个苹果"
},
"goodsicon": "fanqie_c",
"goodsprice": 1000,
"changeperiod": [
5,
15
],
"changetime": 60,
"PriceChangeWeight": [
40,
20,
40
],
"PriceChangeWeight_one": [
80,
20
],
"PriceChangeWeight_two": [
50,
50
],
"PriceChangeWeight_three": [
20,
80
],
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000
},
{
"id": 3,
"goodsname": {
"key": "name",
"text": "手机"
},
"goodsinfor": {
"key": "txt",
"text": "这是一个手机"
},
"goodsicon": "fanqie_c",
"goodsprice": 1000,
"changeperiod": [
5,
15
],
"changetime": 60,
"PriceChangeWeight": [
40,
20,
40
],
"PriceChangeWeight_one": [
80,
20
],
"PriceChangeWeight_two": [
50,
50
],
"PriceChangeWeight_three": [
20,
80
],
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000
},
{
"id": 4,
"goodsname": {
"key": "name",
"text": "干果"
},
"goodsinfor": {
"key": "txt",
"text": "这是一个干果"
},
"goodsicon": "fanqie_c",
"goodsprice": 1000,
"changeperiod": [
5,
15
],
"changetime": 60,
"PriceChangeWeight": [
40,
20,
40
],
"PriceChangeWeight_one": [
80,
20
],
"PriceChangeWeight_two": [
50,
50
],
"PriceChangeWeight_three": [
20,
80
],
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000
},
{
"id": 5,
"goodsname": {
"key": "name",
"text": "干果"
},
"goodsinfor": {
"key": "txt",
"text": "这是一个干果"
},
"goodsicon": "fanqie_c",
"goodsprice": 1000,
"changeperiod": [
5,
15
],
"changetime": 60,
"PriceChangeWeight": [
40,
20,
40
],
"PriceChangeWeight_one": [
80,
20
],
"PriceChangeWeight_two": [
50,
50
],
"PriceChangeWeight_three": [
20,
80
],
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000
},
{
"id": 6,
"goodsname": {
"key": "name",
"text": "干果"
},
"goodsinfor": {
"key": "txt",
"text": "这是一个干果"
},
"goodsicon": "fanqie_c",
"goodsprice": 1000,
"changeperiod": [
5,
15
],
"changetime": 60,
"PriceChangeWeight": [
40,
20,
40
],
"PriceChangeWeight_one": [
80,
20
],
"PriceChangeWeight_two": [
50,
50
],
"PriceChangeWeight_three": [
20,
80
],
"FluctuationRange": 500,
"pricemin": 200,
"pricemax": 3000
}
]

View File

@ -0,0 +1,342 @@
[
{
"id": 10100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Task",
"header": ""
},
{
"id": 10101,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "task",
"path": "Root|Task|Daily",
"header": "赵长远"
},
{
"id": 10102,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "task",
"path": "Root|Task|Week",
"header": "赵长远"
},
{
"id": 10103,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "task",
"path": "Root|Task|Achievement",
"header": "赵长远"
},
{
"id": 10200,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Task|Daily",
"header": ""
},
{
"id": 10201,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "task",
"path": "Root|Task|Daily|Active",
"header": ""
},
{
"id": 10300,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Task|Week",
"header": ""
},
{
"id": 10301,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "task",
"path": "Root|Task|Week|Active",
"header": ""
},
{
"id": 11100,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|MainLine",
"header": "梅雄风"
},
{
"id": 12100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Email",
"header": ""
},
{
"id": 12101,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Email|Btn",
"header": ""
},
{
"id": 12102,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Email|UnreadBtn",
"header": ""
},
{
"id": 13100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|ViKingExpedition",
"header": ""
},
{
"id": 13101,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|ViKingExpedition|MainPage",
"header": ""
},
{
"id": 13102,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|ViKingExpedition|MainPage|Btn",
"header": ""
},
{
"id": 14100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hunting",
"header": ""
},
{
"id": 14101,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hunting|MainPage",
"header": ""
},
{
"id": 14102,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hunting|MainPage|Btn",
"header": ""
},
{
"id": 20100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero",
"header": ""
},
{
"id": 20101,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero|Heroup",
"header": ""
},
{
"id": 20102,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero|Heroup|Btn",
"header": ""
},
{
"id": 20200,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero|Awake",
"header": ""
},
{
"id": 20201,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero|Awake|Btn",
"header": ""
},
{
"id": 20300,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero|Heroup",
"header": ""
},
{
"id": 20301,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Hero|Heroup|Btn",
"header": ""
},
{
"id": 15100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "sociaty",
"path": "Root|Guild",
"header": "赵长远"
},
{
"id": 15101,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "sociaty",
"path": "Root|Guild|MBtn",
"header": "赵长远"
},
{
"id": 15102,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "sociaty",
"path": "Root|Guild|MBtn|Btn",
"header": "赵长远"
},
{
"id": 15200,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "sociaty",
"path": "Root|Guild|Apply",
"header": ""
},
{
"id": 15201,
"msg_type": 1,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "sociaty",
"path": "Root|Guild|Apply|Btn",
"header": ""
},
{
"id": 16100,
"msg_type": 0,
"tree_type": 0,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Bag",
"header": "赵长远"
},
{
"id": 16101,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Bag|Item",
"header": "赵长远"
},
{
"id": 16102,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Bag|Equip",
"header": "赵长远"
},
{
"id": 16103,
"msg_type": 2,
"tree_type": 1,
"show_type": 0,
"count_type": 0,
"group": "",
"path": "Root|Bag|Shard",
"header": "赵长远"
}
]

View File

@ -17,7 +17,7 @@
"text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升" "text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
}, },
"description": { "description": {
"key": "wuguanshirenyu10001", "key": "xiaoguo_6",
"text": "提升每分钟的经验值获取{0}%" "text": "提升每分钟的经验值获取{0}%"
}, },
"duration": 0, "duration": 0,
@ -45,7 +45,7 @@
"text": "闪闪" "text": "闪闪"
}, },
"description": { "description": {
"key": "wuguanshirenyu10002", "key": "xiaoguo_7",
"text": "提升每分钟的经验值获取{0}%" "text": "提升每分钟的经验值获取{0}%"
}, },
"duration": 0, "duration": 0,
@ -73,7 +73,7 @@
"text": "蛇先生" "text": "蛇先生"
}, },
"description": { "description": {
"key": "wuguanshirenyu10003", "key": "xiaoguo_8",
"text": "提升每分钟的经验值获取{0}%" "text": "提升每分钟的经验值获取{0}%"
}, },
"duration": 0, "duration": 0,
@ -101,7 +101,7 @@
"text": "金猴" "text": "金猴"
}, },
"description": { "description": {
"key": "wuguanshirenyu10004", "key": "xiaoguo_9",
"text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}" "text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -140,7 +140,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"description": { "description": {
"key": "wuguanshirenyu10005", "key": "xiaoguo_10",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -168,7 +168,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"description": { "description": {
"key": "wuguanshirenyu10006", "key": "xiaoguo_11",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -196,7 +196,7 @@
"text": "盖" "text": "盖"
}, },
"description": { "description": {
"key": "wuguanshirenyu10007", "key": "xiaoguo_12",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -224,7 +224,7 @@
"text": "希卡普" "text": "希卡普"
}, },
"description": { "description": {
"key": "wuguanshirenyu10008", "key": "xiaoguo_13",
"text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%" "text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%"
}, },
"duration": 1, "duration": 1,
@ -252,7 +252,7 @@
"text": "穿靴猫" "text": "穿靴猫"
}, },
"description": { "description": {
"key": "wuguanshirenyu10009", "key": "xiaoguo_14",
"text": "提升低级觉醒材料的获取数量{0}" "text": "提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -291,7 +291,7 @@
"text": "师父" "text": "师父"
}, },
"description": { "description": {
"key": "wuguanshirenyu10010", "key": "xiaoguo_15",
"text": "提升低级觉醒材料的获取数量{0}" "text": "提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -330,7 +330,7 @@
"text": "阿宝" "text": "阿宝"
}, },
"description": { "description": {
"key": "wuguanshirenyu10011", "key": "xiaoguo_16",
"text": "{0}%概率获得1个3级升星精灵" "text": "{0}%概率获得1个3级升星精灵"
}, },
"duration": 0, "duration": 0,
@ -369,7 +369,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"description": { "description": {
"key": "wuguanshirenyu10012", "key": "xiaoguo_17",
"text": "{0}%概率获得1个3级升星精灵" "text": "{0}%概率获得1个3级升星精灵"
}, },
"duration": 0, "duration": 0,
@ -408,7 +408,7 @@
"text": "石锁,传闻是师父在训练阿宝时经常使用到的道具" "text": "石锁,传闻是师父在训练阿宝时经常使用到的道具"
}, },
"description": { "description": {
"key": "wuguanshirenyu20001", "key": "xiaoguo_18",
"text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}" "text": "提升每分钟的经验值获取{0}%,提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -447,7 +447,7 @@
"text": "双头空竹" "text": "双头空竹"
}, },
"description": { "description": {
"key": "wuguanshirenyu20002", "key": "xiaoguo_19",
"text": "提升每分钟的经验值获取{0}%" "text": "提升每分钟的经验值获取{0}%"
}, },
"duration": 0, "duration": 0,
@ -475,7 +475,7 @@
"text": "木爬架" "text": "木爬架"
}, },
"description": { "description": {
"key": "wuguanshirenyu20003", "key": "xiaoguo_20",
"text": "提升每分钟的经验值获取{0}%" "text": "提升每分钟的经验值获取{0}%"
}, },
"duration": 0, "duration": 0,
@ -503,7 +503,7 @@
"text": "不倒翁" "text": "不倒翁"
}, },
"description": { "description": {
"key": "wuguanshirenyu20004", "key": "xiaoguo_21",
"text": "提升每分钟的经验值获取{0}%" "text": "提升每分钟的经验值获取{0}%"
}, },
"duration": 0, "duration": 0,
@ -531,7 +531,7 @@
"text": "棒槌" "text": "棒槌"
}, },
"description": { "description": {
"key": "wuguanshirenyu20005", "key": "xiaoguo_22",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -559,7 +559,7 @@
"text": "铜铃" "text": "铜铃"
}, },
"description": { "description": {
"key": "wuguanshirenyu20006", "key": "xiaoguo_23",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -587,7 +587,7 @@
"text": "尖刺吊环" "text": "尖刺吊环"
}, },
"description": { "description": {
"key": "wuguanshirenyu20007", "key": "xiaoguo_24",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -615,7 +615,7 @@
"text": "陀螺" "text": "陀螺"
}, },
"description": { "description": {
"key": "wuguanshirenyu20008", "key": "xiaoguo_25",
"text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%" "text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%"
}, },
"duration": 1, "duration": 1,
@ -643,7 +643,7 @@
"text": "大转轮" "text": "大转轮"
}, },
"description": { "description": {
"key": "wuguanshirenyu20009", "key": "xiaoguo_26",
"text": "提升低级觉醒材料的获取数量{0}" "text": "提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -682,7 +682,7 @@
"text": "木头牌" "text": "木头牌"
}, },
"description": { "description": {
"key": "wuguanshirenyu20010", "key": "xiaoguo_27",
"text": "提升低级觉醒材料的获取数量{0}" "text": "提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -721,7 +721,7 @@
"text": "双节棍" "text": "双节棍"
}, },
"description": { "description": {
"key": "wuguanshirenyu20011", "key": "xiaoguo_28",
"text": "{0}%概率获得1个3级升星精灵" "text": "{0}%概率获得1个3级升星精灵"
}, },
"duration": 0, "duration": 0,
@ -760,7 +760,7 @@
"text": "练功带" "text": "练功带"
}, },
"description": { "description": {
"key": "wuguanshirenyu20012", "key": "xiaoguo_29",
"text": "{0}%概率获得1个3级升星精灵" "text": "{0}%概率获得1个3级升星精灵"
}, },
"duration": 0, "duration": 0,
@ -799,7 +799,7 @@
"text": "七彩花棍" "text": "七彩花棍"
}, },
"description": { "description": {
"key": "wuguanshirenyu20013", "key": "xiaoguo_30",
"text": "{0}%概率获得1个3级升星精灵" "text": "{0}%概率获得1个3级升星精灵"
}, },
"duration": 0, "duration": 0,
@ -838,7 +838,7 @@
"text": "流星飞镖" "text": "流星飞镖"
}, },
"description": { "description": {
"key": "wuguanshirenyu20014", "key": "xiaoguo_31",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -866,7 +866,7 @@
"text": "冥想锣" "text": "冥想锣"
}, },
"description": { "description": {
"key": "wuguanshirenyu20015", "key": "xiaoguo_32",
"text": "提升可挂机的时间{0}秒" "text": "提升可挂机的时间{0}秒"
}, },
"duration": 1, "duration": 1,
@ -894,7 +894,7 @@
"text": "彩条龙" "text": "彩条龙"
}, },
"description": { "description": {
"key": "wuguanshirenyu20016", "key": "xiaoguo_33",
"text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%" "text": "提升可挂机的时间{0}秒,提升每分钟的经验值获取{0}%"
}, },
"duration": 1, "duration": 1,
@ -922,7 +922,7 @@
"text": "孔雀毛扇" "text": "孔雀毛扇"
}, },
"description": { "description": {
"key": "wuguanshirenyu20017", "key": "xiaoguo_34",
"text": "提升低级觉醒材料的获取数量{0}" "text": "提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -959,7 +959,7 @@
"text": "平衡木" "text": "平衡木"
}, },
"description": { "description": {
"key": "wuguanshirenyu20018", "key": "xiaoguo_35",
"text": "提升低级觉醒材料的获取数量{0}" "text": "提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,
@ -996,7 +996,7 @@
"text": "铁环" "text": "铁环"
}, },
"description": { "description": {
"key": "wuguanshirenyu20019", "key": "xiaoguo_36",
"text": "{0}%概率获得1个3级升星精灵" "text": "{0}%概率获得1个3级升星精灵"
}, },
"duration": 0, "duration": 0,
@ -1033,7 +1033,7 @@
"text": "太极球" "text": "太极球"
}, },
"description": { "description": {
"key": "wuguanshirenyu20020", "key": "xiaoguo_37",
"text": "{0}%概率获得1个3级升星精灵,提升低级觉醒材料的获取数量{0}" "text": "{0}%概率获得1个3级升星精灵,提升低级觉醒材料的获取数量{0}"
}, },
"duration": 0, "duration": 0,

View File

@ -5,7 +5,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -16,7 +16,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -27,7 +27,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -38,7 +38,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -49,7 +49,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -60,7 +60,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -71,7 +71,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -82,7 +82,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -93,7 +93,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -104,7 +104,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -115,7 +115,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -126,7 +126,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -137,7 +137,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -148,7 +148,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -159,7 +159,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]
@ -170,7 +170,7 @@
"item_id": [ "item_id": [
{ {
"a": "item", "a": "item",
"t": "10002", "t": "100101",
"n": 1 "n": 1
} }
] ]

View File

@ -12,7 +12,14 @@
"countdown": [ "countdown": [
30, 30,
35, 35,
40 40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -85,7 +92,16 @@
"normalScore": 10, "normalScore": 10,
"highScore": 30, "highScore": 30,
"countdown": [ "countdown": [
30 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -158,7 +174,16 @@
"normalScore": 10, "normalScore": 10,
"highScore": 30, "highScore": 30,
"countdown": [ "countdown": [
30 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -231,7 +256,16 @@
"normalScore": 10, "normalScore": 10,
"highScore": 30, "highScore": 30,
"countdown": [ "countdown": [
30 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -304,7 +338,16 @@
"normalScore": 20, "normalScore": 20,
"highScore": 40, "highScore": 40,
"countdown": [ "countdown": [
40 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -377,7 +420,16 @@
"normalScore": 20, "normalScore": 20,
"highScore": 40, "highScore": 40,
"countdown": [ "countdown": [
40 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -450,7 +502,16 @@
"normalScore": 20, "normalScore": 20,
"highScore": 40, "highScore": 40,
"countdown": [ "countdown": [
40 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -523,7 +584,16 @@
"normalScore": 20, "normalScore": 20,
"highScore": 40, "highScore": 40,
"countdown": [ "countdown": [
40 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -596,7 +666,16 @@
"normalScore": 30, "normalScore": 30,
"highScore": 50, "highScore": 50,
"countdown": [ "countdown": [
50 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -669,7 +748,16 @@
"normalScore": 30, "normalScore": 30,
"highScore": 50, "highScore": 50,
"countdown": [ "countdown": [
50 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -742,7 +830,16 @@
"normalScore": 30, "normalScore": 30,
"highScore": 50, "highScore": 50,
"countdown": [ "countdown": [
50 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300
@ -815,7 +912,16 @@
"normalScore": 30, "normalScore": 30,
"highScore": 50, "highScore": 50,
"countdown": [ "countdown": [
50 30,
35,
40,
45,
50,
55,
60,
65,
70,
75
], ],
"generateInterval": [ "generateInterval": [
300 300

View File

@ -1,6 +1,7 @@
[ [
{ {
"id": 101, "id": 101,
"heroid": 44005,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-招募",
@ -14,6 +15,7 @@
}, },
{ {
"id": 102, "id": 102,
"heroid": 15005,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-主线", "功能入口-主线",
@ -27,6 +29,7 @@
}, },
{ {
"id": 103, "id": 103,
"heroid": 51001,
"datas": [ "datas": [
"WuGuanScene", "WuGuanScene",
"乌龟大师", "乌龟大师",
@ -40,6 +43,7 @@
}, },
{ {
"id": 104, "id": 104,
"heroid": 51002,
"datas": [ "datas": [
"WuGuanScene", "WuGuanScene",
"木桩1", "木桩1",
@ -53,6 +57,7 @@
}, },
{ {
"id": 10010, "id": 10010,
"heroid": 51003,
"datas": [ "datas": [
"GameMain", "GameMain",
"20010_熊猫_1", "20010_熊猫_1",
@ -66,6 +71,7 @@
}, },
{ {
"id": 10011, "id": 10011,
"heroid": 51004,
"datas": [ "datas": [
"GameMain", "GameMain",
"20010_骇客蛛_1", "20010_骇客蛛_1",
@ -79,6 +85,7 @@
}, },
{ {
"id": 10012, "id": 10012,
"heroid": 51005,
"datas": [ "datas": [
"GameMain", "GameMain",
"20010_箱子_1", "20010_箱子_1",
@ -92,6 +99,7 @@
}, },
{ {
"id": 10020, "id": 10020,
"heroid": 51006,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -105,6 +113,7 @@
}, },
{ {
"id": 10021, "id": 10021,
"heroid": 51007,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_邦尼兔_1", "20020_邦尼兔_1",
@ -118,6 +127,7 @@
}, },
{ {
"id": 10022, "id": 10022,
"heroid": 54005,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -131,6 +141,7 @@
}, },
{ {
"id": 10030, "id": 10030,
"heroid": 51010,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -144,6 +155,7 @@
}, },
{ {
"id": 10031, "id": 10031,
"heroid": 51011,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_邦尼兔_1", "20020_邦尼兔_1",
@ -157,6 +169,7 @@
}, },
{ {
"id": 10032, "id": 10032,
"heroid": 51012,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_邦尼兔_1", "20020_邦尼兔_1",
@ -170,6 +183,7 @@
}, },
{ {
"id": 10040, "id": 10040,
"heroid": 51013,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_邦尼兔_1", "20020_邦尼兔_1",
@ -183,6 +197,7 @@
}, },
{ {
"id": 10041, "id": 10041,
"heroid": 51014,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -196,6 +211,7 @@
}, },
{ {
"id": 10050, "id": 10050,
"heroid": 54001,
"datas": [ "datas": [
"WuGuanScene", "WuGuanScene",
"20050_邦尼兔_1", "20050_邦尼兔_1",
@ -209,6 +225,7 @@
}, },
{ {
"id": 10060, "id": 10060,
"heroid": 53001,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -222,6 +239,7 @@
}, },
{ {
"id": 10061, "id": 10061,
"heroid": 53002,
"datas": [ "datas": [
"GameMain", "GameMain",
"20010_熊猫_1", "20010_熊猫_1",
@ -235,6 +253,7 @@
}, },
{ {
"id": 10070, "id": 10070,
"heroid": 53003,
"datas": [ "datas": [
"SmithyScene", "SmithyScene",
"打造", "打造",
@ -248,6 +267,7 @@
}, },
{ {
"id": 10071, "id": 10071,
"heroid": 54002,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-维京远征",
@ -261,6 +281,7 @@
}, },
{ {
"id": 10072, "id": 10072,
"heroid": 53005,
"datas": [ "datas": [
"SmithyScene", "SmithyScene",
"打造", "打造",
@ -274,6 +295,7 @@
}, },
{ {
"id": 10080, "id": 10080,
"heroid": 53006,
"datas": [ "datas": [
"GameMain", "GameMain",
"20010_骇客蛛_1", "20010_骇客蛛_1",
@ -287,6 +309,7 @@
}, },
{ {
"id": 10081, "id": 10081,
"heroid": 55001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-主线", "功能入口-主线",
@ -300,6 +323,7 @@
}, },
{ {
"id": 10082, "id": 10082,
"heroid": 55002,
"datas": [ "datas": [
"GameMain", "GameMain",
"20080_食人鱼_1", "20080_食人鱼_1",
@ -313,6 +337,7 @@
}, },
{ {
"id": 10090, "id": 10090,
"heroid": 55003,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -326,6 +351,7 @@
}, },
{ {
"id": 10091, "id": 10091,
"heroid": 55004,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-招募",
@ -339,6 +365,7 @@
}, },
{ {
"id": 10100, "id": 10100,
"heroid": 55005,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -352,6 +379,7 @@
}, },
{ {
"id": 10101, "id": 10101,
"heroid": 55006,
"datas": [ "datas": [
"GameMain", "GameMain",
"20100_梦魇_1", "20100_梦魇_1",
@ -365,6 +393,7 @@
}, },
{ {
"id": 10102, "id": 10102,
"heroid": 55007,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_邦尼兔_1", "20020_邦尼兔_1",
@ -378,6 +407,7 @@
}, },
{ {
"id": 10110, "id": 10110,
"heroid": 11021,
"datas": [ "datas": [
"GameMain", "GameMain",
"20020_熊猫_2", "20020_熊猫_2",
@ -391,6 +421,7 @@
}, },
{ {
"id": 70010, "id": 70010,
"heroid": 12003,
"datas": [ "datas": [
"GameMain", "GameMain",
"70010_盖_1", "70010_盖_1",
@ -404,6 +435,7 @@
}, },
{ {
"id": 70020, "id": 70020,
"heroid": 63002,
"datas": [ "datas": [
"GameMain", "GameMain",
"支线40010_格里森_1", "支线40010_格里森_1",
@ -417,6 +449,7 @@
}, },
{ {
"id": 70021, "id": 70021,
"heroid": 63003,
"datas": [ "datas": [
"SmithyScene", "SmithyScene",
"打造", "打造",
@ -430,6 +463,7 @@
}, },
{ {
"id": 70022, "id": 70022,
"heroid": 63004,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-维京远征",
@ -443,6 +477,7 @@
}, },
{ {
"id": 70023, "id": 70023,
"heroid": 64003,
"datas": [ "datas": [
"GameMain", "GameMain",
"支线40020_格里森_2", "支线40020_格里森_2",
@ -456,6 +491,7 @@
}, },
{ {
"id": 70030, "id": 70030,
"heroid": 74002,
"datas": [ "datas": [
"SmithyScene", "SmithyScene",
"打造", "打造",
@ -469,6 +505,7 @@
}, },
{ {
"id": 70031, "id": 70031,
"heroid": 74003,
"datas": [ "datas": [
"SmithyScene", "SmithyScene",
"打造", "打造",
@ -482,6 +519,7 @@
}, },
{ {
"id": 70032, "id": 70032,
"heroid": 74004,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-维京远征",
@ -495,6 +533,7 @@
}, },
{ {
"id": 70033, "id": 70033,
"heroid": 83002,
"datas": [ "datas": [
"SmithyScene", "SmithyScene",
"打造", "打造",
@ -508,6 +547,7 @@
}, },
{ {
"id": 70040, "id": 70040,
"heroid": 83006,
"datas": [ "datas": [
"WuGuanScene", "WuGuanScene",
"支线60010_瓦希尔指挥官_1", "支线60010_瓦希尔指挥官_1",
@ -521,6 +561,7 @@
}, },
{ {
"id": 70050, "id": 70050,
"heroid": 84002,
"datas": [ "datas": [
"GameMain", "GameMain",
"支线70010_小伊_1", "支线70010_小伊_1",
@ -534,6 +575,7 @@
}, },
{ {
"id": 70060, "id": 70060,
"heroid": 94002,
"datas": [ "datas": [
"GameMain", "GameMain",
"支线80010_鼻涕粗_1", "支线80010_鼻涕粗_1",

View File

@ -8,8 +8,8 @@
"access": 0, "access": 0,
"position": "", "position": "",
"sex": 1, "sex": 1,
"resources": "Person/10000/10000M.prefab", "resources": "Person/10000/10000_Mexplore.prefab",
"vague": "Person/10000/10000M.prefab" "vague": "Person/10000/10000_Mexplore.prefab"
}, },
{ {
"id": 100002, "id": 100002,
@ -20,8 +20,8 @@
"access": 0, "access": 0,
"position": "", "position": "",
"sex": 1, "sex": 1,
"resources": "Person/10000/10000M.prefab", "resources": "Person/10000/10000_Mexplore.prefab",
"vague": "Person/10000/10000M.prefab" "vague": "Person/10000/10000_Mexplore.prefab"
}, },
{ {
"id": 100003, "id": 100003,
@ -32,8 +32,8 @@
"access": 0, "access": 0,
"position": "", "position": "",
"sex": 1, "sex": 1,
"resources": "Person/10000/10000M.prefab", "resources": "Person/10000/10000_Mexplore.prefab",
"vague": "Person/10000/10000M.prefab" "vague": "Person/10000/10000_Mexplore.prefab"
}, },
{ {
"id": 200001, "id": 200001,
@ -44,8 +44,8 @@
"access": 0, "access": 0,
"position": "", "position": "",
"sex": 2, "sex": 2,
"resources": "Person/10000/10000M.prefab", "resources": "Person/10000/10000_Mexplore.prefab",
"vague": "Person/10000/10000M.prefab" "vague": "Person/10000/10000_Mexplore.prefab"
}, },
{ {
"id": 200002, "id": 200002,
@ -56,8 +56,8 @@
"access": 0, "access": 0,
"position": "", "position": "",
"sex": 2, "sex": 2,
"resources": "Person/10000/10000M.prefab", "resources": "Person/10000/10000_Mexplore.prefab",
"vague": "Person/10000/10000M.prefab" "vague": "Person/10000/10000_Mexplore.prefab"
}, },
{ {
"id": 200003, "id": 200003,
@ -68,7 +68,7 @@
"access": 0, "access": 0,
"position": "", "position": "",
"sex": 2, "sex": 2,
"resources": "Person/10000/10000M.prefab", "resources": "Person/10000/10000_Mexplore.prefab",
"vague": "Person/10000/10000M.prefab" "vague": "Person/10000/10000_Mexplore.prefab"
} }
] ]

View File

@ -13552,10 +13552,10 @@
5, 5,
650 650
], ],
"FollowSK": [], "FollowSK": [
"SucFollowSK": [
214001112 214001112
], ],
"SucFollowSK": [],
"FailFollowSK": [], "FailFollowSK": [],
"MustHit": false, "MustHit": false,
"DpsRevisiType": 0, "DpsRevisiType": 0,
@ -13622,7 +13622,7 @@
"Argu": [ "Argu": [
390001202, 390001202,
1000, 1000,
10, 1,
-1 -1
], ],
"FollowSK": [], "FollowSK": [],
@ -13649,9 +13649,7 @@
-1 -1
], ],
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [ "SucFollowSK": [],
214001214
],
"FailFollowSK": [], "FailFollowSK": [],
"MustHit": false, "MustHit": false,
"DpsRevisiType": 0, "DpsRevisiType": 0,
@ -13681,80 +13679,6 @@
{ {
"Id": 214001311, "Id": 214001311,
"EmitPR": 1000, "EmitPR": 1000,
"From": 4,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 1,
"Argu": [
1,
4,
800
],
"FollowSK": [],
"SucFollowSK": [
214001312
],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001312,
"EmitPR": 1000,
"From": 4,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 21,
"Argu": [
1,
5,
1200
],
"FollowSK": [],
"SucFollowSK": [
214001313
],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001313,
"EmitPR": 1000,
"From": 4,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001110,
1000,
1,
2
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001314,
"EmitPR": 1000,
"From": 3, "From": 3,
"Where": [], "Where": [],
"Order": "", "Order": "",
@ -13776,7 +13700,57 @@
"RevisiParams": [] "RevisiParams": []
}, },
{ {
"Id": 214001315, "Id": 214001312,
"EmitPR": 1000,
"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, "EmitPR": 1000,
"From": 3, "From": 3,
"Where": [], "Where": [],
@ -13800,18 +13774,70 @@
"RevisiParams": [] "RevisiParams": []
}, },
{ {
"Id": 214001316, "Id": 214001315,
"EmitPR": 1000, "EmitPR": 1000,
"From": 3, "From": 3,
"Where": [], "Where": [],
"Order": "", "Order": "",
"Limit": 1, "Limit": 1,
"ExecuteCnt": 1, "ExecuteCnt": 1,
"Type": 5, "Type": 33,
"Argu": [ "Argu": [
1, 1,
2, 2,
40 400
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001316,
"EmitPR": 1000,
"From": 4,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 1,
"Argu": [
1,
4,
800,
1,
5,
1200
],
"FollowSK": [
214001317
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 214001317,
"EmitPR": 1000,
"From": 4,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001110,
1000,
1,
2
], ],
"FollowSK": [], "FollowSK": [],
"SucFollowSK": [], "SucFollowSK": [],
@ -19226,7 +19252,7 @@
"Order": "", "Order": "",
"Limit": 1, "Limit": 1,
"ExecuteCnt": 1, "ExecuteCnt": 1,
"Type": 36, "Type": 37,
"Argu": [ "Argu": [
215002312, 215002312,
215002313, 215002313,
@ -23734,7 +23760,7 @@
"Order": "", "Order": "",
"Limit": 1, "Limit": 1,
"ExecuteCnt": 1, "ExecuteCnt": 1,
"Type": 33, "Type": 34,
"Argu": [ "Argu": [
1, 1,
1 1

View File

@ -8442,7 +8442,8 @@
"Target": 1, "Target": 1,
"ChildSkill": { "ChildSkill": {
"Id": [ "Id": [
214001211 214001211,
214001213
] ]
}, },
"Desc": { "Desc": {
@ -8471,7 +8472,8 @@
"ChildSkill": { "ChildSkill": {
"Id": [ "Id": [
214001311, 214001311,
214001315, 214001312,
214001313,
214001316 214001316
] ]
}, },

View File

@ -23,7 +23,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z009", "buffIcon": "ty_zd_buff_z009",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001002, "Id": 390001002,
@ -49,7 +49,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z003", "buffIcon": "ty_zd_buff_z003",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001003, "Id": 390001003,
@ -75,7 +75,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z011", "buffIcon": "ty_zd_buff_z011",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001004, "Id": 390001004,
@ -101,7 +101,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z006", "buffIcon": "ty_zd_buff_z006",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001005, "Id": 390001005,
@ -127,7 +127,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z008", "buffIcon": "ty_zd_buff_z008",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001006, "Id": 390001006,
@ -153,7 +153,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j016", "buffIcon": "ty_zd_buff_j016",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001007, "Id": 390001007,
@ -179,7 +179,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j001", "buffIcon": "ty_zd_buff_j001",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001008, "Id": 390001008,
@ -205,7 +205,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j006", "buffIcon": "ty_zd_buff_j006",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001009, "Id": 390001009,
@ -231,7 +231,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001010, "Id": 390001010,
@ -257,7 +257,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001011, "Id": 390001011,
@ -283,7 +283,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001012, "Id": 390001012,
@ -309,7 +309,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001101, "Id": 390001101,
@ -335,7 +335,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j009", "buffIcon": "ty_zd_buff_j009",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001102, "Id": 390001102,
@ -361,7 +361,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j005", "buffIcon": "ty_zd_buff_j005",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001103, "Id": 390001103,
@ -385,7 +385,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z007", "buffIcon": "ty_zd_buff_z007",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001104, "Id": 390001104,
@ -411,7 +411,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z002", "buffIcon": "ty_zd_buff_z002",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001105, "Id": 390001105,
@ -435,7 +435,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j007", "buffIcon": "ty_zd_buff_j007",
"buffeffect": "effect_debuff_yun", "buffeffect": "effect_debuff_yun",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001106, "Id": 390001106,
@ -483,7 +483,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j012", "buffIcon": "ty_zd_buff_j012",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001108, "Id": 390001108,
@ -507,7 +507,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j015", "buffIcon": "ty_zd_buff_j015",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001109, "Id": 390001109,
@ -531,7 +531,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j004", "buffIcon": "ty_zd_buff_j004",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001110, "Id": 390001110,
@ -555,7 +555,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j010", "buffIcon": "ty_zd_buff_j010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001111, "Id": 390001111,
@ -579,7 +579,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z005", "buffIcon": "ty_zd_buff_z005",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001112, "Id": 390001112,
@ -607,7 +607,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "effect_hudun_1", "buffeffect": "effect_hudun_1",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001113, "Id": 390001113,
@ -631,7 +631,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001114, "Id": 390001114,
@ -655,7 +655,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001115, "Id": 390001115,
@ -679,7 +679,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j013", "buffIcon": "ty_zd_buff_j013",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001116, "Id": 390001116,
@ -703,7 +703,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001117, "Id": 390001117,
@ -727,7 +727,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001118, "Id": 390001118,
@ -751,7 +751,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j014", "buffIcon": "ty_zd_buff_j014",
"buffeffect": "effect_debuff_sleep", "buffeffect": "effect_debuff_sleep",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001119, "Id": 390001119,
@ -775,7 +775,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts003", "buffIcon": "ty_zd_buff_ts003",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001120, "Id": 390001120,
@ -799,7 +799,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts004", "buffIcon": "ty_zd_buff_ts004",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001121, "Id": 390001121,
@ -823,7 +823,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts005", "buffIcon": "ty_zd_buff_ts005",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001122, "Id": 390001122,
@ -851,7 +851,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001123, "Id": 390001123,
@ -879,7 +879,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001124, "Id": 390001124,
@ -903,7 +903,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001125, "Id": 390001125,
@ -931,7 +931,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001126, "Id": 390001126,
@ -955,7 +955,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001127, "Id": 390001127,
@ -1003,7 +1003,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z001", "buffIcon": "ty_zd_buff_z001",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001129, "Id": 390001129,
@ -1031,7 +1031,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001130, "Id": 390001130,
@ -1059,7 +1059,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001201, "Id": 390001201,
@ -1081,9 +1081,9 @@
"RemoveType": false, "RemoveType": false,
"OverlayTimes": 10, "OverlayTimes": 10,
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "ty_zd_buff_ts003",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001202, "Id": 390001202,
@ -1095,11 +1095,9 @@
"key": "skill_buffdes_390001202", "key": "skill_buffdes_390001202",
"text": "每层使自身基础防御提升10%效果抵抗提升5%最多可叠加10层。" "text": "每层使自身基础防御提升10%效果抵抗提升5%最多可叠加10层。"
}, },
"BuffType": 0, "BuffType": 46,
"EffectArgu": [ "EffectArgu": [
5,
100, 100,
10,
50 50
], ],
"BufParNum": 1, "BufParNum": 1,
@ -1110,9 +1108,9 @@
"RemoveType": false, "RemoveType": false,
"OverlayTimes": 10, "OverlayTimes": 10,
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "ty_zd_buff_ts004",
"buffeffect": "", "buffeffect": "effect_14001_skill_2",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001204, "Id": 390001204,
@ -1134,9 +1132,9 @@
"RemoveType": false, "RemoveType": false,
"OverlayTimes": 1, "OverlayTimes": 1,
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "ty_zd_buff_ts005",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001205, "Id": 390001205,
@ -1160,7 +1158,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001206, "Id": 390001206,
@ -1184,7 +1182,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001207, "Id": 390001207,
@ -1208,7 +1206,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts007", "buffIcon": "ty_zd_buff_ts007",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001208, "Id": 390001208,
@ -1234,7 +1232,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts007", "buffIcon": "ty_zd_buff_ts007",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001209, "Id": 390001209,
@ -1258,7 +1256,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts001", "buffIcon": "ty_zd_buff_ts001",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001210, "Id": 390001210,
@ -1284,7 +1282,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts002", "buffIcon": "ty_zd_buff_ts002",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001211, "Id": 390001211,
@ -1308,7 +1306,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001212, "Id": 390001212,
@ -1335,7 +1333,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_ts008", "buffIcon": "ty_zd_buff_ts008",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001213, "Id": 390001213,
@ -1361,7 +1359,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_j002", "buffIcon": "ty_zd_buff_j002",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001214, "Id": 390001214,
@ -1411,7 +1409,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z011", "buffIcon": "ty_zd_buff_z011",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001216, "Id": 390001216,
@ -1511,7 +1509,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001302, "Id": 390001302,
@ -1537,7 +1535,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001303, "Id": 390001303,
@ -1563,7 +1561,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001304, "Id": 390001304,
@ -1589,7 +1587,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001305, "Id": 390001305,
@ -1615,7 +1613,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001306, "Id": 390001306,
@ -1641,7 +1639,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001307, "Id": 390001307,
@ -1667,7 +1665,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001311, "Id": 390001311,
@ -1693,7 +1691,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001312, "Id": 390001312,
@ -1719,7 +1717,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001313, "Id": 390001313,
@ -1745,7 +1743,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001314, "Id": 390001314,
@ -1771,7 +1769,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001315, "Id": 390001315,
@ -1797,7 +1795,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001316, "Id": 390001316,
@ -1823,7 +1821,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001317, "Id": 390001317,
@ -1849,7 +1847,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001321, "Id": 390001321,
@ -1875,7 +1873,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001322, "Id": 390001322,
@ -1901,7 +1899,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001323, "Id": 390001323,
@ -1927,7 +1925,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001324, "Id": 390001324,
@ -1953,7 +1951,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001325, "Id": 390001325,
@ -1979,7 +1977,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001326, "Id": 390001326,
@ -2005,7 +2003,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001327, "Id": 390001327,
@ -2031,7 +2029,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001328, "Id": 390001328,
@ -2057,7 +2055,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001329, "Id": 390001329,
@ -2239,7 +2237,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001403, "Id": 390001403,
@ -2265,7 +2263,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001404, "Id": 390001404,
@ -2289,7 +2287,7 @@
"SameID": true, "SameID": true,
"buffIcon": "ty_zd_buff_j011", "buffIcon": "ty_zd_buff_j011",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001405, "Id": 390001405,
@ -2679,7 +2677,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001421, "Id": 390001421,
@ -2755,7 +2753,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001424, "Id": 390001424,
@ -2929,7 +2927,7 @@
"SameID": true, "SameID": true,
"buffIcon": "ty_zd_buff_j011", "buffIcon": "ty_zd_buff_j011",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001431, "Id": 390001431,
@ -2955,7 +2953,7 @@
"SameID": true, "SameID": true,
"buffIcon": "ty_zd_buff_z006", "buffIcon": "ty_zd_buff_z006",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001432, "Id": 390001432,
@ -2979,7 +2977,7 @@
"SameID": true, "SameID": true,
"buffIcon": "ty_zd_buff_j011", "buffIcon": "ty_zd_buff_j011",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001433, "Id": 390001433,
@ -3003,7 +3001,7 @@
"SameID": true, "SameID": true,
"buffIcon": "ty_zd_buff_j011", "buffIcon": "ty_zd_buff_j011",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001434, "Id": 390001434,
@ -3031,7 +3029,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001435, "Id": 390001435,
@ -3055,7 +3053,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001436, "Id": 390001436,
@ -3081,7 +3079,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z010", "buffIcon": "ty_zd_buff_z010",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001437, "Id": 390001437,
@ -3107,7 +3105,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001438, "Id": 390001438,
@ -3133,7 +3131,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z003", "buffIcon": "ty_zd_buff_z003",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001439, "Id": 390001439,
@ -3159,7 +3157,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z006", "buffIcon": "ty_zd_buff_z006",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001440, "Id": 390001440,
@ -3185,7 +3183,7 @@
"SameID": false, "SameID": false,
"buffIcon": "ty_zd_buff_z008", "buffIcon": "ty_zd_buff_z008",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001441, "Id": 390001441,
@ -3211,7 +3209,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001442, "Id": 390001442,
@ -3237,7 +3235,7 @@
"SameID": false, "SameID": false,
"buffIcon": "", "buffIcon": "",
"buffeffect": "", "buffeffect": "",
"buffpos": "infopos" "buffpos": "根节点"
}, },
{ {
"Id": 390001443, "Id": 390001443,

View File

@ -744,22 +744,22 @@
{ {
"Id": 414001211, "Id": 414001211,
"When": 16, "When": 16,
"FromCheck": "", "FromCheck": "Target=2",
"TargetCheck": "Target=3", "TargetCheck": "Target=3",
"MainSkillCheck": "", "MainSkillCheck": "",
"AfterSkillCheck": "", "AfterSkillCheck": "",
"BuffCheck": "BuffID=390001202", "BuffCheck": "",
"AddCon": [], "AddCon": [],
"PasPr": 1000, "PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 1, "MaxEmitTimes": 10,
"Callback": [ "Callback": [
214001212 214001212
] ]
}, },
{ {
"Id": 414001212, "Id": 414001212,
"When": 19, "When": 2,
"FromCheck": "Target=3,HasBuff=390001202,OverlayNum=10", "FromCheck": "Target=3,HasBuff=390001202,OverlayNum=10",
"TargetCheck": "Target=3", "TargetCheck": "Target=3",
"MainSkillCheck": "", "MainSkillCheck": "",
@ -775,10 +775,10 @@
}, },
{ {
"Id": 414001311, "Id": 414001311,
"When": 19, "When": 3,
"FromCheck": "Target=3,HasBuff=390001202,OverlayNum=10", "FromCheck": "Target=3,HasBuff=390001202,OverlayNum=10",
"TargetCheck": "Target=3", "TargetCheck": "Target=2",
"MainSkillCheck": "", "MainSkillCheck": "114001311",
"AfterSkillCheck": "", "AfterSkillCheck": "",
"BuffCheck": "", "BuffCheck": "",
"AddCon": [], "AddCon": [],
@ -786,8 +786,23 @@
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 1, "MaxEmitTimes": 1,
"Callback": [ "Callback": [
214001315, 214001313
214001316 ]
},
{
"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
] ]
}, },
{ {

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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"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": "TalentPoints1",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 1000
}
]
}
]

View File

@ -168,7 +168,7 @@
] ]
}, },
{ {
"id": 110, "id": 113,
"name": { "name": {
"key": "story_80", "key": "story_80",
"text": "日常测试任务" "text": "日常测试任务"

File diff suppressed because it is too large Load Diff

View File

@ -245,6 +245,14 @@ const (
TableGourmetAtlas = "gourmetatlas" TableGourmetAtlas = "gourmetatlas"
// 声望 // 声望
TableReputation = "reputation" TableReputation = "reputation"
///捕羊大赛
TableParkour = "parkour"
///捕羊大赛 队伍表
TableParkourTeam = "parkourteam"
///捕羊大赛 匹配表
TableParkourMatch = "parkourmatch"
) )
// RPC服务接口定义处 // RPC服务接口定义处
@ -302,6 +310,10 @@ const ( //Rpc
// RPC 通知来了邮件 // RPC 通知来了邮件
Rpc_Mail core.Rpc_Key = "Rpc_Mail" Rpc_Mail core.Rpc_Key = "Rpc_Mail"
//捕羊大赛加入匹配请求
RPC_ParkourJoinMatch core.Rpc_Key = "RPC_ParkourJoinMatch"
RPC_ParkourMatchSucc core.Rpc_Key = "RPC_ParkourMatchSucc"
) )
// 事件类型定义处 // 事件类型定义处

View File

@ -180,7 +180,7 @@ type (
IMline interface { IMline interface {
ModifyMlineDataByNanduID(session IUserSession, id int32) (code pb.ErrorCode) ModifyMlineDataByNanduID(session IUserSession, id int32) (code pb.ErrorCode)
/// 查询章节ID /// 查询章节ID
GetUsermLineData(uid string, chapterType int32) (chapterId int32) GetUserMlineData(uid string, chapterType int32) (chapterId int32)
// 校验主线是否通关 // 校验主线是否通关
CheckCommpleteStage(uid string, stageId int32) (b bool) CheckCommpleteStage(uid string, stageId int32) (b bool)
@ -298,6 +298,9 @@ type (
QueryHeroFetter(uid string) (data []*pb.DBHeroFetter) // 查询所有的羁绊信息 QueryHeroFetter(uid string) (data []*pb.DBHeroFetter) // 查询所有的羁绊信息
AddHeroFetterData(uid string, heroConfId string) (code pb.ErrorCode) // 创建一条羁绊信息 AddHeroFetterData(uid string, heroConfId string) (code pb.ErrorCode) // 创建一条羁绊信息
SendRpcAddHero(uid string, heroConfId string, serverTag string) (err error) SendRpcAddHero(uid string, heroConfId string, serverTag string) (err error)
// 获取 某个阵营的羁绊数据
QueryFavorabilityByRace(uid string, race int32) int32
} }
//月子秘境 //月子秘境
IMoonFantasy interface { IMoonFantasy interface {

View File

@ -319,3 +319,11 @@ func (this *Library) TaskFinishNotify(uid string, taskId, fetterId int32) error
} }
return nil return nil
} }
// 获取阵营的好感度
func (this *Library) QueryFavorabilityByRace(uid string, race int32) int32 {
if rst, err := this.ModuleUser.GetUserExpand(uid); err == nil { // 统计主线进度
return rst.Race[race]
}
return 0
}

View File

@ -5,7 +5,6 @@ import (
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"sort"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
) )
@ -154,21 +153,15 @@ func (this *Mline) ModifyMlineDataByNanduID(session comm.IUserSession, id int32)
} }
return return
} }
func (this *Mline) GetUsermLineData(uid string, chapterType int32) (chapterId int32) { func (this *Mline) GetUserMlineData(uid string, chapterType int32) (chapterId int32) {
var sz []*pb.DBMline if rst, err := this.ModuleUser.GetUserExpand(uid); err == nil { // 统计主线进度
_szData, err := this.modelMline.getMainlineList(uid) _mp := rst.Mline
if err == nil { if v, ok := _mp[chapterType]; ok {
for _, v := range _szData { chapterId = v
if v.ChapterId == chapterId { return
sz = append(sz, _szData...)
} }
} }
sort.SliceStable(sz, func(i, j int) bool { // 排序
return sz[i].ChapterId > sz[j].ChapterId
})
}
return return
} }

29
modules/parkour/api.go Normal file
View File

@ -0,0 +1,29 @@
package parkour
import (
"go_dreamfactory/modules"
"go_dreamfactory/lego/core"
)
/*
API
*/
type apiComp struct {
modules.MCompGate
service core.IService
module *Parkour
}
//组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Parkour)
this.service = service
return
}
func (this *apiComp) Start() (err error) {
err = this.MCompGate.Start()
return
}

View File

@ -0,0 +1,65 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"time"
)
//参数校验
func (this *apiComp) InviteCheck(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode) {
return
}
///邀请组队
func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
tean *pb.DBRaceTeam
tuser *pb.DBUser
ok bool
err error
)
if code = this.InviteCheck(session, req); code != pb.ErrorCode_Success {
return
}
if tean, err = this.module.teamComp.queryteam(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if len(tean.Member) > 3 {
code = pb.ErrorCode_ReqParameterError
return
}
if tuser = this.module.ModuleUser.GetUser(req.Uid); tuser == nil {
code = pb.ErrorCode_SystemError
return
}
//目标是否在线
if !this.module.ModuleUser.IsOnline(req.Uid) {
tean.Member = append(tean.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Isai: true})
} else {
ok = false
for _, v := range tean.Invite {
if v.Uid == req.Uid {
v.Expired = configure.Now().Add(time.Second * 10).Unix()
ok = true
}
}
if !ok {
tean.Invite = append(tean.Invite, &pb.DBRaceInvite{Uid: tuser.Uid, Name: tuser.Name})
}
this.module.SendMsgToUser(string(this.module.GetType()), "invitenotice",
&pb.ParkourInviteNoticePush{Team: tean, State: 1}, req.Uid)
}
if err = this.module.teamComp.Change(session.GetUserId(), map[string]interface{}{
"invite": tean.Invite,
"member": tean.Member,
}); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteResp{Issucc: true, Team: tean})
return
}

View File

@ -0,0 +1,70 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"time"
)
//参数校验
func (this *apiComp) InviteHandleCheck(session comm.IUserSession, req *pb.ParkourInviteHandleReq) (code pb.ErrorCode) {
return
}
///邀请组队
func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInviteHandleReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
tean *pb.DBRaceTeam
invite *pb.DBRaceInvite
member *pb.DBRaceMember
users []string
ok bool
err error
)
if code = this.InviteHandleCheck(session, req); code != pb.ErrorCode_Success {
return
}
if tean, err = this.module.teamComp.queryteam(req.Captainid); err != nil {
code = pb.ErrorCode_DBError
return
}
if len(tean.Member) > 3 {
code = pb.ErrorCode_ParkourMemberFull
return
}
if req.State == 1 {
ok = false
for _, v := range tean.Invite {
if v.Uid == session.GetUserId() && configure.Now().Before(time.Unix(v.Expired, 0)) { //邀请未过期
invite = v
ok = true
}
}
if !ok {
code = pb.ErrorCode_ParkourInviteOverdue
}
users = make([]string, len(tean.Member))
for i, v := range tean.Member {
users[i] = v.Uid
}
member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name}
tean.Member = append(tean.Member, member)
if err = this.module.teamComp.Change(tean.Captainid, map[string]interface{}{
"member": tean.Member,
}); err != nil {
code = pb.ErrorCode_DBError
return
}
this.module.SendMsgToUsers(string(this.module.GetType()), "teamjoinnotice",
&pb.ParkourTeamJoinNoticePush{Member: member}, users...)
this.module.SendMsgToUsers(string(this.module.GetType()), "teamchanage",
&pb.ParkourTeamChanagePush{Team: tean}, users...)
} else {
this.module.SendMsgToUser(string(this.module.GetType()), "invitenotice",
&pb.ParkourInviteNoticePush{Team: tean, State: 3}, tean.Captainid)
}
session.SendMsg(string(this.module.GetType()), "invite", &pb.ParkourInviteHandleResp{IsSucc: true})
return
}

View File

@ -0,0 +1,57 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) QuitTeamCheck(session comm.IUserSession, req *pb.ParkourQuitTeamReq) (code pb.ErrorCode) {
return
}
///退出队伍
func (this *apiComp) QuitTeam(session comm.IUserSession, req *pb.ParkourQuitTeamReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
tean *pb.DBRaceTeam
member *pb.DBRaceMember
users []string
ok bool
err error
)
if code = this.QuitTeamCheck(session, req); code != pb.ErrorCode_Success {
return
}
if tean, err = this.module.teamComp.queryteam(req.Captainid); err != nil {
code = pb.ErrorCode_DBError
return
}
for i, v := range tean.Member {
if v.Uid == session.GetUserId() {
tean.Member = append(tean.Member[0:i], tean.Member[i+1:]...)
member = v
ok = true
} else {
users = append(users, v.Uid)
}
}
if !ok {
code = pb.ErrorCode_ReqParameterError
return
}
if err = this.module.teamComp.Change(req.Captainid, map[string]interface{}{
"member": tean.Member,
}); err != nil {
code = pb.ErrorCode_DBError
return
}
this.module.SendMsgToUsers(string(this.module.GetType()), "teamquitnotice",
&pb.ParkourTeamQuitNoticePush{Member: member}, users...)
this.module.SendMsgToUsers(string(this.module.GetType()), "teamchanage",
&pb.ParkourTeamChanagePush{Team: tean}, users...)
session.SendMsg(string(this.module.GetType()), "quitteam", &pb.ParkourQuitTeamResp{})
return
}

View File

@ -0,0 +1,32 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
//参数校验
func (this *apiComp) RaceMatchCheck(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode) {
return
}
///匹配请求
func (this *apiComp) RaceMatch(session comm.IUserSession, req *pb.ParkourRaceMatchReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
team *pb.DBRaceTeam
err error
)
if code = this.RaceMatchCheck(session, req); code != pb.ErrorCode_Success {
return
}
if team, err = this.module.teamComp.queryteam(session.GetUserId()); err != nil {
code = pb.ErrorCode_DBError
return
}
if err = this.module.matchComp.addteam(team); err != nil {
code = pb.ErrorCode_DBError
return
}
session.SendMsg(string(this.module.GetType()), "racematch", &pb.ParkourRaceMatchResp{})
return
}

View File

@ -0,0 +1,22 @@
package parkour
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
const ()
///背包配置管理组件
type configureComp struct {
modules.MCompConfigure
module *Parkour
}
//组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Parkour)
return
}

15
modules/parkour/core.go Normal file
View File

@ -0,0 +1,15 @@
package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
///捕羊大赛对象
type RaceItem struct {
Id string //战斗id
RedMember []*pb.DBRaceMember //红方成员
RedSession []comm.IUserSession //红方会话
BuleMember []*pb.DBRaceMember //蓝方成员
BuleSession []comm.IUserSession //蓝方会话
}

View File

@ -0,0 +1,36 @@
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,38 @@
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 ModelParkourComp struct {
modules.MCompModel
module *Parkour
}
//组件初始化接口
func (this *ModelParkourComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableParkour
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 *ModelParkourComp) 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

@ -0,0 +1,94 @@
package parkour
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
///竞速数据模块
type ModelTeamComp struct {
modules.MCompModel
module *Parkour
}
//组件初始化接口
func (this *ModelTeamComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.TableName = comm.TableParkourTeam
this.MCompModel.Init(service, module, comp, opt)
this.module = module.(*Parkour)
//创建uid索引
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
func (this *ModelTeamComp) queryteam(uid string) (result *pb.DBRaceTeam, err error) {
result = &pb.DBRaceTeam{}
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.DBRaceTeam{
Id: primitive.NewObjectID().Hex(),
Captainid: uid,
State: pb.RaceTeamState_teaming,
Invite: make([]*pb.DBRaceInvite, 0),
Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
}
if err = this.Add(uid, result); err != nil {
this.module.Errorln(err)
return
}
}
err = nil
return
}
func (this *ModelTeamComp) queryteams(uids []string) (results []*pb.DBRaceTeam, err error) {
results = make([]*pb.DBRaceTeam, 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.DBRaceTeam{
Id: primitive.NewObjectID().Hex(),
Captainid: v,
State: pb.RaceTeamState_teaming,
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
}

View File

@ -1,10 +1,17 @@
package parkour package parkour
import ( import (
"context"
"fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/base" "go_dreamfactory/lego/base"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb"
"sync"
"go.mongodb.org/mongo-driver/bson/primitive"
) )
/* /*
@ -20,6 +27,13 @@ func NewModule() core.IModule {
type Parkour struct { type Parkour struct {
modules.ModuleBase modules.ModuleBase
service base.IRPCXService service base.IRPCXService
api *apiComp
configure *configureComp
teamComp *ModelTeamComp
matchComp *ModelMatchComp
parkourComp *ModelParkourComp
lock sync.RWMutex
battles map[string]*RaceItem
} }
//模块名 //模块名
@ -31,11 +45,85 @@ func (this *Parkour) GetType() core.M_Modules {
func (this *Parkour) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { func (this *Parkour) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options) err = this.ModuleBase.Init(service, module, options)
this.service = service.(base.IRPCXService) this.service = service.(base.IRPCXService)
this.battles = map[string]*RaceItem{}
return return
} }
func (this *Parkour) Start() (err error) { func (this *Parkour) Start() (err error) {
err = this.ModuleBase.Start() err = this.ModuleBase.Start()
this.service.RegisterFunctionName(string(comm.RPC_ParkourMatchSucc), this.createbattle)
return return
} }
//装备组件
func (this *Parkour) OnInstallComp() {
this.ModuleBase.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) 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
users []string = make([]string, 0)
)
this.Debug("createbattle", log.Field{Key: "req", Value: req.String()})
race = &pb.DBRace{
Id: primitive.NewObjectID().Hex(),
ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()),
Redmember: req.Red,
Bulemember: req.Bule,
}
battle = &RaceItem{
Id: race.Id,
RedSession: make([]comm.IUserSession, 0),
BuleSession: make([]comm.IUserSession, 0),
}
for _, v := range req.Red {
users = append(users, v.Uid)
session, online := this.GetUserSession(v.Uid)
v.Isoff = !online
if online {
battle.RedSession = append(battle.RedSession, session)
}
}
battle.RedMember = req.Red
for _, v := range req.Bule {
users = append(users, v.Uid)
session, online := this.GetUserSession(v.Uid)
v.Isoff = !online
if online {
battle.BuleSession = append(battle.BuleSession, session)
}
}
battle.BuleMember = req.Bule
if teams, err = this.teamComp.queryteams(users); err != nil {
return
}
for _, v := range teams {
v.State = pb.RaceTeamState_raceing
}
if err = this.parkourComp.addrace(race); err != nil {
return
}
this.lock.Lock()
this.battles[race.Id] = battle
this.lock.Unlock()
if err = this.SendMsgToSession(string(comm.ModulePvp), "racematchsucc", &pb.ParkourRaceMatchSuccPush{
Race: race,
}, sessions...); err != nil {
this.Errorln(err)
}
return
}

View File

@ -128,7 +128,7 @@ func (this *ModelRtask) verifyRtype2(uid string, cfg *cfg.GameRdtaskCondiData) (
} }
if ml, y := m.(comm.IMline); y { if ml, y := m.(comm.IMline); y {
qjId := ml.GetUsermLineData(uid, 1) qjId := ml.GetUserMlineData(uid, 1)
return soEqual(qjId, cfg.Data1) return soEqual(qjId, cfg.Data1)
} }
return return

141
modules/timer/parkour.go Normal file
View File

@ -0,0 +1,141 @@
package timer
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
"sync"
"time"
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/cron"
)
/*
捕羊大赛 维护服务
*/
type ParkourComp struct {
modules.MCompConfigure
service base.IRPCXService
module *Timer
lock sync.RWMutex
teams map[string][]*pb.DBRaceMember
total int32
}
//组件初始化接口
func (this *ParkourComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.service = service.(base.IRPCXService)
this.module = module.(*Timer)
this.teams = make(map[string][]*pb.DBRaceMember)
return
}
//自由跨服环境下开启此功能
func (this *ParkourComp) Start() (err error) {
err = this.MCompConfigure.Start()
if db.IsCross() {
this.service.RegisterFunctionName(string(comm.RPC_ParkourJoinMatch), this.join)
if _, err = cron.AddFunc("0 59 23 ? * SAT", this.timer); err != nil {
this.module.Errorf("cron.AddFunc err:%v", err)
}
}
return
}
//加入匹配中
func (this *ParkourComp) join(ctx context.Context, req *pb.RPCParkourJoinMatchReq, resp *pb.RPCParkourJoinMatchResp) (err error) {
this.lock.Lock()
defer this.lock.Unlock()
this.teams[req.Captainid] = req.Member
this.total += int32(len(req.Member))
if this.total >= 6 {
var (
teams1 []string = make([]string, 0)
teams2 []string = make([]string, 0)
teams3 []string = make([]string, 0)
red []string = make([]string, 0)
reduser []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
bule []string = make([]string, 0)
buleuser []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
)
for k, v := range this.teams {
if len(v) == 1 {
teams1 = append(teams1, k)
} else if len(v) == 2 {
teams2 = append(teams2, k)
} else {
teams3 = append(teams3, k)
}
}
//找红队
if len(teams3) > 0 {
red = append(red, teams3[0])
teams3 = teams3[1:]
} else if len(teams2) > 0 && len(teams1) > 0 {
red = append(red, teams2[0], teams1[0])
teams2 = teams2[1:]
teams1 = teams1[1:]
} else if len(teams1) >= 3 {
red = append(red, teams1[0], teams1[1], teams1[2])
teams1 = teams1[3:]
}
if len(red) == 0 {
return
}
//找蓝队
if len(teams3) > 0 {
bule = append(bule, teams3[0])
teams3 = teams3[1:]
} else if len(teams2) > 0 && len(teams1) > 0 {
bule = append(bule, teams2[0], teams1[0])
teams2 = teams2[1:]
teams1 = teams1[1:]
} else if len(teams1) >= 3 {
bule = append(bule, teams1[0], teams1[1], teams1[2])
teams1 = teams1[3:]
}
if len(bule) == 0 {
return
}
for _, v := range red {
reduser = append(reduser, this.teams[v]...)
}
for _, v := range bule {
buleuser = append(reduser, this.teams[v]...)
}
ctx, _ := context.WithTimeout(context.Background(), time.Second*2)
if err = this.service.RpcCall(ctx,
comm.Service_Worker,
string(comm.RPC_ParkourMatchSucc),
&pb.RPCParkourMatchSuccReq{Red: reduser, Bule: buleuser},
&pb.RPCParkourMatchSuccResp{},
); err != nil {
this.module.Errorln(err)
return
}
for _, v := range red {
delete(this.teams, v)
}
for _, v := range bule {
delete(this.teams, v)
}
this.total -= 6
}
return
}
//定时匹配处理
func (this *ParkourComp) timer() {
}

View File

@ -364,6 +364,9 @@ const (
ErrorCode_PracticePillarMaxLv ErrorCode = 4304 //木桩已到满级 ErrorCode_PracticePillarMaxLv ErrorCode = 4304 //木桩已到满级
ErrorCode_PracticeYouQiecuoing ErrorCode = 4305 //你有切磋未完成 ErrorCode_PracticeYouQiecuoing ErrorCode = 4305 //你有切磋未完成
ErrorCode_PracticeTargetQiecuoing ErrorCode = 4306 //目标正在切磋中 ErrorCode_PracticeTargetQiecuoing ErrorCode = 4306 //目标正在切磋中
//parkour
ErrorCode_ParkourMemberFull ErrorCode = 4401 //队伍成员已满
ErrorCode_ParkourInviteOverdue ErrorCode = 4402 //邀请已过期
) )
// Enum value maps for ErrorCode. // Enum value maps for ErrorCode.
@ -676,6 +679,8 @@ var (
4304: "PracticePillarMaxLv", 4304: "PracticePillarMaxLv",
4305: "PracticeYouQiecuoing", 4305: "PracticeYouQiecuoing",
4306: "PracticeTargetQiecuoing", 4306: "PracticeTargetQiecuoing",
4401: "ParkourMemberFull",
4402: "ParkourInviteOverdue",
} }
ErrorCode_value = map[string]int32{ ErrorCode_value = map[string]int32{
"Success": 0, "Success": 0,
@ -985,6 +990,8 @@ var (
"PracticePillarMaxLv": 4304, "PracticePillarMaxLv": 4304,
"PracticeYouQiecuoing": 4305, "PracticeYouQiecuoing": 4305,
"PracticeTargetQiecuoing": 4306, "PracticeTargetQiecuoing": 4306,
"ParkourMemberFull": 4401,
"ParkourInviteOverdue": 4402,
} }
) )
@ -1019,7 +1026,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{ var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2a, 0xf5, 0x37, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6f, 0x2a, 0xa8, 0x38, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76,
@ -1466,8 +1473,11 @@ var file_errorcode_proto_rawDesc = []byte{
0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x59, 0x6f, 0x75, 0x51,
0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd1, 0x21, 0x12, 0x1c, 0x0a, 0x17, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x51, 0x69, 0x65,
0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd2, 0x21, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x63, 0x75, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0xd2, 0x21, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x61, 0x72,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0xb1,
0x22, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x49, 0x6e, 0x76, 0x69,
0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x64, 0x75, 0x65, 0x10, 0xb2, 0x22, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -28,7 +28,7 @@ type DBLibrary struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
Fid int32 `protobuf:"varint,3,opt,name=fid,proto3" json:"fid"` // 配置表id 羁绊id Fid int32 `protobuf:"varint,3,opt,name=fid,proto3" json:"fid"` // 配置表id 羁绊id
Hero map[string]int32 `protobuf:"bytes,4,rep,name=hero,proto3" json:"hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key: hid value: favorlv Hero map[string]int32 `protobuf:"bytes,4,rep,name=hero,proto3" json:"hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key: hid value: id
Prize map[int32]int32 `protobuf:"bytes,5,rep,name=prize,proto3" json:"prize" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //是否领奖 key 好感度等级 Prize map[int32]int32 `protobuf:"bytes,5,rep,name=prize,proto3" json:"prize" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //是否领奖 key 好感度等级
Fetterlv int32 `protobuf:"varint,6,opt,name=fetterlv,proto3" json:"fetterlv"` // 当前羁绊等级 Fetterlv int32 `protobuf:"varint,6,opt,name=fetterlv,proto3" json:"fetterlv"` // 当前羁绊等级
Storyid int32 `protobuf:"varint,7,opt,name=storyid,proto3" json:"storyid"` // 故事id 用来判断是否领奖 Storyid int32 `protobuf:"varint,7,opt,name=storyid,proto3" json:"storyid"` // 故事id 用来判断是否领奖

692
pb/parkour_db.pb.go Normal file
View File

@ -0,0 +1,692 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: parkour/parkour_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type RaceType int32
const (
RaceType_ordinary RaceType = 0
RaceType_prop RaceType = 1
)
// Enum value maps for RaceType.
var (
RaceType_name = map[int32]string{
0: "ordinary",
1: "prop",
}
RaceType_value = map[string]int32{
"ordinary": 0,
"prop": 1,
}
)
func (x RaceType) Enum() *RaceType {
p := new(RaceType)
*p = x
return p
}
func (x RaceType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RaceType) Descriptor() protoreflect.EnumDescriptor {
return file_parkour_parkour_db_proto_enumTypes[0].Descriptor()
}
func (RaceType) Type() protoreflect.EnumType {
return &file_parkour_parkour_db_proto_enumTypes[0]
}
func (x RaceType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RaceType.Descriptor instead.
func (RaceType) EnumDescriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{0}
}
//队伍状态
type RaceTeamState int32
const (
RaceTeamState_teaming RaceTeamState = 0 //组队中
RaceTeamState_matching RaceTeamState = 1 //匹配中
RaceTeamState_raceing RaceTeamState = 2 //比赛中
)
// Enum value maps for RaceTeamState.
var (
RaceTeamState_name = map[int32]string{
0: "teaming",
1: "matching",
2: "raceing",
}
RaceTeamState_value = map[string]int32{
"teaming": 0,
"matching": 1,
"raceing": 2,
}
)
func (x RaceTeamState) Enum() *RaceTeamState {
p := new(RaceTeamState)
*p = x
return p
}
func (x RaceTeamState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RaceTeamState) Descriptor() protoreflect.EnumDescriptor {
return file_parkour_parkour_db_proto_enumTypes[1].Descriptor()
}
func (RaceTeamState) Type() protoreflect.EnumType {
return &file_parkour_parkour_db_proto_enumTypes[1]
}
func (x RaceTeamState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RaceTeamState.Descriptor instead.
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"` //是否离线
}
func (x *DBRaceMember) Reset() {
*x = DBRaceMember{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBRaceMember) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBRaceMember) ProtoMessage() {}
func (x *DBRaceMember) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBRaceMember.ProtoReflect.Descriptor instead.
func (*DBRaceMember) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBRaceMember) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBRaceMember) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DBRaceMember) GetMount() *DBMounts {
if x != nil {
return x.Mount
}
return nil
}
func (x *DBRaceMember) GetHp() int32 {
if x != nil {
return x.Hp
}
return 0
}
func (x *DBRaceMember) GetInnermost() int32 {
if x != nil {
return x.Innermost
}
return 0
}
func (x *DBRaceMember) GetIsai() bool {
if x != nil {
return x.Isai
}
return false
}
func (x *DBRaceMember) GetIsoff() bool {
if x != nil {
return x.Isoff
}
return false
}
type DBRaceInvite 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"` //用户名称
Expired int64 `protobuf:"varint,3,opt,name=expired,proto3" json:"expired"` //过期时间
}
func (x *DBRaceInvite) Reset() {
*x = DBRaceInvite{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBRaceInvite) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBRaceInvite) ProtoMessage() {}
func (x *DBRaceInvite) 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 {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBRaceInvite.ProtoReflect.Descriptor instead.
func (*DBRaceInvite) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBRaceInvite) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBRaceInvite) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DBRaceInvite) GetExpired() int64 {
if x != nil {
return x.Expired
}
return 0
}
type DBRaceTeam 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"` //成员列表
}
func (x *DBRaceTeam) Reset() {
*x = DBRaceTeam{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBRaceTeam) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBRaceTeam) ProtoMessage() {}
func (x *DBRaceTeam) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBRaceTeam.ProtoReflect.Descriptor instead.
func (*DBRaceTeam) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{3}
}
func (x *DBRaceTeam) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBRaceTeam) GetState() RaceTeamState {
if x != nil {
return x.State
}
return RaceTeamState_teaming
}
func (x *DBRaceTeam) GetCaptainid() string {
if x != nil {
return x.Captainid
}
return ""
}
func (x *DBRaceTeam) GetInvite() []*DBRaceInvite {
if x != nil {
return x.Invite
}
return nil
}
func (x *DBRaceTeam) GetMember() []*DBRaceMember {
if x != nil {
return x.Member
}
return nil
}
//比赛数据
type DBRace struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` // 比赛唯一id
ServicePath string `protobuf:"bytes,2,opt,name=servicePath,proto3" json:"servicePath"` //比赛所在服务
Rtype RaceType `protobuf:"varint,3,opt,name=rtype,proto3,enum=RaceType" json:"rtype"` //比赛类型
Trackid int32 `protobuf:"varint,4,opt,name=trackid,proto3" json:"trackid"` //赛道id
Innermost int32 `protobuf:"varint,5,opt,name=innermost,proto3" json:"innermost"` //里程数
Redmember []*DBRaceMember `protobuf:"bytes,6,rep,name=redmember,proto3" json:"redmember"` //红方队伍
Bulemember []*DBRaceMember `protobuf:"bytes,7,rep,name=bulemember,proto3" json:"bulemember"` //蓝方队伍
}
func (x *DBRace) Reset() {
*x = DBRace{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_db_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBRace) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBRace) ProtoMessage() {}
func (x *DBRace) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_db_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DBRace.ProtoReflect.Descriptor instead.
func (*DBRace) Descriptor() ([]byte, []int) {
return file_parkour_parkour_db_proto_rawDescGZIP(), []int{4}
}
func (x *DBRace) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBRace) GetServicePath() string {
if x != nil {
return x.ServicePath
}
return ""
}
func (x *DBRace) GetRtype() RaceType {
if x != nil {
return x.Rtype
}
return RaceType_ordinary
}
func (x *DBRace) GetTrackid() int32 {
if x != nil {
return x.Trackid
}
return 0
}
func (x *DBRace) GetInnermost() int32 {
if x != nil {
return x.Innermost
}
return 0
}
func (x *DBRace) GetRedmember() []*DBRaceMember {
if x != nil {
return x.Redmember
}
return nil
}
func (x *DBRace) GetBulemember() []*DBRaceMember {
if x != nil {
return x.Bulemember
}
return nil
}
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,
}
var (
file_parkour_parkour_db_proto_rawDescOnce sync.Once
file_parkour_parkour_db_proto_rawDescData = file_parkour_parkour_db_proto_rawDesc
)
func file_parkour_parkour_db_proto_rawDescGZIP() []byte {
file_parkour_parkour_db_proto_rawDescOnce.Do(func() {
file_parkour_parkour_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_parkour_parkour_db_proto_rawDescData)
})
return file_parkour_parkour_db_proto_rawDescData
}
var file_parkour_parkour_db_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
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
}
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
0, // 4: DBRace.rtype:type_name -> RaceType
3, // 5: DBRace.redmember:type_name -> DBRaceMember
3, // 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
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_parkour_parkour_db_proto_init() }
func file_parkour_parkour_db_proto_init() {
if File_parkour_parkour_db_proto != nil {
return
}
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
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_parkour_parkour_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRaceInvite); 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[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRaceTeam); 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[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBRace); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_parkour_parkour_db_proto_rawDesc,
NumEnums: 2,
NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_parkour_parkour_db_proto_goTypes,
DependencyIndexes: file_parkour_parkour_db_proto_depIdxs,
EnumInfos: file_parkour_parkour_db_proto_enumTypes,
MessageInfos: file_parkour_parkour_db_proto_msgTypes,
}.Build()
File_parkour_parkour_db_proto = out.File
file_parkour_parkour_db_proto_rawDesc = nil
file_parkour_parkour_db_proto_goTypes = nil
file_parkour_parkour_db_proto_depIdxs = nil
}

1763
pb/parkour_msg.pb.go Normal file

File diff suppressed because it is too large Load Diff

View File

@ -58,6 +58,7 @@ type DBUserExpand struct {
Mline map[int32]int32 `protobuf:"bytes,34,rep,name=mline,proto3" json:"mline" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"mline"` //主线关卡最大进度 key难度val是关卡ID Mline map[int32]int32 `protobuf:"bytes,34,rep,name=mline,proto3" json:"mline" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"mline"` //主线关卡最大进度 key难度val是关卡ID
SuiteId []int32 `protobuf:"varint,35,rep,packed,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id SuiteId []int32 `protobuf:"varint,35,rep,packed,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id
Globalbuff int32 `protobuf:"varint,36,opt,name=globalbuff,proto3" json:"globalbuff" bson:"globalbuff"` // 全局buff Globalbuff int32 `protobuf:"varint,36,opt,name=globalbuff,proto3" json:"globalbuff" bson:"globalbuff"` // 全局buff
Race map[int32]int32 `protobuf:"bytes,37,rep,name=race,proto3" json:"race" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key 阵营ID 1~4 value 总好感度
} }
func (x *DBUserExpand) Reset() { func (x *DBUserExpand) Reset() {
@ -316,11 +317,18 @@ func (x *DBUserExpand) GetGlobalbuff() int32 {
return 0 return 0
} }
func (x *DBUserExpand) GetRace() map[int32]int32 {
if x != nil {
return x.Race
}
return nil
}
var File_userexpand_proto protoreflect.FileDescriptor var File_userexpand_proto protoreflect.FileDescriptor
var file_userexpand_proto_rawDesc = []byte{ var file_userexpand_proto_rawDesc = []byte{
0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0xac, 0x0a, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x74, 0x6f, 0x22, 0x92, 0x0b, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70,
0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61,
@ -395,16 +403,22 @@ var file_userexpand_proto_rawDesc = []byte{
0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x23, 0x20, 0x03, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x23, 0x20, 0x03,
0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x1a, 0x3a, 0x0a, 0x0c, 0x45, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x12, 0x2b, 0x0a, 0x04, 0x72,
0x78, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x55, 0x73,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x69,
0x74, 0x65, 0x6d, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x1a, 0x37,
0x0a, 0x09, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x6c, 0x69, 0x6e, 0x65, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x28, 0x05, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
} }
var ( var (
@ -419,20 +433,22 @@ func file_userexpand_proto_rawDescGZIP() []byte {
return file_userexpand_proto_rawDescData return file_userexpand_proto_rawDescData
} }
var file_userexpand_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_userexpand_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_userexpand_proto_goTypes = []interface{}{ var file_userexpand_proto_goTypes = []interface{}{
(*DBUserExpand)(nil), // 0: DBUserExpand (*DBUserExpand)(nil), // 0: DBUserExpand
nil, // 1: DBUserExpand.ExpitemEntry nil, // 1: DBUserExpand.ExpitemEntry
nil, // 2: DBUserExpand.MlineEntry nil, // 2: DBUserExpand.MlineEntry
nil, // 3: DBUserExpand.RaceEntry
} }
var file_userexpand_proto_depIdxs = []int32{ var file_userexpand_proto_depIdxs = []int32{
1, // 0: DBUserExpand.expitem:type_name -> DBUserExpand.ExpitemEntry 1, // 0: DBUserExpand.expitem:type_name -> DBUserExpand.ExpitemEntry
2, // 1: DBUserExpand.mline:type_name -> DBUserExpand.MlineEntry 2, // 1: DBUserExpand.mline:type_name -> DBUserExpand.MlineEntry
2, // [2:2] is the sub-list for method output_type 3, // 2: DBUserExpand.race:type_name -> DBUserExpand.RaceEntry
2, // [2:2] is the sub-list for method input_type 3, // [3:3] is the sub-list for method output_type
2, // [2:2] is the sub-list for extension type_name 3, // [3:3] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension extendee 3, // [3:3] is the sub-list for extension type_name
0, // [0:2] is the sub-list for field type_name 3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
} }
func init() { file_userexpand_proto_init() } func init() { file_userexpand_proto_init() }
@ -460,7 +476,7 @@ func file_userexpand_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_userexpand_proto_rawDesc, RawDescriptor: file_userexpand_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 3, NumMessages: 4,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

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

@ -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

@ -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 GameNewRedDot struct {
_dataMap map[int32]*GameNewRedDotData
_dataList []*GameNewRedDotData
}
func NewGameNewRedDot(_buf []map[string]interface{}) (*GameNewRedDot, error) {
_dataList := make([]*GameNewRedDotData, 0, len(_buf))
dataMap := make(map[int32]*GameNewRedDotData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameNewRedDotData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameNewRedDot{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameNewRedDot) GetDataMap() map[int32]*GameNewRedDotData {
return table._dataMap
}
func (table *GameNewRedDot) GetDataList() []*GameNewRedDotData {
return table._dataList
}
func (table *GameNewRedDot) Get(key int32) *GameNewRedDotData {
return table._dataMap[key]
}

View File

@ -0,0 +1,49 @@
//------------------------------------------------------------------------------
// <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 GameNewRedDotData struct {
Id int32
MsgType int32
TreeType int32
ShowType int32
CountType int32
Group string
Path string
Header string
}
const TypeId_GameNewRedDotData = 943392646
func (*GameNewRedDotData) GetTypeId() int32 {
return 943392646
}
func (_v *GameNewRedDotData)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["msg_type"].(float64); !_ok_ { err = errors.New("msg_type error"); return }; _v.MsgType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["tree_type"].(float64); !_ok_ { err = errors.New("tree_type error"); return }; _v.TreeType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["show_type"].(float64); !_ok_ { err = errors.New("show_type error"); return }; _v.ShowType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["count_type"].(float64); !_ok_ { err = errors.New("count_type error"); return }; _v.CountType = int32(_tempNum_) }
{ var _ok_ bool; if _v.Group, _ok_ = _buf["group"].(string); !_ok_ { err = errors.New("group error"); return } }
{ var _ok_ bool; if _v.Path, _ok_ = _buf["path"].(string); !_ok_ { err = errors.New("path error"); return } }
{ var _ok_ bool; if _v.Header, _ok_ = _buf["header"].(string); !_ok_ { err = errors.New("header error"); return } }
return
}
func DeserializeGameNewRedDotData(_buf map[string]interface{}) (*GameNewRedDotData, error) {
v := &GameNewRedDotData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -12,6 +12,7 @@ import "errors"
type GameRdtaskNpcData struct { type GameRdtaskNpcData struct {
Id int32 Id int32
Heroid int32
Datas []string Datas []string
Event []int32 Event []int32
Goto int32 Goto int32
@ -25,6 +26,7 @@ func (*GameRdtaskNpcData) GetTypeId() int32 {
func (_v *GameRdtaskNpcData)Deserialize(_buf map[string]interface{}) (err error) { 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["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 _arr_ []interface{}
var _ok_ bool var _ok_ bool

View File

@ -41,8 +41,9 @@ const (
GameSkillEffectType_Rebirth = 30 GameSkillEffectType_Rebirth = 30
GameSkillEffectType_StealBuff = 31 GameSkillEffectType_StealBuff = 31
GameSkillEffectType_BuffDmg = 32 GameSkillEffectType_BuffDmg = 32
GameSkillEffectType_ShiftOurAllBuff = 33 GameSkillEffectType_BuffTre = 33
GameSkillEffectType_DrawActValueToTeam = 34 GameSkillEffectType_ShiftOurAllBuff = 34
GameSkillEffectType_SpecialTre = 35 GameSkillEffectType_DrawActValueToTeam = 35
GameSkillEffectType_RandChildSkill = 36 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

@ -22,8 +22,11 @@ type GameWorldTaskData struct {
TaskTname string TaskTname string
TaskName string TaskName string
TaskDisplay string TaskDisplay string
Npctxt string
Npc int32 Npc int32
Completetasktxt string
Completetask []int32 Completetask []int32
DeliverNpctxt string
DeliverNpc int32 DeliverNpc int32
AutoAccept int32 AutoAccept int32
Reword []*Gameatn Reword []*Gameatn
@ -48,7 +51,9 @@ func (_v *GameWorldTaskData)Deserialize(_buf map[string]interface{}) (err error)
{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_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_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["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 _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 _arr_ []interface{}
var _ok_ bool var _ok_ bool
@ -63,6 +68,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["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_) } { 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

@ -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 Gameitinerant_city struct {
_dataMap map[int32]*Gameitinerant_cityData
_dataList []*Gameitinerant_cityData
}
func NewGameitinerant_city(_buf []map[string]interface{}) (*Gameitinerant_city, error) {
_dataList := make([]*Gameitinerant_cityData, 0, len(_buf))
dataMap := make(map[int32]*Gameitinerant_cityData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameitinerant_cityData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &Gameitinerant_city{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Gameitinerant_city) GetDataMap() map[int32]*Gameitinerant_cityData {
return table._dataMap
}
func (table *Gameitinerant_city) GetDataList() []*Gameitinerant_cityData {
return table._dataList
}
func (table *Gameitinerant_city) Get(key int32) *Gameitinerant_cityData {
return table._dataMap[key]
}

View File

@ -0,0 +1,100 @@
//------------------------------------------------------------------------------
// <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 Gameitinerant_cityData struct {
Id int32
Cityticket int32
Citylvlock int32
Citymainlock []int32
Cityname string
Cityinformation string
Citytxt string
Citytype int32
Citytypenum int32
Special []int32
Specialnum int32
Exspecial []int32
Exspecialnum int32
Orspecial int32
}
const TypeId_Gameitinerant_cityData = 675778342
func (*Gameitinerant_cityData) GetTypeId() int32 {
return 675778342
}
func (_v *Gameitinerant_cityData)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["cityticket"].(float64); !_ok_ { err = errors.New("cityticket error"); return }; _v.Cityticket = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["citylvlock"].(float64); !_ok_ { err = errors.New("citylvlock error"); return }; _v.Citylvlock = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["citymainlock"].([]interface{}); !_ok_ { err = errors.New("citymainlock error"); return }
_v.Citymainlock = 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.Citymainlock = append(_v.Citymainlock, _list_v_)
}
}
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["cityname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Cityname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Cityname, _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["cityinformation"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Cityinformation error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Cityinformation, _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["citytxt"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Citytxt error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Citytxt, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["citytype"].(float64); !_ok_ { err = errors.New("citytype error"); return }; _v.Citytype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["citytypenum"].(float64); !_ok_ { err = errors.New("citytypenum error"); return }; _v.Citytypenum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["special"].([]interface{}); !_ok_ { err = errors.New("special error"); return }
_v.Special = 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.Special = append(_v.Special, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["specialnum"].(float64); !_ok_ { err = errors.New("specialnum error"); return }; _v.Specialnum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["exspecial"].([]interface{}); !_ok_ { err = errors.New("exspecial error"); return }
_v.Exspecial = 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.Exspecial = append(_v.Exspecial, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exspecialnum"].(float64); !_ok_ { err = errors.New("exspecialnum error"); return }; _v.Exspecialnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Orspecial"].(float64); !_ok_ { err = errors.New("Orspecial error"); return }; _v.Orspecial = int32(_tempNum_) }
return
}
func DeserializeGameitinerant_cityData(_buf map[string]interface{}) (*Gameitinerant_cityData, error) {
v := &Gameitinerant_cityData{}
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 Gameitinerant_lv struct {
_dataMap map[int32]*Gameitinerant_lvData
_dataList []*Gameitinerant_lvData
}
func NewGameitinerant_lv(_buf []map[string]interface{}) (*Gameitinerant_lv, error) {
_dataList := make([]*Gameitinerant_lvData, 0, len(_buf))
dataMap := make(map[int32]*Gameitinerant_lvData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameitinerant_lvData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Lv] = _v
}
}
return &Gameitinerant_lv{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Gameitinerant_lv) GetDataMap() map[int32]*Gameitinerant_lvData {
return table._dataMap
}
func (table *Gameitinerant_lv) GetDataList() []*Gameitinerant_lvData {
return table._dataList
}
func (table *Gameitinerant_lv) Get(key int32) *Gameitinerant_lvData {
return table._dataMap[key]
}

View File

@ -0,0 +1,52 @@
//------------------------------------------------------------------------------
// <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 Gameitinerant_lvData struct {
Lv int32
Newmoneyexp int32
Reward []*Gameatn
}
const TypeId_Gameitinerant_lvData = 1265566725
func (*Gameitinerant_lvData) GetTypeId() int32 {
return 1265566725
}
func (_v *Gameitinerant_lvData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["newmoneyexp"].(float64); !_ok_ { err = errors.New("newmoneyexp error"); return }; _v.Newmoneyexp = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return }
_v.Reward = 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.Reward = append(_v.Reward, _list_v_)
}
}
return
}
func DeserializeGameitinerant_lvData(_buf map[string]interface{}) (*Gameitinerant_lvData, error) {
v := &Gameitinerant_lvData{}
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 Gameitinerant_reward struct {
_dataMap map[int32]*Gameitinerant_rewardData
_dataList []*Gameitinerant_rewardData
}
func NewGameitinerant_reward(_buf []map[string]interface{}) (*Gameitinerant_reward, error) {
_dataList := make([]*Gameitinerant_rewardData, 0, len(_buf))
dataMap := make(map[int32]*Gameitinerant_rewardData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameitinerant_rewardData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Num] = _v
}
}
return &Gameitinerant_reward{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Gameitinerant_reward) GetDataMap() map[int32]*Gameitinerant_rewardData {
return table._dataMap
}
func (table *Gameitinerant_reward) GetDataList() []*Gameitinerant_rewardData {
return table._dataList
}
func (table *Gameitinerant_reward) Get(key int32) *Gameitinerant_rewardData {
return table._dataMap[key]
}

View File

@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
// <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 Gameitinerant_rewardData struct {
Num int32
Reward []*Gameatn
}
const TypeId_Gameitinerant_rewardData = -998397270
func (*Gameitinerant_rewardData) GetTypeId() int32 {
return -998397270
}
func (_v *Gameitinerant_rewardData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["reward"].([]interface{}); !_ok_ { err = errors.New("reward error"); return }
_v.Reward = 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.Reward = append(_v.Reward, _list_v_)
}
}
return
}
func DeserializeGameitinerant_rewardData(_buf map[string]interface{}) (*Gameitinerant_rewardData, error) {
v := &Gameitinerant_rewardData{}
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 Gameitinerant_thing struct {
_dataMap map[int32]*Gameitinerant_thingData
_dataList []*Gameitinerant_thingData
}
func NewGameitinerant_thing(_buf []map[string]interface{}) (*Gameitinerant_thing, error) {
_dataList := make([]*Gameitinerant_thingData, 0, len(_buf))
dataMap := make(map[int32]*Gameitinerant_thingData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameitinerant_thingData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &Gameitinerant_thing{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *Gameitinerant_thing) GetDataMap() map[int32]*Gameitinerant_thingData {
return table._dataMap
}
func (table *Gameitinerant_thing) GetDataList() []*Gameitinerant_thingData {
return table._dataList
}
func (table *Gameitinerant_thing) Get(key int32) *Gameitinerant_thingData {
return table._dataMap[key]
}

View File

@ -0,0 +1,126 @@
//------------------------------------------------------------------------------
// <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 Gameitinerant_thingData struct {
Id int32
Goodsname string
Goodsinfor string
Goodsicon string
Goodsprice int32
Changeperiod []int32
Changetime int32
PriceChangeWeight []int32
PriceChangeWeightOne []int32
PriceChangeWeightTwo []int32
PriceChangeWeightThree []int32
FluctuationRange int32
Pricemin int32
Pricemax int32
}
const TypeId_Gameitinerant_thingData = -91590553
func (*Gameitinerant_thingData) GetTypeId() int32 {
return -91590553
}
func (_v *Gameitinerant_thingData)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 __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["goodsname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Goodsname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Goodsname, _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["goodsinfor"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Goodsinfor error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Goodsinfor, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Goodsicon, _ok_ = _buf["goodsicon"].(string); !_ok_ { err = errors.New("goodsicon error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["goodsprice"].(float64); !_ok_ { err = errors.New("goodsprice error"); return }; _v.Goodsprice = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["changeperiod"].([]interface{}); !_ok_ { err = errors.New("changeperiod error"); return }
_v.Changeperiod = 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.Changeperiod = append(_v.Changeperiod, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["changetime"].(float64); !_ok_ { err = errors.New("changetime error"); return }; _v.Changetime = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["PriceChangeWeight"].([]interface{}); !_ok_ { err = errors.New("PriceChangeWeight error"); return }
_v.PriceChangeWeight = 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.PriceChangeWeight = append(_v.PriceChangeWeight, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["PriceChangeWeight_one"].([]interface{}); !_ok_ { err = errors.New("PriceChangeWeight_one error"); return }
_v.PriceChangeWeightOne = 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.PriceChangeWeightOne = append(_v.PriceChangeWeightOne, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["PriceChangeWeight_two"].([]interface{}); !_ok_ { err = errors.New("PriceChangeWeight_two error"); return }
_v.PriceChangeWeightTwo = 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.PriceChangeWeightTwo = append(_v.PriceChangeWeightTwo, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["PriceChangeWeight_three"].([]interface{}); !_ok_ { err = errors.New("PriceChangeWeight_three error"); return }
_v.PriceChangeWeightThree = 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.PriceChangeWeightThree = append(_v.PriceChangeWeightThree, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["FluctuationRange"].(float64); !_ok_ { err = errors.New("FluctuationRange error"); return }; _v.FluctuationRange = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pricemin"].(float64); !_ok_ { err = errors.New("pricemin error"); return }; _v.Pricemin = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pricemax"].(float64); !_ok_ { err = errors.New("pricemax error"); return }; _v.Pricemax = int32(_tempNum_) }
return
}
func DeserializeGameitinerant_thingData(_buf map[string]interface{}) (*Gameitinerant_thingData, error) {
v := &Gameitinerant_thingData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

File diff suppressed because it is too large Load Diff