update config

This commit is contained in:
wh_zcy 2022-08-24 16:51:56 +08:00
parent 6aa7f18d92
commit 3edbb71e97
34 changed files with 4562 additions and 20950 deletions

View File

@ -142,6 +142,10 @@
], ],
"viking_num": 10, "viking_num": 10,
"viking_reset": 1, "viking_reset": 1,
"kungfu_time": 30 "kungfu_time": 30,
"dreamland_fightnum": 30,
"dreamland_resettime": 0,
"dreamland_limit": 3600,
"dreamland_pro": 100
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -13,7 +13,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 60, "exp": 60,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln1", "key": "gourmet_ln1",
@ -33,7 +33,9 @@
"t": "10002", "t": "10002",
"n": 1 "n": 1
} }
] ],
"display": 1000,
"probability": 1000
}, },
{ {
"level": 2, "level": 2,
@ -49,7 +51,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 120, "exp": 120,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln2", "key": "gourmet_ln2",
@ -69,7 +71,9 @@
"t": "10002", "t": "10002",
"n": 2 "n": 2
} }
] ],
"display": 980,
"probability": 980
}, },
{ {
"level": 3, "level": 3,
@ -85,7 +89,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 240, "exp": 240,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln3", "key": "gourmet_ln3",
@ -105,7 +109,9 @@
"t": "10002", "t": "10002",
"n": 3 "n": 3
} }
] ],
"display": 960,
"probability": 960
}, },
{ {
"level": 4, "level": 4,
@ -121,7 +127,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 480, "exp": 480,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln4", "key": "gourmet_ln4",
@ -141,7 +147,9 @@
"t": "10002", "t": "10002",
"n": 4 "n": 4
} }
] ],
"display": 940,
"probability": 940
}, },
{ {
"level": 5, "level": 5,
@ -157,7 +165,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 1020, "exp": 1020,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln5", "key": "gourmet_ln5",
@ -177,7 +185,9 @@
"t": "10002", "t": "10002",
"n": 5 "n": 5
} }
] ],
"display": 920,
"probability": 920
}, },
{ {
"level": 6, "level": 6,
@ -193,7 +203,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 1080, "exp": 1080,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln6", "key": "gourmet_ln6",
@ -213,7 +223,9 @@
"t": "10002", "t": "10002",
"n": 6 "n": 6
} }
] ],
"display": 900,
"probability": 900
}, },
{ {
"level": 7, "level": 7,
@ -229,7 +241,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 1200, "exp": 1200,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln7", "key": "gourmet_ln7",
@ -249,7 +261,9 @@
"t": "10002", "t": "10002",
"n": 7 "n": 7
} }
] ],
"display": 880,
"probability": 880
}, },
{ {
"level": 8, "level": 8,
@ -265,7 +279,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 1440, "exp": 1440,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln8", "key": "gourmet_ln8",
@ -285,7 +299,9 @@
"t": "10002", "t": "10002",
"n": 8 "n": 8
} }
] ],
"display": 860,
"probability": 860
}, },
{ {
"level": 9, "level": 9,
@ -301,7 +317,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 1980, "exp": 1980,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln9", "key": "gourmet_ln9",
@ -321,7 +337,9 @@
"t": "10002", "t": "10002",
"n": 9 "n": 9
} }
] ],
"display": 840,
"probability": 840
}, },
{ {
"level": 10, "level": 10,
@ -337,7 +355,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 2040, "exp": 2040,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln10", "key": "gourmet_ln10",
@ -357,7 +375,9 @@
"t": "10002", "t": "10002",
"n": 10 "n": 10
} }
] ],
"display": 820,
"probability": 820
}, },
{ {
"level": 11, "level": 11,
@ -373,7 +393,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 2160, "exp": 2160,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln11", "key": "gourmet_ln11",
@ -393,7 +413,9 @@
"t": "10002", "t": "10002",
"n": 11 "n": 11
} }
] ],
"display": 800,
"probability": 800
}, },
{ {
"level": 12, "level": 12,
@ -409,7 +431,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 2400, "exp": 2400,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln12", "key": "gourmet_ln12",
@ -429,7 +451,9 @@
"t": "10002", "t": "10002",
"n": 12 "n": 12
} }
] ],
"display": 780,
"probability": 780
}, },
{ {
"level": 13, "level": 13,
@ -445,7 +469,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 2940, "exp": 2940,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln13", "key": "gourmet_ln13",
@ -465,7 +489,9 @@
"t": "10002", "t": "10002",
"n": 13 "n": 13
} }
] ],
"display": 760,
"probability": 760
}, },
{ {
"level": 14, "level": 14,
@ -481,7 +507,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 3000, "exp": 3000,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln14", "key": "gourmet_ln14",
@ -501,7 +527,9 @@
"t": "10002", "t": "10002",
"n": 14 "n": 14
} }
] ],
"display": 740,
"probability": 740
}, },
{ {
"level": 15, "level": 15,
@ -517,7 +545,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 3120, "exp": 3120,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln15", "key": "gourmet_ln15",
@ -537,7 +565,9 @@
"t": "10002", "t": "10002",
"n": 15 "n": 15
} }
] ],
"display": 720,
"probability": 720
}, },
{ {
"level": 16, "level": 16,
@ -553,7 +583,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 3360, "exp": 3360,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln16", "key": "gourmet_ln16",
@ -573,7 +603,9 @@
"t": "10002", "t": "10002",
"n": 16 "n": 16
} }
] ],
"display": 700,
"probability": 700
}, },
{ {
"level": 17, "level": 17,
@ -589,7 +621,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 3900, "exp": 3900,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln17", "key": "gourmet_ln17",
@ -609,7 +641,9 @@
"t": "10002", "t": "10002",
"n": 17 "n": 17
} }
] ],
"display": 680,
"probability": 680
}, },
{ {
"level": 18, "level": 18,
@ -625,7 +659,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 3960, "exp": 3960,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln18", "key": "gourmet_ln18",
@ -645,7 +679,9 @@
"t": "10002", "t": "10002",
"n": 18 "n": 18
} }
] ],
"display": 660,
"probability": 660
}, },
{ {
"level": 19, "level": 19,
@ -661,7 +697,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 4080, "exp": 4080,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln19", "key": "gourmet_ln19",
@ -681,7 +717,9 @@
"t": "10002", "t": "10002",
"n": 19 "n": 19
} }
] ],
"display": 640,
"probability": 640
}, },
{ {
"level": 20, "level": 20,
@ -697,7 +735,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 4320, "exp": 4320,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln20", "key": "gourmet_ln20",
@ -717,7 +755,9 @@
"t": "10002", "t": "10002",
"n": 20 "n": 20
} }
] ],
"display": 620,
"probability": 620
}, },
{ {
"level": 21, "level": 21,
@ -733,7 +773,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 4860, "exp": 4860,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln21", "key": "gourmet_ln21",
@ -753,7 +793,9 @@
"t": "10002", "t": "10002",
"n": 21 "n": 21
} }
] ],
"display": 600,
"probability": 600
}, },
{ {
"level": 22, "level": 22,
@ -769,7 +811,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 4920, "exp": 4920,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln22", "key": "gourmet_ln22",
@ -789,7 +831,9 @@
"t": "10002", "t": "10002",
"n": 22 "n": 22
} }
] ],
"display": 580,
"probability": 580
}, },
{ {
"level": 23, "level": 23,
@ -805,7 +849,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 5040, "exp": 5040,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln23", "key": "gourmet_ln23",
@ -825,7 +869,9 @@
"t": "10002", "t": "10002",
"n": 23 "n": 23
} }
] ],
"display": 560,
"probability": 560
}, },
{ {
"level": 24, "level": 24,
@ -841,7 +887,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 5280, "exp": 5280,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln24", "key": "gourmet_ln24",
@ -861,7 +907,9 @@
"t": "10002", "t": "10002",
"n": 24 "n": 24
} }
] ],
"display": 540,
"probability": 540
}, },
{ {
"level": 25, "level": 25,
@ -877,7 +925,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 5820, "exp": 5820,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln25", "key": "gourmet_ln25",
@ -897,7 +945,9 @@
"t": "10002", "t": "10002",
"n": 25 "n": 25
} }
] ],
"display": 520,
"probability": 520
}, },
{ {
"level": 26, "level": 26,
@ -913,7 +963,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 5880, "exp": 5880,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln26", "key": "gourmet_ln26",
@ -933,7 +983,9 @@
"t": "10002", "t": "10002",
"n": 26 "n": 26
} }
] ],
"display": 500,
"probability": 500
}, },
{ {
"level": 27, "level": 27,
@ -949,7 +1001,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 6000, "exp": 6000,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln27", "key": "gourmet_ln27",
@ -969,7 +1021,9 @@
"t": "10002", "t": "10002",
"n": 27 "n": 27
} }
] ],
"display": 480,
"probability": 480
}, },
{ {
"level": 28, "level": 28,
@ -985,7 +1039,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 6240, "exp": 6240,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln28", "key": "gourmet_ln28",
@ -1005,7 +1059,9 @@
"t": "10002", "t": "10002",
"n": 28 "n": 28
} }
] ],
"display": 460,
"probability": 460
}, },
{ {
"level": 29, "level": 29,
@ -1021,7 +1077,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 6780, "exp": 6780,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln29", "key": "gourmet_ln29",
@ -1041,7 +1097,9 @@
"t": "10002", "t": "10002",
"n": 29 "n": 29
} }
] ],
"display": 440,
"probability": 440
}, },
{ {
"level": 30, "level": 30,
@ -1057,7 +1115,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 6840, "exp": 6840,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln30", "key": "gourmet_ln30",
@ -1077,7 +1135,9 @@
"t": "10002", "t": "10002",
"n": 30 "n": 30
} }
] ],
"display": 420,
"probability": 420
}, },
{ {
"level": 31, "level": 31,
@ -1093,7 +1153,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 6960, "exp": 6960,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln31", "key": "gourmet_ln31",
@ -1113,7 +1173,9 @@
"t": "10002", "t": "10002",
"n": 31 "n": 31
} }
] ],
"display": 400,
"probability": 400
}, },
{ {
"level": 32, "level": 32,
@ -1129,7 +1191,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 7200, "exp": 7200,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln32", "key": "gourmet_ln32",
@ -1149,7 +1211,9 @@
"t": "10002", "t": "10002",
"n": 32 "n": 32
} }
] ],
"display": 380,
"probability": 380
}, },
{ {
"level": 33, "level": 33,
@ -1165,7 +1229,7 @@
"text": "鹤大师" "text": "鹤大师"
}, },
"exp": 7740, "exp": 7740,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln33", "key": "gourmet_ln33",
@ -1185,7 +1249,9 @@
"t": "10002", "t": "10002",
"n": 33 "n": 33
} }
] ],
"display": 360,
"probability": 360
}, },
{ {
"level": 34, "level": 34,
@ -1201,7 +1267,7 @@
"text": "悍娇虎" "text": "悍娇虎"
}, },
"exp": 7800, "exp": 7800,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln34", "key": "gourmet_ln34",
@ -1221,7 +1287,9 @@
"t": "10002", "t": "10002",
"n": 34 "n": 34
} }
] ],
"display": 340,
"probability": 340
}, },
{ {
"level": 35, "level": 35,
@ -1237,7 +1305,7 @@
"text": "浣熊" "text": "浣熊"
}, },
"exp": 7920, "exp": 7920,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln35", "key": "gourmet_ln35",
@ -1257,7 +1325,9 @@
"t": "10002", "t": "10002",
"n": 35 "n": 35
} }
] ],
"display": 320,
"probability": 320
}, },
{ {
"level": 36, "level": 36,
@ -1273,7 +1343,7 @@
"text": "乌龟大师" "text": "乌龟大师"
}, },
"exp": 8160, "exp": 8160,
"model": 35001, "model": "35001",
"ornament": "", "ornament": "",
"affix": { "affix": {
"key": "gourmet_ln36", "key": "gourmet_ln36",
@ -1293,6 +1363,8 @@
"t": "10002", "t": "10002",
"n": 36 "n": 36
} }
] ],
"display": 300,
"probability": 300
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -7,9 +7,9 @@
"condition": [ "condition": [
101 101
], ],
"nextTid": 100101,
"CD": 0, "CD": 0,
"objType": 1, "objType": 1,
"point": "model_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [ "chooseId": [
@ -28,7 +28,8 @@
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"nextTid": 100101
}, },
{ {
"id": 100101, "id": 100101,
@ -39,9 +40,9 @@
101, 101,
102 102
], ],
"nextTid": 100102,
"CD": 0, "CD": 0,
"objType": 2, "objType": 2,
"point": "icon_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [ "chooseId": [
@ -60,7 +61,8 @@
"t": "gold", "t": "gold",
"n": 1500 "n": 1500
} }
] ],
"nextTid": 100102
}, },
{ {
"id": 100102, "id": 100102,
@ -71,9 +73,9 @@
101, 101,
103 103
], ],
"nextTid": 100103,
"CD": 0, "CD": 0,
"objType": 1, "objType": 1,
"point": "model_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [], "chooseId": [],
@ -88,7 +90,8 @@
"t": "gold", "t": "gold",
"n": 1500 "n": 1500
} }
] ],
"nextTid": 100103
}, },
{ {
"id": 100103, "id": 100103,
@ -99,9 +102,9 @@
101, 101,
103 103
], ],
"nextTid": 100104,
"CD": 0, "CD": 0,
"objType": 1, "objType": 1,
"point": "model_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [], "chooseId": [],
@ -116,7 +119,8 @@
"t": "gold", "t": "gold",
"n": 1500 "n": 1500
} }
] ],
"nextTid": 100104
}, },
{ {
"id": 100104, "id": 100104,
@ -127,9 +131,9 @@
104, 104,
105 105
], ],
"nextTid": 100105,
"CD": 0, "CD": 0,
"objType": 1, "objType": 1,
"point": "model_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [], "chooseId": [],
@ -144,7 +148,8 @@
"t": "gold", "t": "gold",
"n": 1500 "n": 1500
} }
] ],
"nextTid": 100105
}, },
{ {
"id": 100105, "id": 100105,
@ -154,9 +159,9 @@
"condition": [ "condition": [
106 106
], ],
"nextTid": 0,
"CD": 0, "CD": 0,
"objType": 1, "objType": 1,
"point": "model_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [ "chooseId": [
@ -174,7 +179,8 @@
"t": "gold", "t": "gold",
"n": 1500 "n": 1500
} }
] ],
"nextTid": 0
}, },
{ {
"id": 100106, "id": 100106,
@ -184,9 +190,9 @@
"condition": [ "condition": [
107 107
], ],
"nextTid": 100101,
"CD": 1, "CD": 1,
"objType": 1, "objType": 1,
"point": "model_01",
"storyBegin": 3, "storyBegin": 3,
"storyEnd": 0, "storyEnd": 0,
"chooseId": [], "chooseId": [],
@ -201,6 +207,7 @@
"t": "gold", "t": "gold",
"n": 1500 "n": 1500
} }
] ],
"nextTid": 100101
} }
] ]

