上传配置数据

This commit is contained in:
liwei 2023-07-26 12:02:03 +08:00
parent b53dfc9ad8
commit ebc029adf7
49 changed files with 17984 additions and 2157 deletions

View File

@ -4,7 +4,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1010, "itemid": 100010,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -13,7 +13,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1020, "itemid": 100020,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -22,7 +22,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1030, "itemid": 100030,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -31,7 +31,61 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1040, "itemid": 100040,
"itemwt": 1000,
"min": 0
},
{
"id": 5,
"assembleid": 60000010,
"lvstart": 1,
"lvend": 999,
"itemid": 100050,
"itemwt": 1000,
"min": 0
},
{
"id": 6,
"assembleid": 60000010,
"lvstart": 1,
"lvend": 999,
"itemid": 100060,
"itemwt": 1000,
"min": 0
},
{
"id": 7,
"assembleid": 60000010,
"lvstart": 1,
"lvend": 999,
"itemid": 100070,
"itemwt": 1000,
"min": 0
},
{
"id": 8,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 100080,
"itemwt": 1000,
"min": 0
},
{
"id": 9,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 100090,
"itemwt": 1000,
"min": 0
},
{
"id": 10,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 100100,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -40,7 +94,7 @@
"assembleid": 60000020, "assembleid": 60000020,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1050, "itemid": 100110,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -49,16 +103,16 @@
"assembleid": 60000020, "assembleid": 60000020,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1050, "itemid": 100120,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
{ {
"id": 13, "id": 13,
"assembleid": 60000020, "assembleid": 60000030,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1060, "itemid": 100130,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -67,43 +121,115 @@
"assembleid": 60000030, "assembleid": 60000030,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1070, "itemid": 100140,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
{ {
"id": 27, "id": 15,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 100150,
"itemwt": 1000,
"min": 0
},
{
"id": 16,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 100160,
"itemwt": 1000,
"min": 0
},
{
"id": 17,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 100170,
"itemwt": 1000,
"min": 0
},
{
"id": 18,
"assembleid": 60000040, "assembleid": 60000040,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1080, "itemid": 100180,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
{ {
"id": 28, "id": 19,
"assembleid": 60000040, "assembleid": 60000040,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1090, "itemid": 100190,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
{ {
"id": 38, "id": 20,
"assembleid": 60000050, "assembleid": 60000040,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1100, "itemid": 100200,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
{ {
"id": 39, "id": 21,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 100210,
"itemwt": 1000,
"min": 0
},
{
"id": 22,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 100220,
"itemwt": 1000,
"min": 0
},
{
"id": 23,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 100230,
"itemwt": 1000,
"min": 0
},
{
"id": 24,
"assembleid": 60000050, "assembleid": 60000050,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 1110, "itemid": 100240,
"itemwt": 1000,
"min": 0
},
{
"id": 25,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 100250,
"itemwt": 1000,
"min": 0
},
{
"id": 26,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 100260,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
} }

View File

@ -3,8 +3,8 @@
"key": 1, "key": 1,
"ExaminationGroup": 1001, "ExaminationGroup": 1001,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 12610,
"continue": 500, "continue": 12610,
"time": 0, "time": 0,
"reward": [ "reward": [
{ {
@ -19,8 +19,8 @@
"key": 2, "key": 2,
"ExaminationGroup": 1002, "ExaminationGroup": 1002,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 12610,
"continue": 500, "continue": 12610,
"time": 0, "time": 0,
"reward": [ "reward": [
{ {
@ -35,8 +35,8 @@
"key": 3, "key": 3,
"ExaminationGroup": 1003, "ExaminationGroup": 1003,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 12610,
"continue": 500, "continue": 12610,
"time": 0, "time": 0,
"reward": [ "reward": [
{ {
@ -51,8 +51,8 @@
"key": 4, "key": 4,
"ExaminationGroup": 1004, "ExaminationGroup": 1004,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 12610,
"continue": 500, "continue": 12610,
"time": 0, "time": 0,
"reward": [ "reward": [
{ {
@ -67,8 +67,8 @@
"key": 5, "key": 5,
"ExaminationGroup": 1005, "ExaminationGroup": 1005,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 12610,
"continue": 500, "continue": 12610,
"time": 0, "time": 0,
"reward": [ "reward": [
{ {
@ -83,8 +83,8 @@
"key": 6, "key": 6,
"ExaminationGroup": 1006, "ExaminationGroup": 1006,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 12610,
"continue": 500, "continue": 12610,
"time": 0, "time": 0,
"reward": [ "reward": [
{ {
@ -94,5 +94,21 @@
} }
], ],
"restime": 1 "restime": 1
},
{
"key": 7,
"ExaminationGroup": 1007,
"examinationnum": 3,
"start": 12610,
"continue": 12610,
"time": 0,
"reward": [
{
"a": "attr",
"t": "gold",
"n": 1001
}
],
"restime": 2
} }
] ]

View File

@ -5,7 +5,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_01", "key": "point_01",
"text": "阿宝叫什么?" "text": "1号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_01", "key": "English_01",
@ -36,7 +36,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_02", "key": "point_02",
"text": "阿宝叫什么?" "text": "2号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_02", "key": "English_02",
@ -67,7 +67,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_03", "key": "point_03",
"text": "阿宝叫什么?" "text": "3号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_03", "key": "English_03",
@ -98,7 +98,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_04", "key": "point_04",
"text": "阿宝叫什么?" "text": "4号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_04", "key": "English_04",
@ -129,7 +129,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_05", "key": "point_05",
"text": "阿宝叫什么?" "text": "5号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_05", "key": "English_05",
@ -160,7 +160,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_06", "key": "point_06",
"text": "阿宝叫什么?" "text": "6号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_06", "key": "English_06",
@ -191,7 +191,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_07", "key": "point_07",
"text": "阿宝叫什么?" "text": "7号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_07", "key": "English_07",
@ -222,7 +222,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_08", "key": "point_08",
"text": "阿宝叫什么?" "text": "8号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_08", "key": "English_08",
@ -253,7 +253,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_09", "key": "point_09",
"text": "阿宝叫什么?" "text": "9号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_09", "key": "English_09",
@ -284,7 +284,7 @@
"type": 1, "type": 1,
"topic": { "topic": {
"key": "point_10", "key": "point_10",
"text": "阿宝叫什么?" "text": "10号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_10", "key": "English_10",
@ -315,7 +315,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_11", "key": "point_11",
"text": "阿宝叫什么?" "text": "11号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_11", "key": "English_11",
@ -346,7 +346,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_12", "key": "point_12",
"text": "阿宝叫什么?" "text": "12号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_12", "key": "English_12",
@ -377,7 +377,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_13", "key": "point_13",
"text": "阿宝叫什么?" "text": "13号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_13", "key": "English_13",
@ -408,7 +408,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_14", "key": "point_14",
"text": "阿宝叫什么?" "text": "14号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_14", "key": "English_14",
@ -439,7 +439,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_15", "key": "point_15",
"text": "阿宝叫什么?" "text": "15号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_15", "key": "English_15",
@ -470,7 +470,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_16", "key": "point_16",
"text": "阿宝叫什么?" "text": "16号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_16", "key": "English_16",
@ -501,7 +501,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_17", "key": "point_17",
"text": "阿宝叫什么?" "text": "17号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_17", "key": "English_17",
@ -532,7 +532,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_18", "key": "point_18",
"text": "阿宝叫什么?" "text": "18号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_18", "key": "English_18",
@ -563,7 +563,7 @@
"type": 2, "type": 2,
"topic": { "topic": {
"key": "point_19", "key": "point_19",
"text": "阿宝叫什么?" "text": "19号阿宝叫什么?"
}, },
"planA": { "planA": {
"key": "English_19", "key": "English_19",
@ -587,5 +587,501 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": 3 "plantrue": 3
},
{
"id": 20,
"ExaminationGroup": 1004,
"type": 2,
"topic": {
"key": "point_20",
"text": "20号阿宝叫什么"
},
"planA": {
"key": "English_20",
"text": "阿宝"
},
"planB": {
"key": "English_20",
"text": "老虎"
},
"planC": {
"key": "English_20",
"text": "波比"
},
"planD": {
"key": "English_20",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 21,
"ExaminationGroup": 1004,
"type": 2,
"topic": {
"key": "point_21",
"text": "21号阿宝叫什么"
},
"planA": {
"key": "English_21",
"text": "阿宝"
},
"planB": {
"key": "English_21",
"text": "老虎"
},
"planC": {
"key": "English_21",
"text": "波比"
},
"planD": {
"key": "English_21",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 22,
"ExaminationGroup": 1004,
"type": 2,
"topic": {
"key": "point_22",
"text": "22号阿宝叫什么"
},
"planA": {
"key": "English_22",
"text": "阿宝"
},
"planB": {
"key": "English_22",
"text": "老虎"
},
"planC": {
"key": "English_22",
"text": "波比"
},
"planD": {
"key": "English_22",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 23,
"ExaminationGroup": 1004,
"type": 2,
"topic": {
"key": "point_23",
"text": "23号阿宝叫什么"
},
"planA": {
"key": "English_23",
"text": "阿宝"
},
"planB": {
"key": "English_23",
"text": "老虎"
},
"planC": {
"key": "English_23",
"text": "波比"
},
"planD": {
"key": "English_23",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 24,
"ExaminationGroup": 1005,
"type": 2,
"topic": {
"key": "point_24",
"text": "24号阿宝叫什么"
},
"planA": {
"key": "English_24",
"text": "阿宝"
},
"planB": {
"key": "English_24",
"text": "老虎"
},
"planC": {
"key": "English_24",
"text": "波比"
},
"planD": {
"key": "English_24",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 25,
"ExaminationGroup": 1005,
"type": 2,
"topic": {
"key": "point_25",
"text": "25号阿宝叫什么"
},
"planA": {
"key": "English_25",
"text": "阿宝"
},
"planB": {
"key": "English_25",
"text": "老虎"
},
"planC": {
"key": "English_25",
"text": "波比"
},
"planD": {
"key": "English_25",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 26,
"ExaminationGroup": 1005,
"type": 2,
"topic": {
"key": "point_26",
"text": "26号阿宝叫什么"
},
"planA": {
"key": "English_26",
"text": "阿宝"
},
"planB": {
"key": "English_26",
"text": "老虎"
},
"planC": {
"key": "English_26",
"text": "波比"
},
"planD": {
"key": "English_26",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 27,
"ExaminationGroup": 1005,
"type": 2,
"topic": {
"key": "point_27",
"text": "27号阿宝叫什么"
},
"planA": {
"key": "English_27",
"text": "阿宝"
},
"planB": {
"key": "English_27",
"text": "老虎"
},
"planC": {
"key": "English_27",
"text": "波比"
},
"planD": {
"key": "English_27",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 28,
"ExaminationGroup": 1006,
"type": 2,
"topic": {
"key": "point_28",
"text": "28号阿宝叫什么"
},
"planA": {
"key": "English_28",
"text": "阿宝"
},
"planB": {
"key": "English_28",
"text": "老虎"
},
"planC": {
"key": "English_28",
"text": "波比"
},
"planD": {
"key": "English_28",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 29,
"ExaminationGroup": 1006,
"type": 2,
"topic": {
"key": "point_29",
"text": "29号阿宝叫什么"
},
"planA": {
"key": "English_29",
"text": "阿宝"
},
"planB": {
"key": "English_29",
"text": "老虎"
},
"planC": {
"key": "English_29",
"text": "波比"
},
"planD": {
"key": "English_29",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 30,
"ExaminationGroup": 1006,
"type": 2,
"topic": {
"key": "point_30",
"text": "30号阿宝叫什么"
},
"planA": {
"key": "English_30",
"text": "阿宝"
},
"planB": {
"key": "English_30",
"text": "老虎"
},
"planC": {
"key": "English_30",
"text": "波比"
},
"planD": {
"key": "English_30",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 31,
"ExaminationGroup": 1006,
"type": 2,
"topic": {
"key": "point_31",
"text": "31号阿宝叫什么"
},
"planA": {
"key": "English_31",
"text": "阿宝"
},
"planB": {
"key": "English_31",
"text": "老虎"
},
"planC": {
"key": "English_31",
"text": "波比"
},
"planD": {
"key": "English_31",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 32,
"ExaminationGroup": 1007,
"type": 2,
"topic": {
"key": "point_32",
"text": "32号阿宝叫什么"
},
"planA": {
"key": "English_32",
"text": "阿宝"
},
"planB": {
"key": "English_32",
"text": "老虎"
},
"planC": {
"key": "English_32",
"text": "波比"
},
"planD": {
"key": "English_32",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 33,
"ExaminationGroup": 1007,
"type": 2,
"topic": {
"key": "point_33",
"text": "33号阿宝叫什么"
},
"planA": {
"key": "English_33",
"text": "阿宝"
},
"planB": {
"key": "English_33",
"text": "老虎"
},
"planC": {
"key": "English_33",
"text": "波比"
},
"planD": {
"key": "English_33",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 34,
"ExaminationGroup": 1007,
"type": 2,
"topic": {
"key": "point_34",
"text": "34号阿宝叫什么"
},
"planA": {
"key": "English_34",
"text": "阿宝"
},
"planB": {
"key": "English_34",
"text": "老虎"
},
"planC": {
"key": "English_34",
"text": "波比"
},
"planD": {
"key": "English_34",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
},
{
"id": 35,
"ExaminationGroup": 1007,
"type": 2,
"topic": {
"key": "point_35",
"text": "35号阿宝叫什么"
},
"planA": {
"key": "English_35",
"text": "阿宝"
},
"planB": {
"key": "English_35",
"text": "老虎"
},
"planC": {
"key": "English_35",
"text": "波比"
},
"planD": {
"key": "English_35",
"text": "乌龟大师"
},
"weight": 1000,
"pic": "",
"True": "",
"flase": "",
"fraction": 3,
"plantrue": 3
} }
] ]

View File

@ -633,5 +633,43 @@
"AssistTeam": 0, "AssistTeam": 0,
"CanFriendHelp": 0, "CanFriendHelp": 0,
"Numrounds": 100 "Numrounds": 100
},
{
"id": 133,
"PlayType": 0,
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"bossfight_naturetitan_02"
],
"disableAiCamera": 0,
"ChoseCamp": [],
"DisableCamp": [],
"DefaultHero": 0,
"ChoseHero": [],
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
},
{
"id": 134,
"PlayType": 0,
"HeroCount": 5,
"readyScene": "scenesfight_role_interface_02",
"battleScenes": [
"bossfight_naturetitan_03"
],
"disableAiCamera": 0,
"ChoseCamp": [],
"DisableCamp": [],
"DefaultHero": 0,
"ChoseHero": [],
"DisableHero": [],
"LockSlots": [],
"AssistTeam": 0,
"CanFriendHelp": 0,
"Numrounds": 0
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -24965,9 +24965,9 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_880", "key": "buried_buried_condi_tasktxt_880",
"text": "做一份烤乳猪1" "text": "完成一次考试2"
}, },
"type": 187, "type": 204,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
@ -24976,9 +24976,7 @@
}, },
"NPC": 60021, "NPC": 60021,
"value": 1, "value": 1,
"filter": [ "filter": [],
14020009
],
"filter2": [] "filter2": []
}, },
{ {
@ -24989,9 +24987,9 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_881", "key": "buried_buried_condi_tasktxt_881",
"text": "(委托)拿到萝卜1" "text": "完成一次考试3"
}, },
"type": 187, "type": 204,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
@ -24999,10 +24997,8 @@
"n": 1 "n": 1
}, },
"NPC": 60031, "NPC": 60031,
"value": 2, "value": 1,
"filter": [ "filter": [],
14010006
],
"filter2": [] "filter2": []
}, },
{ {
@ -25013,9 +25009,9 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_882", "key": "buried_buried_condi_tasktxt_882",
"text": "清理魔药区怪物1" "text": "完成一次考试4"
}, },
"type": 70, "type": 204,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
@ -25024,9 +25020,7 @@
}, },
"NPC": 60041, "NPC": 60041,
"value": 1, "value": 1,
"filter": [ "filter": [],
501
],
"filter2": [] "filter2": []
}, },
{ {
@ -25037,9 +25031,9 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_883", "key": "buried_buried_condi_tasktxt_883",
"text": "清理公会怪物1" "text": "完成一次考试5"
}, },
"type": 70, "type": 204,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
@ -25048,9 +25042,7 @@
}, },
"NPC": 60051, "NPC": 60051,
"value": 1, "value": 1,
"filter": [ "filter": [],
502
],
"filter2": [] "filter2": []
}, },
{ {
@ -25061,7 +25053,7 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_884", "key": "buried_buried_condi_tasktxt_884",
"text": "完成一次考试2" "text": "完成一次考试6"
}, },
"type": 204, "type": 204,
"valid": 0, "valid": 0,
@ -25083,9 +25075,9 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_885", "key": "buried_buried_condi_tasktxt_885",
"text": "做一份烤乳猪2" "text": "完成一次考试7"
}, },
"type": 187, "type": 204,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
@ -25107,7 +25099,7 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_886", "key": "buried_buried_condi_tasktxt_886",
"text": "(委托)拿到萝卜2" "text": "烤乳猪1"
}, },
"type": 187, "type": 187,
"valid": 0, "valid": 0,
@ -25117,9 +25109,9 @@
"n": 1 "n": 1
}, },
"NPC": 60081, "NPC": 60081,
"value": 2, "value": 1,
"filter": [ "filter": [
14010006 14020009
], ],
"filter2": [] "filter2": []
}, },
@ -25131,19 +25123,19 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_887", "key": "buried_buried_condi_tasktxt_887",
"text": "清理魔药区怪物2" "text": "烤乳猪2"
}, },
"type": 70, "type": 187,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1 "n": 2
}, },
"NPC": 60091, "NPC": 60081,
"value": 1, "value": 1,
"filter": [ "filter": [
503 14020009
], ],
"filter2": [] "filter2": []
}, },
@ -25155,19 +25147,19 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_888", "key": "buried_buried_condi_tasktxt_888",
"text": "清理公会怪物2" "text": "烤乳猪3"
}, },
"type": 70, "type": 187,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1 "n": 3
}, },
"NPC": 60101, "NPC": 60081,
"value": 1, "value": 1,
"filter": [ "filter": [
504 14020009
], ],
"filter2": [] "filter2": []
}, },
@ -25179,18 +25171,20 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_889", "key": "buried_buried_condi_tasktxt_889",
"text": "完成一次考试3" "text": "烤乳猪4"
}, },
"type": 204, "type": 187,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1 "n": 4
}, },
"NPC": 60111, "NPC": 60081,
"value": 1, "value": 1,
"filter": [], "filter": [
14020009
],
"filter2": [] "filter2": []
}, },
{ {
@ -25201,16 +25195,16 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_890", "key": "buried_buried_condi_tasktxt_890",
"text": "做一份烤乳猪3" "text": "烤乳猪5"
}, },
"type": 187, "type": 187,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1 "n": 5
}, },
"NPC": 60121, "NPC": 60081,
"value": 1, "value": 1,
"filter": [ "filter": [
14020009 14020009
@ -25225,20 +25219,316 @@
"type_sp": 1, "type_sp": 1,
"tasktxt": { "tasktxt": {
"key": "buried_buried_condi_tasktxt_891", "key": "buried_buried_condi_tasktxt_891",
"text": "(委托)拿到萝卜3" "text": "寻找所有宝箱1"
}, },
"type": 187, "type": 205,
"valid": 0, "valid": 0,
"head": { "head": {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1 "n": 6
}, },
"NPC": 60131, "NPC": 60081,
"value": 2, "value": 2,
"filter": [],
"filter2": []
},
{
"id": 50000024,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_892",
"text": "寻找所有宝箱2"
},
"type": 205,
"valid": 1,
"head": {
"a": "attr",
"t": "gold",
"n": 2
},
"NPC": 60141,
"value": 2,
"filter": [],
"filter2": []
},
{
"id": 50000025,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_893",
"text": "寻找所有宝箱3"
},
"type": 205,
"valid": 2,
"head": {
"a": "attr",
"t": "gold",
"n": 3
},
"NPC": 60151,
"value": 2,
"filter": [],
"filter2": []
},
{
"id": 50000026,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_894",
"text": "寻找所有宝箱4"
},
"type": 205,
"valid": 3,
"head": {
"a": "attr",
"t": "gold",
"n": 4
},
"NPC": 60161,
"value": 2,
"filter": [],
"filter2": []
},
{
"id": 50000027,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_895",
"text": "寻找所有宝箱5"
},
"type": 205,
"valid": 4,
"head": {
"a": "attr",
"t": "gold",
"n": 5
},
"NPC": 60171,
"value": 2,
"filter": [],
"filter2": []
},
{
"id": 50000028,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_896",
"text": "清理所有怪物1"
},
"type": 70,
"valid": 5,
"head": {
"a": "attr",
"t": "gold",
"n": 6
},
"NPC": 60181,
"value": 1,
"filter": [ "filter": [
14010006 501
], ],
"filter2": [] "filter2": []
},
{
"id": 50000029,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_897",
"text": "清理所有怪物2"
},
"type": 70,
"valid": 6,
"head": {
"a": "attr",
"t": "gold",
"n": 7
},
"NPC": 60191,
"value": 1,
"filter": [
502
],
"filter2": []
},
{
"id": 50000030,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_898",
"text": "清理所有怪物3"
},
"type": 70,
"valid": 7,
"head": {
"a": "attr",
"t": "gold",
"n": 8
},
"NPC": 60201,
"value": 1,
"filter": [
503
],
"filter2": []
},
{
"id": 50000031,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_899",
"text": "清理所有怪物4"
},
"type": 70,
"valid": 8,
"head": {
"a": "attr",
"t": "gold",
"n": 9
},
"NPC": 60211,
"value": 1,
"filter": [
504
],
"filter2": []
},
{
"id": 50000032,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_900",
"text": "清理所有怪物5"
},
"type": 70,
"valid": 9,
"head": {
"a": "attr",
"t": "gold",
"n": 10
},
"NPC": 60221,
"value": 1,
"filter": [
505
],
"filter2": []
},
{
"id": 50000033,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_901",
"text": "清理所有怪物6"
},
"type": 70,
"valid": 10,
"head": {
"a": "attr",
"t": "gold",
"n": 11
},
"NPC": 60231,
"value": 1,
"filter": [
506
],
"filter2": []
},
{
"id": 50000034,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_902",
"text": "检查所有可疑点1"
},
"type": 206,
"valid": 11,
"head": {
"a": "attr",
"t": "gold",
"n": 12
},
"NPC": 60241,
"value": 1,
"filter": [],
"filter2": []
},
{
"id": 50000035,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_903",
"text": "检查所有可疑点2"
},
"type": 206,
"valid": 12,
"head": {
"a": "attr",
"t": "gold",
"n": 13
},
"NPC": 60251,
"value": 1,
"filter": [],
"filter2": []
},
{
"id": 50000036,
"rtype": 2,
"ctype": 3,
"notify": [],
"type_sp": 1,
"tasktxt": {
"key": "buried_buried_condi_tasktxt_904",
"text": "检查所有可疑点3"
},
"type": 206,
"valid": 13,
"head": {
"a": "attr",
"t": "gold",
"n": 14
},
"NPC": 60261,
"value": 1,
"filter": [],
"filter2": []
} }
] ]

