英雄数值表

This commit is contained in:
zhaocy 2022-06-23 18:18:57 +08:00
parent 13c97031d3
commit 5b170b9d3d
56 changed files with 4366 additions and 1269 deletions

View File

@ -1,552 +1,596 @@
[
{
"id": "11001",
"id": 11001,
"name": "阿宝",
"star": 4,
"color": 3,
"chengwei": 3,
"zhongzu": 1,
"race": 1,
"job": 1,
"type": 1,
"prefab": "Person/11001.prefab",
"icon": "11001",
"sound": "121323",
"tujing": "[1]",
"hpgrow": "57.4",
"atkgrow": "7.2",
"defgrow": "5.6",
"speedgrow": "2",
"hp": "576",
"atk": "73",
"def": "57",
"speed": "174",
"icon": 11001,
"sound": 121323,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11001.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11002",
"id": 11002,
"name": "原始人",
"star": 5,
"color": 4,
"chengwei": 3,
"zhongzu": 1,
"race": 1,
"job": 1,
"type": 1,
"prefab": "Person/11002.prefab",
"icon": "11002",
"sound": "11002",
"tujing": "[1]",
"hpgrow": "82.9",
"atkgrow": "9.4",
"defgrow": "5.8",
"speedgrow": "2",
"hp": "830",
"atk": "95",
"def": "59",
"speed": "193",
"icon": 11002,
"sound": 11002,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11002.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11003",
"id": 11003,
"name": "波比",
"star": 5,
"color": 4,
"chengwei": 3,
"zhongzu": 1,
"race": 2,
"job": 1,
"type": 1,
"prefab": "Person/11003.prefab",
"icon": "11003",
"sound": "11003",
"tujing": "[1]",
"hpgrow": "82.9",
"atkgrow": "9.4",
"defgrow": "5.8",
"speedgrow": "2",
"hp": "830",
"atk": "95",
"def": "59",
"speed": "193",
"icon": 11003,
"sound": 11003,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11003.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": -0.69,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11004",
"id": 11004,
"name": "布兰",
"star": 5,
"color": 4,
"chengwei": 3,
"zhongzu": 1,
"race": 1,
"job": 1,
"type": 1,
"prefab": "11004",
"icon": "11004",
"sound": "11004",
"tujing": "[1]",
"hpgrow": "82.9",
"atkgrow": "9.4",
"defgrow": "5.8",
"speedgrow": "2",
"hp": "830",
"atk": "95",
"def": "59",
"speed": "193",
"icon": 11004,
"sound": 11004,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11005",
"id": 11005,
"name": "无牙仔",
"star": 4,
"color": 3,
"chengwei": 3,
"zhongzu": 1,
"race": 1,
"job": 1,
"type": 1,
"prefab": "Person/11001.prefab",
"icon": "11005",
"sound": "121323",
"tujing": "[1]",
"hpgrow": "57.4",
"atkgrow": "7.2",
"defgrow": "5.6",
"speedgrow": "2",
"hp": "576",
"atk": "73",
"def": "57",
"speed": "174",
"icon": 11005,
"sound": 121323,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11001.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11006",
"id": 11006,
"name": "亚丝翠",
"star": 5,
"color": 4,
"chengwei": 3,
"zhongzu": 1,
"race": 1,
"job": 1,
"type": 1,
"prefab": "11006",
"icon": "11006",
"sound": "11006",
"tujing": "[1]",
"hpgrow": "82.9",
"atkgrow": "9.4",
"defgrow": "5.8",
"speedgrow": "2",
"hp": "830",
"atk": "95",
"def": "59",
"speed": "193",
"icon": 11006,
"sound": 11006,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11009",
"id": 11009,
"name": "希卡普",
"star": 4,
"color": 3,
"chengwei": 4,
"zhongzu": 2,
"race": 3,
"job": 2,
"type": 1,
"prefab": "11009",
"icon": "11009",
"sound": "11009",
"tujing": "[1]",
"hpgrow": "38.6",
"atkgrow": "10.5",
"defgrow": "5.7",
"speedgrow": "2",
"hp": "389",
"atk": "106",
"def": "58",
"speed": "165",
"icon": 11009,
"sound": 11009,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11009.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0.33,
"y": -0.1,
"z": 0.02
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "22002",
"id": 22002,
"name": "沈王爷青春版",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "22002",
"icon": "22002",
"sound": "22002",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 22002,
"sound": 22002,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "90001",
"id": 90001,
"name": "邪恶阿宝",
"star": 4,
"color": 3,
"chengwei": 3,
"zhongzu": 1,
"race": 1,
"job": 1,
"type": 1,
"prefab": "Person/90001.prefab",
"icon": "90001",
"sound": "90001",
"tujing": "[1]",
"hpgrow": "57.4",
"atkgrow": "7.2",
"defgrow": "5.6",
"speedgrow": "2",
"hp": "576",
"atk": "73",
"def": "57",
"speed": "174",
"icon": 90001,
"sound": 90001,
"tujing": [
1
],
"intr": "",
"events": "hero_90001",
"cite": "11001"
"cite": "11001",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11011",
"id": 11011,
"name": "浣熊",
"star": 4,
"color": 3,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "11011",
"icon": "11011",
"sound": "11011",
"tujing": "[1]",
"hpgrow": "38.6",
"atkgrow": "10.5",
"defgrow": "5.7",
"speedgrow": "2",
"hp": "389",
"atk": "106",
"def": "58",
"speed": "165",
"icon": 11011,
"sound": 11011,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11011.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11008",
"id": 11008,
"name": "悍娇虎",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "11008",
"icon": "11008",
"sound": "11008",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11008,
"sound": 11008,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11017",
"id": 11017,
"name": "冰霜杰克",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 4,
"job": 2,
"type": 1,
"prefab": "11017",
"icon": "11017",
"sound": "11017",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11017,
"sound": 11017,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11017.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11018",
"id": 11018,
"name": "睡神",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 4,
"job": 2,
"type": 1,
"prefab": "11018",
"icon": "11018",
"sound": "11018",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11018,
"sound": 11018,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11018.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": -0.31,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11019",
"id": 11019,
"name": "莫甘娜",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "11019",
"icon": "11019",
"sound": "11019",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11019,
"sound": 11019,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11019.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11020",
"id": 11020,
"name": "莫甘娜二阶段",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "11020",
"icon": "11020",
"sound": "11020",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11020,
"sound": 11020,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11020.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11021",
"id": 11021,
"name": "莫甘娜巨怪",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "11021",
"icon": "11021",
"sound": "11021",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11021,
"sound": 11021,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11021.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "11099",
"id": 11099,
"name": "触手",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "11099",
"icon": "11099",
"sound": "11099",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 11099,
"sound": 11099,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11099.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "12001",
"id": 12001,
"name": "黑化阿宝",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "Person/12001.prefab",
"icon": "12001",
"sound": "121323",
"tujing": "[1]",
"hpgrow": "57.4",
"atkgrow": "7.2",
"defgrow": "5.6",
"speedgrow": "2",
"hp": "576",
"atk": "73",
"def": "57",
"speed": "174",
"icon": 12001,
"sound": 121323,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_12001.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "12003",
"id": 12003,
"name": "黑化包比",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "Person/11003.prefab",
"icon": "12003",
"sound": "12003",
"tujing": "[1]",
"hpgrow": "82.9",
"atkgrow": "9.4",
"defgrow": "5.8",
"speedgrow": "2",
"hp": "830",
"atk": "95",
"def": "59",
"speed": "193",
"icon": 12003,
"sound": 12003,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11003.asset",
"cite": "11003"
"cite": "11003",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "12009",
"id": 12009,
"name": "黑化希卡普",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "12009",
"icon": "11009",
"sound": "11009",
"tujing": "[1]",
"hpgrow": "38.6",
"atkgrow": "10.5",
"defgrow": "5.7",
"speedgrow": "2",
"hp": "389",
"atk": "106",
"def": "58",
"speed": "165",
"icon": 11009,
"sound": 11009,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11009.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "12017",
"id": 12017,
"name": "黑化杰克",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "12017",
"icon": "12017",
"sound": "12017",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 12017,
"sound": 12017,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11017.asset",
"cite": ""
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": "12018",
"id": 12018,
"name": "黑化睡神",
"star": 5,
"color": 4,
"chengwei": 4,
"zhongzu": 2,
"race": 2,
"job": 2,
"type": 1,
"prefab": "12018",
"icon": "12018",
"sound": "12018",
"tujing": "[1]",
"hpgrow": "55.6",
"atkgrow": "13.6",
"defgrow": "5.9",
"speedgrow": "2",
"hp": "561",
"atk": "137",
"def": "60",
"speed": "183",
"icon": 12018,
"sound": 12018,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11018.asset",
"cite": "11018"
"cite": "11018",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill1": 0,
"skill2": 0,
"skill3": 0
}
]

View File

@ -0,0 +1,387 @@
[
{
"id": 11001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 174,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 11002,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11003,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11004,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 11005,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 174,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 11006,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11009,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 165,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 22002,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 90001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 174,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 11011,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 165,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11008,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11017,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 11018,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 11019,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11020,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 11021,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 11099,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 12001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 174,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 12003,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 12009,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 165,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 12017,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 12018,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 15001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 25001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 35001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 174,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 44001,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 44901,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 165,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 44902,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 44903,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 44911,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 44912,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 44913,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 174,
"hpgrow": 1.1,
"atkgrow": 1.3,
"defgrow": 1.15,
"speedgrow": 0
},
{
"id": 44921,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 193,
"hpgrow": 1.15,
"atkgrow": 1.1,
"defgrow": 1.3,
"speedgrow": 0
},
{
"id": 44922,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 165,
"hpgrow": 1.25,
"atkgrow": 1,
"defgrow": 1.25,
"speedgrow": 0
},
{
"id": 44923,
"hp": 0,
"atk": 0,
"def": 0,
"speed": 183,
"hpgrow": 1,
"atkgrow": 1.3,
"defgrow": 1.25,
"speedgrow": 0
}
]

View File