View File

@ -3,72 +3,72 @@
"id": 10001, "id": 10001,
"num": 1, "num": 1,
"preTid": 0, "preTid": 0,
"endTid": 109,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 105
}, },
{ {
"id": 10002, "id": 10002,
"num": 2, "num": 2,
"preTid": 107, "preTid": 107,
"endTid": 0,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 0
}, },
{ {
"id": 10003, "id": 10003,
"num": 3, "num": 3,
"preTid": 0, "preTid": 0,
"endTid": 0,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 0
}, },
{ {
"id": 10011, "id": 10011,
"num": 1, "num": 1,
"preTid": 0, "preTid": 0,
"endTid": 109,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 105
}, },
{ {
"id": 10012, "id": 10012,
"num": 2, "num": 2,
"preTid": 107, "preTid": 107,
"endTid": 109,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 105
}, },
{ {
"id": 10013, "id": 10013,
"num": 3, "num": 3,
"preTid": 0, "preTid": 0,
"endTid": 0,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 0
}, },
{ {
"id": 10021, "id": 10021,
"num": 1, "num": 1,
"preTid": 107, "preTid": 107,
"endTid": 109,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 105
}, },
{ {
"id": 10022, "id": 10022,
"num": 2, "num": 2,
"preTid": 0, "preTid": 0,
"endTid": 0,
"needItem": [ "needItem": [
0 0
] ],
"endTid": 0
} }
] ]