View File

@ -1165,5 +1165,15 @@
"id": 204, "id": 204,
"insert": 1, "insert": 1,
"filter": [] "filter": []
},
{
"id": 205,
"insert": 2,
"filter": []
},
{
"id": 206,
"insert": 2,
"filter": []
} }
] ]

View File

@ -7,30 +7,30 @@
"SubGroupId": 1001, "SubGroupId": 1001,
"SubGroupType": 1, "SubGroupType": 1,
"EventID": 16010101, "EventID": 16010101,
"SubGroupNum": 1, "SubGroupNum": 2,
"EventWt": 50 "EventWt": 50
}, },
{ {
"Id": 2, "Id": 2,
"GroupId": 14110100, "GroupId": 16010101,
"GroupType": 0, "GroupType": 0,
"SubGroupWt": 0, "SubGroupWt": 1000,
"SubGroupId": 0, "SubGroupId": 1002,
"SubGroupType": 0, "SubGroupType": 1,
"EventID": 14110101, "EventID": 16010101,
"SubGroupNum": 0, "SubGroupNum": 1,
"EventWt": 0 "EventWt": 500
}, },
{ {
"Id": 3, "Id": 3,
"GroupId": 14110100, "GroupId": 14110100,
"GroupType": 0, "GroupType": 2,
"SubGroupWt": 0, "SubGroupWt": 1000,
"SubGroupId": 0, "SubGroupId": 1001,
"SubGroupType": 0, "SubGroupType": 1,
"EventID": 14110102, "EventID": 14110101,
"SubGroupNum": 0, "SubGroupNum": 1,
"EventWt": 0 "EventWt": 50
}, },
{ {
"Id": 4, "Id": 4,
@ -39,9 +39,9 @@
"SubGroupWt": 0, "SubGroupWt": 0,
"SubGroupId": 0, "SubGroupId": 0,
"SubGroupType": 0, "SubGroupType": 0,
"EventID": 14110103, "EventID": 14110102,
"SubGroupNum": 0, "SubGroupNum": 0,
"EventWt": 0 "EventWt": 50
}, },
{ {
"Id": 5, "Id": 5,
@ -50,19 +50,41 @@
"SubGroupWt": 0, "SubGroupWt": 0,
"SubGroupId": 0, "SubGroupId": 0,
"SubGroupType": 0, "SubGroupType": 0,
"EventID": 14110104, "EventID": 14110103,
"SubGroupNum": 0, "SubGroupNum": 0,
"EventWt": 0 "EventWt": 50
}, },
{ {
"Id": 6, "Id": 6,
"GroupId": 14110100, "GroupId": 14110100,
"GroupType": 0, "GroupType": 0,
"SubGroupWt": 1000,
"SubGroupId": 1002,
"SubGroupType": 1,
"EventID": 14110104,
"SubGroupNum": 1,
"EventWt": 500
},
{
"Id": 7,
"GroupId": 14110100,
"GroupType": 0,
"SubGroupWt": 0, "SubGroupWt": 0,
"SubGroupId": 0, "SubGroupId": 0,
"SubGroupType": 0, "SubGroupType": 0,
"EventID": 14110105, "EventID": 14110105,
"SubGroupNum": 0, "SubGroupNum": 0,
"EventWt": 0 "EventWt": 500
},
{
"Id": 8,
"GroupId": 28110500,
"GroupType": 2,
"SubGroupWt": 1000,
"SubGroupId": 1001,
"SubGroupType": 1,
"EventID": 28110501,
"SubGroupNum": 1,
"EventWt": 50
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,8 @@
"key": "mainchapter_main_chapter_desc_1", "key": "mainchapter_main_chapter_desc_1",
"text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。" "text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。"
}, },
"starreward": 11001 "starreward": 11001,
"exploreward": 11001
}, },
{ {
"id": 11002, "id": 11002,
@ -35,7 +36,8 @@
"key": "mainchapter_main_chapter_desc_2", "key": "mainchapter_main_chapter_desc_2",
"text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。" "text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。"
}, },
"starreward": 11002 "starreward": 11002,
"exploreward": 11002
}, },
{ {
"id": 11003, "id": 11003,
@ -54,7 +56,8 @@
"key": "mainchapter_main_chapter_desc_3", "key": "mainchapter_main_chapter_desc_3",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 11003 "starreward": 11003,
"exploreward": 11003
}, },
{ {
"id": 11004, "id": 11004,
@ -73,7 +76,8 @@
"key": "mainchapter_main_chapter_desc_4", "key": "mainchapter_main_chapter_desc_4",
"text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。" "text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。"
}, },
"starreward": 11004 "starreward": 11004,
"exploreward": 11004
}, },
{ {
"id": 11005, "id": 11005,
@ -92,7 +96,8 @@
"key": "mainchapter_main_chapter_desc_5", "key": "mainchapter_main_chapter_desc_5",
"text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。" "text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。"
}, },
"starreward": 11005 "starreward": 11005,
"exploreward": 11005
}, },
{ {
"id": 11006, "id": 11006,
@ -111,7 +116,8 @@
"key": "mainchapter_main_chapter_desc_6", "key": "mainchapter_main_chapter_desc_6",
"text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。" "text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。"
}, },
"starreward": 11006 "starreward": 11006,
"exploreward": 11006
}, },
{ {
"id": 11007, "id": 11007,
@ -130,7 +136,8 @@
"key": "mainchapter_main_chapter_desc_7", "key": "mainchapter_main_chapter_desc_7",
"text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。" "text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。"
}, },
"starreward": 11007 "starreward": 11007,
"exploreward": 11007
}, },
{ {
"id": 11008, "id": 11008,
@ -149,7 +156,8 @@
"key": "mainchapter_main_chapter_desc_8", "key": "mainchapter_main_chapter_desc_8",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 11008 "starreward": 11008,
"exploreward": 11008
}, },
{ {
"id": 11009, "id": 11009,
@ -168,7 +176,8 @@
"key": "mainchapter_main_chapter_desc_9", "key": "mainchapter_main_chapter_desc_9",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 11009 "starreward": 11009,
"exploreward": 11009
}, },
{ {
"id": 11010, "id": 11010,
@ -187,7 +196,8 @@
"key": "mainchapter_main_chapter_desc_10", "key": "mainchapter_main_chapter_desc_10",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 11010 "starreward": 11010,
"exploreward": 11010
}, },
{ {
"id": 11011, "id": 11011,
@ -206,7 +216,8 @@
"key": "mainchapter_main_chapter_desc_11", "key": "mainchapter_main_chapter_desc_11",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 11011 "starreward": 11011,
"exploreward": 11011
}, },
{ {
"id": 11012, "id": 11012,
@ -225,7 +236,8 @@
"key": "mainchapter_main_chapter_desc_12", "key": "mainchapter_main_chapter_desc_12",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 11012 "starreward": 11012,
"exploreward": 11012
}, },
{ {
"id": 12001, "id": 12001,
@ -244,7 +256,8 @@
"key": "mainchapter_main_chapter_desc_13", "key": "mainchapter_main_chapter_desc_13",
"text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。" "text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。"
}, },
"starreward": 12001 "starreward": 12001,
"exploreward": 12001
}, },
{ {
"id": 12002, "id": 12002,
@ -263,7 +276,8 @@
"key": "mainchapter_main_chapter_desc_14", "key": "mainchapter_main_chapter_desc_14",
"text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。" "text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。"
}, },
"starreward": 12002 "starreward": 12002,
"exploreward": 12002
}, },
{ {
"id": 12003, "id": 12003,
@ -282,7 +296,8 @@
"key": "mainchapter_main_chapter_desc_15", "key": "mainchapter_main_chapter_desc_15",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 12003 "starreward": 12003,
"exploreward": 12003
}, },
{ {
"id": 12004, "id": 12004,
@ -301,7 +316,8 @@
"key": "mainchapter_main_chapter_desc_16", "key": "mainchapter_main_chapter_desc_16",
"text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。" "text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。"
}, },
"starreward": 12004 "starreward": 12004,
"exploreward": 12004
}, },
{ {
"id": 12005, "id": 12005,
@ -320,7 +336,8 @@
"key": "mainchapter_main_chapter_desc_17", "key": "mainchapter_main_chapter_desc_17",
"text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。" "text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。"
}, },
"starreward": 12005 "starreward": 12005,
"exploreward": 12005
}, },
{ {
"id": 12006, "id": 12006,
@ -339,7 +356,8 @@
"key": "mainchapter_main_chapter_desc_18", "key": "mainchapter_main_chapter_desc_18",
"text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。" "text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。"
}, },
"starreward": 12006 "starreward": 12006,
"exploreward": 12006
}, },
{ {
"id": 12007, "id": 12007,
@ -358,7 +376,8 @@
"key": "mainchapter_main_chapter_desc_19", "key": "mainchapter_main_chapter_desc_19",
"text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。" "text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。"
}, },
"starreward": 12007 "starreward": 12007,
"exploreward": 12007
}, },
{ {
"id": 12008, "id": 12008,
@ -377,7 +396,8 @@
"key": "mainchapter_main_chapter_desc_20", "key": "mainchapter_main_chapter_desc_20",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 12008 "starreward": 12008,
"exploreward": 12008
}, },
{ {
"id": 12009, "id": 12009,
@ -396,7 +416,8 @@
"key": "mainchapter_main_chapter_desc_21", "key": "mainchapter_main_chapter_desc_21",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 12009 "starreward": 12009,
"exploreward": 12009
}, },
{ {
"id": 12010, "id": 12010,
@ -415,7 +436,8 @@
"key": "mainchapter_main_chapter_desc_22", "key": "mainchapter_main_chapter_desc_22",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 12010 "starreward": 12010,
"exploreward": 12010
}, },
{ {
"id": 12011, "id": 12011,
@ -434,7 +456,8 @@
"key": "mainchapter_main_chapter_desc_23", "key": "mainchapter_main_chapter_desc_23",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 12011 "starreward": 12011,
"exploreward": 12011
}, },
{ {
"id": 12012, "id": 12012,
@ -453,7 +476,8 @@
"key": "mainchapter_main_chapter_desc_24", "key": "mainchapter_main_chapter_desc_24",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 12012 "starreward": 12012,
"exploreward": 12012
}, },
{ {
"id": 13001, "id": 13001,
@ -472,7 +496,8 @@
"key": "mainchapter_main_chapter_desc_13", "key": "mainchapter_main_chapter_desc_13",
"text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。" "text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。"
}, },
"starreward": 13001 "starreward": 13001,
"exploreward": 13001
}, },
{ {
"id": 13002, "id": 13002,
@ -491,7 +516,8 @@
"key": "mainchapter_main_chapter_desc_14", "key": "mainchapter_main_chapter_desc_14",
"text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。" "text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。"
}, },
"starreward": 13002 "starreward": 13002,
"exploreward": 13002
}, },
{ {
"id": 13003, "id": 13003,
@ -510,7 +536,8 @@
"key": "mainchapter_main_chapter_desc_15", "key": "mainchapter_main_chapter_desc_15",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 13003 "starreward": 13003,
"exploreward": 13003
}, },
{ {
"id": 13004, "id": 13004,
@ -529,7 +556,8 @@
"key": "mainchapter_main_chapter_desc_16", "key": "mainchapter_main_chapter_desc_16",
"text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。" "text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。"
}, },
"starreward": 13004 "starreward": 13004,
"exploreward": 13004
}, },
{ {
"id": 13005, "id": 13005,
@ -548,7 +576,8 @@
"key": "mainchapter_main_chapter_desc_17", "key": "mainchapter_main_chapter_desc_17",
"text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。" "text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。"
}, },
"starreward": 13005 "starreward": 13005,
"exploreward": 13005
}, },
{ {
"id": 13006, "id": 13006,
@ -567,7 +596,8 @@
"key": "mainchapter_main_chapter_desc_18", "key": "mainchapter_main_chapter_desc_18",
"text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。" "text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。"
}, },
"starreward": 13006 "starreward": 13006,
"exploreward": 13006
}, },
{ {
"id": 13007, "id": 13007,
@ -586,7 +616,8 @@
"key": "mainchapter_main_chapter_desc_19", "key": "mainchapter_main_chapter_desc_19",
"text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。" "text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。"
}, },
"starreward": 13007 "starreward": 13007,
"exploreward": 13007
}, },
{ {
"id": 13008, "id": 13008,
@ -605,7 +636,8 @@
"key": "mainchapter_main_chapter_desc_20", "key": "mainchapter_main_chapter_desc_20",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 13008 "starreward": 13008,
"exploreward": 13008
}, },
{ {
"id": 13009, "id": 13009,
@ -624,7 +656,8 @@
"key": "mainchapter_main_chapter_desc_21", "key": "mainchapter_main_chapter_desc_21",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 13009 "starreward": 13009,
"exploreward": 13009
}, },
{ {
"id": 13010, "id": 13010,
@ -643,7 +676,8 @@
"key": "mainchapter_main_chapter_desc_22", "key": "mainchapter_main_chapter_desc_22",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 13010 "starreward": 13010,
"exploreward": 13010
}, },
{ {
"id": 13011, "id": 13011,
@ -662,7 +696,8 @@
"key": "mainchapter_main_chapter_desc_23", "key": "mainchapter_main_chapter_desc_23",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 13011 "starreward": 13011,
"exploreward": 13011
}, },
{ {
"id": 13012, "id": 13012,
@ -681,7 +716,8 @@
"key": "mainchapter_main_chapter_desc_24", "key": "mainchapter_main_chapter_desc_24",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 13012 "starreward": 13012,
"exploreward": 13012
}, },
{ {
"id": 14001, "id": 14001,
@ -700,7 +736,8 @@
"key": "mainchapter_main_chapter_desc_13", "key": "mainchapter_main_chapter_desc_13",
"text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。" "text": "故事发生在很久以前的古代中国,而且要从一只喜欢滚来滚去、滚来滚去的大熊猫身上说起。话说熊猫阿宝是一家面条店的学徒,虽然笨手笨脚,也勉强算是谋到了一份职业。"
}, },
"starreward": 14001 "starreward": 14001,
"exploreward": 14001
}, },
{ {
"id": 14002, "id": 14002,
@ -719,7 +756,8 @@
"key": "mainchapter_main_chapter_desc_14", "key": "mainchapter_main_chapter_desc_14",
"text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。" "text": "别看阿宝所在的“和平谷”一派欣欣向荣的安详景象,其实是一个卧虎藏龙的风水宝地,先不说五大功夫高手皆坐镇于此,更有一大师级别的宗师在这里隐居。"
}, },
"starreward": 14002 "starreward": 14002,
"exploreward": 14002
}, },
{ {
"id": 14003, "id": 14003,
@ -738,7 +776,8 @@
"key": "mainchapter_main_chapter_desc_15", "key": "mainchapter_main_chapter_desc_15",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 14003 "starreward": 14003,
"exploreward": 14003
}, },
{ {
"id": 14004, "id": 14004,
@ -757,7 +796,8 @@
"key": "mainchapter_main_chapter_desc_16", "key": "mainchapter_main_chapter_desc_16",
"text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。" "text": "自负的毒蛇大师虽然给人的感觉稍显轻浮,但对这件事的态度就有如她善变的性格,不太明朗;螳螂大师算是几位高手中最聪明的一个,对阿宝的现状很是无奈,总是暗中帮忙。"
}, },
"starreward": 14004 "starreward": 14004,
"exploreward": 14004
}, },
{ {
"id": 14005, "id": 14005,
@ -776,7 +816,8 @@
"key": "mainchapter_main_chapter_desc_17", "key": "mainchapter_main_chapter_desc_17",
"text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。" "text": "最后要将阿宝调教成“功夫高手”的一代宗师“师父”华丽丽地出场了,然而有着一身好功夫并不意味着就是完美的,“师父”因为过去犯下的一个错误,一直纠结着没办法释然。"
}, },
"starreward": 14005 "starreward": 14005,
"exploreward": 14005
}, },
{ {
"id": 14006, "id": 14006,
@ -795,7 +836,8 @@
"key": "mainchapter_main_chapter_desc_18", "key": "mainchapter_main_chapter_desc_18",
"text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。" "text": "至于那个让人人都如临大敌的太郎则是一只非常自恋的雪豹他等待复仇的这一天已经整整等了20年了可是他做梦也没想到自己等来的竟然是一只大熊猫。"
}, },
"starreward": 14006 "starreward": 14006,
"exploreward": 14006
}, },
{ {
"id": 14007, "id": 14007,
@ -814,7 +856,8 @@
"key": "mainchapter_main_chapter_desc_19", "key": "mainchapter_main_chapter_desc_19",
"text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。" "text": "激烈的战斗后,阿宝以自己对武功的悟性和师父传授的武术,战胜了太郎,拯救了山谷,为山谷带来了和平。"
}, },
"starreward": 14007 "starreward": 14007,
"exploreward": 14007
}, },
{ {
"id": 14008, "id": 14008,
@ -833,7 +876,8 @@
"key": "mainchapter_main_chapter_desc_20", "key": "mainchapter_main_chapter_desc_20",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 14008 "starreward": 14008,
"exploreward": 14008
}, },
{ {
"id": 14009, "id": 14009,
@ -852,7 +896,8 @@
"key": "mainchapter_main_chapter_desc_21", "key": "mainchapter_main_chapter_desc_21",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 14009 "starreward": 14009,
"exploreward": 14009
}, },
{ {
"id": 14010, "id": 14010,
@ -871,7 +916,8 @@
"key": "mainchapter_main_chapter_desc_22", "key": "mainchapter_main_chapter_desc_22",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 14010 "starreward": 14010,
"exploreward": 14010
}, },
{ {
"id": 14011, "id": 14011,
@ -890,7 +936,8 @@
"key": "mainchapter_main_chapter_desc_23", "key": "mainchapter_main_chapter_desc_23",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 14011 "starreward": 14011,
"exploreward": 14011
}, },
{ {
"id": 14012, "id": 14012,
@ -909,6 +956,7 @@
"key": "mainchapter_main_chapter_desc_24", "key": "mainchapter_main_chapter_desc_24",
"text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。" "text": "可是在一场特殊的比武大会上胜出的人要代表“和平谷”将邪恶的大龙永久地驱除出去,啥都不会的阿宝却在经历了一系列阴差阳错之后屏雀中选,让所有人都大跌眼镜。"
}, },
"starreward": 14012 "starreward": 14012,
"exploreward": 14012
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,7 @@
{ {
"id": 3, "id": 3,
"boxid": 11001, "boxid": 11001,
"starnum": 24, "starnum": 36,
"reward": [ "reward": [
{ {
"a": "item", "a": "item",

View File

@ -5872,7 +5872,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -5886,7 +5886,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -5900,7 +5900,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -5914,7 +5914,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -5928,7 +5928,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -5942,7 +5942,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -5956,7 +5956,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -5970,7 +5970,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-邮件", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -5984,7 +5984,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-邮件", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -5998,7 +5998,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-邮件", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -6012,7 +6012,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-浇水拼图", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -6026,7 +6026,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-浇水拼图", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -6082,7 +6082,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -6096,7 +6096,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -6110,7 +6110,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-维京远征",
"901" "901"
], ],
"event": [ "event": [
@ -6124,7 +6124,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -6138,7 +6138,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6152,7 +6152,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6166,7 +6166,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6180,7 +6180,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-邮件", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6194,7 +6194,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-邮件", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6208,7 +6208,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-邮件", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6222,7 +6222,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-浇水拼图", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6236,7 +6236,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-浇水拼图", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6250,7 +6250,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-浇水拼图", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6264,7 +6264,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6278,7 +6278,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6292,7 +6292,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-维京远征", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6306,7 +6306,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6320,7 +6320,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6334,7 +6334,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-招募", "功能入口-烹饪",
"901" "901"
], ],
"event": [ "event": [
@ -6348,12 +6348,10 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎",
"901" "901"
], ],
"event": [ "event": [
2, 0
12890
], ],
"goto": 0 "goto": 0
}, },
@ -6362,12 +6360,10 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎",
"901" "901"
], ],
"event": [ "event": [
2, 0
12960
], ],
"goto": 0 "goto": 0
}, },
@ -6376,7 +6372,7 @@
"heroid": 25001, "heroid": 25001,
"datas": [ "datas": [
"GameMain", "GameMain",
"功能入口-狩猎", "功能入口-浇水拼图",
"901" "901"
], ],
"event": [ "event": [
@ -6384,5 +6380,577 @@
13010 13010
], ],
"goto": 0 "goto": 0
},
{
"id": 60140,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60141,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60148,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60150,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60151,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60158,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60160,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60161,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60168,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60170,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60171,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60178,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60180,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60181,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
1,
501
],
"goto": 0
},
{
"id": 60188,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-烹饪",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60190,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60191,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
1,
502
],
"goto": 0
},
{
"id": 60198,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-烹饪",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60200,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60201,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
1,
503
],
"goto": 0
},
{
"id": 60208,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-烹饪",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60210,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60211,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
1,
504
],
"goto": 0
},
{
"id": 60218,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-烹饪",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60220,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60221,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
1,
505
],
"goto": 0
},
{
"id": 60228,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-烹饪",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60230,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60231,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-浇水拼图",
"901"
],
"event": [
1,
506
],
"goto": 0
},
{
"id": 60238,
"heroid": 25001,
"datas": [
"GameMain",
"功能入口-烹饪",
"901"
],
"event": [
2,
13010
],
"goto": 0
},
{
"id": 60240,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60241,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60248,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60250,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60251,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60258,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60260,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60261,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60268,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60270,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60271,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60278,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60280,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60281,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
},
{
"id": 60288,
"heroid": 25001,
"datas": [
"GameMain",
"901"
],
"event": [
0
],
"goto": 0
} }
] ]