@ -0,0 +1,422 @@
[
{
"level": 1,
"heroexp": 300,
"hp": 1857,
"atk": 137,
"def": 137
},
{
"level": 2,
"heroexp": 320,
"hp": 1953,
"atk": 142.7,
"def": 143.7
},
{
"level": 3,
"heroexp": 340,
"hp": 2049,
"atk": 148.4,
"def": 150.4
},
{
"level": 4,
"heroexp": 360,
"hp": 2145,
"atk": 154.1,
"def": 157.1
},
{
"level": 5,
"heroexp": 380,
"hp": 2241,
"atk": 159.8,
"def": 163.8
},
{
"level": 6,
"heroexp": 400,
"hp": 2337,
"atk": 165.5,
"def": 170.5
},
{
"level": 7,
"heroexp": 420,
"hp": 2433,
"atk": 171.2,
"def": 177.2
},
{
"level": 8,
"heroexp": 440,
"hp": 2529,
"atk": 176.9,
"def": 183.9
},
{
"level": 9,
"heroexp": 460,
"hp": 2625,
"atk": 182.6,
"def": 190.6
},
{
"level": 10,
"heroexp": 480,
"hp": 2721,
"atk": 188.3,
"def": 197.3
},
{
"level": 11,
"heroexp": 1100,
"hp": 2817,
"atk": 194,
"def": 204
},
{
"level": 12,
"heroexp": 1200,
"hp": 2913,
"atk": 199.7,
"def": 210.7
},
{
"level": 13,
"heroexp": 1300,
"hp": 3009,
"atk": 205.4,
"def": 217.4
},
{
"level": 14,
"heroexp": 1400,
"hp": 3105,
"atk": 211.1,
"def": 224.1
},
{
"level": 15,
"heroexp": 1500,
"hp": 3201,
"atk": 216.8,
"def": 230.8
},
{
"level": 16,
"heroexp": 1600,
"hp": 3297,
"atk": 222.5,
"def": 237.5
},
{
"level": 17,
"heroexp": 1700,
"hp": 3393,
"atk": 228.2,
"def": 244.2
},
{
"level": 18,
"heroexp": 1800,
"hp": 3489,
"atk": 233.9,
"def": 250.9
},
{
"level": 19,
"heroexp": 1900,
"hp": 3585,
"atk": 239.6,
"def": 257.6
},
{
"level": 20,
"heroexp": 2000,
"hp": 3681,
"atk": 245.3,
"def": 264.3
},
{
"level": 21,
"heroexp": 6300,
"hp": 3777,
"atk": 251,
"def": 271
},
{
"level": 22,
"heroexp": 6600,
"hp": 3873,
"atk": 256.7,
"def": 277.7
},
{
"level": 23,
"heroexp": 6900,
"hp": 3969,
"atk": 262.4,
"def": 284.4
},
{
"level": 24,
"heroexp": 7200,
"hp": 4065,
"atk": 268.1,
"def": 291.1
},
{
"level": 25,
"heroexp": 7500,
"hp": 4161,
"atk": 273.8,
"def": 297.8
},
{
"level": 26,
"heroexp": 7800,
"hp": 4257,
"atk": 279.5,
"def": 304.5
},
{
"level": 27,
"heroexp": 8100,
"hp": 4353,
"atk": 285.2,
"def": 311.2
},
{
"level": 28,
"heroexp": 8400,
"hp": 4449,
"atk": 290.9,
"def": 317.9
},
{
"level": 29,
"heroexp": 8700,
"hp": 4545,
"atk": 296.6,
"def": 324.6
},
{
"level": 30,
"heroexp": 9000,
"hp": 4641,
"atk": 302.3,
"def": 331.3
},
{
"level": 31,
"heroexp": 15500,
"hp": 4737,
"atk": 308,
"def": 338
},
{
"level": 32,
"heroexp": 16000,
"hp": 4833,
"atk": 313.7,
"def": 344.7
},
{
"level": 33,
"heroexp": 16500,
"hp": 4929,
"atk": 319.4,
"def": 351.4
},
{
"level": 34,
"heroexp": 17000,
"hp": 5025,
"atk": 325.1,
"def": 358.1
},
{
"level": 35,
"heroexp": 17500,
"hp": 5121,
"atk": 330.8,
"def": 364.8
},
{
"level": 36,
"heroexp": 18000,
"hp": 5217,
"atk": 336.5,
"def": 371.5
},
{
"level": 37,
"heroexp": 18500,
"hp": 5313,
"atk": 342.2,
"def": 378.2
},
{
"level": 38,
"heroexp": 19000,
"hp": 5409,
"atk": 347.9,
"def": 384.9
},
{
"level": 39,
"heroexp": 19500,
"hp": 5505,
"atk": 353.6,
"def": 391.6
},
{
"level": 40,
"heroexp": 20000,
"hp": 5601,
"atk": 359.3,
"def": 398.3
},
{
"level": 41,
"heroexp": 24600,
"hp": 5697,
"atk": 365,
"def": 405
},
{
"level": 42,
"heroexp": 25200,
"hp": 5793,
"atk": 370.7,
"def": 411.7
},
{
"level": 43,
"heroexp": 25800,
"hp": 5889,
"atk": 376.4,
"def": 418.4
},
{
"level": 44,
"heroexp": 26400,
"hp": 5985,
"atk": 382.1,
"def": 425.1
},
{
"level": 45,
"heroexp": 27000,
"hp": 6081,
"atk": 387.8,
"def": 431.8
},
{
"level": 46,
"heroexp": 27600,
"hp": 6177,
"atk": 393.5,
"def": 438.5
},
{
"level": 47,
"heroexp": 28200,
"hp": 6273,
"atk": 399.2,
"def": 445.2
},
{
"level": 48,
"heroexp": 28800,
"hp": 6369,
"atk": 404.9,
"def": 451.9
},
{
"level": 49,
"heroexp": 29400,
"hp": 6465,
"atk": 410.6,
"def": 458.6
},
{
"level": 50,
"heroexp": 30000,
"hp": 6561,
"atk": 416.3,
"def": 465.3
},
{
"level": 51,
"heroexp": 48450,
"hp": 6657,
"atk": 422,
"def": 472
},
{
"level": 52,
"heroexp": 49400,
"hp": 6753,
"atk": 427.7,
"def": 478.7
},
{
"level": 53,
"heroexp": 50350,
"hp": 6849,
"atk": 433.4,
"def": 485.4
},
{
"level": 54,
"heroexp": 51300,
"hp": 6945,
"atk": 439.1,
"def": 492.1
},
{
"level": 55,
"heroexp": 52250,
"hp": 7041,
"atk": 444.8,
"def": 498.8
},
{
"level": 56,
"heroexp": 53200,
"hp": 7137,
"atk": 450.5,
"def": 505.5
},
{
"level": 57,
"heroexp": 54150,
"hp": 7233,
"atk": 456.2,
"def": 512.2
},
{
"level": 58,
"heroexp": 55100,
"hp": 7329,
"atk": 461.9,
"def": 518.9
},
{
"level": 59,
"heroexp": 56050,
"hp": 7425,
"atk": 467.6,
"def": 525.6
},
{
"level": 60,
"heroexp": 57000,
"hp": 7521,
"atk": 473.3,
"def": 532.3
}
]

View File

@ -0,0 +1,44 @@
[
{
"color": 1,
"starup_hp": 0,
"starup_atk": 0,
"starup_def": 0,
"starup_speed": 0
},
{
"color": 2,
"starup_hp": 9.5,
"starup_atk": 9.5,
"starup_def": 9.5,
"starup_speed": 9.5
},
{
"color": 3,
"starup_hp": 19,
"starup_atk": 19,
"starup_def": 19,
"starup_speed": 19
},
{
"color": 4,
"starup_hp": 28.5,
"starup_atk": 28.5,
"starup_def": 28.5,
"starup_speed": 28.5
},
{
"color": 5,
"starup_hp": 38,
"starup_atk": 38,
"starup_def": 38,
"starup_speed": 38
},
{
"color": 6,
"starup_hp": 47.5,
"starup_atk": 47.5,
"starup_def": 47.5,
"starup_speed": 47.5
}
]

View File