View File

@ -2,7 +2,7 @@
{ {
"id": 101, "id": 101,
"type": 1, "type": 1,
"data1": 25004, "data1": 90001,
"data2": 0, "data2": 0,
"data3": 0 "data3": 0
}, },
@ -54,12 +54,5 @@
"data1": 90001, "data1": 90001,
"data2": 5, "data2": 5,
"data3": 0 "data3": 0
},
{
"id": 109,
"type": 7,
"data1": 90001,
"data2": 3,
"data3": 0
} }
] ]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,730 +1,111 @@
[ [
{
"Id": 490001001,
"Desc": "免疫",
"When": "SufEff",
"Where": "Target=3,Eff1,EffID=101",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [
"302"
],
"RelyTags": [],
"NoRelyTags": [
"402"
]
},
{ {
"Id": 490067001, "Id": 490067001,
"Desc": "被动1 每回合行动前对敌方全体造成80%攻击力伤害",
"When": "RouFro", "When": "RouFro",
"Where": "Target=3", "Where": "Target=3",
"AddCon": [], "AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": [
"SameID": false, 225004115
"Tags": [], ]
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 490068001, "Id": 490068001,
"Desc": "被动1 每回合行动前对敌方全体造成80%攻击力伤害",
"When": "RouFro", "When": "RouFro",
"Where": "Target=3", "Where": "Target=3",
"AddCon": [], "AddCon": [
"hpproless=500"
],
"PasPr": 500,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": [
"SameID": false, 225004115
"Tags": [], ]
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 490069001, "Id": 425004311,
"Desc": "每次攻击前对敌方全体造成80%攻击力伤害", "When": "RouFro",
"When": "EffFro", "Where": "4",
"Where": "Target=3,Eff1,EffID=101",
"AddCon": [], "AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": [
"SameID": false, 225004314,
"Tags": [], 225004315
"RelyTags": [], ]
"NoRelyTags": []
}, },
{ {
"Id": 490070001, "Id": 435002211,
"Desc": "每次受到攻击前对敌方全体造成80%攻击力伤害", "When": "SkillStart",
"When": "SufEffFro", "Where": "2",
"Where": "Target=3,Eff1,EffID=101",
"AddCon": [], "AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": [
"SameID": false, 235002213
"Tags": [], ]
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 490071001, "Id": 434006211,
"Desc": "暴击时回复自身5%最大生命值血量",
"When": "CriCal",
"Where": "Target=3,CriRely=1,TesLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490072001,
"Desc": "被暴击时回复自身5%最大生命值血量",
"When": "CovCriCal",
"Where": "Target=3,CriRely=1,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490073001,
"Desc": "受到致死伤害后免除死亡每场战斗最多1次",
"When": "SufDmg",
"Where": "Target=3,LetDmg=1,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490074001,
"Desc": "击破护盾时对敌方全体造成80%攻击力伤害",
"When": "BreShield",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490075001,
"Desc": "护盾被击破时对敌方全体造成80%攻击力伤害",
"When": "ShieldBro",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490076001,
"Desc": "攻击时对敌方全体造成80%攻击力伤害",
"When": "ImpEff", "When": "ImpEff",
"Where": "Target=3,Eff1,EffID=101,TriLim=1", "Where": "2",
"AddCon": [], "AddCon": [
"EffID=390002003"
],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": [
"SameID": false, 934006214
"Tags": [], ]
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 490077001, "Id": 425001211,
"Desc": "受到攻击时对敌方全体造成80%攻击力伤害",
"When": "SufEff",
"Where": "Target=3,Eff1,EffID=101,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490078001,
"Desc": "击杀敌人后对敌方全体造成80%攻击力伤害",
"When": "Kill",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490079001,
"Desc": "死亡后,立即复活",
"When": "Dead",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490080001,
"Desc": "复活后对敌方全体造成80%攻击力伤害",
"When": "Resurrection",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490081001,
"Desc": "BUFF结束对敌方全体造成80%攻击力伤害",
"When": "BuffEnd",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490082001,
"Desc": "回合结束后对敌方全体造成80%攻击力伤害",
"When": "RouEnd", "When": "RouEnd",
"Where": "Target=3", "Where": "3",
"AddCon": [], "AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": [
"SameID": false, 225001212
"Tags": [], ]
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 490083001, "Id": 425001212,
"Desc": "行动结束前对敌方全体造成80%攻击力伤害", "When": "SufEnd",
"When": "ActEndFro", "Where": "3",
"Where": "Target=3", "AddCon": [
"AddCon": [], "EffID=390001209"
],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": []
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 490084001, "Id": 425001213,
"Desc": "行动结束后对敌方全体造成80%攻击力伤害",
"When": "ActEnd",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400012101,
"Desc": "主被动1 每回合结束后,调用子技能的触发类效果 调用引雷123",
"When": "RouFro", "When": "RouFro",
"Where": "Target=3", "Where": "3",
"AddCon": [], "AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": []
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
}, },
{ {
"Id": 400012102, "Id": 425001214,
"Desc": "主被动2 自身的任意主动技能命中敌人触发暴击时调用子技能",
"When": "CriCal", "When": "CriCal",
"Where": "Target=3,CriRely=1,TriLim=1", "Where": "3",
"AddCon": [], "AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas", "Type": "CallSkillPas",
"MaxEmitTimes": 0, "MaxEmitTimes": 1,
"OverlayTimes": 0, "Callback": []
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400012103,
"Desc": "引雷1 在自身新回合开始时,调用子技能的触发类效果",
"When": "RouFro",
"Where": "Target=3,CriRely=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [
"1001"
],
"NoRelyTags": []
},
{
"Id": 400012104,
"Desc": "引雷2 但出于不可行动状态时,调用子技能的触发类效果",
"When": "SufEff",
"Where": "Target=3,Eff1,EffID=604,EffTakeRel=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [
"1001"
],
"NoRelyTags": []
},
{
"Id": 400012105,
"Desc": "引雷3 【引雷】期间自身每次受到攻击时,调用子技能的触发类效果",
"When": "SufEff",
"Where": "Target=3,Eff1,EffID=101",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [
"1001"
],
"NoRelyTags": []
},
{
"Id": 400022102,
"Desc": "加被动2 每回合行动前为己方全体清除任意一个非无法行动状态的减益状态并回复其5%最大生命值",
"When": "RouFro",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400022103,
"Desc": "加被动3 且在任意队友获得减益状态时自身获得20%行动值提升每回合仅触发1次。",
"When": "SufEff",
"Where": "Target=1,Eff1,EffID=202,EffTakeRel=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400092102,
"Desc": "被动2 当敌方单位使其友方减益状态提前结束时令该单位失去30%当前生命值同时失去全部增益状态并获得1回合【石化】效果。",
"When": "ImpEff",
"Where": "Target=2,Eff1,EffID=105,EffTakeRel=1,EffCov1,EffCovId=201,EffCovOp=0,EffReVal=1,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400102104,
"Desc": "被动4 每次被施加增益状态时自身获得1层【叹息之力】",
"When": "SufEff",
"Where": "Target=3,Eff1,EffID=201",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400102105,
"Desc": "被动5 每次被施加减益状态时自身获得1层【叹息之力】",
"When": "SufEff",
"Where": "Target=3,Eff1,EffID=202",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400102106,
"Desc": "被动6 每有1个队友死亡时自身获得10层【叹息之力】",
"When": "Dead",
"Where": "Target=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400102107,
"Desc": "被动7 每次战斗中首次受到致命伤害时,免除本次死亡",
"When": "SufDmg",
"Where": "Target=3,LetDmg=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400102108,
"Desc": "被动8 每次战斗中首次受到致命伤害时根据当前【叹息之力】层数回复自身生命值状态每层回复自身1%最大生命值状态。",
"When": "SufDmg",
"Where": "Target=3,LetDmg=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400102113,
"Desc": "敌方行动结束前,移除免除死亡",
"When": "ActEndFro",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400162101,
"Desc": "被动1 对己方任意目标造成治疗效果时会同时为其净化2个减益效果若目标没有减益效果则额外为其施加1回合【免疫】效果。",
"When": "ImpEff",
"Where": "Target=1,Eff1,EffID=103",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400162102,
"Desc": "被动2 对己方任意目标造成治疗效果时同时自身治疗量溢出的120%将转变为【护盾】效果持续2回合。",
"When": "ImpEff",
"Where": "Target=1,Eff1,EffID=103",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400191102,
"Desc": "猫猫威慑 敌方死亡后触发调用子技能",
"When": "Dead",
"Where": "Target=2",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400192101,
"Desc": "被动1 每次攻击后没有Buff5且标的生命值比例高于50%则给自己添加行动结束前触发的被动6。每回合仅触发1次 同时修改被动2回合CD",
"When": "ImpEff",
"Where": "Target=3,Eff1,EffID=101,TriLim=1",
"AddCon": [
"Type=BuffRely,RelyType=0,Key=300192112,Op=1,Val=1",
"ProJudge,Judge1,Key=NowHp_Per,Op=0,Val=500"
],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400192102,
"Desc": "被动2 每次攻击后没有Buff5且目标的生命值比例小于等于50%自身获得1层【猫猫推理】。每回合仅触发1次同时修改被动1回合CD",
"When": "ImpEff",
"Where": "Target=3,Eff1,EffID=101,TriLim=1",
"AddCon": [
"Type=BuffRely,RelyType=0,Key=300192112,Op=1,Val=1",
"ProJudge,Judge1,Key=NowHp_Per,Op=5,Val=500"
],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400192103,
"Desc": "被动3 每次攻击后若有Buff5则给自己添加行动结束前触发的被动6并修改被动1,2的回合CD",
"When": "ImpEff",
"Where": "Target=3,Eff1,EffID=101,TriLim=1",
"AddCon": [
"Type=BuffRely,RelyType=0,Key=300192112,Op=0,Val=0"
],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400192104,
"Desc": "被动4 检测猫猫推理层数达到2层立即重置全部技能的冷却时间并且给自身加下一回合必定对目标进行重复攻击的标记Buff5之后清除猫猫推理",
"When": "ImpEff",
"Where": "Target=3,Eff0,EffID=300192114",
"AddCon": [
"Type=BuffRely,RelyType=0,Key=300192114,Op=0,Val=1"
],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400192112,
"Desc": "被动6 行动结束前触发,对该目标重复释放一次本次攻击所用技能,触发后移除",
"When": "ActEndFro",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400622101,
"Desc": "被动1 当队友向敌方任意1个目标发起攻击时给自己加被动2",
"When": "ImpEff",
"Where": "Target=1,Eff1,EffID=101,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400622102,
"Desc": "被动2 友军行动结束前触发跟随队友对目标造成攻击力40%的伤害",
"When": "ActEndFro",
"Where": "Target=1,TarActTar=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490087001,
"Desc": "攻击时如果自身血量大于50%对敌方全体造成80%攻击力伤害",
"When": "ImpEff",
"Where": "Target=3,Eff1,EffID=101",
"AddCon": [
"Type=ProJudge,RelyType=1,Key=NowHp_Per,Op=0,Val=500"
],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490087002,
"Desc": "受到伤害时对敌方全体造成80%攻击力伤害",
"When": "SufDmg",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490087003,
"Desc": "护盾被击破时对敌方全体造成80%攻击力伤害",
"When": "ShieldBro",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 490087004,
"Desc": "击破护盾时对敌方全体造成80%攻击力伤害",
"When": "BreShield",
"Where": "Target=3,TriLim=1",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 425004301,
"Desc": "友方攻击时检测",
"When": "RouFro",
"Where": "Target=4,TesLim=1,TriLim=1",
"AddCon": [
"Type=CallSkillPas"
],
"Type": "",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 435002201,
"Desc": "BUFF结束",
"When": "BuffEnd",
"Where": "Target=2,EndType=1,TesLim=1,TriLim=1",
"AddCon": [
"CallSkillPas"
],
"Type": "",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 434006201,
"Desc": "施加效果",
"When": "ImpEff",
"Where": "Target=2,EffType=0,EffID=390002003,EffTakeRel=1,TesLim=1,TriLim=1",
"AddCon": [
"CallSkillPas"
],
"Type": "",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
} }
] ]

