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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@ -2,7 +2,7 @@
{
"id": 101,
"type": 1,
"data1": 25004,
"data1": 90001,
"data2": 0,
"data3": 0
},
@ -54,12 +54,5 @@
"data1": 90001,
"data2": 5,
"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,
"Desc": "被动1 每回合行动前对敌方全体造成80%攻击力伤害",
"When": "RouFro",
"Where": "Target=3",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": [
225004115
]
},
{
"Id": 490068001,
"Desc": "被动1 每回合行动前对敌方全体造成80%攻击力伤害",
"When": "RouFro",
"Where": "Target=3",
"AddCon": [],
"AddCon": [
"hpproless=500"
],
"PasPr": 500,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": [
225004115
]
},
{
"Id": 490069001,
"Desc": "每次攻击前对敌方全体造成80%攻击力伤害",
"When": "EffFro",
"Where": "Target=3,Eff1,EffID=101",
"Id": 425004311,
"When": "RouFro",
"Where": "4",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": [
225004314,
225004315
]
},
{
"Id": 490070001,
"Desc": "每次受到攻击前对敌方全体造成80%攻击力伤害",
"When": "SufEffFro",
"Where": "Target=3,Eff1,EffID=101",
"Id": 435002211,
"When": "SkillStart",
"Where": "2",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": [
235002213
]
},
{
"Id": 490071001,
"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%攻击力伤害",
"Id": 434006211,
"When": "ImpEff",
"Where": "Target=3,Eff1,EffID=101,TriLim=1",
"AddCon": [],
"Where": "2",
"AddCon": [
"EffID=390002003"
],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": [
934006214
]
},
{
"Id": 490077001,
"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%攻击力伤害",
"Id": 425001211,
"When": "RouEnd",
"Where": "Target=3",
"Where": "3",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": [
225001212
]
},
{
"Id": 490083001,
"Desc": "行动结束前对敌方全体造成80%攻击力伤害",
"When": "ActEndFro",
"Where": "Target=3",
"AddCon": [],
"Id": 425001212,
"When": "SufEnd",
"Where": "3",
"AddCon": [
"EffID=390001209"
],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": []
},
{
"Id": 490084001,
"Desc": "行动结束后对敌方全体造成80%攻击力伤害",
"When": "ActEnd",
"Where": "Target=3",
"AddCon": [],
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
},
{
"Id": 400012101,
"Desc": "主被动1 每回合结束后,调用子技能的触发类效果 调用引雷123",
"Id": 425001213,
"When": "RouFro",
"Where": "Target=3",
"Where": "3",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"SameID": false,
"Tags": [],
"RelyTags": [],
"NoRelyTags": []
"MaxEmitTimes": 1,
"Callback": []
},
{
"Id": 400012102,
"Desc": "主被动2 自身的任意主动技能命中敌人触发暴击时调用子技能",
"Id": 425001214,
"When": "CriCal",
"Where": "Target=3,CriRely=1,TriLim=1",
"Where": "3",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 0,
"OverlayTimes": 0,
"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": []
"MaxEmitTimes": 1,
"Callback": []
}
]

View File