View File

@ -1,68 +1,167 @@
[ [
{ {
"Id": 1, "Id": 1,
"GroupId": 100001, "GroupId": 10110100,
"GroupType": 1, "GroupType": 2,
"SubGroupWt": 1000, "SubGroupWt": 1000,
"SubGroupId": 1001, "SubGroupId": 1001,
"SubGroupType": 1, "SubGroupType": 1,
"RoomID": 100001, "RoomID": 10110101,
"SubGroupNum": 1, "SubGroupNum": 1,
"RoomWt": 50 "RoomWt": 50
}, },
{ {
"Id": 2, "Id": 2,
"GroupId": 100001, "GroupId": 10110100,
"GroupType": 0, "GroupType": 0,
"SubGroupWt": 0, "SubGroupWt": 0,
"SubGroupId": 1001, "SubGroupId": 0,
"SubGroupType": 0, "SubGroupType": 0,
"RoomID": 100002, "RoomID": 10110102,
"SubGroupNum": 0, "SubGroupNum": 0,
"RoomWt": 50 "RoomWt": 50
}, },
{ {
"Id": 3, "Id": 3,
"GroupId": 100001, "GroupId": 10110100,
"GroupType": 0, "GroupType": 0,
"SubGroupWt": 0, "SubGroupWt": 0,
"SubGroupId": 1001, "SubGroupId": 0,
"SubGroupType": 0, "SubGroupType": 0,
"RoomID": 100003, "RoomID": 10110103,
"SubGroupNum": 0, "SubGroupNum": 0,
"RoomWt": 50 "RoomWt": 50
}, },
{ {
"Id": 4, "Id": 4,
"GroupId": 100002, "GroupId": 10110100,
"GroupType": 2,
"SubGroupWt": 1000,
"SubGroupId": 1001,
"SubGroupType": 1,
"RoomID": 100004,
"SubGroupNum": 1,
"RoomWt": 50
},
{
"Id": 5,
"GroupId": 100002,
"GroupType": 0, "GroupType": 0,
"SubGroupWt": 0, "SubGroupWt": 0,
"SubGroupId": 0, "SubGroupId": 0,
"SubGroupType": 0, "SubGroupType": 0,
"RoomID": 100005, "RoomID": 10110104,
"SubGroupNum": 0, "SubGroupNum": 0,
"RoomWt": 50 "RoomWt": 50
}, },
{
"Id": 5,
"GroupId": 10110200,
"GroupType": 2,
"SubGroupWt": 1000,
"SubGroupId": 1001,
"SubGroupType": 1,
"RoomID": 10110101,
"SubGroupNum": 1,
"RoomWt": 50
},
{ {
"Id": 6, "Id": 6,
"GroupId": 100002, "GroupId": 10110200,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 10110102,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 7,
"GroupId": 10110200,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 10110103,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 8,
"GroupId": 10110200,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 10110104,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 9,
"GroupId": 10110200,
"GroupType": 0, "GroupType": 0,
"SubGroupWt": 500, "SubGroupWt": 500,
"SubGroupId": 1002, "SubGroupId": 1002,
"SubGroupType": 1, "SubGroupType": 1,
"RoomID": 100006, "RoomID": 10110101,
"SubGroupNum": 1, "SubGroupNum": 1,
"RoomWt": 50 "RoomWt": 50
},
{
"Id": 10,
"GroupId": 10110200,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 10110102,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 11,
"GroupId": 10110200,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 10110103,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 12,
"GroupId": 10110200,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 10110104,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 13,
"GroupId": 14110500,
"GroupType": 2,
"SubGroupWt": 1000,
"SubGroupId": 1001,
"SubGroupType": 1,
"RoomID": 14110501,
"SubGroupNum": 1,
"RoomWt": 50
},
{
"Id": 14,
"GroupId": 14110500,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 14110502,
"SubGroupNum": 0,
"RoomWt": 50
},
{
"Id": 15,
"GroupId": 14110500,
"GroupType": 0,
"SubGroupWt": 0,
"SubGroupId": 0,
"SubGroupType": 0,
"RoomID": 14110503,
"SubGroupNum": 0,
"RoomWt": 50
} }
] ]