View File

@ -22,13 +22,13 @@ func newLogViewer() *logViewer {
lv.logArea.Disable() lv.logArea.Disable()
lv.logArea.Wrapping = fyne.TextWrapBreak lv.logArea.Wrapping = fyne.TextWrapBreak
// lv.initLogContent() lv.initLogContent()
lv.refresh = widget.NewButtonWithIcon(string(theme.ColorNameFocus), theme.ViewRefreshIcon(), func() { lv.refresh = widget.NewButtonWithIcon(string(theme.ColorNameFocus), theme.ViewRefreshIcon(), func() {
// lv.initLogContent() // lv.initLogContent()
}) })
lv.Win = fyne.CurrentApp().NewWindow("Show Log") lv.Win = fyne.CurrentApp().NewWindow("日志")
lv.Win.SetContent(container.NewBorder( lv.Win.SetContent(container.NewBorder(
container.NewHBox(layout.NewSpacer(), lv.refresh), nil, nil, nil, container.NewHBox(layout.NewSpacer(), lv.refresh), nil, nil, nil,
lv.logArea)) lv.logArea))
@ -38,12 +38,12 @@ func newLogViewer() *logViewer {
return &lv return &lv
} }
// func (lv *logViewer) initLogContent() { func (lv *logViewer) initLogContent() {
// cont := "" cont := ""
// globalLogWriter.Traversal(func(s string) { // globalLogWriter.Traversal(func(s string) {
// cont += s // cont += s
// }) // })
// lv.logArea.CursorRow = globalLogWriter.Size() // lv.logArea.CursorRow = globalLogWriter.Size()
// lv.logArea.SetText(cont) lv.logArea.SetText(cont)
// } }

View File