@ -22,13 +22,13 @@ func newLogViewer() *logViewer {
lv.logArea.Disable()
lv.logArea.Wrapping = fyne.TextWrapBreak
// lv.initLogContent()
lv.initLogContent()
lv.refresh = widget.NewButtonWithIcon(string(theme.ColorNameFocus), theme.ViewRefreshIcon(), func() {
// lv.initLogContent()
})
lv.Win = fyne.CurrentApp().NewWindow("Show Log")
lv.Win = fyne.CurrentApp().NewWindow("日志")
lv.Win.SetContent(container.NewBorder(
container.NewHBox(layout.NewSpacer(), lv.refresh), nil, nil, nil,
lv.logArea))
@ -38,12 +38,12 @@ func newLogViewer() *logViewer {
return &lv
}
// func (lv *logViewer) initLogContent() {
// cont := ""
func (lv *logViewer) initLogContent() {
cont := ""
// globalLogWriter.Traversal(func(s string) {
// cont += s
// })
// 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() {
openApp2(common.TOOLBAR_TESTER)
}),
widget.NewToolbarSeparator(),
widget.NewToolbarAction(theme.ContentClearIcon(), func() {
newLogViewer().Win.Show()
}),
widget.NewToolbarSpacer(),
widget.NewToolbarAction(theme.HelpIcon(), func() {
showAbout()

View File

@ -78,7 +78,7 @@ var (
ff(comm.ModulePagoda, "getlist"): &formview.PagodaListView{},
// rtask
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.RtaskSubTypeReward): &formview.RtaskRewardView{},
}
@ -158,7 +158,7 @@ var (
},
"rtask": {
ff(comm.ModuleRtask, rtask.RtaskSubTypeList),
ff(comm.ModuleRtask, rtask.RtaskSubTypeDotask),
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply),
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose),
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward),
},
@ -538,11 +538,11 @@ var (
SubType: rtask.RtaskSubTypeList,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeDotask): {
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): {
NavLabel: "做任务",
Desc: "执行随机任务",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeDotask,
SubType: rtask.RtaskSubTypeApply,
Enabled: true,
},
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"
client.Text = gt.Client //"\\Luban.Client\\Luban.Client.exe"
genType.Selected = gt.GenType
genTypeText = gt.GenType
}
form := widget.NewForm(
@ -121,7 +122,10 @@ func (this *appGen) LazyInit(obs observer.Observer) error {
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" {
dialog.ShowError(errors.New("no support "+runtime.GOOS), toolWin.w)
return
@ -150,7 +154,7 @@ func (this *appGen) LazyInit(obs observer.Observer) error {
dialog.ShowError(err, toolWin.w)
return
}
})
}
c := container.NewGridWithColumns(2, saveBtn, genBtn)
content.Objects = append(content.Objects, container.NewBorder(form, c, nil, nil))

View File