View File

@ -1,14 +1,13 @@
[ [
{ {
"taskid": 60010, "taskid": 100130,
"tasktype": 1, "tasktype": 1,
"pointnum": 2, "pointnum": 2,
"point": [ "point": [
"中轴城道具点位1", "位置1",
"中轴城道具点位2", "位置2",
"中轴城道具点位3", "位置3",
"中轴城道具点位4", "位置4"
"中轴城道具点位5"
], ],
"pointweight": [ "pointweight": [
2000, 2000,
@ -19,15 +18,14 @@
] ]
}, },
{ {
"taskid": 60020, "taskid": 100140,
"tasktype": 1, "tasktype": 1,
"pointnum": 2, "pointnum": 2,
"point": [ "point": [
"中轴城道具点位1", "位置5",
"中轴城道具点位2", "位置6",
"中轴城道具点位3", "位置7",
"中轴城道具点位4", "位置8"
"中轴城道具点位5"
], ],
"pointweight": [ "pointweight": [
2000, 2000,
@ -38,15 +36,14 @@
] ]
}, },
{ {
"taskid": 60030, "taskid": 100150,
"tasktype": 1, "tasktype": 1,
"pointnum": 2, "pointnum": 2,
"point": [ "point": [
"中轴城道具点位1", "位置9",
"中轴城道具点位2", "位置10",
"中轴城道具点位3", "位置11",
"中轴城道具点位4", "位置12"
"中轴城道具点位5"
], ],
"pointweight": [ "pointweight": [
2000, 2000,
@ -57,15 +54,14 @@
] ]
}, },
{ {
"taskid": 60040, "taskid": 100160,
"tasktype": 1, "tasktype": 1,
"pointnum": 2, "pointnum": 2,
"point": [ "point": [
"中轴城道具点位1", "位置1",
"中轴城道具点位2", "位置2",
"中轴城道具点位3", "位置3",
"中轴城道具点位4", "位置4"
"中轴城道具点位5"
], ],
"pointweight": [ "pointweight": [
2000, 2000,
@ -76,53 +72,14 @@
] ]
}, },
{ {
"taskid": 60050, "taskid": 100170,
"tasktype": 1, "tasktype": 1,
"pointnum": 2, "pointnum": 2,
"point": [ "point": [
"中轴城道具点位1", "位置5",
"中轴城道具点位2", "位置6",
"中轴城道具点位3", "位置7",
"中轴城道具点位4", "位置8"
"中轴城道具点位5"
],
"pointweight": [
2000,
2000,
2000,
2000,
2000
]
},
{
"taskid": 60060,
"tasktype": 2,
"pointnum": 1,
"point": [
"战斗点位1",
"战斗点位2",
"战斗点位3",
"战斗点位4",
"战斗点位5"
],
"pointweight": [
2000,
2000,
2000,
2000,
2000
]
},
{
"taskid": 60070,
"tasktype": 2,
"pointnum": 2,
"point": [
"战斗点位1",
"战斗点位2",
"战斗点位3",
"战斗点位4",
"战斗点位5"
], ],
"pointweight": [ "pointweight": [
2000, 2000,

View File

@ -0,0 +1,86 @@
[
{
"BattleStageId": 110101,
"EnemyShowIcon": 0,
"Atk": 0,
"Hp": 0,
"Def": 0,
"SpeedValue": 0,
"EffreValue": 0,
"BattleReadyID": 118,
"FormatList": [
101011
],
"RewardLottery": 0
},
{
"BattleStageId": 110102,
"EnemyShowIcon": 0,
"Atk": 0,
"Hp": 0,
"Def": 0,
"SpeedValue": 0,
"EffreValue": 0,
"BattleReadyID": 118,
"FormatList": [
101012
],
"RewardLottery": 0
},
{
"BattleStageId": 110103,
"EnemyShowIcon": 0,
"Atk": 0,
"Hp": 0,
"Def": 0,
"SpeedValue": 0,
"EffreValue": 0,
"BattleReadyID": 118,
"FormatList": [
101013
],
"RewardLottery": 0
},
{
"BattleStageId": 110104,
"EnemyShowIcon": 0,
"Atk": 0,
"Hp": 0,
"Def": 0,
"SpeedValue": 0,
"EffreValue": 0,
"BattleReadyID": 118,
"FormatList": [
101021
],
"RewardLottery": 0
},
{
"BattleStageId": 110105,
"EnemyShowIcon": 0,
"Atk": 0,
"Hp": 0,
"Def": 0,
"SpeedValue": 0,
"EffreValue": 0,
"BattleReadyID": 118,
"FormatList": [
101022
],
"RewardLottery": 0
},
{
"BattleStageId": 110501,
"EnemyShowIcon": 51017,
"Atk": 0,
"Hp": 0,
"Def": 0,
"SpeedValue": 0,
"EffreValue": 0,
"BattleReadyID": 118,
"FormatList": [
101022
],
"RewardLottery": 0
}
]

4050
bin/json/game_stonebuff.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,130 @@
[
{
"EventId": 16010101,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_1",
"text": "捡垃圾"
},
"EventType": 16,
"EventResource": "Treasure",
"Value1": 21160001,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 14110101,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_2",
"text": "战斗"
},
"EventType": 14,
"EventResource": "51004",
"Value1": 110101,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 14110102,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_3",
"text": "战斗"
},
"EventType": 14,
"EventResource": "51002",
"Value1": 110102,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 14110103,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_4",
"text": "战斗"
},
"EventType": 14,
"EventResource": "51003",
"Value1": 110103,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 14110104,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_5",
"text": "战斗"
},
"EventType": 14,
"EventResource": "51005",
"Value1": 110104,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 14110105,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_6",
"text": "战斗"
},
"EventType": 14,
"EventResource": "51001",
"Value1": 110105,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 25100001,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_7",
"text": "随机符文"
},
"EventType": 25,
"EventResource": "",
"Value1": 100001,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
},
{
"EventId": 28110501,
"EventTitle": {
"key": "stonehenge_eventconfig_EventTitle_8",
"text": "首领"
},
"EventType": 28,
"EventResource": "",
"Value1": 110501,
"Value2": 0,
"Value3": 0,
"Value4": 0,
"CostItem": [],
"PostEvent": 0,
"probability": 0
}
]

View File

@ -0,0 +1,130 @@
[
{
"RoomId": 10110101,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_1",
"text": "战斗"
},
"SceneName": "scenesfight_secret_realm_01",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 14110100,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 14110100
},
{
"RoomId": 10110102,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_2",
"text": "战斗"
},
"SceneName": "scenesfight_secret_realm_02",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 14110100,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 14110100
},
{
"RoomId": 10110103,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_3",
"text": "战斗"
},
"SceneName": "scenesfight_secret_realm_03",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 14110100,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 14110100
},
{
"RoomId": 10110104,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_4",
"text": "战斗"
},
"SceneName": "scenesfight_secret_realm_01",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 14110100,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 14110100
},
{
"RoomId": 14110501,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_5",
"text": "首领"
},
"SceneName": "scenesfight_secret_realm_04",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 28110500,
"Condition": 28110500
},
{
"RoomId": 14110502,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_6",
"text": "首领"
},
"SceneName": "scenesfight_secret_realm_04",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 28110500,
"Condition": 28110500
},
{
"RoomId": 14110503,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_7",
"text": "首领"
},
"SceneName": "scenesfight_secret_realm_04",
"PortalName": "",
"EventrewardGroup": 16010101,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 28110500,
"Condition": 28110500
},
{
"RoomId": 99999,
"RoomName": {
"key": "stonehenge_roomconfig_RoomName_8",
"text": "结算"
},
"SceneName": "",
"PortalName": "",
"EventrewardGroup": 0,
"EventBattleGroup": 0,
"EventStoryNpcGroup": 0,
"EventTreasureGroup": 0,
"EventStoreGroup": 0,
"BossEvent": 0,
"Condition": 0
}
]

View File

@ -0,0 +1,140 @@
[
{
"Id": 1,
"StageId": 1001,
"PreviouStage": 0,
"StageName": {
"key": "stonehenge_stageconfig_StageName_1",
"text": "石阵1"
},
"RoomId": 1,
"RoomGroup": 10110100,
"PortalGroup": 10110200,
"rewardpreview": [
{
"a": "attr",
"t": "gold",
"n": 1
}
],
"TreasurePreview": [
{
"a": "attr",
"t": "gold",
"n": 1
}
],
"FirstReward": [
{
"a": "attr",
"t": "gold",
"n": 1
}
],
"WeeklyPointPreview": 0,
"WeeklyPoint": {
"a": "attr",
"t": "gold",
"n": 1
},
"TalentItem": {
"a": "attr",
"t": "gold",
"n": 1
},
"ReferenceLevel": 0,
"StageValue": 0
},
{
"Id": 2,
"StageId": 1001,
"PreviouStage": 0,
"StageName": {
"key": "stonehenge_stageconfig_StageName_4",
"text": "石阵2"
},
"RoomId": 2,
"RoomGroup": 0,
"PortalGroup": 14110500,
"rewardpreview": [
{
"a": "attr",
"t": "gold",
"n": 2
}
],
"TreasurePreview": [
{
"a": "attr",
"t": "gold",
"n": 2
}
],
"FirstReward": [
{
"a": "attr",
"t": "gold",
"n": 2
}
],
"WeeklyPointPreview": 0,
"WeeklyPoint": {
"a": "attr",
"t": "gold",
"n": 2
},
"TalentItem": {
"a": "attr",
"t": "gold",
"n": 2
},
"ReferenceLevel": 0,
"StageValue": 0
},
{
"Id": 3,
"StageId": 1001,
"PreviouStage": 0,
"StageName": {
"key": "stonehenge_stageconfig_StageName_5",
"text": "石阵3"
},
"RoomId": 3,
"RoomGroup": 0,
"PortalGroup": 99999,
"rewardpreview": [
{
"a": "attr",
"t": "gold",
"n": 3
}
],
"TreasurePreview": [
{
"a": "attr",
"t": "gold",
"n": 3
}
],
"FirstReward": [
{
"a": "attr",
"t": "gold",
"n": 3
}
],
"WeeklyPointPreview": 0,
"WeeklyPoint": {
"a": "attr",
"t": "gold",
"n": 3
},
"TalentItem": {
"a": "attr",
"t": "gold",
"n": 3
},
"ReferenceLevel": 0,
"StageValue": 0
}
]

View File