@ -91,6 +91,10 @@ func (ui *MainWindowImpl) createWindowContainer() {
widget.NewToolbarAction(theme.AccountIcon(), func() { widget.NewToolbarAction(theme.AccountIcon(), func() {
openApp2(common.TOOLBAR_TESTER) openApp2(common.TOOLBAR_TESTER)
}), }),
widget.NewToolbarSeparator(),
widget.NewToolbarAction(theme.ContentClearIcon(), func() {
newLogViewer().Win.Show()
}),
widget.NewToolbarSpacer(), widget.NewToolbarSpacer(),
widget.NewToolbarAction(theme.HelpIcon(), func() { widget.NewToolbarAction(theme.HelpIcon(), func() {
showAbout() showAbout()

View File

@ -78,7 +78,7 @@ var (
ff(comm.ModulePagoda, "getlist"): &formview.PagodaListView{}, ff(comm.ModulePagoda, "getlist"): &formview.PagodaListView{},
// rtask // rtask
ff(comm.ModuleRtask, rtask.RtaskSubTypeList): &formview.RtaskListView{}, ff(comm.ModuleRtask, rtask.RtaskSubTypeList): &formview.RtaskListView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeDotask): &formview.RtaskDoitView{}, ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): &formview.RtaskDoitView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): &formview.RtaskChooseView{}, ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): &formview.RtaskChooseView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward): &formview.RtaskRewardView{}, ff(comm.ModuleRtask, rtask.RtaskSubTypeReward): &formview.RtaskRewardView{},
} }
@ -158,7 +158,7 @@ var (
}, },
"rtask": { "rtask": {
ff(comm.ModuleRtask, rtask.RtaskSubTypeList), ff(comm.ModuleRtask, rtask.RtaskSubTypeList),
ff(comm.ModuleRtask, rtask.RtaskSubTypeDotask), ff(comm.ModuleRtask, rtask.RtaskSubTypeApply),
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose), ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose),
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward), ff(comm.ModuleRtask, rtask.RtaskSubTypeReward),
}, },
@ -538,11 +538,11 @@ var (
SubType: rtask.RtaskSubTypeList, SubType: rtask.RtaskSubTypeList,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleRtask, rtask.RtaskSubTypeDotask): { ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): {
NavLabel: "做任务", NavLabel: "做任务",
Desc: "执行随机任务", Desc: "执行随机任务",
MainType: string(comm.ModuleRtask), MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeDotask, SubType: rtask.RtaskSubTypeApply,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): { ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): {

View File

@ -77,6 +77,7 @@ func (this *appGen) LazyInit(obs observer.Observer) error {
workDir.Text = gt.WorkDir // "E:\\svn\\dreamworks\\client\\dreamworks\\ExcelFile" workDir.Text = gt.WorkDir // "E:\\svn\\dreamworks\\client\\dreamworks\\ExcelFile"
client.Text = gt.Client //"\\Luban.Client\\Luban.Client.exe" client.Text = gt.Client //"\\Luban.Client\\Luban.Client.exe"
genType.Selected = gt.GenType genType.Selected = gt.GenType
genTypeText = gt.GenType
} }
form := widget.NewForm( form := widget.NewForm(
@ -121,7 +122,10 @@ func (this *appGen) LazyInit(obs observer.Observer) error {
logrus.Debug("save gen conf") logrus.Debug("save gen conf")
}) })
genBtn := widget.NewButtonWithIcon("生成", theme.ConfirmIcon(), func() { genBtn := &widget.Button{Text: "生成", Icon: theme.ConfirmIcon()}
genBtn.OnTapped = func() {
genBtn.Disable()
defer genBtn.Enable()
if runtime.GOOS != "windows" { if runtime.GOOS != "windows" {
dialog.ShowError(errors.New("no support "+runtime.GOOS), toolWin.w) dialog.ShowError(errors.New("no support "+runtime.GOOS), toolWin.w)
return return
@ -150,7 +154,7 @@ func (this *appGen) LazyInit(obs observer.Observer) error {
dialog.ShowError(err, toolWin.w) dialog.ShowError(err, toolWin.w)
return return
} }
}) }
c := container.NewGridWithColumns(2, saveBtn, genBtn) c := container.NewGridWithColumns(2, saveBtn, genBtn)
content.Objects = append(content.Objects, container.NewBorder(form, c, nil, nil)) content.Objects = append(content.Objects, container.NewBorder(form, c, nil, nil))

View File

@ -1,14 +1,18 @@
package ui package ui
import ( import (
"errors"
"go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/lib/common"
"go_dreamfactory/cmd/v2/service/observer" "go_dreamfactory/cmd/v2/service/observer"
"image/color" "image/color"
"strconv" "strconv"
"time"
"fyne.io/fyne/v2" "fyne.io/fyne/v2"
"fyne.io/fyne/v2/canvas" "fyne.io/fyne/v2/canvas"
"fyne.io/fyne/v2/container" "fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/dialog"
"fyne.io/fyne/v2/driver/desktop"
"fyne.io/fyne/v2/theme" "fyne.io/fyne/v2/theme"
"fyne.io/fyne/v2/widget" "fyne.io/fyne/v2/widget"
"github.com/sethvargo/go-password/password" "github.com/sethvargo/go-password/password"
@ -33,7 +37,7 @@ func (this *appLock) LazyInit(obs observer.Observer) error {
text := canvas.NewText("", color.White) text := canvas.NewText("", color.White)
text.TextSize = 16 text.TextSize = 16
btn := widget.NewButton("生成", func() { btn := widget.NewButtonWithIcon("生成", theme.ConfirmIcon(), func() {
passwordLength, _ := strconv.Atoi(input.Text) passwordLength, _ := strconv.Atoi(input.Text)
//Avoids length errors //Avoids length errors
@ -47,7 +51,23 @@ func (this *appLock) LazyInit(obs observer.Observer) error {
}) })
copybtn := widget.NewButtonWithIcon("复制密码", theme.ContentCopyIcon(), func() { copybtn := widget.NewButtonWithIcon("复制密码", theme.ContentCopyIcon(), func() {
if text.Text == "" {
dialog.ShowError(errors.New("请生成密码"), toolWin.w)
return
}
toolWin.w.Clipboard().SetContent(text.Text) toolWin.w.Clipboard().SetContent(text.Text)
drv := fyne.CurrentApp().Driver()
if drv, ok := drv.(desktop.Driver); ok {
w := drv.CreateSplashWindow()
w.SetContent(widget.NewLabelWithStyle("已复制到剪贴板", fyne.TextAlignCenter, fyne.TextStyle{}))
w.Show()
go func() {
time.Sleep(time.Second * 1)
w.Close()
}()
}
}) })
c := container.NewVBox(title, input, text, btn, copybtn) c := container.NewVBox(title, input, text, btn, copybtn)

View File

@ -8,7 +8,7 @@ import (
const ( const (
RtaskSubTypeChoose = "choose" //选择 RtaskSubTypeChoose = "choose" //选择
RtaskSubTypeList = "list" //随机任务列表 RtaskSubTypeList = "list" //随机任务列表
RtaskSubTypeDotask = "dotask" //做任务 RtaskSubTypeApply = "apply" //做任务
RtaskSubTypeReward = "getreward" //奖励 RtaskSubTypeReward = "getreward" //奖励
) )

View File

@ -8,15 +8,17 @@ import (
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )
func (this *apiComp) DotaskCheck(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode) { // 做任务
func (this *apiComp) ApplyCheck(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode) {
if req.RtaskId == 0 { if req.RtaskId == 0 {
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ReqParameterError
} }
return return
} }
func (this *apiComp) Dotask(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) Apply(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode, data proto.Message) {
if code = this.DotaskCheck(session, req); code != pb.ErrorCode_Success { if code = this.ApplyCheck(session, req); code != pb.ErrorCode_Success {
return return
} }
@ -72,7 +74,7 @@ func (this *apiComp) Dotask(session comm.IUserSession, req *pb.RtaskApplyReq) (c
code = this.moduleRtask.DispenseRes(session, conf.Reward, true) code = this.moduleRtask.DispenseRes(session, conf.Reward, true)
} }
if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeDotask, &pb.RtaskApplyResp{ if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeApply, &pb.RtaskApplyResp{
RtaskId: req.RtaskId, RtaskId: req.RtaskId,
}); err != nil { }); err != nil {
code = pb.ErrorCode_SystemError code = pb.ErrorCode_SystemError

View File

@ -68,14 +68,19 @@ func (this *apiComp) Receive(session comm.IUserSession, req *pb.TaskReceiveReq)
} }
update := make(map[string]interface{}) update := make(map[string]interface{})
if ue != nil { if ue != nil {
if comm.TaskTag(req.TaskTag) == comm.TASK_DAILY {
ue.Activeday = ue.Activeday + conf.Active ue.Activeday = ue.Activeday + conf.Active
}
if comm.TaskTag(req.TaskTag) == comm.TASK_WEEKLY {
ue.Activeweek = ue.Activeweek + conf.Active ue.Activeweek = ue.Activeweek + conf.Active
}
update = utils.StructToMap(ue) update = utils.StructToMap(ue)
} else { } else {
if comm.TaskTag(req.TaskTag) == comm.TASK_DAILY { if comm.TaskTag(req.TaskTag) == comm.TASK_DAILY {
update["activeday"] = ue.Activeday + conf.Active update["activeday"] = conf.Active
} else if comm.TaskTag(req.TaskTag) == comm.TASK_WEEKLY { }
update["activeweek"] = ue.Activeweek + conf.Active if comm.TaskTag(req.TaskTag) == comm.TASK_WEEKLY {
update["activeweek"] = conf.Active
} }
} }
if len(update) > 0 { if len(update) > 0 {

View File

@ -31,4 +31,12 @@ const (
GameBuffType_TAUNT = 19 GameBuffType_TAUNT = 19
GameBuffType_IMMUNITY = 20 GameBuffType_IMMUNITY = 20
GameBuffType_SHIELD = 21 GameBuffType_SHIELD = 21
GameBuffType_NOTSPEED = 22
GameBuffType_DAMREUP = 23
GameBuffType_HPUP = 24
GameBuffType_EFFHITUP = 25
GameBuffType_EFFREUP = 26
GameBuffType_HPDOWN = 27
GameBuffType_EFFHITDOWN = 28
GameBuffType_EFFREDOWN = 29
) )

View File

@ -18,12 +18,14 @@ type GameKungfuMasterworkerData struct {
Color string Color string
Levelname string Levelname string
Exp int32 Exp int32
Model int32 Model string
Ornament string Ornament string
Affix string Affix string
Needtime int32 Needtime int32
LevelDeplete []*Gameatn LevelDeplete []*Gameatn
Deplete []*Gameatn Deplete []*Gameatn
Display int32
Probability int32
} }
const TypeId_GameKungfuMasterworkerData = -203564424 const TypeId_GameKungfuMasterworkerData = -203564424
@ -40,7 +42,7 @@ func (_v *GameKungfuMasterworkerData)Deserialize(_buf map[string]interface{}) (e
{ var _ok_ bool; if _v.Color, _ok_ = _buf["color"].(string); !_ok_ { err = errors.New("color error"); return } } { var _ok_ bool; if _v.Color, _ok_ = _buf["color"].(string); !_ok_ { err = errors.New("color error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["levelname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Levelname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Levelname, _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["levelname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Levelname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Levelname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["model"].(float64); !_ok_ { err = errors.New("model error"); return }; _v.Model = int32(_tempNum_) } { var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } }
{ var _ok_ bool; if _v.Ornament, _ok_ = _buf["ornament"].(string); !_ok_ { err = errors.New("ornament error"); return } } { var _ok_ bool; if _v.Ornament, _ok_ = _buf["ornament"].(string); !_ok_ { err = errors.New("ornament error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["affix"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Affix error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Affix, _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["affix"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Affix error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Affix, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needtime"].(float64); !_ok_ { err = errors.New("needtime error"); return }; _v.Needtime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needtime"].(float64); !_ok_ { err = errors.New("needtime error"); return }; _v.Needtime = int32(_tempNum_) }
@ -72,6 +74,8 @@ func (_v *GameKungfuMasterworkerData)Deserialize(_buf map[string]interface{}) (e
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["display"].(float64); !_ok_ { err = errors.New("display error"); return }; _v.Display = 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 return
} }

View File

@ -16,13 +16,14 @@ type GameRdtaskData struct {
Type int32 Type int32
PreTid int32 PreTid int32
Condition []int32 Condition []int32
NextTid int32
CD int32 CD int32
ObjType int32 ObjType int32
Point string
StoryBegin int32 StoryBegin int32
StoryEnd int32 StoryEnd int32
ChooseId []int32 ChooseId []int32
Reward []*Gameatn Reward []*Gameatn
NextTid int32
} }
const TypeId_GameRdtaskData = -358357379 const TypeId_GameRdtaskData = -358357379
@ -50,9 +51,9 @@ func (_v *GameRdtaskData)Deserialize(_buf map[string]interface{}) (err error) {
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nextTid"].(float64); !_ok_ { err = errors.New("nextTid error"); return }; _v.NextTid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["CD"].(float64); !_ok_ { err = errors.New("CD error"); return }; _v.CD = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["CD"].(float64); !_ok_ { err = errors.New("CD error"); return }; _v.CD = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["objType"].(float64); !_ok_ { err = errors.New("objType error"); return }; _v.ObjType = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["objType"].(float64); !_ok_ { err = errors.New("objType error"); return }; _v.ObjType = int32(_tempNum_) }
{ var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyBegin"].(float64); !_ok_ { err = errors.New("storyBegin error"); return }; _v.StoryBegin = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyBegin"].(float64); !_ok_ { err = errors.New("storyBegin error"); return }; _v.StoryBegin = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyEnd"].(float64); !_ok_ { err = errors.New("storyEnd error"); return }; _v.StoryEnd = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["storyEnd"].(float64); !_ok_ { err = errors.New("storyEnd error"); return }; _v.StoryEnd = int32(_tempNum_) }
{ {
@ -83,6 +84,7 @@ func (_v *GameRdtaskData)Deserialize(_buf map[string]interface{}) (err error) {
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["nextTid"].(float64); !_ok_ { err = errors.New("nextTid error"); return }; _v.NextTid = int32(_tempNum_) }
return return
} }

View File

@ -16,4 +16,8 @@ const (
GameSkillEffectType_RobPro = 5 GameSkillEffectType_RobPro = 5
GameSkillEffectType_BuffCD = 6 GameSkillEffectType_BuffCD = 6
GameSkillEffectType_RemoveDebuff = 7 GameSkillEffectType_RemoveDebuff = 7
GameSkillEffectType_AveTre = 8
GameSkillEffectType_ShiftBuff = 9
GameSkillEffectType_NowHpDps = 10
GameSkillEffectType_AddActValue = 11
) )

View File

@ -75,6 +75,10 @@ type GameGlobalData struct {
VikingNum int32 VikingNum int32
VikingReset int32 VikingReset int32
KungfuTime int32 KungfuTime int32
DreamlandFightnum int32
DreamlandResettime int32
DreamlandLimit int32
DreamlandPro int32
} }
const TypeId_GameGlobalData = 477542761 const TypeId_GameGlobalData = 477542761
@ -226,6 +230,10 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["viking_num"].(float64); !_ok_ { err = errors.New("viking_num error"); return }; _v.VikingNum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["viking_num"].(float64); !_ok_ { err = errors.New("viking_num error"); return }; _v.VikingNum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["viking_reset"].(float64); !_ok_ { err = errors.New("viking_reset error"); return }; _v.VikingReset = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["viking_reset"].(float64); !_ok_ { err = errors.New("viking_reset error"); return }; _v.VikingReset = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["kungfu_time"].(float64); !_ok_ { err = errors.New("kungfu_time error"); return }; _v.KungfuTime = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["kungfu_time"].(float64); !_ok_ { err = errors.New("kungfu_time error"); return }; _v.KungfuTime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_fightnum"].(float64); !_ok_ { err = errors.New("dreamland_fightnum error"); return }; _v.DreamlandFightnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_resettime"].(float64); !_ok_ { err = errors.New("dreamland_resettime error"); return }; _v.DreamlandResettime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_limit"].(float64); !_ok_ { err = errors.New("dreamland_limit error"); return }; _v.DreamlandLimit = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["dreamland_pro"].(float64); !_ok_ { err = errors.New("dreamland_pro error"); return }; _v.DreamlandPro = int32(_tempNum_) }
return return
} }

View File

@ -20,9 +20,9 @@ type GameHeroData struct {
Job int32 Job int32
Type int32 Type int32
Handbook int32 Handbook int32
Prefab int32 Prefab string
Rotation string Rotation string
Icon int32 Icon string
Vocal string Vocal string
Tujing []int32 Tujing []int32
Intr string Intr string
@ -54,9 +54,9 @@ func (_v *GameHeroData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["job"].(float64); !_ok_ { err = errors.New("job error"); return }; _v.Job = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["job"].(float64); !_ok_ { err = errors.New("job error"); return }; _v.Job = 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["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["handbook"].(float64); !_ok_ { err = errors.New("handbook error"); return }; _v.Handbook = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["handbook"].(float64); !_ok_ { err = errors.New("handbook error"); return }; _v.Handbook = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["prefab"].(float64); !_ok_ { err = errors.New("prefab error"); return }; _v.Prefab = int32(_tempNum_) } { var _ok_ bool; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab error"); return } }
{ var _ok_ bool; if _v.Rotation, _ok_ = _buf["rotation"].(string); !_ok_ { err = errors.New("rotation error"); return } } { var _ok_ bool; if _v.Rotation, _ok_ = _buf["rotation"].(string); !_ok_ { err = errors.New("rotation error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["icon"].(float64); !_ok_ { err = errors.New("icon error"); return }; _v.Icon = int32(_tempNum_) } { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{ var _ok_ bool; if _v.Vocal, _ok_ = _buf["vocal"].(string); !_ok_ { err = errors.New("vocal error"); return } } { var _ok_ bool; if _v.Vocal, _ok_ = _buf["vocal"].(string); !_ok_ { err = errors.New("vocal error"); return } }
{ {
var _arr_ []interface{} var _arr_ []interface{}

View File

@ -9,13 +9,13 @@
package cfg package cfg
type GameModel struct { type GameModel struct {
_dataMap map[int32]*GameModelData _dataMap map[string]*GameModelData
_dataList []*GameModelData _dataList []*GameModelData
} }
func NewGameModel(_buf []map[string]interface{}) (*GameModel, error) { func NewGameModel(_buf []map[string]interface{}) (*GameModel, error) {
_dataList := make([]*GameModelData, 0, len(_buf)) _dataList := make([]*GameModelData, 0, len(_buf))
dataMap := make(map[int32]*GameModelData) dataMap := make(map[string]*GameModelData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameModelData(_ele_); err2 != nil { if _v, err2 := DeserializeGameModelData(_ele_); err2 != nil {
return nil, err2 return nil, err2
@ -27,7 +27,7 @@ func NewGameModel(_buf []map[string]interface{}) (*GameModel, error) {
return &GameModel{_dataList:_dataList, _dataMap:dataMap}, nil return &GameModel{_dataList:_dataList, _dataMap:dataMap}, nil
} }
func (table *GameModel) GetDataMap() map[int32]*GameModelData { func (table *GameModel) GetDataMap() map[string]*GameModelData {
return table._dataMap return table._dataMap
} }
@ -35,7 +35,7 @@ func (table *GameModel) GetDataList() []*GameModelData {
return table._dataList return table._dataList
} }
func (table *GameModel) Get(key int32) *GameModelData { func (table *GameModel) Get(key string) *GameModelData {
return table._dataMap[key] return table._dataMap[key]
} }

View File

@ -9,9 +9,10 @@
package cfg package cfg
import "errors" import "errors"
import "bright/serialization"
type GameModelData struct { type GameModelData struct {
Id int32 Id string
Preson string Preson string
Presonshow string Presonshow string
Ico string Ico string
@ -20,6 +21,7 @@ type GameModelData struct {
Heroimg string Heroimg string
Portrait string Portrait string
Postxyz []float32 Postxyz []float32
Rotation serialization.Vector3
} }
const TypeId_GameModelData = -305436809 const TypeId_GameModelData = -305436809
@ -29,7 +31,7 @@ func (*GameModelData) GetTypeId() int32 {
} }
func (_v *GameModelData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameModelData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } { var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{ var _ok_ bool; if _v.Preson, _ok_ = _buf["preson"].(string); !_ok_ { err = errors.New("preson error"); return } } { var _ok_ bool; if _v.Preson, _ok_ = _buf["preson"].(string); !_ok_ { err = errors.New("preson error"); return } }
{ var _ok_ bool; if _v.Presonshow, _ok_ = _buf["presonshow"].(string); !_ok_ { err = errors.New("presonshow error"); return } } { var _ok_ bool; if _v.Presonshow, _ok_ = _buf["presonshow"].(string); !_ok_ { err = errors.New("presonshow error"); return } }
{ var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } } { var _ok_ bool; if _v.Ico, _ok_ = _buf["ico"].(string); !_ok_ { err = errors.New("ico error"); return } }
@ -51,6 +53,14 @@ func (_v *GameModelData)Deserialize(_buf map[string]interface{}) (err error) {
} }
} }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["rotation"].(map[string]interface{}); !_ok_ { err = errors.New("rotation error"); return }
var _x_, _y_, _z_ float32;
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
_v.Rotation = serialization.NewVector3(_x_, _y_, _z_)
}
return return
} }

View File

@ -14,8 +14,8 @@ type GameRdtaskChooseData struct {
Id int32 Id int32
Num int32 Num int32
PreTid int32 PreTid int32
EndTid int32
NeedItem []int32 NeedItem []int32
EndTid int32
} }
const TypeId_GameRdtaskChooseData = -1833024780 const TypeId_GameRdtaskChooseData = -1833024780
@ -28,7 +28,6 @@ func (_v *GameRdtaskChooseData)Deserialize(_buf map[string]interface{}) (err err
{ 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["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = 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_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["preTid"].(float64); !_ok_ { err = errors.New("preTid error"); return }; _v.PreTid = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["preTid"].(float64); !_ok_ { err = errors.New("preTid error"); return }; _v.PreTid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["endTid"].(float64); !_ok_ { err = errors.New("endTid error"); return }; _v.EndTid = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
@ -43,6 +42,7 @@ func (_v *GameRdtaskChooseData)Deserialize(_buf map[string]interface{}) (err err
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["endTid"].(float64); !_ok_ { err = errors.New("endTid error"); return }; _v.EndTid = int32(_tempNum_) }
return return
} }

View File

@ -12,23 +12,18 @@ import "errors"
type GameSkillAfteratkData struct { type GameSkillAfteratkData struct {
Id int32 Id int32
Desc string
From int32
Limit int32
EmitPR int32 EmitPR int32
AfteratkAct string From int32
Where []string Where []string
Order []string Order []string
Type string Limit int32
Argu string Type int32
AddEffect bool ExecuteCnt int32
Argu []int32
FollowSK []int32 FollowSK []int32
SucFollowSK []string SucFollowSK []string
FailFollowSK []string FailFollowSK []string
MustHit bool MustHit bool
Tags []string
RelyTags []string
NoRelyTags []string
} }
const TypeId_GameSkillAfteratkData = -281122053 const TypeId_GameSkillAfteratkData = -281122053
@ -39,11 +34,8 @@ func (*GameSkillAfteratkData) GetTypeId() int32 {
func (_v *GameSkillAfteratkData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameSkillAfteratkData)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; if _v.Desc, _ok_ = _buf["Desc"].(string); !_ok_ { err = errors.New("Desc error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["From"].(float64); !_ok_ { err = errors.New("From error"); return }; _v.From = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Limit"].(float64); !_ok_ { err = errors.New("Limit error"); return }; _v.Limit = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EmitPR"].(float64); !_ok_ { err = errors.New("EmitPR error"); return }; _v.EmitPR = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EmitPR"].(float64); !_ok_ { err = errors.New("EmitPR error"); return }; _v.EmitPR = int32(_tempNum_) }
{ var _ok_ bool; if _v.AfteratkAct, _ok_ = _buf["AfteratkAct"].(string); !_ok_ { err = errors.New("AfteratkAct error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["From"].(float64); !_ok_ { err = errors.New("From error"); return }; _v.From = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
@ -72,9 +64,23 @@ func (_v *GameSkillAfteratkData)Deserialize(_buf map[string]interface{}) (err er
} }
} }
{ var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Limit"].(float64); !_ok_ { err = errors.New("Limit error"); return }; _v.Limit = int32(_tempNum_) }
{ var _ok_ bool; if _v.Argu, _ok_ = _buf["Argu"].(string); !_ok_ { err = errors.New("Argu error"); return } } { 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; if _v.AddEffect, _ok_ = _buf["AddEffect"].(bool); !_ok_ { err = errors.New("AddEffect error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ExecuteCnt"].(float64); !_ok_ { err = errors.New("ExecuteCnt error"); return }; _v.ExecuteCnt = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["Argu"].([]interface{}); !_ok_ { err = errors.New("Argu error"); return }
_v.Argu = 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.Argu = append(_v.Argu, _list_v_)
}
}
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
@ -118,48 +124,6 @@ func (_v *GameSkillAfteratkData)Deserialize(_buf map[string]interface{}) (err er
} }
{ var _ok_ bool; if _v.MustHit, _ok_ = _buf["MustHit"].(bool); !_ok_ { err = errors.New("MustHit error"); return } } { var _ok_ bool; if _v.MustHit, _ok_ = _buf["MustHit"].(bool); !_ok_ { err = errors.New("MustHit error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["Tags"].([]interface{}); !_ok_ { err = errors.New("Tags error"); return }
_v.Tags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.Tags = append(_v.Tags, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["RelyTags"].([]interface{}); !_ok_ { err = errors.New("RelyTags error"); return }
_v.RelyTags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.RelyTags = append(_v.RelyTags, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["NoRelyTags"].([]interface{}); !_ok_ { err = errors.New("NoRelyTags error"); return }
_v.NoRelyTags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.NoRelyTags = append(_v.NoRelyTags, _list_v_)
}
}
return return
} }

View File

@ -12,15 +12,19 @@ import "errors"
type GameSkillBuffData struct { type GameSkillBuffData struct {
Id int32 Id int32
Type string
Name string Name string
Desc string Desc string
Tags []string BuffType int32
EffectArgu []int32
BufParNum int32
RelyCheckArgu []int32
CoexistCheckArgu []int32
Effect int32
AddEffect bool
RemoveType bool
OverlayTimes byte OverlayTimes byte
SameID bool SameID bool
RelyTags []string BuffIcon string
NoRelyTags []string
Buffico string
Buffeffect string Buffeffect string
Buffpos string Buffpos string
} }
@ -33,54 +37,58 @@ func (*GameSkillBuffData) GetTypeId() int32 {
func (_v *GameSkillBuffData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameSkillBuffData)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; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["Name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["Name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{var _ok_ bool; var __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["BuffType"].(float64); !_ok_ { err = errors.New("BuffType error"); return }; _v.BuffType = int32(_tempNum_) }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
if _arr_, _ok_ = _buf["Tags"].([]interface{}); !_ok_ { err = errors.New("Tags error"); return } if _arr_, _ok_ = _buf["EffectArgu"].([]interface{}); !_ok_ { err = errors.New("EffectArgu error"); return }
_v.Tags = make([]string, 0, len(_arr_)) _v.EffectArgu = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ { for _, _e_ := range _arr_ {
var _list_v_ string var _list_v_ int32
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Tags = append(_v.Tags, _list_v_) _v.EffectArgu = append(_v.EffectArgu, _list_v_)
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["BufParNum"].(float64); !_ok_ { err = errors.New("BufParNum error"); return }; _v.BufParNum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["RelyCheckArgu"].([]interface{}); !_ok_ { err = errors.New("RelyCheckArgu error"); return }
_v.RelyCheckArgu = 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.RelyCheckArgu = append(_v.RelyCheckArgu, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["CoexistCheckArgu"].([]interface{}); !_ok_ { err = errors.New("CoexistCheckArgu error"); return }
_v.CoexistCheckArgu = 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.CoexistCheckArgu = append(_v.CoexistCheckArgu, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Effect"].(float64); !_ok_ { err = errors.New("Effect error"); return }; _v.Effect = int32(_tempNum_) }
{ var _ok_ bool; if _v.AddEffect, _ok_ = _buf["AddEffect"].(bool); !_ok_ { err = errors.New("AddEffect error"); return } }
{ var _ok_ bool; if _v.RemoveType, _ok_ = _buf["RemoveType"].(bool); !_ok_ { err = errors.New("RemoveType error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["OverlayTimes"].(float64); !_ok_ { err = errors.New("OverlayTimes error"); return }; _v.OverlayTimes = byte(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["OverlayTimes"].(float64); !_ok_ { err = errors.New("OverlayTimes error"); return }; _v.OverlayTimes = byte(_tempNum_) }
{ var _ok_ bool; if _v.SameID, _ok_ = _buf["SameID"].(bool); !_ok_ { err = errors.New("SameID error"); return } } { var _ok_ bool; if _v.SameID, _ok_ = _buf["SameID"].(bool); !_ok_ { err = errors.New("SameID error"); return } }
{ { var _ok_ bool; if _v.BuffIcon, _ok_ = _buf["buffIcon"].(string); !_ok_ { err = errors.New("buffIcon error"); return } }
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["RelyTags"].([]interface{}); !_ok_ { err = errors.New("RelyTags error"); return }
_v.RelyTags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.RelyTags = append(_v.RelyTags, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["NoRelyTags"].([]interface{}); !_ok_ { err = errors.New("NoRelyTags error"); return }
_v.NoRelyTags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.NoRelyTags = append(_v.NoRelyTags, _list_v_)
}
}
{ var _ok_ bool; if _v.Buffico, _ok_ = _buf["buffico"].(string); !_ok_ { err = errors.New("buffico error"); return } }
{ var _ok_ bool; if _v.Buffeffect, _ok_ = _buf["buffeffect"].(string); !_ok_ { err = errors.New("buffeffect error"); return } } { var _ok_ bool; if _v.Buffeffect, _ok_ = _buf["buffeffect"].(string); !_ok_ { err = errors.New("buffeffect error"); return } }
{ var _ok_ bool; if _v.Buffpos, _ok_ = _buf["buffpos"].(string); !_ok_ { err = errors.New("buffpos error"); return } } { var _ok_ bool; if _v.Buffpos, _ok_ = _buf["buffpos"].(string); !_ok_ { err = errors.New("buffpos error"); return } }
return return

View File

@ -12,17 +12,13 @@ import "errors"
type GameSkillPassiveData struct { type GameSkillPassiveData struct {
Id int32 Id int32
Desc string
When string When string
Where string Where string
AddCon []string AddCon []string
PasPr int32
Type string Type string
MaxEmitTimes int32 MaxEmitTimes int32
OverlayTimes byte Callback []int32
SameID bool
Tags []string
RelyTags []string
NoRelyTags []string
} }
const TypeId_GameSkillPassiveData = -247912740 const TypeId_GameSkillPassiveData = -247912740
@ -33,7 +29,6 @@ func (*GameSkillPassiveData) GetTypeId() int32 {
func (_v *GameSkillPassiveData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameSkillPassiveData)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; if _v.Desc, _ok_ = _buf["Desc"].(string); !_ok_ { err = errors.New("Desc error"); return } }
{ var _ok_ bool; if _v.When, _ok_ = _buf["When"].(string); !_ok_ { err = errors.New("When error"); return } } { var _ok_ bool; if _v.When, _ok_ = _buf["When"].(string); !_ok_ { err = errors.New("When error"); return } }
{ var _ok_ bool; if _v.Where, _ok_ = _buf["Where"].(string); !_ok_ { err = errors.New("Where error"); return } } { var _ok_ bool; if _v.Where, _ok_ = _buf["Where"].(string); !_ok_ { err = errors.New("Where error"); return } }
{ {
@ -50,49 +45,20 @@ func (_v *GameSkillPassiveData)Deserialize(_buf map[string]interface{}) (err err
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["PasPr"].(float64); !_ok_ { err = errors.New("PasPr error"); return }; _v.PasPr = int32(_tempNum_) }
{ var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } } { var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MaxEmitTimes"].(float64); !_ok_ { err = errors.New("MaxEmitTimes error"); return }; _v.MaxEmitTimes = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MaxEmitTimes"].(float64); !_ok_ { err = errors.New("MaxEmitTimes error"); return }; _v.MaxEmitTimes = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["OverlayTimes"].(float64); !_ok_ { err = errors.New("OverlayTimes error"); return }; _v.OverlayTimes = byte(_tempNum_) }
{ var _ok_ bool; if _v.SameID, _ok_ = _buf["SameID"].(bool); !_ok_ { err = errors.New("SameID error"); return } }
{ {
var _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool var _ok_ bool
if _arr_, _ok_ = _buf["Tags"].([]interface{}); !_ok_ { err = errors.New("Tags error"); return } if _arr_, _ok_ = _buf["Callback"].([]interface{}); !_ok_ { err = errors.New("Callback error"); return }
_v.Tags = make([]string, 0, len(_arr_)) _v.Callback = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ { for _, _e_ := range _arr_ {
var _list_v_ string var _list_v_ int32
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Tags = append(_v.Tags, _list_v_) _v.Callback = append(_v.Callback, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["RelyTags"].([]interface{}); !_ok_ { err = errors.New("RelyTags error"); return }
_v.RelyTags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.RelyTags = append(_v.RelyTags, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["NoRelyTags"].([]interface{}); !_ok_ { err = errors.New("NoRelyTags error"); return }
_v.NoRelyTags = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.NoRelyTags = append(_v.NoRelyTags, _list_v_)
} }
} }

View File

@ -41,11 +41,8 @@ func Numbers(start, end, num int) []int {
break break
} }
var n int n := randomdata.Number(start, end)
n = randomdata.Number(start, end)
if _, ok := boo[n]; ok { if _, ok := boo[n]; ok {
// 重新生成
n = randomdata.Number(start, end)
continue continue
} }
boo[n] = i boo[n] = i

View File

@ -22,5 +22,18 @@ func TestRandom(t *testing.T) {
} }
func TestNumber(t *testing.T) { func TestNumber(t *testing.T) {
fmt.Println(utils.Numbers(5, 10, 5)) for i := 0; i < 100; i++ {
fmt.Println(utils.Numbers(0, 99, 10))
}
}
func BenchmarkNumber(b *testing.B) {
b.Log("begin")
b.ReportAllocs()
for i := 0; i < b.N; i++ {
utils.Numbers(0, 1000, 10)
}
} }