@ -1,14 +1,18 @@
package ui
import (
"errors"
"go_dreamfactory/cmd/v2/lib/common"
"go_dreamfactory/cmd/v2/service/observer"
"image/color"
"strconv"
"time"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/canvas"
"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/widget"
"github.com/sethvargo/go-password/password"
@ -33,7 +37,7 @@ func (this *appLock) LazyInit(obs observer.Observer) error {
text := canvas.NewText("", color.White)
text.TextSize = 16
btn := widget.NewButton("生成", func() {
btn := widget.NewButtonWithIcon("生成", theme.ConfirmIcon(), func() {
passwordLength, _ := strconv.Atoi(input.Text)
//Avoids length errors
@ -47,7 +51,23 @@ func (this *appLock) LazyInit(obs observer.Observer) error {
})
copybtn := widget.NewButtonWithIcon("复制密码", theme.ContentCopyIcon(), func() {
if text.Text == "" {
dialog.ShowError(errors.New("请生成密码"), toolWin.w)
return
}
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)

View File

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

View File

@ -8,15 +8,17 @@ import (
"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 {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) Dotask(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode, data proto.Message) {
if code = this.DotaskCheck(session, req); code != pb.ErrorCode_Success {
func (this *apiComp) Apply(session comm.IUserSession, req *pb.RtaskApplyReq) (code pb.ErrorCode, data proto.Message) {
if code = this.ApplyCheck(session, req); code != pb.ErrorCode_Success {
return
}
@ -72,7 +74,7 @@ func (this *apiComp) Dotask(session comm.IUserSession, req *pb.RtaskApplyReq) (c
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,
}); err != nil {
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{})
if ue != nil {
if comm.TaskTag(req.TaskTag) == comm.TASK_DAILY {
ue.Activeday = ue.Activeday + conf.Active
}
if comm.TaskTag(req.TaskTag) == comm.TASK_WEEKLY {
ue.Activeweek = ue.Activeweek + conf.Active
}
update = utils.StructToMap(ue)
} else {
if comm.TaskTag(req.TaskTag) == comm.TASK_DAILY {
update["activeday"] = ue.Activeday + conf.Active
} else if comm.TaskTag(req.TaskTag) == comm.TASK_WEEKLY {
update["activeweek"] = ue.Activeweek + conf.Active
update["activeday"] = conf.Active
}
if comm.TaskTag(req.TaskTag) == comm.TASK_WEEKLY {
update["activeweek"] = conf.Active
}
}
if len(update) > 0 {

View File

@ -31,4 +31,12 @@ const (
GameBuffType_TAUNT = 19
GameBuffType_IMMUNITY = 20
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
Levelname string
Exp int32
Model int32
Model string
Ornament string
Affix string
Needtime int32
LevelDeplete []*Gameatn
Deplete []*Gameatn
Display int32
Probability int32
}
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; 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["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; 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_) }
@ -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
}

View File

@ -16,13 +16,14 @@ type GameRdtaskData struct {
Type int32
PreTid int32
Condition []int32
NextTid int32
CD int32
ObjType int32
Point string
StoryBegin int32
StoryEnd int32
ChooseId []int32
Reward []*Gameatn
NextTid int32
}
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["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["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
}

View File

@ -16,4 +16,8 @@ const (
GameSkillEffectType_RobPro = 5
GameSkillEffectType_BuffCD = 6
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
VikingReset int32
KungfuTime int32
DreamlandFightnum int32
DreamlandResettime int32
DreamlandLimit int32
DreamlandPro int32
}
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_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["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
}

View File

@ -20,9 +20,9 @@ type GameHeroData struct {
Job int32
Type int32
Handbook int32
Prefab int32
Prefab string
Rotation string
Icon int32
Icon string
Vocal string
Tujing []int32
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["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["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; 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 _arr_ []interface{}

View File

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

View File

@ -9,9 +9,10 @@
package cfg
import "errors"
import "bright/serialization"
type GameModelData struct {
Id int32
Id string
Preson string
Presonshow string
Ico string
@ -20,6 +21,7 @@ type GameModelData struct {
Heroimg string
Portrait string
Postxyz []float32
Rotation serialization.Vector3
}
const TypeId_GameModelData = -305436809
@ -29,7 +31,7 @@ func (*GameModelData) GetTypeId() int32 {
}
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.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 } }
@ -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
}

View File

@ -14,8 +14,8 @@ type GameRdtaskChooseData struct {
Id int32
Num int32
PreTid int32
EndTid int32
NeedItem []int32
EndTid int32
}
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["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["endTid"].(float64); !_ok_ { err = errors.New("endTid error"); return }; _v.EndTid = int32(_tempNum_) }
{
var _arr_ []interface{}
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
}

View File

@ -12,23 +12,18 @@ import "errors"
type GameSkillAfteratkData struct {
Id int32
Desc string
From int32
Limit int32
EmitPR int32
AfteratkAct string
From int32
Where []string
Order []string
Type string
Argu string
AddEffect bool
Limit int32
Type int32
ExecuteCnt int32
Argu []int32
FollowSK []int32
SucFollowSK []string
FailFollowSK []string
MustHit bool
Tags []string
RelyTags []string
NoRelyTags []string
}
const TypeId_GameSkillAfteratkData = -281122053
@ -39,11 +34,8 @@ func (*GameSkillAfteratkData) GetTypeId() int32 {
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; 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; 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 _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; if _v.Argu, _ok_ = _buf["Argu"].(string); !_ok_ { err = errors.New("Argu error"); return } }
{ 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["Limit"].(float64); !_ok_ { err = errors.New("Limit error"); return }; _v.Limit = 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["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 _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 _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
}

View File

@ -12,15 +12,19 @@ import "errors"
type GameSkillBuffData struct {
Id int32
Type string
Name string
Desc string
Tags []string
BuffType int32
EffectArgu []int32
BufParNum int32
RelyCheckArgu []int32
CoexistCheckArgu []int32
Effect int32
AddEffect bool
RemoveType bool
OverlayTimes byte
SameID bool
RelyTags []string
NoRelyTags []string
Buffico string
BuffIcon string
Buffeffect string
Buffpos string
}
@ -33,54 +37,58 @@ func (*GameSkillBuffData) GetTypeId() int32 {
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; 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["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 _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_ {
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 _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.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; if _v.SameID, _ok_ = _buf["SameID"].(bool); !_ok_ { err = errors.New("SameID 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.BuffIcon, _ok_ = _buf["buffIcon"].(string); !_ok_ { err = errors.New("buffIcon 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 } }
return

View File

@ -12,17 +12,13 @@ import "errors"
type GameSkillPassiveData struct {
Id int32
Desc string
When string
Where string
AddCon []string
PasPr int32
Type string
MaxEmitTimes int32
OverlayTimes byte
SameID bool
Tags []string
RelyTags []string
NoRelyTags []string
Callback []int32
}
const TypeId_GameSkillPassiveData = -247912740
@ -33,7 +29,6 @@ func (*GameSkillPassiveData) GetTypeId() int32 {
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; 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.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; 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 _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_ {
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_)
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.Callback = append(_v.Callback, _list_v_)
}
}

View File

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

View File

@ -22,5 +22,18 @@ func TestRandom(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)
}
}