@ -21,7 +21,7 @@
}, },
{ {
"key": 2, "key": 2,
"taskstarID": 100060, "taskstarID": 100020,
"lv": 1, "lv": 1,
"taskendID": 20090, "taskendID": 20090,
"npc": [ "npc": [
@ -41,7 +41,7 @@
}, },
{ {
"key": 3, "key": 3,
"taskstarID": 100110, "taskstarID": 100030,
"lv": 1, "lv": 1,
"taskendID": 20090, "taskendID": 20090,
"npc": [ "npc": [
@ -61,17 +61,97 @@
}, },
{ {
"key": 4, "key": 4,
"taskstarID": 100020, "taskstarID": 100040,
"lv": 1, "lv": 1,
"taskendID": 20090, "taskendID": 20090,
"npc": [ "npc": [
"GameMain", "GameMain",
"功能入口-招募" "功能入口-维京远征"
], ],
"chosetxt": { "chosetxt": {
"key": "chosetxt_04", "key": "chosetxt_04",
"text": "考试选项4" "text": "考试选项4"
}, },
"chosetype": 1,
"chosenum": 1004,
"get": [],
"lose": [],
"jump": 0,
"num": 0
},
{
"key": 5,
"taskstarID": 100050,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-维京远征"
],
"chosetxt": {
"key": "chosetxt_05",
"text": "考试选项5"
},
"chosetype": 1,
"chosenum": 1005,
"get": [],
"lose": [],
"jump": 0,
"num": 0
},
{
"key": 6,
"taskstarID": 100060,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-维京远征"
],
"chosetxt": {
"key": "chosetxt_06",
"text": "考试选项6"
},
"chosetype": 1,
"chosenum": 1006,
"get": [],
"lose": [],
"jump": 0,
"num": 0
},
{
"key": 7,
"taskstarID": 100070,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-维京远征"
],
"chosetxt": {
"key": "chosetxt_07",
"text": "考试选项7"
},
"chosetype": 1,
"chosenum": 1007,
"get": [],
"lose": [],
"jump": 0,
"num": 0
},
{
"key": 8,
"taskstarID": 100080,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-烹饪"
],
"chosetxt": {
"key": "chosetxt_08",
"text": "买乳猪1"
},
"chosetype": 2, "chosetype": 2,
"chosenum": 0, "chosenum": 0,
"get": [ "get": [
@ -89,20 +169,20 @@
} }
], ],
"jump": 0, "jump": 0,
"num": 1 "num": 0
}, },
{ {
"key": 5, "key": 9,
"taskstarID": 100070, "taskstarID": 100090,
"lv": 1, "lv": 1,
"taskendID": 20090, "taskendID": 20090,
"npc": [ "npc": [
"GameMain", "GameMain",
"功能入口-招募" "功能入口-烹饪"
], ],
"chosetxt": { "chosetxt": {
"key": "chosetxt_05", "key": "chosetxt_09",
"text": "考试选项5" "text": "买乳猪2"
}, },
"chosetype": 2, "chosetype": 2,
"chosenum": 0, "chosenum": 0,
@ -117,42 +197,82 @@
{ {
"a": "item", "a": "item",
"t": "14020009", "t": "14020009",
"n": 2 "n": 1
} }
], ],
"jump": 0, "jump": 0,
"num": 1 "num": 0
}, },
{ {
"key": 6, "key": 10,
"taskstarID": 100100,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-烹饪"
],
"chosetxt": {
"key": "chosetxt_10",
"text": "买乳猪3"
},
"chosetype": 2,
"chosenum": 0,
"get": [
{
"a": "attr",
"t": "gold",
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 1
}
],
"jump": 0,
"num": 0
},
{
"key": 11,
"taskstarID": 100110,
"lv": 1,
"taskendID": 20090,
"npc": [
"GameMain",
"功能入口-烹饪"
],
"chosetxt": {
"key": "chosetxt_11",
"text": "买乳猪4"
},
"chosetype": 2,
"chosenum": 0,
"get": [],
"lose": [],
"jump": 0,
"num": 0
},
{
"key": 12,
"taskstarID": 100120, "taskstarID": 100120,
"lv": 1, "lv": 1,
"taskendID": 20090, "taskendID": 20090,
"npc": [ "npc": [
"GameMain", "GameMain",
"功能入口-招募" "功能入口-烹饪"
], ],
"chosetxt": { "chosetxt": {
"key": "chosetxt_06", "key": "chosetxt_12",
"text": "考试选项6" "text": "买乳猪5"
}, },
"chosetype": 2, "chosetype": 2,
"chosenum": 0, "chosenum": 0,
"get": [ "get": [],
{ "lose": [],
"a": "attr",
"t": "gold",
"n": 100000
}
],
"lose": [
{
"a": "item",
"t": "14020009",
"n": 3
}
],
"jump": 0, "jump": 0,
"num": 1 "num": 0
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -5,14 +5,6 @@ import (
"go_dreamfactory/modules" "go_dreamfactory/modules"
) )
const (
MlineGetListResp = "getlist"
MlineChallengeResp = "challenge"
MlineCleanStageResp = "cleanstage"
MlineChallengeOverResp = "challengeover"
MlineGetRewardResp = "getreward"
)
type apiComp struct { type apiComp struct {
modules.MCompGate modules.MCompGate
service core.IService service core.IService

View File

@ -69,7 +69,7 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.MainlineChalle
if errdata != nil { if errdata != nil {
return return
} }
session.SendMsg(string(this.module.GetType()), MlineChallengeResp, &pb.MainlineChallengeResp{ session.SendMsg(string(this.module.GetType()), "challenge", &pb.MainlineChallengeResp{
Info: &pb.BattleInfo{ Info: &pb.BattleInfo{
Id: record.Id, Id: record.Id,
Title: record.Title, Title: record.Title,

View File

@ -53,6 +53,15 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh
} }
} }
if err = this.module.modelMline.checklevel(req.Level, info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: err.Error(),
}
return
}
// 校验通过 // 校验通过
errdata, isWin = this.module.battle.CheckBattleReport(session, req.Report) errdata, isWin = this.module.battle.CheckBattleReport(session, req.Report)
if errdata != nil { if errdata != nil {
@ -62,7 +71,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh
if errdata = this.module.DispenseRes(session, conf.PsConsume, true); errdata != nil { // 返还预扣体力 if errdata = this.module.DispenseRes(session, conf.PsConsume, true); errdata != nil { // 返还预扣体力
return return
} }
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{ session.SendMsg(string(this.module.GetType()), "challengeover", &pb.MainlineChallengeOverResp{
Level: req.Level, Level: req.Level,
}) // 数据推送 }) // 数据推送
return return
@ -100,8 +109,9 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh
first = true first = true
info.Level[req.Level] = star info.Level[req.Level] = star
} }
info.Lastlevel = req.Level info.Lastlevel = req.Level
this.module.modelMline.updateprogress(info)
if first { // 发奖 if first { // 发奖
if errdata = this.module.DispenseRes(session, conf.Firstaward, true); errdata != nil { if errdata = this.module.DispenseRes(session, conf.Firstaward, true); errdata != nil {
this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward) this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward)
@ -149,41 +159,26 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh
} }
} }
} }
userExp, _ = this.module.ModuleUser.ConsumePsAddExp(session, consumPs) if userExp, errdata = this.module.ModuleUser.ConsumePsAddExp(session, consumPs); errdata != nil {
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{ return
}
if err = this.module.modelMline.updateMainlineData(session.GetUserId(), info); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "challengeover", &pb.MainlineChallengeOverResp{
Level: req.Level, Level: req.Level,
Star: star, Star: star,
HeroExp: conf.HeroExp, HeroExp: conf.HeroExp,
UserExp: userExp, UserExp: userExp,
}) // 数据推送 })
// // 校验功能开启
// module, err2 := this.module.service.GetModule(comm.ModuleSys)
// if err2 == nil {
// if isys, ok := module.(comm.ISys); ok {
// isys.CheckLvUpCond(session, req.Level) // 校验新功能是否开启
// }
// }
// 主线任务统计 Rtype60
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype60, 1)) tasks = append(tasks, comm.GetBuriedParam(comm.Rtype60, 1))
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype61, 1, int32(req.Level))) tasks = append(tasks, comm.GetBuriedParam(comm.Rtype61, 1, int32(req.Level)))
// var (
// ChapterStar int32
// allStar int32
// )
// tasks = append(tasks, comm.GetBuriedParam(comm.Rtype158, ChapterStar, curChapter.ChapterId, curChapter.CType))
// for _, v2 := range list {
// for _, v1 := range v2.Star {
// for _, v := range szStar {
// if v1&v == v {
// allStar++
// }
// }
// }
// }
// this.module.ModuleRtask.SendToRtask(session, comm.Rtype160, allStar)
// tasks = append(tasks, comm.GetBuriedParam(comm.Rtype160, allStar, conf.Chapterid))
go this.module.ModuleBuried.TriggerBuried(session.Clone(), tasks...) go this.module.ModuleBuried.TriggerBuried(session.Clone(), tasks...)
return return
} }

View File

@ -31,6 +31,6 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.MainlineInfoReq) (e
} }
return return
} }
session.SendMsg(string(this.module.GetType()), MlineGetListResp, &pb.MainlineInfoResp{Info: info}) session.SendMsg(string(this.module.GetType()), "info", &pb.MainlineInfoResp{Info: info})
return return
} }

View File

@ -24,8 +24,7 @@ func (this *apiComp) LevelPass(session comm.IUserSession, req *pb.MainlineLevelP
var ( var (
conf *cfg.GameMainStageData conf *cfg.GameMainStageData
info *pb.DBMainline info *pb.DBMainline
aeward []*pb.UserAssets = make([]*pb.UserAssets, 0) aeward []*pb.UserAssets = make([]*pb.UserAssets, 0)
isWin bool
first bool // 判断是否是首通 first bool // 判断是否是首通
star int32 // 评星 star int32 // 评星
tasks []*pb.BuriedParam = make([]*pb.BuriedParam, 0) tasks []*pb.BuriedParam = make([]*pb.BuriedParam, 0)
@ -53,20 +52,15 @@ func (this *apiComp) LevelPass(session comm.IUserSession, req *pb.MainlineLevelP
} }
} }
// 校验通过 if err = this.module.modelMline.checklevel(req.Level, info); err != nil {
errdata, isWin = this.module.battle.CheckBattleReport(session, req.Report) errdata = &pb.ErrorData{
if errdata != nil { Code: pb.ErrorCode_ReqParameterError,
return Title: pb.ErrorCode_ReqParameterError.ToString(),
} Message: err.Error(),
if !isWin { // 战斗失败返还扣除的体力
if errdata = this.module.DispenseRes(session, conf.PsConsume, true); errdata != nil { // 返还预扣体力
return
} }
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{
Level: req.Level,
}) // 数据推送
return return
} }
// 评星规则 // 评星规则
if len(conf.Star) != len(conf.StarType) || len(conf.Star) != len(conf.StarValue) || len(conf.StarValue) != len(conf.StarType) { if len(conf.Star) != len(conf.StarType) || len(conf.Star) != len(conf.StarValue) || len(conf.StarValue) != len(conf.StarType) {
this.module.Errorf("配置错误, 参数数量不一致,StageId: %d", req.Level) this.module.Errorf("配置错误, 参数数量不一致,StageId: %d", req.Level)
@ -77,31 +71,13 @@ func (this *apiComp) LevelPass(session comm.IUserSession, req *pb.MainlineLevelP
return return
} }
var szStar []int32
szStar = append(szStar, 1<<0)
szStar = append(szStar, 1<<1)
szStar = append(szStar, 1<<2)
for i, v := range conf.StarType {
if v == comm.MainStarType1 {
star ^= szStar[i]
} else if v == comm.MainStarType2 {
if req.Report.Death <= conf.StarValue[i] {
star ^= szStar[i]
}
} else if v == comm.MainStarType3 {
if req.Report.Round <= conf.StarValue[i] {
star ^= szStar[i]
}
}
}
// 判断是不是首通 // 判断是不是首通
if _, ok := info.Level[req.Level]; !ok { if _, ok := info.Level[req.Level]; !ok {
first = true first = true
info.Level[req.Level] = star info.Level[req.Level] = 1
} }
info.Lastlevel = req.Level info.Lastlevel = req.Level
this.module.modelMline.updateprogress(info)
if first { // 发奖 if first { // 发奖
if errdata = this.module.DispenseRes(session, conf.Firstaward, true); errdata != nil { if errdata = this.module.DispenseRes(session, conf.Firstaward, true); errdata != nil {
this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward) this.module.Debugf("Mline first DispenseRes err:+%v", conf.Firstaward)
@ -138,19 +114,8 @@ func (this *apiComp) LevelPass(session comm.IUserSession, req *pb.MainlineLevelP
}) })
} }
} }
// 加英雄经验
if conf.HeroExp > 0 {
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
for _, v := range req.Report.Info.Redflist[0].Team {
if !v.Ishelp { // 助战英雄不加经验
this.module.ModuleHero.AddHeroExp(session, v.Oid, conf.HeroExp)
}
}
}
}
userExp, _ = this.module.ModuleUser.ConsumePsAddExp(session, consumPs) userExp, _ = this.module.ModuleUser.ConsumePsAddExp(session, consumPs)
session.SendMsg(string(this.module.GetType()), MlineChallengeOverResp, &pb.MainlineChallengeOverResp{ session.SendMsg(string(this.module.GetType()), "levelpass", &pb.MainlineLevelPassResp{
Level: req.Level, Level: req.Level,
Star: star, Star: star,
HeroExp: conf.HeroExp, HeroExp: conf.HeroExp,

View File

@ -0,0 +1,111 @@
package mainline
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) ReceiveAwardCheck(session comm.IUserSession, req *pb.MainlineReceiveAwardReq) (errdata *pb.ErrorData) {
return
}
// /获取主线关卡信息
func (this *apiComp) ReceiveAward(session comm.IUserSession, req *pb.MainlineReceiveAwardReq) (errdata *pb.ErrorData) {
var (
info *pb.DBMainline
award *pb.DBMainlineAward
chapterconf *cfg.GameMainChapterData
awardConfs []*cfg.GameMainStarrewardData
awardid int32
pass int32
ok bool
err error
)
errdata = this.ReceiveAwardCheck(session, req)
if errdata != nil {
return // 参数校验失败直接返回
}
info, err = this.module.modelMline.getMainlineData(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if req.Rtype == 0 {
if award, ok = info.Chapteraward[req.Chapter]; !ok || award.Stage < req.Stage {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("chapter:%d stage:%d no arrive", req.Chapter, req.Stage),
}
return
}
if chapterconf, err = this.module.configure.GetMainChapterConf(req.Chapter); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
awardid = (chapterconf.Starreward)
} else if req.Rtype == 1 {
if award, ok = info.Exploreaward[req.Chapter]; !ok || award.Stage < req.Stage {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("chapter:%d stage:%d no arrive", req.Chapter, req.Stage),
}
return
}
if chapterconf, err = this.module.configure.GetMainChapterConf(req.Chapter); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
awardid = (chapterconf.Starreward)
} else {
if award, ok = info.Groupaward[req.Group]; !ok || award.Stage < req.Stage {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("group:%d stage:%d no arrive", req.Group, req.Stage),
}
return
}
}
if pass, ok = award.Award[req.Stage]; ok && pass == 2 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_MainlineRepeatReward,
Title: pb.ErrorCode_MainlineRepeatReward.ToString(),
Message: fmt.Sprintf("progress:%d stage:%d repeatreward", req.Chapter, req.Stage),
}
return
}
if awardConfs, ok = this.module.configure.getrewardMap()[awardid]; !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: fmt.Sprintf("no found awardid:%d", awardid),
}
return
}
session.SendMsg(string(this.module.GetType()), "receiveaward", &pb.MainlineReceiveAwardResp{})
return
}