@ -0,0 +1,258 @@
[
{
"key": 1,
"id": 15001,
"star": 4,
"maxlevel": 40,
"needhero": 15001,
"needherostar": 4,
"needheronum": 1,
"needrace": [
1
],
"needracestar": 4,
"needracenum": 4
},
{
"key": 2,
"id": 15001,
"star": 5,
"maxlevel": 50,
"needhero": 15001,
"needherostar": 5,
"needheronum": 1,
"needrace": [
1
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 3,
"id": 15001,
"star": 6,
"maxlevel": 60,
"needhero": 15001,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
},
{
"key": 4,
"id": 25001,
"star": 5,
"maxlevel": 50,
"needhero": 25001,
"needherostar": 5,
"needheronum": 1,
"needrace": [
2
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 5,
"id": 25001,
"star": 6,
"maxlevel": 60,
"needhero": 25001,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
},
{
"key": 6,
"id": 35001,
"star": 5,
"maxlevel": 50,
"needhero": 35001,
"needherostar": 5,
"needheronum": 1,
"needrace": [
3
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 7,
"id": 35001,
"star": 6,
"maxlevel": 60,
"needhero": 35001,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
},
{
"key": 8,
"id": 44001,
"star": 5,
"maxlevel": 50,
"needhero": 44001,
"needherostar": 5,
"needheronum": 1,
"needrace": [
4
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 9,
"id": 44001,
"star": 6,
"maxlevel": 60,
"needhero": 44001,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
},
{
"key": 10,
"id": 44901,
"star": 3,
"maxlevel": 30,
"needhero": 44901,
"needherostar": 3,
"needheronum": 1,
"needrace": [
1,
2,
3,
4
],
"needracestar": 3,
"needracenum": 4
},
{
"key": 11,
"id": 44901,
"star": 4,
"maxlevel": 40,
"needhero": 44901,
"needherostar": 4,
"needheronum": 1,
"needrace": [
1,
2,
3,
4
],
"needracestar": 4,
"needracenum": 4
},
{
"key": 12,
"id": 44901,
"star": 5,
"maxlevel": 50,
"needhero": 44901,
"needherostar": 5,
"needheronum": 1,
"needrace": [
1,
2,
3,
4
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 13,
"id": 44901,
"star": 6,
"maxlevel": 60,
"needhero": 44901,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
},
{
"key": 14,
"id": 44902,
"star": 4,
"maxlevel": 40,
"needhero": 44902,
"needherostar": 4,
"needheronum": 1,
"needrace": [
1,
2,
3,
4
],
"needracestar": 4,
"needracenum": 4
},
{
"key": 15,
"id": 44902,
"star": 5,
"maxlevel": 50,
"needhero": 44902,
"needherostar": 5,
"needheronum": 1,
"needrace": [
1,
2,
3,
4
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 16,
"id": 44902,
"star": 6,
"maxlevel": 60,
"needhero": 44902,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
},
{
"key": 17,
"id": 44903,
"star": 5,
"maxlevel": 50,
"needhero": 44903,
"needherostar": 5,
"needheronum": 1,
"needrace": [
1,
2,
3,
4
],
"needracestar": 5,
"needracenum": 4
},
{
"key": 18,
"id": 44903,
"star": 6,
"maxlevel": 60,
"needhero": 44903,
"needherostar": 0,
"needheronum": 0,
"needrace": [],
"needracestar": 0,
"needracenum": 0
}
]

366
bin/json/game_newhero.json Normal file
View File

@ -0,0 +1,366 @@
[
{
"id": 15001,
"name": "阿宝",
"star": 5,
"color": 4,
"race": 1,
"job": 1,
"type": 1,
"prefab": "Person/11001.prefab",
"icon": 15001,
"sound": 121323,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11001.asset",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 25001,
"name": "亚丝翠",
"star": 5,
"color": 4,
"race": 2,
"job": 1,
"type": 1,
"prefab": "25001",
"icon": 25001,
"sound": 25001,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 35001,
"name": "波比",
"star": 5,
"color": 4,
"race": 3,
"job": 1,
"type": 1,
"prefab": "Person/11003.prefab",
"icon": 35001,
"sound": 35001,
"tujing": [
1
],
"intr": "",
"events": "EventDataSet/Hero_11003.asset",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": -0.69,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 44001,
"name": "悍娇虎",
"star": 4,
"color": 3,
"race": 4,
"job": 2,
"type": 1,
"prefab": "44001",
"icon": 44001,
"sound": 44001,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 44901,
"name": "升星精灵·稀有",
"star": 3,
"color": 2,
"race": 4,
"job": 5,
"type": 2,
"prefab": "44901",
"icon": 44901,
"sound": 44901,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 44902,
"name": "升星精灵·史诗",
"star": 4,
"color": 3,
"race": 4,
"job": 5,
"type": 2,
"prefab": "44902",
"icon": 44902,
"sound": 44902,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 44903,
"name": "升星精灵·传说",
"star": 5,
"color": 4,
"race": 4,
"job": 5,
"type": 2,
"prefab": "44903",
"icon": 44903,
"sound": 44903,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 0,
"skill2": 0,
"skill3": 0
},
{
"id": 44911,
"name": "初级经验精灵",
"star": 2,
"color": 1,
"race": 4,
"job": 5,
"type": 3,
"prefab": "44911",
"icon": 44911,
"sound": 44911,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 100044911,
"skill2": 100044911,
"skill3": 0
},
{
"id": 44912,
"name": "中级经验精灵",
"star": 2,
"color": 1,
"race": 4,
"job": 5,
"type": 3,
"prefab": "44912",
"icon": 44912,
"sound": 44912,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 100044912,
"skill2": 100044911,
"skill3": 0
},
{
"id": 44913,
"name": "高级经验精灵",
"star": 2,
"color": 1,
"race": 4,
"job": 5,
"type": 3,
"prefab": "44913",
"icon": 44913,
"sound": 44913,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 100044913,
"skill2": 100044911,
"skill3": 0
},
{
"id": 44921,
"name": "技能精灵·稀有",
"star": 3,
"color": 2,
"race": 4,
"job": 5,
"type": 4,
"prefab": "44921",
"icon": 44921,
"sound": 44921,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 100044921,
"skill2": 100044911,
"skill3": 0
},
{
"id": 44922,
"name": "技能精灵·史诗",
"star": 4,
"color": 3,
"race": 4,
"job": 5,
"type": 4,
"prefab": "44922",
"icon": 44922,
"sound": 44922,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 100044922,
"skill2": 100044911,
"skill3": 0
},
{
"id": 44923,
"name": "技能精灵·传说",
"star": 5,
"color": 4,
"race": 4,
"job": 5,
"type": 4,
"prefab": "44923",
"icon": 44923,
"sound": 44923,
"tujing": [
1
],
"intr": "",
"events": "hero_2011",
"cite": "",
"effectstay": [],
"hpspace": {
"x": 0,
"y": 0,
"z": 0
},
"skill": 0,
"skill1": 100044923,
"skill2": 100044911,
"skill3": 0
}
]

View File

@ -1,482 +1,79 @@
[
{
"sameid": 110001,
"heroid": 11001,
"lv": 0,
"type": 0,
"skilllv": 1,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"tubiao": "skillicon_1",
"name": "太极一式",
"describe": ""
},
{
"sameid": 110002,
"heroid": 11001,
"lv": 1,
"type": 1,
"skilllv": 1,
"act": "Skill1",
"skill": "[]",
"tubiao": "110002_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
"tubiao": "skillicon_1",
"name": "太极零式",
"describe": ""
},
{
"sameid": 110003,
"heroid": 11001,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "110003_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
"tubiao": "skillicon_3",
"name": "太极最终式",
"describe": ""
},
{
"sameid": 110004,
"heroid": 11001,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "Skill3",
"skill": "[]",
"tubiao": "110004_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
"act": "Atk",
"tubiao": "skillicon_1",
"name": "和谐音律",
"describe": ""
},
{
"sameid": 110005,
"heroid": 11001,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110005_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
},
{
"sameid": 110031,
"heroid": 11003,
"lv": 0,
"type": 0,
"skilllv": 1,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"describe": ""
},
{
"sameid": 110032,
"heroid": 11003,
"lv": 1,
"type": 1,
"skilllv": 1,
"act": "Skill1",
"skill": "[]",
"tubiao": "110032_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
"tubiao": "skillicon_2",
"name": "彩虹音符",
"describe": ""
},
{
"sameid": 110033,
"heroid": 11003,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "110033_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
},
{
"sameid": 110034,
"heroid": 11003,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110034_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
},
{
"sameid": 110035,
"heroid": 11003,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110035_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
},
{
"sameid": 110041,
"heroid": 11004,
"lv": 0,
"type": 0,
"skilllv": 1,
"sameid": 110006,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"tubiao": "skillicon_1",
"name": "冰霜之语",
"describe": ""
},
{
"sameid": 110042,
"heroid": 11004,
"lv": 1,
"type": 1,
"skilllv": 1,
"sameid": 110007,
"act": "Skill1",
"skill": "[]",
"tubiao": "110042_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
},
{
"sameid": 110043,
"heroid": 11004,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "110043_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
},
{
"sameid": 110044,
"heroid": 11004,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110044_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
},
{
"sameid": 110045,
"heroid": 11004,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110045_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
},
{
"sameid": 220001,
"heroid": 22001,
"lv": 0,
"type": 0,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "",
"name": "",
"tubiao": "skillicon_2",
"name": "极寒领域",
"describe": ""
},
{
"sameid": 220002,
"heroid": 22001,
"lv": 1,
"type": 1,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "220002_1",
"name": "寒冬将至",
"describe": "白雪公主飘到敌方上空甩动头发蓄力降下冰雪对敌方全体造成57%攻击伤害并有15%概率使目标冰冻2回合"
},
{
"sameid": 220003,
"heroid": 22001,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "220003_2",
"name": "寒冰血脉",
"describe": "白雪公主天生自带寒冰之力攻击增加25%生命增加20%"
},
{
"sameid": 220004,
"heroid": 22001,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "220004_3",
"name": "美丽冻人",
"describe": "暴雪公主天生丽质美丽冻人普攻有15%概率使目标冰冻持续1回合"
},
{
"sameid": 220005,
"heroid": 22001,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "220005_4",
"name": "风雪归途",
"describe": "白雪公主败退之时体内寒冰血脉爆发有11.1%概率使所有敌人冰冻持续2回合"
},
{
"sameid": 900001,
"heroid": 90001,
"lv": 0,
"type": 0,
"skilllv": 1,
"sameid": 110008,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"tubiao": "skillicon_1",
"name": "梦·呓语",
"describe": ""
},
{
"sameid": 900002,
"heroid": 90001,
"lv": 1,
"type": 1,
"skilllv": 1,
"sameid": 110009,
"act": "Skill1",
"skill": "[]",
"tubiao": "900002_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
"tubiao": "skillicon_2",
"name": "梦·创世",
"describe": ""
},
{
"sameid": 900003,
"heroid": 90001,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "900003_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
},
{
"sameid": 900004,
"heroid": 90001,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "900004_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
},
{
"sameid": 900005,
"heroid": 90001,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "900005_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
},
{
"sameid": 110081,
"heroid": 11008,
"lv": 0,
"type": 0,
"skilllv": 1,
"sameid": 110010,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"tubiao": "skillicon_1",
"name": "一往无前",
"describe": ""
},
{
"sameid": 110082,
"heroid": 11008,
"lv": 1,
"type": 1,
"skilllv": 1,
"sameid": 110011,
"act": "Skill1",
"skill": "[]",
"tubiao": "110082_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
},
{
"sameid": 110083,
"heroid": 11008,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "110083_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
},
{
"sameid": 110084,
"heroid": 11008,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110084_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
},
{
"sameid": 110085,
"heroid": 11008,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110085_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
},
{
"sameid": 110171,
"heroid": 11017,
"lv": 0,
"type": 0,
"skilllv": 1,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"tubiao": "skillicon_2",
"name": "自由之往",
"describe": ""
},
{
"sameid": 110172,
"heroid": 11017,
"lv": 1,
"type": 1,
"skilllv": 1,
"act": "Skill1",
"skill": "[]",
"tubiao": "110172_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
},
{
"sameid": 110173,
"heroid": 11017,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "110173_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
},
{
"sameid": 110174,
"heroid": 11017,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110174_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
},
{
"sameid": 110175,
"heroid": 11017,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110175_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
},
{
"sameid": 110181,
"heroid": 11018,
"lv": 0,
"type": 0,
"skilllv": 1,
"act": "Atk",
"skill": "[]",
"tubiao": "",
"name": "",
"describe": ""
},
{
"sameid": 110182,
"heroid": 11018,
"lv": 1,
"type": 1,
"skilllv": 1,
"act": "Skill1",
"skill": "[]",
"tubiao": "110182_1",
"name": "伤心欲绝",
"describe": "对敌方后排随机3名敌人造成125%攻击伤害并使自己暴击提升10%持续2回合"
},
{
"sameid": 110183,
"heroid": 11018,
"lv": 31,
"type": 2,
"skilllv": 1,
"act": "Skill2",
"skill": "[]",
"tubiao": "110183_2",
"name": "铁皮",
"describe": "铁皮人血量提升20%攻击提升15%"
},
{
"sameid": 110184,
"heroid": 11018,
"lv": 51,
"type": 3,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110184_3",
"name": "刃甲",
"describe": "受到伤害时有25%概率反击造成50%攻击伤害"
},
{
"sameid": 110185,
"heroid": 11018,
"lv": 81,
"type": 4,
"skilllv": 1,
"act": "hit",
"skill": "[]",
"tubiao": "110185_4",
"name": "生生不息",
"describe": "每次普攻回复自己生命24%攻击伤害"
}
]

View File

@ -0,0 +1,776 @@
[
{
"Id": 200012101,
"Desc": "给自己加回合结束后触发的BUFF",
"Target": "",
"EmitPR": 1000,
"Type": "AddBuff",
"Argu": [
"400011101",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012102,
"Desc": "给自己加引雷BUFF1伤害触发的子技能",
"Target": "",
"EmitPR": 1001,
"Type": "AddBuff",
"Argu": [
"400011102",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012103,
"Desc": "给自己加引雷BUFF2受击触发的子技能",
"Target": "",
"EmitPR": 1002,
"Type": "AddBuff",
"Argu": [
"400011103",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012104,
"Desc": "给自己加引雷BUFF3受控触发的子技能",
"Target": "",
"EmitPR": 1003,
"Type": "AddBuff",
"Argu": [
"400011104",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012105,
"Desc": "造成全体伤害",
"Target": "",
"EmitPR": 1004,
"Type": "DefDam",
"Argu": [
"850"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [
"shanghai",
"xxx"
]
},
{
"Id": 200012106,
"Desc": "给自己加防御提升BUFF",
"Target": "",
"EmitPR": 1005,
"Type": "AddBuff",
"Argu": [
"300011107",
"1",
"Buff_Per_Def",
"1",
"200"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012107,
"Desc": "驱散自身 引雷 标签所有BUFF",
"Target": "",
"EmitPR": 1006,
"Type": "qushanbiaoqian",
"Argu": [
"yinlei"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012201,
"Desc": "给自己加回合结束后触发的BUFF",
"Target": "",
"EmitPR": 1007,
"Type": "AddBuff",
"Argu": [
"400011201",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012202,
"Desc": "给自己加引雷BUFF1伤害触发的子技能",
"Target": "",
"EmitPR": 1008,
"Type": "AddBuff",
"Argu": [
"400012202",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012203,
"Desc": "给自己加引雷BUFF2受击触发的子技能",
"Target": "",
"EmitPR": 1009,
"Type": "AddBuff",
"Argu": [
"400012203",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012204,
"Desc": "给自己加引雷BUFF3受控触发的子技能",
"Target": "",
"EmitPR": 1010,
"Type": "AddBuff",
"Argu": [
"400012204",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012205,
"Desc": "造成全体伤害",
"Target": "",
"EmitPR": 1011,
"Type": "DefDam",
"Argu": [
"900"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [
"shanghai"
]
},
{
"Id": 200012206,
"Desc": "给自己加防御提升BUFF",
"Target": "",
"EmitPR": 1012,
"Type": "AddBuff",
"Argu": [
"300012207",
"1",
"Buff_Per_Def",
"1",
"200"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012207,
"Desc": "驱散自身 引雷 标签所有BUFF",
"Target": "",
"EmitPR": 1013,
"Type": "qushanbiaoqian",
"Argu": [
"yinlei"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012301,
"Desc": "给自己加回合结束后触发的BUFF",
"Target": "",
"EmitPR": 1014,
"Type": "AddBuff",
"Argu": [
"400012301",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012302,
"Desc": "给自己加引雷BUFF1伤害触发的子技能",
"Target": "",
"EmitPR": 1015,
"Type": "AddBuff",
"Argu": [
"400012302",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012303,
"Desc": "给自己加引雷BUFF2受击触发的子技能",
"Target": "",
"EmitPR": 1016,
"Type": "AddBuff",
"Argu": [
"400012303",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012304,
"Desc": "给自己加引雷BUFF3受控触发的子技能",
"Target": "",
"EmitPR": 1017,
"Type": "AddBuff",
"Argu": [
"400012304",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012305,
"Desc": "造成全体伤害",
"Target": "",
"EmitPR": 1018,
"Type": "DefDam",
"Argu": [
"950"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [
"shanghai"
]
},
{
"Id": 200012306,
"Desc": "给自己加防御提升BUFF",
"Target": "",
"EmitPR": 1019,
"Type": "AddBuff",
"Argu": [
"300011307",
"1",
"Buff_Per_Def",
"1",
"200"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012307,
"Desc": "驱散自身 引雷 标签所有BUFF",
"Target": "",
"EmitPR": 1020,
"Type": "qushanbiaoqian",
"Argu": [
"yinlei"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012401,
"Desc": "给自己加回合结束后触发的BUFF",
"Target": "",
"EmitPR": 1021,
"Type": "AddBuff",
"Argu": [
"400012401",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012402,
"Desc": "给自己加引雷BUFF1伤害触发的子技能",
"Target": "",
"EmitPR": 1022,
"Type": "AddBuff",
"Argu": [
"400012402",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012403,
"Desc": "给自己加引雷BUFF2受击触发的子技能",
"Target": "",
"EmitPR": 1023,
"Type": "AddBuff",
"Argu": [
"400012403",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012404,
"Desc": "给自己加引雷BUFF3受控触发的子技能",
"Target": "",
"EmitPR": 1024,
"Type": "AddBuff",
"Argu": [
"400012404",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012405,
"Desc": "造成全体伤害",
"Target": "",
"EmitPR": 1025,
"Type": "DefDam",
"Argu": [
"1000"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [
"shanghai"
]
},
{
"Id": 200012406,
"Desc": "给自己加防御提升BUFF",
"Target": "",
"EmitPR": 1026,
"Type": "AddBuff",
"Argu": [
"30012407",
"1",
"Buff_Per_Def",
"1",
"200"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012407,
"Desc": "驱散自身 引雷 标签所有BUFF",
"Target": "",
"EmitPR": 1027,
"Type": "qushanbiaoqian",
"Argu": [
"yinlei"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012501,
"Desc": "给自己加回合结束后触发的BUFF",
"Target": "",
"EmitPR": 1028,
"Type": "AddBuff",
"Argu": [
"400012501",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012502,
"Desc": "给自己加引雷BUFF1伤害触发的子技能",
"Target": "",
"EmitPR": 1029,
"Type": "AddBuff",
"Argu": [
"400012502",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012503,
"Desc": "给自己加引雷BUFF2受击触发的子技能",
"Target": "",
"EmitPR": 1030,
"Type": "AddBuff",
"Argu": [
"400012503",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012504,
"Desc": "给自己加引雷BUFF3受控触发的子技能",
"Target": "",
"EmitPR": 1031,
"Type": "AddBuff",
"Argu": [
"400012504",
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012505,
"Desc": "造成全体伤害",
"Target": "",
"EmitPR": 1032,
"Type": "DefDam",
"Argu": [
"1100"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012506,
"Desc": "给自己加防御提升BUFF",
"Target": "",
"EmitPR": 1033,
"Type": "AddBuff",
"Argu": [
"30012507",
"1",
"Buff_Per_Def",
"1",
"200"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200012507,
"Desc": "驱散自身 引雷 标签所有BUFF",
"Target": "",
"EmitPR": 1034,
"Type": "qushanbiaoqian",
"Argu": [
"yinlei"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200015101,
"Desc": "加暴击检测触发的BUFF",
"Target": "",
"EmitPR": 1035,
"Type": "AddBuff",
"Argu": [
"400015101",
"-1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200015102,
"Desc": "减少当前角色第几个技能的CD",
"Target": "",
"EmitPR": 1036,
"Type": "yingxiangCD",
"Argu": [
"1",
"1",
"2"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200222001,
"Desc": "给自己加 受击触发调用子技能效果的 子技能",
"Target": "",
"EmitPR": 1037,
"Type": "AddBuff",
"Argu": [
"400222001"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200222002,
"Desc": "给自己加公牛之怒每层可提升自身10%的基础防御力",
"Target": "",
"EmitPR": 1038,
"Type": "AddBuff",
"Argu": [
"300222002",
"-1",
"Buff_Per_Def",
"1",
"100"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200222003,
"Desc": "给自己加公牛之怒每层5%的效果抵抗最多可叠加10层",
"Target": "",
"EmitPR": 1039,
"Type": "AddBuff",
"Argu": [
"300222003",
"-1",
"Add_EffRe",
"1",
"50"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200225004,
"Desc": "给自己加 BUFF10层触发调用子技能效果的 子技能",
"Target": "",
"EmitPR": 1040,
"Type": "AddBuff",
"Argu": [
"400225004",
"-1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200225005,
"Desc": "自身获得10层【公牛之怒】时将立即获得回合",
"Target": "",
"EmitPR": 1041,
"Type": "huodehuihe",
"Argu": [
"1"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200223001,
"Desc": "若自身拥有10层【公牛之怒】则本次伤害额外提升50%",
"Target": "",
"EmitPR": 1042,
"Type": "AddBuff",
"Argu": [
"300223001",
"0",
"CauseDam",
"1",
"500"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200223002,
"Desc": "对敌方1个目标造成攻击力80%以及防御力120%的伤害",
"Target": "",
"EmitPR": 1043,
"Type": "AtkDefDam",
"Argu": [
"800",
"1000"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": [
"shanghai"
]
},
{
"Id": 200223003,
"Desc": "并【挑衅】1名敌人2回合",
"Target": "",
"EmitPR": 1044,
"Type": "AddBuff",
"Argu": [
"400223003",
"2"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200223004,
"Desc": "驱散公牛之怒",
"Target": "",
"EmitPR": 1045,
"Type": "qushanbiaoqian",
"Argu": [
"gongniuzhinu"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
},
{
"Id": 200223005,
"Desc": "每层【公牛之怒】效果为自身回复5%的最大生命值。",
"Target": "",
"EmitPR": 1046,
"Type": "canshuhuifubaifenbishengming",
"Argu": [
"50"
],
"AddEffect": false,
"FollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"Tags": []
}
]

149
bin/json/game_skillatk.json Normal file
View File

@ -0,0 +1,149 @@
[
{
"Id": 100012000,
"Name": "雷神之怒",
"Type": 2,
"Desc": "每回合结束后会进入【引雷】状态持续1回合在自身新回合开始时对敌方全体造成防御力110%的伤害。【引雷】期间自身每次收到攻击时都会获得1层【雷之庇佑】但出于不可行动状态时解除【引雷】状态。",
"MaxLV": 5,
"CD": [
4,
4,
4,
4,
3
],
"Target": 1,
"ChildSkill": [
{
"Id": [
20001210
]
},
{
"Id": [
200012201
]
},
{
"Id": [
200012301,
200015101
]
},
{
"Id": [
200012401,
200015101
]
},
{
"Id": [
200012501
]
}
]
},
{
"Id": 100015000,
"Name": "雷神之怒",
"Type": 2,
"Desc": "每回合结束后会进入【引雷】状态持续1回合在自身新回合开始时对敌方全体造成防御力110%的伤害。【引雷】期间自身每次收到攻击时都会获得1层【雷之庇佑】但出于不可行动状态时解除【引雷】状态。自身的任意主动技能命中敌人触发暴击时降低此技能1回合冷却技能无论触发多少次暴击都只执行1次也就是被动每回合只执行1次",
"MaxLV": 5,
"CD": [
4,
4,
4,
4,
3
],
"Target": 2,
"ChildSkill": [
{
"Id": [
200012101,
200015101
]
},
{
"Id": [
200012201,
200015101
]
},
{
"Id": [
200012301,
200015101
]
},
{
"Id": [
200012401,
200015101
]
},
{
"Id": [
200012501,
200015101
]
}
]
},
{
"Id": 100222000,
"Name": "蓄势待发",
"Type": 2,
"Desc": "每次受到攻击时自身获得1层【公牛之怒】每层可提升自身10%的基础防御力和5%的效果抵抗最多可叠加10层。",
"MaxLV": 1,
"CD": [],
"Target": 3,
"ChildSkill": [
{
"Id": [
200222001
]
}
]
},
{
"Id": 100225000,
"Name": "蓄势待发",
"Type": 2,
"Desc": "每次受到攻击时自身获得1层【公牛之怒】每层可提升自身10%的基础防御力和5%的效果抵抗最多可叠加10层。自身获得10层【公牛之怒】时将立即获得回合",
"MaxLV": 1,
"CD": [],
"Target": 4,
"ChildSkill": [
{
"Id": [
200222001,
200225004
]
}
]
},
{
"Id": 100223000,
"Name": "烈阳暴吼",
"Type": 1,
"Desc": "对敌方1个目标造成攻击力80%以及防御力120%的伤害并【挑衅】1名敌人2回合。若自身拥有10层【公牛之怒】则本次伤害额外提升50%。随后消耗全部【公牛之怒】效果每层【公牛之怒】效果为自身回复5%的最大生命值。",
"MaxLV": 6,
"CD": [
5,
5,
5,
5,
5,
4
],
"Target": 5,
"ChildSkill": [
{
"Id": [
200223001
]
}
]
}
]

View File

@ -0,0 +1,88 @@
[
{
"Id": 300012106,
"Type": "ModifyAttribute1",
"Name": "雷之庇佑",
"Desc": "每次受到攻击提升20%的防御最多叠加5层",
"Tags": [
"yinlei"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300012206,
"Type": "ModifyAttribute1",
"Name": "雷之庇佑",
"Desc": "每次受到攻击提升20%的防御最多叠加5层",
"Tags": [
"yinlei"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300012306,
"Type": "ModifyAttribute1",
"Name": "雷之庇佑",
"Desc": "每次受到攻击提升20%的防御最多叠加5层",
"Tags": [
"yinlei"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300012406,
"Type": "ModifyAttribute1",
"Name": "雷之庇佑",
"Desc": "每次受到攻击提升20%的防御最多叠加5层",
"Tags": [
"yinlei"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300012506,
"Type": "ModifyAttribute1",
"Name": "雷之庇佑",
"Desc": "每次受到攻击提升20%的防御最多叠加5层",
"Tags": [
"yinlei"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300222002,
"Type": "ModifyAttribute1",
"Name": "公牛之怒",
"Desc": "给自己加公牛之怒每层可提升自身10%的基础防御力",
"Tags": [
"gongniuzhinu"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300222003,
"Type": "ModifyAttribute1",
"Name": "公牛之怒",
"Desc": "给自己加公牛之怒每层5%的效果抵抗最多可叠加10层",
"Tags": [
"gongniuzhinu"
],
"OverlayTimes": 5,
"SameID": false
},
{
"Id": 300223001,
"Type": "ModifyAttribute1",
"Name": "",
"Desc": "临时的伤害额外提升50%",
"Tags": [],
"OverlayTimes": 0,
"SameID": false
}
]

View File

@ -0,0 +1,307 @@
[
{
"Id": 400012101,
"Desc": "回合结束后调用附加 引雷 的子技能",
"When": "xingdonghou",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011102",
"200011103",
"200011104"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012102,
"Desc": "引雷1 回合结束前触发 调用 打伤害 子技能",
"When": "xingdongqian",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011105"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012103,
"Desc": "引雷2 受击触发 调用 加防御 子技能",
"When": "shoudaoshanghai",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011106"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012104,
"Desc": "引雷3 受到不可行动标签效果触发 调用 驱散 子技能",
"When": "shoudaobukexingdong",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011107"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400012201,
"Desc": "回合结束后调用附加 引雷 的子技能",
"When": "xingdonghou",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011202",
"200011203",
"200011204"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012202,
"Desc": "引雷1 回合结束前触发 调用 打伤害 子技能",
"When": "xingdongqian",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011205"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012203,
"Desc": "引雷2 受击触发 调用 加防御 子技能",
"When": "shoudaoshanghai",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011206"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012204,
"Desc": "引雷3 受到不可行动标签效果触发 调用 驱散 子技能",
"When": "shoudaobukexingdong",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011207"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400012301,
"Desc": "回合结束后调用附加 引雷 的子技能",
"When": "xingdonghou",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011302",
"200011303",
"200011304"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012302,
"Desc": "引雷1 回合结束前触发 调用 打伤害 子技能",
"When": "xingdongqian",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011305"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012303,
"Desc": "引雷2 受击触发 调用 加防御 子技能",
"When": "shoudaoshanghai",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011306"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012304,
"Desc": "引雷3 受到不可行动标签效果触发 调用 驱散 子技能",
"When": "shoudaobukexingdong",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011307"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400012401,
"Desc": "回合结束后调用附加 引雷 的子技能",
"When": "xingdonghou",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011402",
"200011403",
"200011404"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012402,
"Desc": "引雷1 回合结束前触发 调用 打伤害 子技能",
"When": "xingdongqian",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011405"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012403,
"Desc": "引雷2 受击触发 调用 加防御 子技能",
"When": "shoudaoshanghai",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011406"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012404,
"Desc": "引雷3 受到不可行动标签效果触发 调用 驱散 子技能",
"When": "shoudaobukexingdong",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011407"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400012501,
"Desc": "回合结束后调用附加 引雷 的子技能",
"When": "xingdonghou",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011502",
"200011503",
"200011504"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012502,
"Desc": "引雷1 回合结束前触发 调用 打伤害 子技能",
"When": "xingdongqian",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011505"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012503,
"Desc": "引雷2 受击触发 调用 加防御 子技能",
"When": "shoudaoshanghai",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011506"
],
"MaxEmitTimes": 0,
"Tags": [
"yinlei"
]
},
{
"Id": 400012504,
"Desc": "引雷3 受到不可行动标签效果触发 调用 驱散 子技能",
"When": "shoudaobukexingdong",
"Type": "CallAfterAtkSkill",
"Argu": [
"200011507"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400015101,
"Desc": "自身技能造成暴击触发 调用 减少技能CD的 子技能",
"When": "chufabaoji",
"Type": "CallAfterAtkSkill",
"Argu": [
"200015102"
],
"MaxEmitTimes": 1,
"Tags": []
},
{
"Id": 400222001,
"Desc": "受击调用加 公牛之怒 的子技能",
"When": "shoudaoshanghai",
"Type": "CallAfterAtkSkill",
"Argu": [
"200222002",
"200222003"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400225004,
"Desc": "给自己加 公牛之怒 10层触发调用子技能效果",
"When": "shoudaozengyi",
"Type": "CallAfterAtkSkill",
"Argu": [
"200225005"
],
"MaxEmitTimes": 0,
"Tags": []
},
{
"Id": 400223003,
"Desc": "挑衅",
"When": "xingdongqian",
"Type": "tiaoxing",
"Argu": [],
"MaxEmitTimes": 0,
"Tags": [
"jianyi"
]
}
]

View File

@ -321,7 +321,19 @@
"package": "zhandou/zhandou",
"packagename": "zhandou",
"comname": "battlestatisticswindow",
"des": "战斗统计界面"
"des": "战斗信息界面"
},
{
"id": "battleinfo",
"file": "BattleInfoWindow",
"unloadpkg": 0,
"loadtype": 0,
"full": 0,
"blur": 0,
"package": "zhandou/zhandou",
"packagename": "zhandou",
"comname": "battleinfo",
"des": "战斗信息设置界面"
},
{
"id": "maincity",

View File

@ -22,4 +22,18 @@ type (
///添加多个物品到背包 (可以加物品和减物品)
AddItemsToUserPack(uId string, items map[int32]int32) (code pb.ErrorCode)
}
//英雄
IHero interface {
// 获取英雄
// heroId 英雄ID
GetHero(heroId int32) *pb.DB_HeroData
}
//玩家
IUser interface {
//获取玩家英雄列表
//uid 玩家ID
GetHeroList(uid string) []*pb.DB_HeroData
}
)

3
go.mod
View File

@ -29,6 +29,7 @@ require (
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3
google.golang.org/protobuf v1.28.0
gopkg.in/yaml.v2 v2.4.0
bright v0.0.0
)
require (
@ -132,3 +133,5 @@ require (
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
)
replace bright => ./sys/configure/bright

View File

@ -7,8 +7,6 @@ import (
"go_dreamfactory/pb"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
const (
@ -26,23 +24,6 @@ func (this *ModelFriend) Init(service core.IService, module core.IModule, comp c
return
}
//好友
// Deprecated
func (this *ModelFriend) Friend_SaveOrUpdate(data *pb.DB_FriendData) (err error) {
err = this.DB.FindOneAndUpdate(DB_FriendTable,
bson.M{"_id": data.UId},
bson.M{"$set": bson.M{
"friendids": data.FriendIds,
"applyids": data.ApplyIds}},
options.FindOneAndUpdate().SetUpsert(true)).Err()
if err != nil {
if err == mongo.ErrNoDocuments {
_, err = this.DB.InsertOne(DB_FriendTable, data)
}
}
return
}
func (this *ModelFriend) Frined_FindCond(nickName string) *pb.DB_UserData {
var user *pb.DB_UserData
err := this.DB.FindOne(DB_UserTable, bson.M{

View File

@ -9,7 +9,7 @@ import (
)
const (
game_hero = "game_hero.json"
game_hero = "game_newhero.json"
)
///配置管理组件
@ -20,12 +20,12 @@ type Configure_Comp struct {
//组件初始化接口
func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.LoadConfigure(game_hero, cfg.NewGame_hero)
this.LoadConfigure(game_hero, cfg.NewGame_newHero)
return
}
//获取英雄配置数据
func (this *Configure_Comp) GetHeroConfigure() (configure *cfg.Game_hero, err error) {
func (this *Configure_Comp) GetHeroConfigure() (configure *cfg.Game_newHero, err error) {
var (
v interface{}
ok bool
@ -33,7 +33,7 @@ func (this *Configure_Comp) GetHeroConfigure() (configure *cfg.Game_hero, err er
if v, err = this.GetConfigure(game_hero); err != nil {
return
} else {
if configure, ok = v.(*cfg.Game_hero); !ok {
if configure, ok = v.(*cfg.Game_newHero); !ok {
err = fmt.Errorf("%T no is *cfg.Game_hero", v)
return
}

View File

@ -0,0 +1,19 @@
package hero
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
type ModelHero struct {
modules.Model_Comp
}
func (this *ModelHero) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.Model_Comp.Init(service, module, comp, options)
this.TableName = "hero"
return
}
//初始英雄

View File

@ -6,11 +6,6 @@ import (
"go_dreamfactory/modules"
)
/*
模块名:英雄
描述:
开发:
*/
func NewModule() core.IModule {
m := new(Hero)
return m

View File

@ -4,6 +4,7 @@ import (
"flag"
"fmt"
"go_dreamfactory/modules/friend"
"go_dreamfactory/modules/hero"
"go_dreamfactory/modules/mail"
"go_dreamfactory/modules/pack"
"go_dreamfactory/modules/user"
@ -40,6 +41,7 @@ func main() {
pack.NewModule(),
mail.NewModule(),
friend.NewModule(),
hero.NewModule(),
)
}

View File

@ -0,0 +1,3 @@
module bright
go 1.18

View File

@ -1,4 +1,4 @@
package serialization
package math
type Vector2 struct {
X float32

View File

@ -1,4 +1,4 @@
package serialization
package math
type Vector3 struct {
X float32

View File

@ -1,4 +1,4 @@
package serialization
package math
type Vector4 struct {
X float32

View File

@ -0,0 +1,9 @@
package net
import "bright/serialization"
type Protocol interface {
GetTypeId() int32
Serialize(buf *serialization.ByteBuf)
Deserialize(buf* serialization.ByteBuf) error
}

View File

@ -1,6 +1,7 @@
package serialization
import (
math2 "bright/math"
"errors"
"math"
)
@ -85,7 +86,7 @@ func (buf *ByteBuf) EnsureWrite(remain int) {
if size+remain <= buf.capacity {
copy(buf.bytes, buf.bytes[buf.readerIndex:buf.writerIndex])
} else {
buf.capacity = buf.CalcNewCap(buf.capacity, size+remain)
buf.capacity = buf.CalcNewCap(buf.capacity, size + remain)
newBytes := make([]byte, buf.capacity, buf.capacity)
copy(newBytes, buf.bytes[buf.readerIndex:buf.writerIndex])
buf.bytes = newBytes
@ -150,7 +151,7 @@ func (buf *ByteBuf) ReadShort() (int16, error) {
if buf.readerIndex+3 > buf.writerIndex {
return 0, UnmarshalErr
}
x := (uint32(buf.bytes[buf.readerIndex+1]) << 8) | uint32(buf.bytes[buf.readerIndex+2])
x := (uint32(buf.bytes[buf.readerIndex+1])<<8) | uint32(buf.bytes[buf.readerIndex+2])
buf.readerIndex += 3
return int16(x), nil
} else {
@ -192,7 +193,7 @@ func (buf *ByteBuf) ReadFshort() (int16, error) {
func (buf *ByteBuf) WriteFshort(x int16) {
buf.EnsureWrite(2)
buf.bytes[buf.writerIndex] = byte(x)
buf.bytes[buf.writerIndex+1] = byte(x >> 8)
buf.bytes[buf.writerIndex + 1] = byte(x >> 8)
buf.writerIndex += 2
}
@ -610,51 +611,51 @@ func (buf *ByteBuf) WriteBytesWithoutSize(x []byte) {
buf.writerIndex += size
}
func (buf *ByteBuf) ReadVector2() (Vector2, error) {
func (buf *ByteBuf) ReadVector2() (math2.Vector2, error) {
if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil {
return Vector2{X: x, Y: y}, nil
return math2.Vector2{X: x, Y: y}, nil
}
}
return Vector2{}, UnmarshalErr
return math2.Vector2{}, UnmarshalErr
}
func (buf *ByteBuf) WriteVector2(x Vector2) {
func (buf *ByteBuf) WriteVector2(x math2.Vector2) {
buf.WriteFloat(x.X)
buf.WriteFloat(x.Y)
}
func (buf *ByteBuf) ReadVector3() (Vector3, error) {
func (buf *ByteBuf) ReadVector3() (math2.Vector3, error) {
if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil {
if z, err3 := buf.ReadFloat(); err3 == nil {
return Vector3{X: x, Y: y, Z: z}, nil
return math2.Vector3{X: x, Y: y, Z: z}, nil
}
}
}
return Vector3{}, UnmarshalErr
return math2.Vector3{}, UnmarshalErr
}
func (buf *ByteBuf) WriteVector3(x Vector3) {
func (buf *ByteBuf) WriteVector3(x math2.Vector3) {
buf.WriteFloat(x.X)
buf.WriteFloat(x.Y)
buf.WriteFloat(x.Z)
}
func (buf *ByteBuf) ReadVector4() (Vector4, error) {
func (buf *ByteBuf) ReadVector4() (math2.Vector4, error) {
if x, err := buf.ReadFloat(); err == nil {
if y, err2 := buf.ReadFloat(); err2 == nil {
if z, err3 := buf.ReadFloat(); err3 == nil {
if w, err4 := buf.ReadFloat(); err4 == nil {
return Vector4{X: x, Y: y, Z: z, W: w}, nil
return math2.Vector4{X: x, Y: y, Z: z, W: w}, nil
}
}
}
}
return Vector4{}, UnmarshalErr
return math2.Vector4{}, UnmarshalErr
}
func (buf *ByteBuf) WriteVector4(x Vector4) {
func (buf *ByteBuf) WriteVector4(x math2.Vector4) {
buf.WriteFloat(x.X)
buf.WriteFloat(x.Y)
buf.WriteFloat(x.Z)

View File

@ -1,6 +1,7 @@
package serialization
import (
math2 "bright/math"
"bytes"
"testing"
)
@ -8,7 +9,7 @@ import (
func TestMarshal(t *testing.T) {
buf := NewByteBuf(10)
for i := 0; i < 2; i++ {
for i:= 0 ; i < 2 ; i++ {
x := i != 0
buf.WriteBool(x)
if v, err := buf.ReadBool(); err != nil || v != x {
@ -19,7 +20,8 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 256; i = i*3/2 + 1 {
for i := 0 ; i < 256 ; i = i * 3 / 2 + 1 {
x := byte(i)
buf.WriteByte(x)
if v, err := buf.ReadByte(); err != nil || v != x {
@ -30,7 +32,8 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x10000; i = i*3/2 + 1 {
for i := 0 ; i < 0x10000 ; i = i * 3 / 2 + 1 {
x := int16(i)
buf.WriteShort(x)
if v, err := buf.ReadShort(); err != nil || v != x {
@ -41,7 +44,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x10000; i = i*3/2 + 1 {
for i := 0 ; i < 0x10000 ; i = i * 3 / 2 + 1 {
x := int16(i)
buf.WriteFshort(x)
if v, err := buf.ReadFshort(); err != nil || v != x {
@ -52,7 +55,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x1000000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x1000000000 ; i = i * 3 / 2 + 1 {
x := int32(i)
buf.WriteInt(x)
if v, err := buf.ReadInt(); err != nil || v != x {
@ -63,7 +66,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x1000000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x1000000000 ; i = i * 3 / 2 + 1 {
x := int32(i)
buf.WriteFint(x)
if v, err := buf.ReadFint(); err != nil || v != x {
@ -74,7 +77,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x100000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x100000000 ; i = i * 3 / 2 + 1 {
x := int(i)
buf.WriteSize(x)
if v, err := buf.ReadSize(); err != nil || v != x {
@ -85,7 +88,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x100000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x100000000 ; i = i * 3 / 2 + 1 {
x := int32(i)
buf.WriteSint(x)
if v, err := buf.ReadSint(); err != nil || v != x {
@ -96,7 +99,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x1000000000000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x1000000000000000 ; i = i * 3 / 2 + 1 {
x := int64(i)
buf.WriteLong(x)
if v, err := buf.ReadLong(); err != nil || v != x {
@ -116,7 +119,7 @@ func TestMarshal(t *testing.T) {
}
}
for i := 0; i < 0x100000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x100000000 ; i = i * 3 / 2 + 1 {
x := float32(i)
buf.WriteFloat(x)
if v, err := buf.ReadFloat(); err != nil || v != x {
@ -126,7 +129,7 @@ func TestMarshal(t *testing.T) {
t.Fatalf("expect empty. but size:%v, x:%v", buf.Size(), x)
}
}
for i := 0; i < 0x100000000; i = i*3/2 + 1 {
for i := 0 ; i < 0x100000000 ; i = i * 3 / 2 + 1 {
x := float64(i)
buf.WriteDouble(x)
if v, err := buf.ReadDouble(); err != nil || v != x {
@ -149,7 +152,7 @@ func TestMarshal(t *testing.T) {
}
{
x := Vector2{X: 1, Y: 2}
x := math2.Vector2{X:1,Y:2}
buf.WriteVector2(x)
if v, err := buf.ReadVector2(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v)
@ -160,7 +163,7 @@ func TestMarshal(t *testing.T) {
}
{
x := Vector3{X: 1, Y: 2, Z: 3}
x := math2.Vector3{X:1,Y:2,Z:3}
buf.WriteVector3(x)
if v, err := buf.ReadVector3(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v)
@ -171,7 +174,7 @@ func TestMarshal(t *testing.T) {
}
{
x := Vector4{X: 1, Y: 2, Z: 3, W: 4}
x := math2.Vector4{X:1,Y:2,Z:3,W:4}
buf.WriteVector4(x)
if v, err := buf.ReadVector4(); err != nil || v != x {
t.Fatalf("expect %v, get %v", x, v)
@ -182,7 +185,7 @@ func TestMarshal(t *testing.T) {
}
{
x := []byte{1, 2, 3}
x := []byte{1,2,3}
buf.WriteBytes(x)
if v, err := buf.ReadBytes(); err != nil || !bytes.Equal(x, v) {
t.Fatalf("expect %v, get %v", x, v)
@ -192,9 +195,9 @@ func TestMarshal(t *testing.T) {
}
}
{
x := []byte{1, 2, 3, 4}
x := []byte{1,2,3,4}
buf.WriteBytesWithoutSize(x)
if v, err := buf.ReadFint(); err != nil || v != 0x04030201 {
if v, err := buf.ReadFint(); err != nil || v != 0x04030201 {
t.Fatalf("expect %v, get %v", x, v)
}
if buf.Size() != 0 {
@ -202,4 +205,5 @@ func TestMarshal(t *testing.T) {
}
}
}

View File

@ -1,79 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type MyBeanHero struct {
Id string
Name string
Star int32
Color int32
Chengwei int32
Zhongzu int32
Job int32
Type int32
Prefab string
Icon string
Sound string
Tujing string
Hpgrow string
Atkgrow string
Defgrow string
Speedgrow string
Hp string
Atk string
Def string
Speed string
Intr string
Events string
Cite string
}
const TypeId_MyBeanHero = 1050121004
func (*MyBeanHero) GetTypeId() int32 {
return 1050121004
}
func (_v *MyBeanHero)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chengwei"].(float64); !_ok_ { err = errors.New("chengwei error"); return }; _v.Chengwei = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["zhongzu"].(float64); !_ok_ { err = errors.New("zhongzu error"); return }; _v.Zhongzu = 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; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab error"); return } }
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{ var _ok_ bool; if _v.Sound, _ok_ = _buf["sound"].(string); !_ok_ { err = errors.New("sound error"); return } }
{ var _ok_ bool; if _v.Tujing, _ok_ = _buf["tujing"].(string); !_ok_ { err = errors.New("tujing error"); return } }
{ var _ok_ bool; if _v.Hpgrow, _ok_ = _buf["hpgrow"].(string); !_ok_ { err = errors.New("hpgrow error"); return } }
{ var _ok_ bool; if _v.Atkgrow, _ok_ = _buf["atkgrow"].(string); !_ok_ { err = errors.New("atkgrow error"); return } }
{ var _ok_ bool; if _v.Defgrow, _ok_ = _buf["defgrow"].(string); !_ok_ { err = errors.New("defgrow error"); return } }
{ var _ok_ bool; if _v.Speedgrow, _ok_ = _buf["speedgrow"].(string); !_ok_ { err = errors.New("speedgrow error"); return } }
{ var _ok_ bool; if _v.Hp, _ok_ = _buf["hp"].(string); !_ok_ { err = errors.New("hp error"); return } }
{ var _ok_ bool; if _v.Atk, _ok_ = _buf["atk"].(string); !_ok_ { err = errors.New("atk error"); return } }
{ var _ok_ bool; if _v.Def, _ok_ = _buf["def"].(string); !_ok_ { err = errors.New("def error"); return } }
{ var _ok_ bool; if _v.Speed, _ok_ = _buf["speed"].(string); !_ok_ { err = errors.New("speed error"); return } }
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
{ var _ok_ bool; if _v.Events, _ok_ = _buf["events"].(string); !_ok_ { err = errors.New("events error"); return } }
{ var _ok_ bool; if _v.Cite, _ok_ = _buf["cite"].(string); !_ok_ { err = errors.New("cite error"); return } }
return
}
func DeserializeMyBeanHero(_buf map[string]interface{}) (*MyBeanHero, error) {
v := &MyBeanHero{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,45 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type MyBeanItems struct {
Id int32
Name string
Desc string
Price int32
ExpireTime *int32
BatchUseable bool
}
const TypeId_MyBeanItems = -1804629298
func (*MyBeanItems) GetTypeId() int32 {
return -1804629298
}
func (_v *MyBeanItems)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.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ 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["price"].(float64); !_ok_ { err = errors.New("price error"); return }; _v.Price = int32(_tempNum_) }
{ var _ok_ bool; var __json_expire_time__ interface{}; if __json_expire_time__, _ok_ = _buf["expire_time"]; !_ok_ || __json_expire_time__ == nil { _v.ExpireTime = nil } else { var __x__ int32; { var _ok_ bool; var _x_ float64; if _x_, _ok_ = __json_expire_time__.(float64); !_ok_ { err = errors.New("__x__ error"); return }; __x__ = int32(_x_) }; _v.ExpireTime = &__x__ }}
{ var _ok_ bool; if _v.BatchUseable, _ok_ = _buf["batch_useable"].(bool); !_ok_ { err = errors.New("batch_useable error"); return } }
return
}
func DeserializeMyBeanItems(_buf map[string]interface{}) (*MyBeanItems, error) {
v := &MyBeanItems{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -1,45 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type MyBeanRewards struct {
Id int32
Name string
Desc string
Price int32
ExpireTime *int32
BatchUseable bool
}
const TypeId_MyBeanRewards = -97538382
func (*MyBeanRewards) GetTypeId() int32 {
return -97538382
}
func (_v *MyBeanRewards)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.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ 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["price"].(float64); !_ok_ { err = errors.New("price error"); return }; _v.Price = int32(_tempNum_) }
{ var _ok_ bool; var __json_expire_time__ interface{}; if __json_expire_time__, _ok_ = _buf["expire_time"]; !_ok_ || __json_expire_time__ == nil { _v.ExpireTime = nil } else { var __x__ int32; { var _ok_ bool; var _x_ float64; if _x_, _ok_ = __json_expire_time__.(float64); !_ok_ { err = errors.New("__x__ error"); return }; __x__ = int32(_x_) }; _v.ExpireTime = &__x__ }}
{ var _ok_ bool; if _v.BatchUseable, _ok_ = _buf["batch_useable"].(bool); !_ok_ { err = errors.New("batch_useable error"); return } }
return
}
func DeserializeMyBeanRewards(_buf map[string]interface{}) (*MyBeanRewards, error) {
v := &MyBeanRewards{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -11,33 +11,111 @@ package cfg
type JsonLoader func(string) ([]map[string]interface{}, error)
type Tables struct {
TbRewards *TbRewards
TbItem *TbItem
TbHero *TbHero
ui *Game_ui
skill *Game_skill
plot *Game_plot
language *Game_language
extservers *Game_extservers
skillAtk *Game_skillAtk
skillAfteratk *Game_skillAfteratk
skillBuff *Game_skillBuff
skillPassive *Game_skillPassive
newHero *Game_newHero
heroStargrow *Game_heroStargrow
heroLevelgrow *Game_heroLevelgrow
heroStarup *Game_heroStarup
heroLevelup *Game_heroLevelup
}
func NewTables(loader JsonLoader) (*Tables, error) {
var err error
var buf []map[string]interface{}
var err error
var buf []map[string]interface{}
tables := &Tables{}
if buf, err = loader("tbrewards") ; err != nil {
return nil, err
}
if tables.TbRewards, err = NewTbRewards(buf) ; err != nil {
return nil, err
}
if buf, err = loader("tbitem") ; err != nil {
return nil, err
}
if tables.TbItem, err = NewTbItem(buf) ; err != nil {
return nil, err
}
if buf, err = loader("tbhero") ; err != nil {
return nil, err
}
if tables.TbHero, err = NewTbHero(buf) ; err != nil {
return nil, err
}
return tables, nil
tables := &Tables{}
if buf, err = loader("game_ui"); err != nil {
return nil, err
}
if tables.ui, err = NewGame_ui(buf); err != nil {
return nil, err
}
if buf, err = loader("game_skill"); err != nil {
return nil, err
}
if tables.skill, err = NewGame_skill(buf); err != nil {
return nil, err
}
if buf, err = loader("game_plot"); err != nil {
return nil, err
}
if tables.plot, err = NewGame_plot(buf); err != nil {
return nil, err
}
if buf, err = loader("game_language"); err != nil {
return nil, err
}
if tables.language, err = NewGame_language(buf); err != nil {
return nil, err
}
if buf, err = loader("game_extservers"); err != nil {
return nil, err
}
if tables.extservers, err = NewGame_extservers(buf); err != nil {
return nil, err
}
if buf, err = loader("game_skillatk"); err != nil {
return nil, err
}
if tables.skillAtk, err = NewGame_skillAtk(buf); err != nil {
return nil, err
}
if buf, err = loader("game_skillafteratk"); err != nil {
return nil, err
}
if tables.skillAfteratk, err = NewGame_skillAfteratk(buf); err != nil {
return nil, err
}
if buf, err = loader("game_skillbuff"); err != nil {
return nil, err
}
if tables.skillBuff, err = NewGame_skillBuff(buf); err != nil {
return nil, err
}
if buf, err = loader("game_skillpassive"); err != nil {
return nil, err
}
if tables.skillPassive, err = NewGame_skillPassive(buf); err != nil {
return nil, err
}
if buf, err = loader("game_newhero"); err != nil {
return nil, err
}
if tables.newHero, err = NewGame_newHero(buf); err != nil {
return nil, err
}
if buf, err = loader("game_herostargrow"); err != nil {
return nil, err
}
if tables.heroStargrow, err = NewGame_heroStargrow(buf); err != nil {
return nil, err
}
if buf, err = loader("game_herolevelgrow"); err != nil {
return nil, err
}
if tables.heroLevelgrow, err = NewGame_heroLevelgrow(buf); err != nil {
return nil, err
}
if buf, err = loader("game_herostarup"); err != nil {
return nil, err
}
if tables.heroStarup, err = NewGame_heroStarup(buf); err != nil {
return nil, err
}
if buf, err = loader("game_herolevelup"); err != nil {
return nil, err
}
if tables.heroLevelup, err = NewGame_heroLevelup(buf); err != nil {
return nil, err
}
return tables, nil
}

View File

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

View File

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

View File

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

View File

@ -0,0 +1,38 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_ChildSkills struct {
Id []int32
}
func (Game_ChildSkills) GetTypeId() int {
return -1958253470
}
func NewGame_ChildSkills(_buf map[string]interface{}) (_v *Game_ChildSkills, err error) {
_v = &Game_ChildSkills{}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["Id"].([]interface{}); !_ok_ { err = errors.New("Id error"); return }
_v.Id = 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.Id = append(_v.Id, _list_v_)
}
}
return
}

View File

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

View File

@ -1,69 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_heroData struct {
Id string
Name string
Star int32
Color int32
Chengwei int32
Zhongzu int32
Job int32
Type int32
Prefab string
Icon string
Sound string
Tujing string
Hpgrow string
Atkgrow string
Defgrow string
Speedgrow string
Hp string
Atk string
Def string
Speed string
Intr string
Events string
Cite string
}
func (Game_heroData) GetTypeId() int {
return 650222912
}
func NewGame_heroData(_buf map[string]interface{}) (_v *Game_heroData, err error) {
_v = &Game_heroData{}
{ var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chengwei"].(float64); !_ok_ { err = errors.New("chengwei error"); return }; _v.Chengwei = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["zhongzu"].(float64); !_ok_ { err = errors.New("zhongzu error"); return }; _v.Zhongzu = 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; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab error"); return } }
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{ var _ok_ bool; if _v.Sound, _ok_ = _buf["sound"].(string); !_ok_ { err = errors.New("sound error"); return } }
{ var _ok_ bool; if _v.Tujing, _ok_ = _buf["tujing"].(string); !_ok_ { err = errors.New("tujing error"); return } }
{ var _ok_ bool; if _v.Hpgrow, _ok_ = _buf["hpgrow"].(string); !_ok_ { err = errors.New("hpgrow error"); return } }
{ var _ok_ bool; if _v.Atkgrow, _ok_ = _buf["atkgrow"].(string); !_ok_ { err = errors.New("atkgrow error"); return } }
{ var _ok_ bool; if _v.Defgrow, _ok_ = _buf["defgrow"].(string); !_ok_ { err = errors.New("defgrow error"); return } }
{ var _ok_ bool; if _v.Speedgrow, _ok_ = _buf["speedgrow"].(string); !_ok_ { err = errors.New("speedgrow error"); return } }
{ var _ok_ bool; if _v.Hp, _ok_ = _buf["hp"].(string); !_ok_ { err = errors.New("hp error"); return } }
{ var _ok_ bool; if _v.Atk, _ok_ = _buf["atk"].(string); !_ok_ { err = errors.New("atk error"); return } }
{ var _ok_ bool; if _v.Def, _ok_ = _buf["def"].(string); !_ok_ { err = errors.New("def error"); return } }
{ var _ok_ bool; if _v.Speed, _ok_ = _buf["speed"].(string); !_ok_ { err = errors.New("speed error"); return } }
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
{ var _ok_ bool; if _v.Events, _ok_ = _buf["events"].(string); !_ok_ { err = errors.New("events error"); return } }
{ var _ok_ bool; if _v.Cite, _ok_ = _buf["cite"].(string); !_ok_ { err = errors.New("cite error"); return } }
return
}

View File

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

View File

@ -0,0 +1,41 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_heroLevelgrowData struct {
Id int32
Hp int32
Atk int32
Def int32
Speed int32
Hpgrow float32
Atkgrow float32
Defgrow float32
Speedgrow int32
}
func (Game_heroLevelgrowData) GetTypeId() int {
return 939442443
}
func NewGame_heroLevelgrowData(_buf map[string]interface{}) (_v *Game_heroLevelgrowData, err error) {
_v = &Game_heroLevelgrowData{}
{ 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["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk"].(float64); !_ok_ { err = errors.New("atk error"); return }; _v.Atk = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["def"].(float64); !_ok_ { err = errors.New("def error"); return }; _v.Def = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["speed"].(float64); !_ok_ { err = errors.New("speed error"); return }; _v.Speed = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hpgrow"].(float64); !_ok_ { err = errors.New("hpgrow error"); return }; _v.Hpgrow = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atkgrow"].(float64); !_ok_ { err = errors.New("atkgrow error"); return }; _v.Atkgrow = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["defgrow"].(float64); !_ok_ { err = errors.New("defgrow error"); return }; _v.Defgrow = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["speedgrow"].(float64); !_ok_ { err = errors.New("speedgrow error"); return }; _v.Speedgrow = int32(_tempNum_) }
return
}

View File

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

View File

@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_heroLevelupData struct {
Level int32
Heroexp int32
Hp float32
Atk float32
Def float32
}
func (Game_heroLevelupData) GetTypeId() int {
return 1582994195
}
func NewGame_heroLevelupData(_buf map[string]interface{}) (_v *Game_heroLevelupData, err error) {
_v = &Game_heroLevelupData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroexp"].(float64); !_ok_ { err = errors.New("heroexp error"); return }; _v.Heroexp = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk"].(float64); !_ok_ { err = errors.New("atk error"); return }; _v.Atk = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["def"].(float64); !_ok_ { err = errors.New("def error"); return }; _v.Def = float32(_tempNum_) }
return
}

View File

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

View File

@ -0,0 +1,33 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_heroStargrowData struct {
Color int32
StarupHp float32
StarupAtk float32
StarupDef float32
StarupSpeed float32
}
func (Game_heroStargrowData) GetTypeId() int {
return 882965061
}
func NewGame_heroStargrowData(_buf map[string]interface{}) (_v *Game_heroStargrowData, err error) {
_v = &Game_heroStargrowData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_hp"].(float64); !_ok_ { err = errors.New("starup_hp error"); return }; _v.StarupHp = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_atk"].(float64); !_ok_ { err = errors.New("starup_atk error"); return }; _v.StarupAtk = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_def"].(float64); !_ok_ { err = errors.New("starup_def error"); return }; _v.StarupDef = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_speed"].(float64); !_ok_ { err = errors.New("starup_speed error"); return }; _v.StarupSpeed = float32(_tempNum_) }
return
}

View File

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

View File

@ -0,0 +1,56 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_heroStarupData struct {
Key int32
Id int32
Star int32
Maxlevel int32
Needhero int32
Needherostar int32
Needheronum int32
Needrace []int32
Needracestar int32
Needracenum int32
}
func (Game_heroStarupData) GetTypeId() int {
return -1429351731
}
func NewGame_heroStarupData(_buf map[string]interface{}) (_v *Game_heroStarupData, err error) {
_v = &Game_heroStarupData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["maxlevel"].(float64); !_ok_ { err = errors.New("maxlevel error"); return }; _v.Maxlevel = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needhero"].(float64); !_ok_ { err = errors.New("needhero error"); return }; _v.Needhero = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needherostar"].(float64); !_ok_ { err = errors.New("needherostar error"); return }; _v.Needherostar = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needheronum"].(float64); !_ok_ { err = errors.New("needheronum error"); return }; _v.Needheronum = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["needrace"].([]interface{}); !_ok_ { err = errors.New("needrace error"); return }
_v.Needrace = 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.Needrace = append(_v.Needrace, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracestar"].(float64); !_ok_ { err = errors.New("needracestar error"); return }; _v.Needracestar = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracenum"].(float64); !_ok_ { err = errors.New("needracenum error"); return }; _v.Needracenum = int32(_tempNum_) }
return
}

View File

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

View File

@ -0,0 +1,97 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
import "bright/math"
type Game_newHeroData struct {
Id int32
Name string
Star int32
Color int32
Race int32
Job int32
Type int32
Prefab string
Icon int32
Sound int32
Tujing []int32
Intr string
Events string
Cite string
Effectstay []string
Hpspace math.Vector3
Skill int32
Skill1 int32
Skill2 int32
Skill3 int32
}
func (Game_newHeroData) GetTypeId() int {
return -1696809848
}
func NewGame_newHeroData(_buf map[string]interface{}) (_v *Game_newHeroData, err error) {
_v = &Game_newHeroData{}
{ 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.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = 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; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab 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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sound"].(float64); !_ok_ { err = errors.New("sound error"); return }; _v.Sound = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["tujing"].([]interface{}); !_ok_ { err = errors.New("tujing error"); return }
_v.Tujing = 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.Tujing = append(_v.Tujing, _list_v_)
}
}
{ var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } }
{ var _ok_ bool; if _v.Events, _ok_ = _buf["events"].(string); !_ok_ { err = errors.New("events error"); return } }
{ var _ok_ bool; if _v.Cite, _ok_ = _buf["cite"].(string); !_ok_ { err = errors.New("cite error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["effectstay"].([]interface{}); !_ok_ { err = errors.New("effectstay error"); return }
_v.Effectstay = 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.Effectstay = append(_v.Effectstay, _list_v_)
}
}
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["hpspace"].(map[string]interface{}); !_ok_ { err = errors.New("hpspace 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.Hpspace = math.NewVector3(_x_, _y_, _z_)
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill"].(float64); !_ok_ { err = errors.New("skill error"); return }; _v.Skill = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill1"].(float64); !_ok_ { err = errors.New("skill1 error"); return }; _v.Skill1 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill2"].(float64); !_ok_ { err = errors.New("skill2 error"); return }; _v.Skill2 = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill3"].(float64); !_ok_ { err = errors.New("skill3 error"); return }; _v.Skill3 = int32(_tempNum_) }
return
}

View File

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

View File

@ -0,0 +1,97 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_skillAfteratkData struct {
Id int32
Desc string
Target string
EmitPR int32
Type string
Argu []string
AddEffect bool
FollowSK []int32
FailFollowSK []string
MustHit bool
Tags []string
}
func (Game_skillAfteratkData) GetTypeId() int {
return -718176517
}
func NewGame_skillAfteratkData(_buf map[string]interface{}) (_v *Game_skillAfteratkData, err error) {
_v = &Game_skillAfteratkData{}
{ 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.Target, _ok_ = _buf["Target"].(string); !_ok_ { err = errors.New("Target error"); return } }
{ 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.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["Argu"].([]interface{}); !_ok_ { err = errors.New("Argu error"); return }
_v.Argu = 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.Argu = append(_v.Argu, _list_v_)
}
}
{ var _ok_ bool; if _v.AddEffect, _ok_ = _buf["AddEffect"].(bool); !_ok_ { err = errors.New("AddEffect error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["FollowSK"].([]interface{}); !_ok_ { err = errors.New("FollowSK error"); return }
_v.FollowSK = 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.FollowSK = append(_v.FollowSK, _list_v_)
}
}
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["FailFollowSK"].([]interface{}); !_ok_ { err = errors.New("FailFollowSK error"); return }
_v.FailFollowSK = 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.FailFollowSK = append(_v.FailFollowSK, _list_v_)
}
}
{ 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_)
}
}
return
}

View File

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

View File

@ -0,0 +1,65 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_skillAtkData struct {
Id int32
Name string
Type int32
Desc string
MaxLV int32
CD []int32
Target int32
ChildSkill []*Game_ChildSkills
}
func (Game_skillAtkData) GetTypeId() int {
return -1545475251
}
func NewGame_skillAtkData(_buf map[string]interface{}) (_v *Game_skillAtkData, err error) {
_v = &Game_skillAtkData{}
{ 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.Name, _ok_ = _buf["Name"].(string); !_ok_ { err = errors.New("Name 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.Desc, _ok_ = _buf["Desc"].(string); !_ok_ { err = errors.New("Desc error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MaxLV"].(float64); !_ok_ { err = errors.New("MaxLV error"); return }; _v.MaxLV = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["CD"].([]interface{}); !_ok_ { err = errors.New("CD error"); return }
_v.CD = 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.CD = append(_v.CD, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Target"].(float64); !_ok_ { err = errors.New("Target error"); return }; _v.Target = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ChildSkill"].([]interface{}); !_ok_ { err = errors.New("ChildSkill error"); return }
_v.ChildSkill = make([]*Game_ChildSkills, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ *Game_ChildSkills
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_ChildSkills(_x_); err != nil { return } }
_v.ChildSkill = append(_v.ChildSkill, _list_v_)
}
}
return
}

View File

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

View File

@ -0,0 +1,50 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_skillBuffData struct {
Id int32
Type string
Name string
Desc string
Tags []string
OverlayTimes byte
SameID bool
}
func (Game_skillBuffData) GetTypeId() int {
return 1852593938
}
func NewGame_skillBuffData(_buf map[string]interface{}) (_v *Game_skillBuffData, err error) {
_v = &Game_skillBuffData{}
{ 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; if _v.Name, _ok_ = _buf["Name"].(string); !_ok_ { err = errors.New("Name error"); return } }
{ var _ok_ bool; if _v.Desc, _ok_ = _buf["Desc"].(string); !_ok_ { err = errors.New("Desc 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 _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 } }
return
}

View File

@ -12,12 +12,7 @@ import "errors"
type Game_skillData struct {
Sameid int32
Heroid int32
Lv int32
Type int32
Skilllv int32
Act string
Skill string
Tubiao string
Name string
Describe string
@ -30,12 +25,7 @@ func (Game_skillData) GetTypeId() int {
func NewGame_skillData(_buf map[string]interface{}) (_v *Game_skillData, err error) {
_v = &Game_skillData{}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sameid"].(float64); !_ok_ { err = errors.New("sameid error"); return }; _v.Sameid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroid"].(float64); !_ok_ { err = errors.New("heroid error"); return }; _v.Heroid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skilllv"].(float64); !_ok_ { err = errors.New("skilllv error"); return }; _v.Skilllv = int32(_tempNum_) }
{ var _ok_ bool; if _v.Act, _ok_ = _buf["act"].(string); !_ok_ { err = errors.New("act error"); return } }
{ var _ok_ bool; if _v.Skill, _ok_ = _buf["skill"].(string); !_ok_ { err = errors.New("skill error"); return } }
{ var _ok_ bool; if _v.Tubiao, _ok_ = _buf["tubiao"].(string); !_ok_ { err = errors.New("tubiao error"); return } }
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{ var _ok_ bool; if _v.Describe, _ok_ = _buf["describe"].(string); !_ok_ { err = errors.New("describe error"); return } }

View File

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

View File

@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
package cfg
import "errors"
type Game_skillPassiveData struct {
Id int32
Desc string
When string
Type string
Argu []string
MaxEmitTimes int32
Tags []string
}
func (Game_skillPassiveData) GetTypeId() int {
return -1231842596
}
func NewGame_skillPassiveData(_buf map[string]interface{}) (_v *Game_skillPassiveData, err error) {
_v = &Game_skillPassiveData{}
{ 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.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["Argu"].([]interface{}); !_ok_ { err = errors.New("Argu error"); return }
_v.Argu = 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.Argu = append(_v.Argu, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MaxEmitTimes"].(float64); !_ok_ { err = errors.New("MaxEmitTimes error"); return }; _v.MaxEmitTimes = int32(_tempNum_) }
{
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_)
}
}
return
}