View File

@ -19,10 +19,10 @@ const (
// /配置管理基础组件 // /配置管理基础组件
type configureComp struct { type configureComp struct {
modules.MCompConfigure modules.MCompConfigure
module *Mainline module *Mainline
hlock sync.RWMutex lock sync.RWMutex
chapterMap map[int32][]*cfg.GameMainStageData
_mapMilne map[int32][]int32 // key 章节id value cid rewardMap map[int32][]*cfg.GameMainStarrewardData
} }
// 组件初始化接口 // 组件初始化接口
@ -30,42 +30,94 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
err = this.MCompConfigure.Init(service, module, comp, options) err = this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Mainline) this.module = module.(*Mainline)
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
game_mainchapter: cfg.NewGameMainChapter, game_mainchapter: cfg.NewGameMainChapter,
game_mainstage: cfg.NewGameMainStage,
game_mainstarreward: cfg.NewGameMainStarreward,
}) })
this.chapterMap = make(map[int32][]*cfg.GameMainStageData)
configure.RegisterConfigure(game_mainstage, cfg.NewGameMainStage, this.LoadMlineStage) configure.RegisterConfigure(game_mainstage, cfg.NewGameMainStage, this.updateMlineStage)
configure.RegisterConfigure(game_mainstarreward, cfg.NewGameMainStarreward, this.updateMlineReward)
return return
} }
// 读取配置数据 func (this *configureComp) getchapterMap() map[int32][]*cfg.GameMainStageData {
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) { this.lock.Lock()
return configure.GetConfigure(name) chapterMap := this.chapterMap
this.lock.RUnlock()
return chapterMap
} }
func (this *configureComp) GetMainChapterConf(id int32) (data *cfg.GameMainChapterData) { func (this *configureComp) getrewardMap() map[int32][]*cfg.GameMainStarrewardData {
if v, err := this.GetConfigure(game_mainchapter); err == nil { this.lock.Lock()
if configure, ok := v.(*cfg.GameMainChapter); ok { rewardMap := this.rewardMap
return configure.Get(id) this.lock.RUnlock()
return rewardMap
}
func (this *configureComp) updateMlineStage() {
var (
v interface{}
configure *cfg.GameMainStage
chapterMap map[int32][]*cfg.GameMainStageData
err error
ok bool
)
if v, err = this.GetConfigure(game_mainstage); err == nil {
this.module.Errorln(err)
return
}
if configure, ok = v.(*cfg.GameMainStage); ok {
chapterMap = make(map[int32][]*cfg.GameMainStageData)
for _, v := range configure.GetDataList() {
if _, ok = chapterMap[v.Chapterid]; !ok {
chapterMap[v.Chapterid] = make([]*cfg.GameMainStageData, 0)
}
chapterMap[v.Chapterid] = append(chapterMap[v.Chapterid], v)
} }
} }
this.module.Errorf("GameMainChapterData conf not found key :%d", id) this.lock.Lock()
this.chapterMap = chapterMap
this.lock.Unlock()
return return
} }
func (this *configureComp) GetMainStarRewardConf(boxId int32) (data []*cfg.GameMainStarrewardData) { func (this *configureComp) updateMlineReward() {
if v, err := this.GetConfigure(game_mainstarreward); err == nil { var (
if configure, ok := v.(*cfg.GameMainStarreward); ok { v interface{}
for _, v1 := range configure.GetDataList() { configure *cfg.GameMainStarreward
if v1.Boxid == boxId { rewardMap map[int32][]*cfg.GameMainStarrewardData
data = append(data, v1) err error
} ok bool
)
if v, err = this.GetConfigure(game_mainstarreward); err == nil {
this.module.Errorln(err)
return
}
if configure, ok = v.(*cfg.GameMainStarreward); ok {
rewardMap = make(map[int32][]*cfg.GameMainStarrewardData)
for _, v := range configure.GetDataList() {
if _, ok = rewardMap[v.Boxid]; !ok {
rewardMap[v.Boxid] = make([]*cfg.GameMainStarrewardData, 0)
} }
rewardMap[v.Boxid] = append(rewardMap[v.Boxid], v)
} }
} }
this.lock.Lock()
this.rewardMap = rewardMap
this.lock.Unlock()
return
}
func (this *configureComp) GetMainChapterConf(id int32) (conf *cfg.GameMainChapterData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_mainchapter); err == nil {
this.module.Errorln(err)
return
}
if conf, ok = v.(*cfg.GameMainChapter).GetDataMap()[id]; !ok {
err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_mainchapter, id)
}
return return
} }
@ -84,98 +136,3 @@ func (this *configureComp) GetMainStageConf(id int32) (data *cfg.GameMainStageDa
err = comm.NewNotFoundConfErr(moduleName, game_mainstage, id) err = comm.NewNotFoundConfErr(moduleName, game_mainstage, id)
return return
} }
// 获取上一关卡信息
func (this *configureComp) GetPreMainChapter(stageId int32) (preStageID int32) {
if v, err := this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
for _, v1 := range configure.GetDataList() {
if v1.Previoustage == stageId {
preStageID = v1.Id
break
}
}
}
}
return
}
func (this *configureComp) GetFirstChapterIDByType(iType int32) (conf *cfg.GameMainChapterData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
for _, conf = range configure.GetDataList() {
if conf.ChapterType == iType {
return
}
}
}
}
err = comm.NewNotFoundConfErr(moduleName, game_mainchapter, iType)
return
}
func (this *configureComp) GetFirstStageIDByChapter(chapterID int32) *cfg.GameMainStageData {
if v, err := this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
for _, v := range configure.GetDataList() {
if v.Chapterid == chapterID {
return v
}
}
}
}
return nil
}
// 红点用 获取所有章节数据
func (this *configureComp) GetAllChapterID() (chapter []int32) {
if v, err := this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
for _, v1 := range configure.GetDataList() {
chapter = append(chapter, v1.Id)
}
}
}
return
}
func (this *configureComp) GetAllStageByChapterID(chapterID int32) (stage []int32) {
return this._mapMilne[chapterID]
}
func (this *configureComp) LoadMlineStage() {
if v, err := this.GetConfigure(game_mainstage); err == nil {
if configure, ok := v.(*cfg.GameMainStage); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
this._mapMilne = make(map[int32][]int32)
for _, v1 := range configure.GetDataList() {
this._mapMilne[v1.Chapterid] = append(this._mapMilne[v1.Chapterid], v1.Id)
}
}
}
return
}
// GM 专用 获取这个章节之前的所有章节信息
func (this *configureComp) GMGetPreStage(chapterID int32) (chapter []int32) {
curChapter := this.GetMainChapterConf(chapterID)
if curChapter == nil {
return
}
if v, err := this.GetConfigure(game_mainchapter); err == nil {
if configure, ok := v.(*cfg.GameMainChapter); ok {
for _, conf := range configure.GetDataList() {
if chapterID == conf.Id {
break
}
chapter = append(chapter, conf.Id)
}
}
}
return
}

View File

@ -1,12 +1,14 @@
package mainline package mainline
import ( import (
"fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo" "go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
@ -65,3 +67,91 @@ func (this *ModelMline) updateMainlineData(uid string, data *pb.DBMainline) (err
} }
return return
} }
// 更新主线进度
func (this *ModelMline) updateprogress(data *pb.DBMainline) {
var (
conf *cfg.GameMainStageData
chapteraward map[int32]*pb.DBMainlineAward = make(map[int32]*pb.DBMainlineAward)
exploreaward map[int32]*pb.DBMainlineAward = make(map[int32]*pb.DBMainlineAward)
groupaward map[int32]*pb.DBMainlineAward = make(map[int32]*pb.DBMainlineAward)
err error
ok bool
)
for k, v := range data.Level {
if conf, err = this.module.configure.GetMainStageConf(k); err != nil { // 配置文件校验
this.module.Errorln(err)
return
}
if conf.Progress == 1 {
if _, ok = chapteraward[conf.Chapterid]; !ok {
chapteraward[conf.Chapterid] = &pb.DBMainlineAward{}
}
chapteraward[conf.Chapterid].Stage++
} else {
if _, ok = exploreaward[conf.Chapterid]; !ok && conf.Episodetype != 8 {
exploreaward[conf.Chapterid] = &pb.DBMainlineAward{}
}
exploreaward[conf.Chapterid].Stage++
}
if _, ok = groupaward[conf.GroupId]; !ok {
groupaward[conf.GroupId] = &pb.DBMainlineAward{}
}
for i := 0; i < len(conf.Star); i++ {
if (1<<i)&v > 0 {
groupaward[conf.GroupId].Stage++
}
}
}
for k, v := range chapteraward {
if _, ok = data.Chapteraward[k]; !ok {
data.Chapteraward[k] = v
} else {
data.Chapteraward[k].Stage = v.Stage
}
}
for k, v := range exploreaward {
if _, ok = data.Exploreaward[k]; !ok {
data.Exploreaward[k] = v
} else {
data.Exploreaward[k].Stage = v.Stage
}
}
for k, v := range groupaward {
if _, ok = data.Groupaward[k]; !ok {
data.Groupaward[k] = v
} else {
data.Groupaward[k].Stage = v.Stage
}
}
}
// 校验管卡是否触发
func (this *ModelMline) checklevel(level int32, data *pb.DBMainline) (err error) {
var (
conf *cfg.GameMainStageData
ok bool
)
if conf, err = this.module.configure.GetMainStageConf(level); err != nil { // 配置文件校验
this.module.Errorln(err)
return
}
if conf.Previoustage != 0 {
if _, ok = data.Level[conf.Previoustage]; !ok {
err = fmt.Errorf("previoustage:%d no pass", conf.Previoustage)
return
}
}
if conf.PreviousGroupId != nil && len(conf.PreviousGroupId) > 0 {
for _, gid := range conf.PreviousGroupId {
if _, ok = data.Groupaward[gid]; !ok {
err = fmt.Errorf("PreviousGroupId:%d no pass", gid)
return
}
}
}
return
}

View File

@ -422,8 +422,6 @@ const (
ErrorCode_StonehengeRepeatedSelectBUff ErrorCode = 4902 // 重复选择buff ErrorCode_StonehengeRepeatedSelectBUff ErrorCode = 4902 // 重复选择buff
ErrorCode_StonehengePortalErr ErrorCode = 4903 // 传送门校验不对 ErrorCode_StonehengePortalErr ErrorCode = 4903 // 传送门校验不对
ErrorCode_StonehengeEnterRoomFailed ErrorCode = 4904 // 进入房间失败 ErrorCode_StonehengeEnterRoomFailed ErrorCode = 4904 // 进入房间失败
ErrorCode_StonehengeRepeatedReward ErrorCode = 4905 // 事件重复完成
ErrorCode_StonehengeGotoRoomFailed ErrorCode = 4906 // 进入房间失败
) )
// Enum value maps for ErrorCode. // Enum value maps for ErrorCode.
@ -786,8 +784,6 @@ var (
4902: "StonehengeRepeatedSelectBUff", 4902: "StonehengeRepeatedSelectBUff",
4903: "StonehengePortalErr", 4903: "StonehengePortalErr",
4904: "StonehengeEnterRoomFailed", 4904: "StonehengeEnterRoomFailed",
4905: "StonehengeRepeatedReward",
4906: "StonehengeGotoRoomFailed",
} }
ErrorCode_value = map[string]int32{ ErrorCode_value = map[string]int32{
"Success": 0, "Success": 0,
@ -1147,8 +1143,6 @@ var (
"StonehengeRepeatedSelectBUff": 4902, "StonehengeRepeatedSelectBUff": 4902,
"StonehengePortalErr": 4903, "StonehengePortalErr": 4903,
"StonehengeEnterRoomFailed": 4904, "StonehengeEnterRoomFailed": 4904,
"StonehengeRepeatedReward": 4905,
"StonehengeGotoRoomFailed": 4906,
} }
) )
@ -1183,7 +1177,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, 0xb4, 0x42, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6f, 0x2a, 0xf6, 0x41, 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,
@ -1710,12 +1704,8 @@ var file_errorcode_proto_rawDesc = []byte{
0x12, 0x18, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f,
0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x10, 0xa7, 0x26, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x10, 0xa7, 0x26, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x74,
0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f,
0x6d, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xa8, 0x26, 0x12, 0x1d, 0x0a, 0x18, 0x53, 0x74, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xa8, 0x26, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x6f, 0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa9, 0x26, 0x12, 0x1d, 0x0a, 0x18, 0x53, 0x74, 0x6f,
0x6e, 0x65, 0x68, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x6f, 0x74, 0x6f, 0x52, 0x6f, 0x6f, 0x6d, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xaa, 0x26, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -359,8 +359,7 @@ type MainlineLevelPassReq struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level"` // 小关ID Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level"` // 小关ID
Report *BattleReport `protobuf:"bytes,2,opt,name=report,proto3" json:"report"` //战报
} }
func (x *MainlineLevelPassReq) Reset() { func (x *MainlineLevelPassReq) Reset() {
@ -402,13 +401,6 @@ func (x *MainlineLevelPassReq) GetLevel() int32 {
return 0 return 0
} }
func (x *MainlineLevelPassReq) GetReport() *BattleReport {
if x != nil {
return x.Report
}
return nil
}
type MainlineLevelPassResp struct { type MainlineLevelPassResp struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -488,6 +480,158 @@ func (x *MainlineLevelPassResp) GetHeroExp() int32 {
return 0 return 0
} }
//奖励领取
type MainlineReceiveAwardReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Rtype int32 `protobuf:"varint,1,opt,name=rtype,proto3" json:"rtype"` // 0 进度奖励 1 探索奖励 2组奖励
Chapter int32 `protobuf:"varint,2,opt,name=chapter,proto3" json:"chapter"` //章节id
Group int32 `protobuf:"varint,3,opt,name=group,proto3" json:"group"` //章节id
Stage int32 `protobuf:"varint,4,opt,name=stage,proto3" json:"stage"` //目标阶段
}
func (x *MainlineReceiveAwardReq) Reset() {
*x = MainlineReceiveAwardReq{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_msg_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MainlineReceiveAwardReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MainlineReceiveAwardReq) ProtoMessage() {}
func (x *MainlineReceiveAwardReq) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_msg_proto_msgTypes[8]
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 MainlineReceiveAwardReq.ProtoReflect.Descriptor instead.
func (*MainlineReceiveAwardReq) Descriptor() ([]byte, []int) {
return file_mainline_mainline_msg_proto_rawDescGZIP(), []int{8}
}
func (x *MainlineReceiveAwardReq) GetRtype() int32 {
if x != nil {
return x.Rtype
}
return 0
}
func (x *MainlineReceiveAwardReq) GetChapter() int32 {
if x != nil {
return x.Chapter
}
return 0
}
func (x *MainlineReceiveAwardReq) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *MainlineReceiveAwardReq) GetStage() int32 {
if x != nil {
return x.Stage
}
return 0
}
//奖励领取
type MainlineReceiveAwardResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Rtype int32 `protobuf:"varint,1,opt,name=rtype,proto3" json:"rtype"` // 0 进度奖励 1 探索奖励 2组奖励
Chapter int32 `protobuf:"varint,2,opt,name=chapter,proto3" json:"chapter"` //章节id
Group int32 `protobuf:"varint,3,opt,name=group,proto3" json:"group"` //章节id
Stage int32 `protobuf:"varint,4,opt,name=stage,proto3" json:"stage"` //目标阶段
Reward []*UserAssets `protobuf:"bytes,5,rep,name=reward,proto3" json:"reward"` //奖励
}
func (x *MainlineReceiveAwardResp) Reset() {
*x = MainlineReceiveAwardResp{}
if protoimpl.UnsafeEnabled {
mi := &file_mainline_mainline_msg_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MainlineReceiveAwardResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MainlineReceiveAwardResp) ProtoMessage() {}
func (x *MainlineReceiveAwardResp) ProtoReflect() protoreflect.Message {
mi := &file_mainline_mainline_msg_proto_msgTypes[9]
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 MainlineReceiveAwardResp.ProtoReflect.Descriptor instead.
func (*MainlineReceiveAwardResp) Descriptor() ([]byte, []int) {
return file_mainline_mainline_msg_proto_rawDescGZIP(), []int{9}
}
func (x *MainlineReceiveAwardResp) GetRtype() int32 {
if x != nil {
return x.Rtype
}
return 0
}
func (x *MainlineReceiveAwardResp) GetChapter() int32 {
if x != nil {
return x.Chapter
}
return 0
}
func (x *MainlineReceiveAwardResp) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *MainlineReceiveAwardResp) GetStage() int32 {
if x != nil {
return x.Stage
}
return 0
}
func (x *MainlineReceiveAwardResp) GetReward() []*UserAssets {
if x != nil {
return x.Reward
}
return nil
}
var File_mainline_mainline_msg_proto protoreflect.FileDescriptor var File_mainline_mainline_msg_proto protoreflect.FileDescriptor
var file_mainline_mainline_msg_proto_rawDesc = []byte{ var file_mainline_mainline_msg_proto_rawDesc = []byte{
@ -527,23 +671,38 @@ var file_mainline_mainline_msg_proto_rawDesc = []byte{
0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x18, 0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x18,
0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x12, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x12, 0x18,
0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x22, 0x53, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x22, 0x2c, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e,
0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x71,
0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6e, 0x6c,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x9a, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02,
0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65,
0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12,
0x72, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x06, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72,
0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x6f, 0x45, 0x78, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f,
0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x45, 0x78, 0x70, 0x22, 0x75, 0x0a, 0x17, 0x4d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52,
0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14,
0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x14,
0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x18, 0x4d,
0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x77,
0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
0x07, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a,
0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74,
0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73,
0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -558,7 +717,7 @@ func file_mainline_mainline_msg_proto_rawDescGZIP() []byte {
return file_mainline_mainline_msg_proto_rawDescData return file_mainline_mainline_msg_proto_rawDescData
} }
var file_mainline_mainline_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_mainline_mainline_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_mainline_mainline_msg_proto_goTypes = []interface{}{ var file_mainline_mainline_msg_proto_goTypes = []interface{}{
(*MainlineInfoReq)(nil), // 0: MainlineInfoReq (*MainlineInfoReq)(nil), // 0: MainlineInfoReq
(*MainlineInfoResp)(nil), // 1: MainlineInfoResp (*MainlineInfoResp)(nil), // 1: MainlineInfoResp
@ -568,20 +727,22 @@ var file_mainline_mainline_msg_proto_goTypes = []interface{}{
(*MainlineChallengeOverResp)(nil), // 5: MainlineChallengeOverResp (*MainlineChallengeOverResp)(nil), // 5: MainlineChallengeOverResp
(*MainlineLevelPassReq)(nil), // 6: MainlineLevelPassReq (*MainlineLevelPassReq)(nil), // 6: MainlineLevelPassReq
(*MainlineLevelPassResp)(nil), // 7: MainlineLevelPassResp (*MainlineLevelPassResp)(nil), // 7: MainlineLevelPassResp
(*DBMainline)(nil), // 8: DBMainline (*MainlineReceiveAwardReq)(nil), // 8: MainlineReceiveAwardReq
(*BattleFormation)(nil), // 9: BattleFormation (*MainlineReceiveAwardResp)(nil), // 9: MainlineReceiveAwardResp
(*BattleInfo)(nil), // 10: BattleInfo (*DBMainline)(nil), // 10: DBMainline
(*BattleReport)(nil), // 11: BattleReport (*BattleFormation)(nil), // 11: BattleFormation
(*UserAssets)(nil), // 12: UserAssets (*BattleInfo)(nil), // 12: BattleInfo
(*BattleReport)(nil), // 13: BattleReport
(*UserAssets)(nil), // 14: UserAssets
} }
var file_mainline_mainline_msg_proto_depIdxs = []int32{ var file_mainline_mainline_msg_proto_depIdxs = []int32{
8, // 0: MainlineInfoResp.info:type_name -> DBMainline 10, // 0: MainlineInfoResp.info:type_name -> DBMainline
9, // 1: MainlineChallengeReq.battle:type_name -> BattleFormation 11, // 1: MainlineChallengeReq.battle:type_name -> BattleFormation
10, // 2: MainlineChallengeResp.info:type_name -> BattleInfo 12, // 2: MainlineChallengeResp.info:type_name -> BattleInfo
11, // 3: MainlineChallengeOverReq.report:type_name -> BattleReport 13, // 3: MainlineChallengeOverReq.report:type_name -> BattleReport
12, // 4: MainlineChallengeOverResp.reward:type_name -> UserAssets 14, // 4: MainlineChallengeOverResp.reward:type_name -> UserAssets
11, // 5: MainlineLevelPassReq.report:type_name -> BattleReport 14, // 5: MainlineLevelPassResp.reward:type_name -> UserAssets
12, // 6: MainlineLevelPassResp.reward:type_name -> UserAssets 14, // 6: MainlineReceiveAwardResp.reward:type_name -> UserAssets
7, // [7:7] is the sub-list for method output_type 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 method input_type
7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension type_name
@ -694,6 +855,30 @@ func file_mainline_mainline_msg_proto_init() {
return nil return nil
} }
} }
file_mainline_mainline_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MainlineReceiveAwardReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mainline_mainline_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MainlineReceiveAwardResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
} }
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
@ -701,7 +886,7 @@ func file_mainline_mainline_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mainline_mainline_msg_proto_rawDesc, RawDescriptor: file_mainline_mainline_msg_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 8, NumMessages: 10,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -89,10 +89,10 @@ type DBQuestionGroup struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"` Group int32 `protobuf:"varint,1,opt,name=group,proto3" json:"group"` //ask.xlsx ask_all 组id
Questions []int32 `protobuf:"varint,2,rep,packed,name=questions,proto3" json:"questions"` Questions []int32 `protobuf:"varint,2,rep,packed,name=questions,proto3" json:"questions"` //ask.xlsx ask_library 题目id
Answer []int32 `protobuf:"varint,3,rep,packed,name=answer,proto3" json:"answer"` //采用位运算记录多选情况 0 表示为回答 1,2,4,8 分别表示1,2,3,4的答案的值 Answer []int32 `protobuf:"varint,3,rep,packed,name=answer,proto3" json:"answer"` //采用位运算记录多选情况 0 表示为回答 1,2,4,8 分别表示1,2,3,4的答案的值
Fraction int32 `protobuf:"varint,4,opt,name=fraction,proto3" json:"fraction"` //分值 Fraction int32 `protobuf:"varint,4,opt,name=fraction,proto3" json:"fraction"` //分值
} }
func (x *DBQuestionGroup) Reset() { func (x *DBQuestionGroup) Reset() {

View File

@ -13,12 +13,8 @@ import "errors"
type GameBufflotteryData struct { type GameBufflotteryData struct {
Id int32 Id int32
GroupId int32 GroupId int32
GroupType int32
SubGroupWt int32
SubGroupId int32
SubGroupType int32
BuffID int32 BuffID int32
SubGroupNum int32 GroupNum int32
BuffWt int32 BuffWt int32
TypeWt int32 TypeWt int32
} }
@ -32,12 +28,8 @@ func (*GameBufflotteryData) GetTypeId() int32 {
func (_v *GameBufflotteryData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameBufflotteryData)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["GroupId"].(float64); !_ok_ { err = errors.New("GroupId error"); return }; _v.GroupId = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["GroupId"].(float64); !_ok_ { err = errors.New("GroupId error"); return }; _v.GroupId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["GroupType"].(float64); !_ok_ { err = errors.New("GroupType error"); return }; _v.GroupType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["SubGroupWt"].(float64); !_ok_ { err = errors.New("SubGroupWt error"); return }; _v.SubGroupWt = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["SubGroupId"].(float64); !_ok_ { err = errors.New("SubGroupId error"); return }; _v.SubGroupId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["SubGroupType"].(float64); !_ok_ { err = errors.New("SubGroupType error"); return }; _v.SubGroupType = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buffID"].(float64); !_ok_ { err = errors.New("buffID error"); return }; _v.BuffID = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["buffID"].(float64); !_ok_ { err = errors.New("buffID error"); return }; _v.BuffID = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["SubGroupNum"].(float64); !_ok_ { err = errors.New("SubGroupNum error"); return }; _v.SubGroupNum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["GroupNum"].(float64); !_ok_ { err = errors.New("GroupNum error"); return }; _v.GroupNum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffWt"].(float64); !_ok_ { err = errors.New("BuffWt error"); return }; _v.BuffWt = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffWt"].(float64); !_ok_ { err = errors.New("BuffWt error"); return }; _v.BuffWt = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["TypeWt"].(float64); !_ok_ { err = errors.New("TypeWt error"); return }; _v.TypeWt = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["TypeWt"].(float64); !_ok_ { err = errors.New("TypeWt error"); return }; _v.TypeWt = int32(_tempNum_) }
return return

View File

@ -19,6 +19,7 @@ type GameMainChapterData struct {
Title string Title string
Desc string Desc string
Starreward int32 Starreward int32
Exploreward int32
} }
const TypeId_GameMainChapterData = 2014963746 const TypeId_GameMainChapterData = 2014963746
@ -36,6 +37,7 @@ func (_v *GameMainChapterData)Deserialize(_buf map[string]interface{}) (err erro
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["title"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Title error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Title, _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["title"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Title error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Title, _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["desc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc, _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["desc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starreward"].(float64); !_ok_ { err = errors.New("starreward error"); return }; _v.Starreward = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starreward"].(float64); !_ok_ { err = errors.New("starreward error"); return }; _v.Starreward = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exploreward"].(float64); !_ok_ { err = errors.New("exploreward error"); return }; _v.Exploreward = int32(_tempNum_) }
return return
} }

View File

@ -31,6 +31,7 @@ type GameMainStageData struct {
Progress int32 Progress int32
Frontstoryid int32 Frontstoryid int32
Afterstoryid int32 Afterstoryid int32
MaingroupName string
MainlineName string MainlineName string
Title string Title string
Desc string Desc string
@ -102,6 +103,7 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["progress"].(float64); !_ok_ { err = errors.New("progress error"); return }; _v.Progress = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["progress"].(float64); !_ok_ { err = errors.New("progress error"); return }; _v.Progress = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["frontstoryid"].(float64); !_ok_ { err = errors.New("frontstoryid error"); return }; _v.Frontstoryid = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["frontstoryid"].(float64); !_ok_ { err = errors.New("frontstoryid error"); return }; _v.Frontstoryid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["maingroupName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MaingroupName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MaingroupName, _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["mainlineName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MainlineName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MainlineName, _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["mainlineName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MainlineName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MainlineName, _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["title"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Title error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Title, _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["title"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Title error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Title, _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["desc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc, _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["desc"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Desc error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Desc, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }

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

View File

@ -0,0 +1,66 @@
//------------------------------------------------------------------------------
// <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 GameStoneBattleData struct {
BattleStageId int32
EnemyShowIcon int32
Atk int32
Hp int32
Def int32
SpeedValue int32
EffreValue int32
BattleReadyID int32
FormatList []int32
RewardLottery int32
}
const TypeId_GameStoneBattleData = 469689547
func (*GameStoneBattleData) GetTypeId() int32 {
return 469689547
}
func (_v *GameStoneBattleData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleStageId"].(float64); !_ok_ { err = errors.New("BattleStageId error"); return }; _v.BattleStageId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EnemyShowIcon"].(float64); !_ok_ { err = errors.New("EnemyShowIcon error"); return }; _v.EnemyShowIcon = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Atk"].(float64); !_ok_ { err = errors.New("Atk error"); return }; _v.Atk = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Hp"].(float64); !_ok_ { err = errors.New("Hp error"); return }; _v.Hp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Def"].(float64); !_ok_ { err = errors.New("Def error"); return }; _v.Def = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["SpeedValue"].(float64); !_ok_ { err = errors.New("SpeedValue error"); return }; _v.SpeedValue = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EffreValue"].(float64); !_ok_ { err = errors.New("EffreValue error"); return }; _v.EffreValue = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BattleReadyID"].(float64); !_ok_ { err = errors.New("BattleReadyID error"); return }; _v.BattleReadyID = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["FormatList"].([]interface{}); !_ok_ { err = errors.New("FormatList error"); return }
_v.FormatList = 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.FormatList = append(_v.FormatList, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RewardLottery"].(float64); !_ok_ { err = errors.New("RewardLottery error"); return }; _v.RewardLottery = int32(_tempNum_) }
return
}
func DeserializeGameStoneBattleData(_buf map[string]interface{}) (*GameStoneBattleData, error) {
v := &GameStoneBattleData{}
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 GameStoneBuff struct {
_dataMap map[int32]*GameStoneBuffData
_dataList []*GameStoneBuffData
}
func NewGameStoneBuff(_buf []map[string]interface{}) (*GameStoneBuff, error) {
_dataList := make([]*GameStoneBuffData, 0, len(_buf))
dataMap := make(map[int32]*GameStoneBuffData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameStoneBuffData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.BuffId] = _v
}
}
return &GameStoneBuff{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameStoneBuff) GetDataMap() map[int32]*GameStoneBuffData {
return table._dataMap
}
func (table *GameStoneBuff) GetDataList() []*GameStoneBuffData {
return table._dataList
}
func (table *GameStoneBuff) Get(key int32) *GameStoneBuffData {
return table._dataMap[key]
}

View File

@ -0,0 +1,51 @@
//------------------------------------------------------------------------------
// <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 GameStoneBuffData struct {
BuffId int32
Type int32
SkillId int32
BuffLevel int32
Quality int32
BuffIcon string
BuffStory string
BuffUpgradeCost *Gameatn
BuffSell *Gameatn
}
const TypeId_GameStoneBuffData = -1457644250
func (*GameStoneBuffData) GetTypeId() int32 {
return -1457644250
}
func (_v *GameStoneBuffData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffId"].(float64); !_ok_ { err = errors.New("BuffId error"); return }; _v.BuffId = 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["SkillId"].(float64); !_ok_ { err = errors.New("SkillId error"); return }; _v.SkillId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BuffLevel"].(float64); !_ok_ { err = errors.New("BuffLevel error"); return }; _v.BuffLevel = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Quality"].(float64); !_ok_ { err = errors.New("Quality error"); return }; _v.Quality = int32(_tempNum_) }
{ var _ok_ bool; if _v.BuffIcon, _ok_ = _buf["BuffIcon"].(string); !_ok_ { err = errors.New("BuffIcon error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["BuffStory"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.BuffStory error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.BuffStory, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffUpgradeCost"].(map[string]interface{}); !_ok_ { err = errors.New("BuffUpgradeCost error"); return }; if _v.BuffUpgradeCost, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["BuffSell"].(map[string]interface{}); !_ok_ { err = errors.New("BuffSell error"); return }; if _v.BuffSell, err = DeserializeGameatn(_x_); err != nil { return } }
return
}
func DeserializeGameStoneBuffData(_buf map[string]interface{}) (*GameStoneBuffData, error) {
v := &GameStoneBuffData{}
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 GameStoneEvent struct {
_dataMap map[int32]*GameStoneEventData
_dataList []*GameStoneEventData
}
func NewGameStoneEvent(_buf []map[string]interface{}) (*GameStoneEvent, error) {
_dataList := make([]*GameStoneEventData, 0, len(_buf))
dataMap := make(map[int32]*GameStoneEventData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameStoneEventData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.EventId] = _v
}
}
return &GameStoneEvent{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameStoneEvent) GetDataMap() map[int32]*GameStoneEventData {
return table._dataMap
}
func (table *GameStoneEvent) GetDataList() []*GameStoneEventData {
return table._dataList
}
func (table *GameStoneEvent) Get(key int32) *GameStoneEventData {
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 GameStoneEventData struct {
EventId int32
EventTitle string
EventType int32
EventResource string
Value1 int32
Value2 int32
Value3 int32
Value4 int32
CostItem []*Gameatn
PostEvent int32
Probability int32
}
const TypeId_GameStoneEventData = 2058059771
func (*GameStoneEventData) GetTypeId() int32 {
return 2058059771
}
func (_v *GameStoneEventData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventId"].(float64); !_ok_ { err = errors.New("EventId error"); return }; _v.EventId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["EventTitle"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.EventTitle error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.EventTitle, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventType"].(float64); !_ok_ { err = errors.New("EventType error"); return }; _v.EventType = int32(_tempNum_) }
{ var _ok_ bool; if _v.EventResource, _ok_ = _buf["EventResource"].(string); !_ok_ { err = errors.New("EventResource error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Value1"].(float64); !_ok_ { err = errors.New("Value1 error"); return }; _v.Value1 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Value2"].(float64); !_ok_ { err = errors.New("Value2 error"); return }; _v.Value2 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Value3"].(float64); !_ok_ { err = errors.New("Value3 error"); return }; _v.Value3 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Value4"].(float64); !_ok_ { err = errors.New("Value4 error"); return }; _v.Value4 = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["CostItem"].([]interface{}); !_ok_ { err = errors.New("CostItem error"); return }
_v.CostItem = 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.CostItem = append(_v.CostItem, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PostEvent"].(float64); !_ok_ { err = errors.New("PostEvent error"); return }; _v.PostEvent = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
return
}
func DeserializeGameStoneEventData(_buf map[string]interface{}) (*GameStoneEventData, error) {
v := &GameStoneEventData{}
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 GameStoneRoom struct {
_dataMap map[int32]*GameStoneRoomData
_dataList []*GameStoneRoomData
}
func NewGameStoneRoom(_buf []map[string]interface{}) (*GameStoneRoom, error) {
_dataList := make([]*GameStoneRoomData, 0, len(_buf))
dataMap := make(map[int32]*GameStoneRoomData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameStoneRoomData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.RoomId] = _v
}
}
return &GameStoneRoom{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameStoneRoom) GetDataMap() map[int32]*GameStoneRoomData {
return table._dataMap
}
func (table *GameStoneRoom) GetDataList() []*GameStoneRoomData {
return table._dataList
}
func (table *GameStoneRoom) Get(key int32) *GameStoneRoomData {
return table._dataMap[key]
}

View File

@ -0,0 +1,55 @@
//------------------------------------------------------------------------------
// <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 GameStoneRoomData struct {
RoomId int32
RoomName string
SceneName string
PortalName string
EventrewardGroup int32
EventBattleGroup int32
EventStoryNpcGroup int32
EventTreasureGroup int32
EventStoreGroup int32
BossEvent int32
Condition int32
}
const TypeId_GameStoneRoomData = -108410450
func (*GameStoneRoomData) GetTypeId() int32 {
return -108410450
}
func (_v *GameStoneRoomData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RoomId"].(float64); !_ok_ { err = errors.New("RoomId error"); return }; _v.RoomId = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["RoomName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.RoomName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.RoomName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.SceneName, _ok_ = _buf["SceneName"].(string); !_ok_ { err = errors.New("SceneName error"); return } }
{ var _ok_ bool; if _v.PortalName, _ok_ = _buf["PortalName"].(string); !_ok_ { err = errors.New("PortalName error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventrewardGroup"].(float64); !_ok_ { err = errors.New("EventrewardGroup error"); return }; _v.EventrewardGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventBattleGroup"].(float64); !_ok_ { err = errors.New("EventBattleGroup error"); return }; _v.EventBattleGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventStoryNpcGroup"].(float64); !_ok_ { err = errors.New("EventStoryNpcGroup error"); return }; _v.EventStoryNpcGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventTreasureGroup"].(float64); !_ok_ { err = errors.New("EventTreasureGroup error"); return }; _v.EventTreasureGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EventStoreGroup"].(float64); !_ok_ { err = errors.New("EventStoreGroup error"); return }; _v.EventStoreGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BossEvent"].(float64); !_ok_ { err = errors.New("BossEvent error"); return }; _v.BossEvent = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Condition"].(float64); !_ok_ { err = errors.New("Condition error"); return }; _v.Condition = int32(_tempNum_) }
return
}
func DeserializeGameStoneRoomData(_buf map[string]interface{}) (*GameStoneRoomData, error) {
v := &GameStoneRoomData{}
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 GameStoneStage struct {
_dataMap map[int32]*GameStoneStageData
_dataList []*GameStoneStageData
}
func NewGameStoneStage(_buf []map[string]interface{}) (*GameStoneStage, error) {
_dataList := make([]*GameStoneStageData, 0, len(_buf))
dataMap := make(map[int32]*GameStoneStageData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameStoneStageData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameStoneStage{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameStoneStage) GetDataMap() map[int32]*GameStoneStageData {
return table._dataMap
}
func (table *GameStoneStage) GetDataList() []*GameStoneStageData {
return table._dataList
}
func (table *GameStoneStage) Get(key int32) *GameStoneStageData {
return table._dataMap[key]
}

View File

@ -0,0 +1,102 @@
//------------------------------------------------------------------------------
// <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 GameStoneStageData struct {
Id int32
StageId int32
PreviouStage int32
StageName string
RoomId int32
RoomGroup int32
PortalGroup int32
Rewardpreview []*Gameatn
TreasurePreview []*Gameatn
FirstReward []*Gameatn
WeeklyPointPreview int32
WeeklyPoint *Gameatn
TalentItem *Gameatn
ReferenceLevel int32
StageValue int32
}
const TypeId_GameStoneStageData = -431423905
func (*GameStoneStageData) GetTypeId() int32 {
return -431423905
}
func (_v *GameStoneStageData)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["StageId"].(float64); !_ok_ { err = errors.New("StageId error"); return }; _v.StageId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PreviouStage"].(float64); !_ok_ { err = errors.New("PreviouStage error"); return }; _v.PreviouStage = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["StageName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.StageName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.StageName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RoomId"].(float64); !_ok_ { err = errors.New("RoomId error"); return }; _v.RoomId = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["RoomGroup"].(float64); !_ok_ { err = errors.New("RoomGroup error"); return }; _v.RoomGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PortalGroup"].(float64); !_ok_ { err = errors.New("PortalGroup error"); return }; _v.PortalGroup = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["rewardpreview"].([]interface{}); !_ok_ { err = errors.New("rewardpreview error"); return }
_v.Rewardpreview = 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.Rewardpreview = append(_v.Rewardpreview, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["TreasurePreview"].([]interface{}); !_ok_ { err = errors.New("TreasurePreview error"); return }
_v.TreasurePreview = 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.TreasurePreview = append(_v.TreasurePreview, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["FirstReward"].([]interface{}); !_ok_ { err = errors.New("FirstReward error"); return }
_v.FirstReward = 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.FirstReward = append(_v.FirstReward, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["WeeklyPointPreview"].(float64); !_ok_ { err = errors.New("WeeklyPointPreview error"); return }; _v.WeeklyPointPreview = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["WeeklyPoint"].(map[string]interface{}); !_ok_ { err = errors.New("WeeklyPoint error"); return }; if _v.WeeklyPoint, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["TalentItem"].(map[string]interface{}); !_ok_ { err = errors.New("TalentItem error"); return }; if _v.TalentItem, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ReferenceLevel"].(float64); !_ok_ { err = errors.New("ReferenceLevel error"); return }; _v.ReferenceLevel = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["StageValue"].(float64); !_ok_ { err = errors.New("StageValue error"); return }; _v.StageValue = int32(_tempNum_) }
return
}
func DeserializeGameStoneStageData(_buf map[string]interface{}) (*GameStoneStageData, error) {
v := &GameStoneStageData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -12,8 +12,8 @@ import "errors"
type GameTrendChoseData struct { type GameTrendChoseData struct {
Key int32 Key int32
Lv int32
TaskstarID int32 TaskstarID int32
Lv int32
TaskendID int32 TaskendID int32
Npc []string Npc []string
Chosetxt string Chosetxt string
@ -22,6 +22,7 @@ type GameTrendChoseData struct {
Get []*Gameatn Get []*Gameatn
Lose []*Gameatn Lose []*Gameatn
Jump int32 Jump int32
Num int32
} }
const TypeId_GameTrendChoseData = -2145177947 const TypeId_GameTrendChoseData = -2145177947
@ -32,8 +33,8 @@ func (*GameTrendChoseData) GetTypeId() int32 {
func (_v *GameTrendChoseData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameTrendChoseData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ 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["taskstarID"].(float64); !_ok_ { err = errors.New("taskstarID error"); return }; _v.TaskstarID = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskstarID"].(float64); !_ok_ { err = errors.New("taskstarID error"); return }; _v.TaskstarID = int32(_tempNum_) }
{ 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["taskendID"].(float64); !_ok_ { err = errors.New("taskendID error"); return }; _v.TaskendID = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskendID"].(float64); !_ok_ { err = errors.New("taskendID error"); return }; _v.TaskendID = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}
@ -81,6 +82,7 @@ func (_v *GameTrendChoseData)Deserialize(_buf map[string]interface{}) (err error
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["jump"].(float64); !_ok_ { err = errors.New("jump error"); return }; _v.Jump = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["jump"].(float64); !_ok_ { err = errors.New("jump error"); return }; _v.Jump = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
return return
} }

View File

@ -24,6 +24,8 @@ type GameWorldTaskData struct {
TaskName string TaskName string
TaskDetails string TaskDetails string
Npctxt string Npctxt string
GetItem []*Gameatn
Trigger int32
Npc int32 Npc int32
Completetask []int32 Completetask []int32
DeliverNpc int32 DeliverNpc int32
@ -54,6 +56,21 @@ 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_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_details"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskDetails error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskDetails, _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_details"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskDetails error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskDetails, _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 __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 _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["get_item"].([]interface{}); !_ok_ { err = errors.New("get_item error"); return }
_v.GetItem = 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.GetItem = append(_v.GetItem, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["trigger"].(float64); !_ok_ { err = errors.New("trigger error"); return }; _v.Trigger = 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 _tempNum_ float64; if _tempNum_, _ok_ = _buf["npc"].(float64); !_ok_ { err = errors.New("npc error"); return }; _v.Npc = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}

View File

@ -203,10 +203,11 @@ type Tables struct {
Roomlottery *GameRoomlottery Roomlottery *GameRoomlottery
Bufflottery *GameBufflottery Bufflottery *GameBufflottery
Eventlottery *GameEventlottery Eventlottery *GameEventlottery
StroneBuff *GameStroneBuff StoneBuff *GameStoneBuff
StroneRoom *GameStroneRoom StoneRoom *GameStoneRoom
StroneStage *GameStroneStage StoneStage *GameStoneStage
StroneEvent *GameStroneEvent StoneEvent *GameStoneEvent
StoneBattle *GameStoneBattle
GameSummaryTab *GameGameSummaryTab GameSummaryTab *GameGameSummaryTab
GameSummary *GameGameSummary GameSummary *GameGameSummary
CompositeAll *GameCompositeAll CompositeAll *GameCompositeAll
@ -1369,28 +1370,34 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.Eventlottery, err = NewGameEventlottery(buf) ; err != nil { if tables.Eventlottery, err = NewGameEventlottery(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_stronebuff") ; err != nil { if buf, err = loader("game_stonebuff") ; err != nil {
return nil, err return nil, err
} }
if tables.StroneBuff, err = NewGameStroneBuff(buf) ; err != nil { if tables.StoneBuff, err = NewGameStoneBuff(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_stroneroom") ; err != nil { if buf, err = loader("game_stoneroom") ; err != nil {
return nil, err return nil, err
} }
if tables.StroneRoom, err = NewGameStroneRoom(buf) ; err != nil { if tables.StoneRoom, err = NewGameStoneRoom(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_stronestage") ; err != nil { if buf, err = loader("game_stonestage") ; err != nil {
return nil, err return nil, err
} }
if tables.StroneStage, err = NewGameStroneStage(buf) ; err != nil { if tables.StoneStage, err = NewGameStoneStage(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_stroneevent") ; err != nil { if buf, err = loader("game_stoneevent") ; err != nil {
return nil, err return nil, err
} }
if tables.StroneEvent, err = NewGameStroneEvent(buf) ; err != nil { if tables.StoneEvent, err = NewGameStoneEvent(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_stonebattle") ; err != nil {
return nil, err
}
if tables.StoneBattle, err = NewGameStoneBattle(buf) ; err != nil {
return nil, err return nil, err
} }
if buf, err = loader("game_gamesummarytab") ; err != nil { if buf, err = loader("game_gamesummarytab") ; err != nil {