Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into meixiongfeng
# Conflicts: # modules/hero/configure_comp.go # modules/hero/module.go # pb/errorcode.pb.go # pb/hero_msg.pb.go # pb/proto/errorcode.proto # pb/proto/hero/hero_msg.proto
This commit is contained in:
commit
08de4af442
@ -1,27 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"index": "max_hy",
|
|
||||||
"var": "30",
|
|
||||||
"intr": "最大好友数"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"index": "max_getreward",
|
|
||||||
"var": "10002,99",
|
|
||||||
"intr": "领取/赠送奖励"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"index": "max_get",
|
|
||||||
"var": "30",
|
|
||||||
"intr": "每日领取/赠送次数"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"index": "max_char",
|
|
||||||
"var": "100",
|
|
||||||
"intr": "聊天最大输入字符数量"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"index": "max_hmd",
|
|
||||||
"var": "30",
|
|
||||||
"intr": "最大黑名单数"
|
|
||||||
}
|
|
||||||
]
|
|
1418
bin/json/game_equip.json
Normal file
1418
bin/json/game_equip.json
Normal file
File diff suppressed because it is too large
Load Diff
4226
bin/json/game_equipattrlibrary.json
Normal file
4226
bin/json/game_equipattrlibrary.json
Normal file
File diff suppressed because it is too large
Load Diff
1502
bin/json/game_equipintensify.json
Normal file
1502
bin/json/game_equipintensify.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
[]
|
|
104
bin/json/game_equipsuit.json
Normal file
104
bin/json/game_equipsuit.json
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"suittype": 0,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 1,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 2,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 3,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 4,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 5,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 6,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 7,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 8,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 9,
|
||||||
|
"suitnum": 4,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 100,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 101,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 102,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 103,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 104,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 105,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"suittype": 106,
|
||||||
|
"suitnum": 2,
|
||||||
|
"skill": 100012000,
|
||||||
|
"skillintr": ""
|
||||||
|
}
|
||||||
|
]
|
596
bin/json/game_hero.json
Normal file
596
bin/json/game_hero.json
Normal file
@ -0,0 +1,596 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 11001,
|
||||||
|
"name": "阿宝",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 1,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/11001.prefab",
|
||||||
|
"icon": 11001,
|
||||||
|
"sound": 121323,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11001.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 110001,
|
||||||
|
"skill2": 110002,
|
||||||
|
"skill3": 110003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11002,
|
||||||
|
"name": "原始人",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 1,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/11002.prefab",
|
||||||
|
"icon": 11002,
|
||||||
|
"sound": 11002,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11002.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11003,
|
||||||
|
"name": "波比",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/11003.prefab",
|
||||||
|
"icon": 11003,
|
||||||
|
"sound": 11003,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11003.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": -0.69,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 110004,
|
||||||
|
"skill2": 110005,
|
||||||
|
"skill3": 110012
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11004,
|
||||||
|
"name": "布兰",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 1,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11004",
|
||||||
|
"icon": 11004,
|
||||||
|
"sound": 11004,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11005,
|
||||||
|
"name": "无牙仔",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 1,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/11001.prefab",
|
||||||
|
"icon": 11005,
|
||||||
|
"sound": 121323,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11001.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11006,
|
||||||
|
"name": "亚丝翠",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 1,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11006",
|
||||||
|
"icon": 11006,
|
||||||
|
"sound": 11006,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11009,
|
||||||
|
"name": "希卡普",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 3,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11009",
|
||||||
|
"icon": 11009,
|
||||||
|
"sound": 11009,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11009.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0.33,
|
||||||
|
"y": -0.1,
|
||||||
|
"z": 0.02
|
||||||
|
},
|
||||||
|
"skill1": 110010,
|
||||||
|
"skill2": 110011,
|
||||||
|
"skill3": 110013
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 22002,
|
||||||
|
"name": "沈王爷青春版",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "22002",
|
||||||
|
"icon": 22002,
|
||||||
|
"sound": 22002,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 90001,
|
||||||
|
"name": "邪恶阿宝",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 1,
|
||||||
|
"job": 1,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/90001.prefab",
|
||||||
|
"icon": 90001,
|
||||||
|
"sound": 90001,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_90001",
|
||||||
|
"cite": "11001",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11011,
|
||||||
|
"name": "浣熊",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11011",
|
||||||
|
"icon": 11011,
|
||||||
|
"sound": 11011,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11011.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11008,
|
||||||
|
"name": "悍娇虎",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11008",
|
||||||
|
"icon": 11008,
|
||||||
|
"sound": 11008,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11017,
|
||||||
|
"name": "冰霜杰克",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 4,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11017",
|
||||||
|
"icon": 11017,
|
||||||
|
"sound": 11017,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11017.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 110006,
|
||||||
|
"skill2": 110007,
|
||||||
|
"skill3": 110014
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11018,
|
||||||
|
"name": "睡神",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 4,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11018",
|
||||||
|
"icon": 11018,
|
||||||
|
"sound": 11018,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11018.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": -0.31,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 110008,
|
||||||
|
"skill2": 110009,
|
||||||
|
"skill3": 110015
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11019,
|
||||||
|
"name": "莫甘娜",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11019",
|
||||||
|
"icon": 11019,
|
||||||
|
"sound": 11019,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11019.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11020,
|
||||||
|
"name": "莫甘娜二阶段",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11020",
|
||||||
|
"icon": 11020,
|
||||||
|
"sound": 11020,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11020.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11021,
|
||||||
|
"name": "莫甘娜巨怪",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11021",
|
||||||
|
"icon": 11021,
|
||||||
|
"sound": 11021,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11021.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11099,
|
||||||
|
"name": "触手",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "11099",
|
||||||
|
"icon": 11099,
|
||||||
|
"sound": 11099,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11099.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12001,
|
||||||
|
"name": "黑化阿宝",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/12001.prefab",
|
||||||
|
"icon": 12001,
|
||||||
|
"sound": 121323,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_12001.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12003,
|
||||||
|
"name": "黑化包比",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "Person/11003.prefab",
|
||||||
|
"icon": 12003,
|
||||||
|
"sound": 12003,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11003.asset",
|
||||||
|
"cite": "11003",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12009,
|
||||||
|
"name": "黑化希卡普",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "12009",
|
||||||
|
"icon": 11009,
|
||||||
|
"sound": 11009,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11009.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12017,
|
||||||
|
"name": "黑化杰克",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "12017",
|
||||||
|
"icon": 12017,
|
||||||
|
"sound": 12017,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11017.asset",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12018,
|
||||||
|
"name": "黑化睡神",
|
||||||
|
"star": 5,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"job": 2,
|
||||||
|
"type": 1,
|
||||||
|
"prefab": "12018",
|
||||||
|
"icon": 12018,
|
||||||
|
"sound": 12018,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "EventDataSet/Hero_11018.asset",
|
||||||
|
"cite": "11018",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill1": 0,
|
||||||
|
"skill2": 0,
|
||||||
|
"skill3": 0
|
||||||
|
}
|
||||||
|
]
|
@ -1,255 +1,13 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"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,
|
"id": 15001,
|
||||||
"hp": 0,
|
"hp": 0,
|
||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 183,
|
"speed": 183,
|
||||||
"hpgrow": 1,
|
"hpgrow": 1000,
|
||||||
"atkgrow": 1.3,
|
"atkgrow": 1300,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -258,9 +16,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 183,
|
"speed": 183,
|
||||||
"hpgrow": 1.1,
|
"hpgrow": 1100,
|
||||||
"atkgrow": 1.3,
|
"atkgrow": 1300,
|
||||||
"defgrow": 1.15,
|
"defgrow": 1150,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -269,9 +27,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 174,
|
"speed": 174,
|
||||||
"hpgrow": 1.15,
|
"hpgrow": 1150,
|
||||||
"atkgrow": 1.1,
|
"atkgrow": 1100,
|
||||||
"defgrow": 1.3,
|
"defgrow": 1300,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -280,9 +38,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 193,
|
"speed": 193,
|
||||||
"hpgrow": 1.25,
|
"hpgrow": 1250,
|
||||||
"atkgrow": 1,
|
"atkgrow": 1000,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -291,31 +49,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 165,
|
"speed": 165,
|
||||||
"hpgrow": 1,
|
"hpgrow": 1000,
|
||||||
"atkgrow": 1.3,
|
"atkgrow": 1300,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"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
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -324,9 +60,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 183,
|
"speed": 183,
|
||||||
"hpgrow": 1.25,
|
"hpgrow": 1250,
|
||||||
"atkgrow": 1,
|
"atkgrow": 1000,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -335,9 +71,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 183,
|
"speed": 183,
|
||||||
"hpgrow": 1,
|
"hpgrow": 1000,
|
||||||
"atkgrow": 1.3,
|
"atkgrow": 1300,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -346,9 +82,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 174,
|
"speed": 174,
|
||||||
"hpgrow": 1.1,
|
"hpgrow": 1100,
|
||||||
"atkgrow": 1.3,
|
"atkgrow": 1300,
|
||||||
"defgrow": 1.15,
|
"defgrow": 1150,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -357,9 +93,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 193,
|
"speed": 193,
|
||||||
"hpgrow": 1.15,
|
"hpgrow": 1150,
|
||||||
"atkgrow": 1.1,
|
"atkgrow": 1100,
|
||||||
"defgrow": 1.3,
|
"defgrow": 1300,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -368,9 +104,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 165,
|
"speed": 165,
|
||||||
"hpgrow": 1.25,
|
"hpgrow": 1250,
|
||||||
"atkgrow": 1,
|
"atkgrow": 1000,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -379,9 +115,9 @@
|
|||||||
"atk": 0,
|
"atk": 0,
|
||||||
"def": 0,
|
"def": 0,
|
||||||
"speed": 183,
|
"speed": 183,
|
||||||
"hpgrow": 1,
|
"hpgrow": 1000,
|
||||||
"atkgrow": 1.3,
|
"atkgrow": 1300,
|
||||||
"defgrow": 1.25,
|
"defgrow": 1250,
|
||||||
"speedgrow": 0
|
"speedgrow": 0
|
||||||
}
|
}
|
||||||
]
|
]
|
File diff suppressed because it is too large
Load Diff
@ -1,41 +1,47 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"color": 1,
|
"star": 1,
|
||||||
|
"level": 1,
|
||||||
"starup_hp": 0,
|
"starup_hp": 0,
|
||||||
"starup_atk": 0,
|
"starup_atk": 0,
|
||||||
"starup_def": 0,
|
"starup_def": 0,
|
||||||
"starup_speed": 0
|
"starup_speed": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"color": 2,
|
"star": 2,
|
||||||
|
"level": 10,
|
||||||
"starup_hp": 9.5,
|
"starup_hp": 9.5,
|
||||||
"starup_atk": 9.5,
|
"starup_atk": 9.5,
|
||||||
"starup_def": 9.5,
|
"starup_def": 9.5,
|
||||||
"starup_speed": 9.5
|
"starup_speed": 9.5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"color": 3,
|
"star": 3,
|
||||||
|
"level": 20,
|
||||||
"starup_hp": 19,
|
"starup_hp": 19,
|
||||||
"starup_atk": 19,
|
"starup_atk": 19,
|
||||||
"starup_def": 19,
|
"starup_def": 19,
|
||||||
"starup_speed": 19
|
"starup_speed": 19
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"color": 4,
|
"star": 4,
|
||||||
|
"level": 30,
|
||||||
"starup_hp": 28.5,
|
"starup_hp": 28.5,
|
||||||
"starup_atk": 28.5,
|
"starup_atk": 28.5,
|
||||||
"starup_def": 28.5,
|
"starup_def": 28.5,
|
||||||
"starup_speed": 28.5
|
"starup_speed": 28.5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"color": 5,
|
"star": 5,
|
||||||
|
"level": 40,
|
||||||
"starup_hp": 38,
|
"starup_hp": 38,
|
||||||
"starup_atk": 38,
|
"starup_atk": 38,
|
||||||
"starup_def": 38,
|
"starup_def": 38,
|
||||||
"starup_speed": 38
|
"starup_speed": 38
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"color": 6,
|
"star": 6,
|
||||||
|
"level": 50,
|
||||||
"starup_hp": 47.5,
|
"starup_hp": 47.5,
|
||||||
"starup_atk": 47.5,
|
"starup_atk": 47.5,
|
||||||
"starup_def": 47.5,
|
"starup_def": 47.5,
|
||||||
|
@ -11,7 +11,8 @@
|
|||||||
1
|
1
|
||||||
],
|
],
|
||||||
"needracestar": 4,
|
"needracestar": 4,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 2,
|
"key": 2,
|
||||||
@ -25,19 +26,21 @@
|
|||||||
1
|
1
|
||||||
],
|
],
|
||||||
"needracestar": 5,
|
"needracestar": 5,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 3,
|
"key": 3,
|
||||||
"id": 15001,
|
"id": 15001,
|
||||||
"star": 6,
|
"star": 6,
|
||||||
"maxlevel": 60,
|
"maxlevel": 60,
|
||||||
"needhero": 15001,
|
"needhero": 0,
|
||||||
"needherostar": 0,
|
"needherostar": 0,
|
||||||
"needheronum": 0,
|
"needheronum": 0,
|
||||||
"needrace": [],
|
"needrace": [],
|
||||||
"needracestar": 0,
|
"needracestar": 0,
|
||||||
"needracenum": 0
|
"needracenum": 0,
|
||||||
|
"gold": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 4,
|
"key": 4,
|
||||||
@ -51,19 +54,21 @@
|
|||||||
2
|
2
|
||||||
],
|
],
|
||||||
"needracestar": 5,
|
"needracestar": 5,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 5,
|
"key": 5,
|
||||||
"id": 25001,
|
"id": 25001,
|
||||||
"star": 6,
|
"star": 6,
|
||||||
"maxlevel": 60,
|
"maxlevel": 60,
|
||||||
"needhero": 25001,
|
"needhero": 0,
|
||||||
"needherostar": 0,
|
"needherostar": 0,
|
||||||
"needheronum": 0,
|
"needheronum": 0,
|
||||||
"needrace": [],
|
"needrace": [],
|
||||||
"needracestar": 0,
|
"needracestar": 0,
|
||||||
"needracenum": 0
|
"needracenum": 0,
|
||||||
|
"gold": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 6,
|
"key": 6,
|
||||||
@ -77,19 +82,21 @@
|
|||||||
3
|
3
|
||||||
],
|
],
|
||||||
"needracestar": 5,
|
"needracestar": 5,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 7,
|
"key": 7,
|
||||||
"id": 35001,
|
"id": 35001,
|
||||||
"star": 6,
|
"star": 6,
|
||||||
"maxlevel": 60,
|
"maxlevel": 60,
|
||||||
"needhero": 35001,
|
"needhero": 0,
|
||||||
"needherostar": 0,
|
"needherostar": 0,
|
||||||
"needheronum": 0,
|
"needheronum": 0,
|
||||||
"needrace": [],
|
"needrace": [],
|
||||||
"needracestar": 0,
|
"needracestar": 0,
|
||||||
"needracenum": 0
|
"needracenum": 0,
|
||||||
|
"gold": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 8,
|
"key": 8,
|
||||||
@ -103,26 +110,28 @@
|
|||||||
4
|
4
|
||||||
],
|
],
|
||||||
"needracestar": 5,
|
"needracestar": 5,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 9,
|
"key": 9,
|
||||||
"id": 44001,
|
"id": 44001,
|
||||||
"star": 6,
|
"star": 6,
|
||||||
"maxlevel": 60,
|
"maxlevel": 60,
|
||||||
"needhero": 44001,
|
"needhero": 0,
|
||||||
"needherostar": 0,
|
"needherostar": 0,
|
||||||
"needheronum": 0,
|
"needheronum": 0,
|
||||||
"needrace": [],
|
"needrace": [],
|
||||||
"needracestar": 0,
|
"needracestar": 0,
|
||||||
"needracenum": 0
|
"needracenum": 0,
|
||||||
|
"gold": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 10,
|
"key": 10,
|
||||||
"id": 44901,
|
"id": 43901,
|
||||||
"star": 3,
|
"star": 3,
|
||||||
"maxlevel": 30,
|
"maxlevel": 30,
|
||||||
"needhero": 44901,
|
"needhero": 43901,
|
||||||
"needherostar": 3,
|
"needherostar": 3,
|
||||||
"needheronum": 1,
|
"needheronum": 1,
|
||||||
"needrace": [
|
"needrace": [
|
||||||
@ -132,14 +141,15 @@
|
|||||||
4
|
4
|
||||||
],
|
],
|
||||||
"needracestar": 3,
|
"needracestar": 3,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 11,
|
"key": 11,
|
||||||
"id": 44901,
|
"id": 43901,
|
||||||
"star": 4,
|
"star": 4,
|
||||||
"maxlevel": 40,
|
"maxlevel": 40,
|
||||||
"needhero": 44901,
|
"needhero": 43901,
|
||||||
"needherostar": 4,
|
"needherostar": 4,
|
||||||
"needheronum": 1,
|
"needheronum": 1,
|
||||||
"needrace": [
|
"needrace": [
|
||||||
@ -149,14 +159,15 @@
|
|||||||
4
|
4
|
||||||
],
|
],
|
||||||
"needracestar": 4,
|
"needracestar": 4,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 12,
|
"key": 12,
|
||||||
"id": 44901,
|
"id": 43901,
|
||||||
"star": 5,
|
"star": 5,
|
||||||
"maxlevel": 50,
|
"maxlevel": 50,
|
||||||
"needhero": 44901,
|
"needhero": 43901,
|
||||||
"needherostar": 5,
|
"needherostar": 5,
|
||||||
"needheronum": 1,
|
"needheronum": 1,
|
||||||
"needrace": [
|
"needrace": [
|
||||||
@ -166,93 +177,20 @@
|
|||||||
4
|
4
|
||||||
],
|
],
|
||||||
"needracestar": 5,
|
"needracestar": 5,
|
||||||
"needracenum": 4
|
"needracenum": 4,
|
||||||
|
"gold": 10000
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": 13,
|
"key": 13,
|
||||||
"id": 44901,
|
"id": 43901,
|
||||||
"star": 6,
|
"star": 6,
|
||||||
"maxlevel": 60,
|
"maxlevel": 60,
|
||||||
"needhero": 44901,
|
"needhero": 0,
|
||||||
"needherostar": 0,
|
"needherostar": 0,
|
||||||
"needheronum": 0,
|
"needheronum": 0,
|
||||||
"needrace": [],
|
"needrace": [],
|
||||||
"needracestar": 0,
|
"needracestar": 0,
|
||||||
"needracenum": 0
|
"needracenum": 0,
|
||||||
},
|
"gold": 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
|
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -1 +1,278 @@
|
|||||||
[]
|
[
|
||||||
|
{
|
||||||
|
"itemid": 10001,
|
||||||
|
"name": "1阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 2,
|
||||||
|
"race": 1,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10002,
|
||||||
|
"name": "1阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 3,
|
||||||
|
"race": 1,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10003,
|
||||||
|
"name": "1阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 4,
|
||||||
|
"race": 1,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10011,
|
||||||
|
"name": "2阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 2,
|
||||||
|
"race": 2,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10012,
|
||||||
|
"name": "2阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 3,
|
||||||
|
"race": 2,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10013,
|
||||||
|
"name": "2阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 4,
|
||||||
|
"race": 2,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10021,
|
||||||
|
"name": "3阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 2,
|
||||||
|
"race": 3,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10022,
|
||||||
|
"name": "3阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 3,
|
||||||
|
"race": 3,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10023,
|
||||||
|
"name": "3阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 4,
|
||||||
|
"race": 3,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10031,
|
||||||
|
"name": "4阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 2,
|
||||||
|
"race": 4,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10032,
|
||||||
|
"name": "4阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 3,
|
||||||
|
"race": 4,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"itemid": 10033,
|
||||||
|
"name": "4阵营觉醒材料",
|
||||||
|
"usetype": 9,
|
||||||
|
"color": 4,
|
||||||
|
"race": 4,
|
||||||
|
"bagtype": false,
|
||||||
|
"index": 10001,
|
||||||
|
"texiao": "",
|
||||||
|
"dlp": 0,
|
||||||
|
"composenum": 0,
|
||||||
|
"htype": 0,
|
||||||
|
"tujing": 0,
|
||||||
|
"usetz": 0,
|
||||||
|
"maxnum": 999,
|
||||||
|
"uselv": 1,
|
||||||
|
"ismutil": 1,
|
||||||
|
"type": 0,
|
||||||
|
"img": "",
|
||||||
|
"ico": "",
|
||||||
|
"intr": "",
|
||||||
|
"sale": ""
|
||||||
|
}
|
||||||
|
]
|
@ -1 +0,0 @@
|
|||||||
[]
|
|
@ -1,6 +1,6 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"id": 15001,
|
"hid": 15001,
|
||||||
"name": "阿宝",
|
"name": "阿宝",
|
||||||
"star": 5,
|
"star": 5,
|
||||||
"color": 4,
|
"color": 4,
|
||||||
@ -28,7 +28,7 @@
|
|||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 25001,
|
"hid": 25001,
|
||||||
"name": "亚丝翠",
|
"name": "亚丝翠",
|
||||||
"star": 5,
|
"star": 5,
|
||||||
"color": 4,
|
"color": 4,
|
||||||
@ -56,7 +56,7 @@
|
|||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 35001,
|
"hid": 35001,
|
||||||
"name": "波比",
|
"name": "波比",
|
||||||
"star": 5,
|
"star": 5,
|
||||||
"color": 4,
|
"color": 4,
|
||||||
@ -84,7 +84,7 @@
|
|||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 44001,
|
"hid": 44001,
|
||||||
"name": "悍娇虎",
|
"name": "悍娇虎",
|
||||||
"star": 4,
|
"star": 4,
|
||||||
"color": 3,
|
"color": 3,
|
||||||
@ -112,16 +112,16 @@
|
|||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 44901,
|
"hid": 43901,
|
||||||
"name": "升星精灵·稀有",
|
"name": "升星精灵",
|
||||||
"star": 3,
|
"star": 3,
|
||||||
"color": 2,
|
"color": 2,
|
||||||
"race": 4,
|
"race": 4,
|
||||||
"job": 5,
|
"job": 5,
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"prefab": "44901",
|
"prefab": "43901",
|
||||||
"icon": 44901,
|
"icon": 43901,
|
||||||
"sound": 44901,
|
"sound": 43901,
|
||||||
"tujing": [
|
"tujing": [
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
@ -140,69 +140,69 @@
|
|||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 44902,
|
"hid": 42911,
|
||||||
"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": "初级经验精灵",
|
"name": "初级经验精灵",
|
||||||
"star": 2,
|
"star": 2,
|
||||||
"color": 1,
|
"color": 1,
|
||||||
"race": 4,
|
"race": 4,
|
||||||
"job": 5,
|
"job": 5,
|
||||||
"type": 3,
|
"type": 3,
|
||||||
|
"prefab": "42911",
|
||||||
|
"icon": 42911,
|
||||||
|
"sound": 42911,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill": 0,
|
||||||
|
"skill1": 100044911,
|
||||||
|
"skill2": 100044911,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hid": 43911,
|
||||||
|
"name": "中级经验精灵",
|
||||||
|
"star": 3,
|
||||||
|
"color": 2,
|
||||||
|
"race": 4,
|
||||||
|
"job": 5,
|
||||||
|
"type": 3,
|
||||||
|
"prefab": "43911",
|
||||||
|
"icon": 43911,
|
||||||
|
"sound": 43911,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill": 0,
|
||||||
|
"skill1": 100044912,
|
||||||
|
"skill2": 100044911,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hid": 44911,
|
||||||
|
"name": "高级经验精灵",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 4,
|
||||||
|
"job": 5,
|
||||||
|
"type": 3,
|
||||||
"prefab": "44911",
|
"prefab": "44911",
|
||||||
"icon": 44911,
|
"icon": 44911,
|
||||||
"sound": 44911,
|
"sound": 44911,
|
||||||
@ -219,74 +219,46 @@
|
|||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"skill": 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,
|
"skill1": 100044913,
|
||||||
"skill2": 100044911,
|
"skill2": 100044911,
|
||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 44921,
|
"hid": 43921,
|
||||||
"name": "技能精灵·稀有",
|
"name": "技能精灵·稀有",
|
||||||
"star": 3,
|
"star": 3,
|
||||||
"color": 2,
|
"color": 2,
|
||||||
"race": 4,
|
"race": 4,
|
||||||
"job": 5,
|
"job": 5,
|
||||||
"type": 4,
|
"type": 4,
|
||||||
|
"prefab": "43921",
|
||||||
|
"icon": 43921,
|
||||||
|
"sound": 43921,
|
||||||
|
"tujing": [
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"intr": "",
|
||||||
|
"events": "hero_2011",
|
||||||
|
"cite": "",
|
||||||
|
"effectstay": [],
|
||||||
|
"hpspace": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"skill": 0,
|
||||||
|
"skill1": 100044921,
|
||||||
|
"skill2": 100044911,
|
||||||
|
"skill3": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hid": 44921,
|
||||||
|
"name": "技能精灵·史诗",
|
||||||
|
"star": 4,
|
||||||
|
"color": 3,
|
||||||
|
"race": 4,
|
||||||
|
"job": 5,
|
||||||
|
"type": 4,
|
||||||
"prefab": "44921",
|
"prefab": "44921",
|
||||||
"icon": 44921,
|
"icon": 44921,
|
||||||
"sound": 44921,
|
"sound": 44921,
|
||||||
@ -303,49 +275,21 @@
|
|||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"skill": 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,
|
"skill1": 100044922,
|
||||||
"skill2": 100044911,
|
"skill2": 100044911,
|
||||||
"skill3": 0
|
"skill3": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 44923,
|
"hid": 45921,
|
||||||
"name": "技能精灵·传说",
|
"name": "技能精灵·传说",
|
||||||
"star": 5,
|
"star": 5,
|
||||||
"color": 4,
|
"color": 4,
|
||||||
"race": 4,
|
"race": 4,
|
||||||
"job": 5,
|
"job": 5,
|
||||||
"type": 4,
|
"type": 4,
|
||||||
"prefab": "44923",
|
"prefab": "45921",
|
||||||
"icon": 44923,
|
"icon": 45921,
|
||||||
"sound": 44923,
|
"sound": 45921,
|
||||||
"tujing": [
|
"tujing": [
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
|
@ -2,78 +2,106 @@
|
|||||||
{
|
{
|
||||||
"sameid": 110001,
|
"sameid": 110001,
|
||||||
"act": "Atk",
|
"act": "Atk",
|
||||||
"tubiao": "skillicon_1",
|
"tubiao": "skillicon_001",
|
||||||
"name": "太极一式",
|
"name": "太极一式",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110002,
|
"sameid": 110002,
|
||||||
"act": "Skill1",
|
"act": "Skill1",
|
||||||
"tubiao": "skillicon_1",
|
"tubiao": "skillicon_002",
|
||||||
"name": "太极零式",
|
"name": "太极零式",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110003,
|
"sameid": 110003,
|
||||||
"act": "Skill2",
|
"act": "Skill2",
|
||||||
"tubiao": "skillicon_3",
|
"tubiao": "skillicon_003",
|
||||||
"name": "太极最终式",
|
"name": "太极最终式",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110004,
|
"sameid": 110004,
|
||||||
"act": "Atk",
|
"act": "Atk",
|
||||||
"tubiao": "skillicon_1",
|
"tubiao": "skillicon_004",
|
||||||
"name": "和谐音律",
|
"name": "和谐音律",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110005,
|
"sameid": 110005,
|
||||||
"act": "Skill1",
|
"act": "Skill1",
|
||||||
"tubiao": "skillicon_2",
|
"tubiao": "skillicon_005",
|
||||||
"name": "彩虹音符",
|
"name": "彩虹音符",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110006,
|
"sameid": 110006,
|
||||||
"act": "Atk",
|
"act": "Atk",
|
||||||
"tubiao": "skillicon_1",
|
"tubiao": "skillicon_010",
|
||||||
"name": "冰霜之语",
|
"name": "冰霜之语",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110007,
|
"sameid": 110007,
|
||||||
"act": "Skill1",
|
"act": "Skill1",
|
||||||
"tubiao": "skillicon_2",
|
"tubiao": "skillicon_011",
|
||||||
"name": "极寒领域",
|
"name": "极寒领域",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110008,
|
"sameid": 110008,
|
||||||
"act": "Atk",
|
"act": "Atk",
|
||||||
"tubiao": "skillicon_1",
|
"tubiao": "skillicon_013",
|
||||||
"name": "梦·呓语",
|
"name": "梦·呓语",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110009,
|
"sameid": 110009,
|
||||||
"act": "Skill1",
|
"act": "Skill1",
|
||||||
"tubiao": "skillicon_2",
|
"tubiao": "skillicon_014",
|
||||||
"name": "梦·创世",
|
"name": "梦·创世",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110010,
|
"sameid": 110010,
|
||||||
"act": "Atk",
|
"act": "Atk",
|
||||||
"tubiao": "skillicon_1",
|
"tubiao": "skillicon_007",
|
||||||
"name": "一往无前",
|
"name": "一往无前",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sameid": 110011,
|
"sameid": 110011,
|
||||||
"act": "Skill1",
|
"act": "Skill1",
|
||||||
"tubiao": "skillicon_2",
|
"tubiao": "skillicon_008",
|
||||||
"name": "自由之往",
|
"name": "自由之往",
|
||||||
"describe": ""
|
"describe": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sameid": 110012,
|
||||||
|
"act": "Skill2",
|
||||||
|
"tubiao": "skillicon_006",
|
||||||
|
"name": "彩虹音符",
|
||||||
|
"describe": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sameid": 110013,
|
||||||
|
"act": "Skill2",
|
||||||
|
"tubiao": "skillicon_009",
|
||||||
|
"name": "自由之往",
|
||||||
|
"describe": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sameid": 110014,
|
||||||
|
"act": "Skill2",
|
||||||
|
"tubiao": "skillicon_012",
|
||||||
|
"name": "极寒领域",
|
||||||
|
"describe": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sameid": 110015,
|
||||||
|
"act": "Skill2",
|
||||||
|
"tubiao": "skillicon_015",
|
||||||
|
"name": "梦·创世",
|
||||||
|
"describe": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -1,13 +1,17 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"Id": 200012101,
|
"Id": 200011101,
|
||||||
"Desc": "给自己加回合结束后触发的BUFF",
|
"Desc": "对敌方1个目标造成攻击力80%",
|
||||||
"Target": "",
|
"From": 4,
|
||||||
|
"Limit": 1,
|
||||||
|
"Where": [],
|
||||||
|
"Order": [
|
||||||
|
"Type=rand"
|
||||||
|
],
|
||||||
"EmitPR": 1000,
|
"EmitPR": 1000,
|
||||||
"Type": "AddBuff",
|
"Type": "tongyongshanghai",
|
||||||
"Argu": [
|
"Argu": [
|
||||||
"400011101",
|
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800"
|
||||||
"1"
|
|
||||||
],
|
],
|
||||||
"AddEffect": false,
|
"AddEffect": false,
|
||||||
"FollowSK": [],
|
"FollowSK": [],
|
||||||
@ -16,14 +20,18 @@
|
|||||||
"Tags": []
|
"Tags": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 200012102,
|
"Id": 200012101,
|
||||||
"Desc": "给自己加引雷BUFF1(伤害触发)的子技能",
|
"Desc": "对敌方全体造成攻击力80%以及防御力120%的伤害",
|
||||||
"Target": "",
|
"From": 2,
|
||||||
"EmitPR": 1001,
|
"Limit": 5,
|
||||||
"Type": "AddBuff",
|
"Where": [],
|
||||||
|
"Order": [
|
||||||
|
"Type=rand"
|
||||||
|
],
|
||||||
|
"EmitPR": 1000,
|
||||||
|
"Type": "tongyongshanghai",
|
||||||
"Argu": [
|
"Argu": [
|
||||||
"400011102",
|
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800,ProSou2=0,Pro2=Total_Def,ProPar2=1200"
|
||||||
"1"
|
|
||||||
],
|
],
|
||||||
"AddEffect": false,
|
"AddEffect": false,
|
||||||
"FollowSK": [],
|
"FollowSK": [],
|
||||||
@ -32,740 +40,18 @@
|
|||||||
"Tags": []
|
"Tags": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 200012103,
|
"Id": 200013101,
|
||||||
"Desc": "给自己加引雷BUFF2(受击触发)的子技能",
|
"Desc": "对敌方全体攻击小于自身的目标造成攻击力80%的伤害",
|
||||||
"Target": "",
|
"From": 2,
|
||||||
"EmitPR": 1002,
|
"Limit": 5,
|
||||||
"Type": "AddBuff",
|
"Where": [
|
||||||
"Argu": [
|
"Type=ProJudge,JudgeType=0,Key=Total_Atk,Op=1"
|
||||||
"400011103",
|
|
||||||
"1"
|
|
||||||
],
|
],
|
||||||
"AddEffect": false,
|
"Order": [],
|
||||||
"FollowSK": [],
|
"EmitPR": 1000,
|
||||||
"FailFollowSK": [],
|
"Type": "tongyongshanghai",
|
||||||
"MustHit": false,
|
|
||||||
"Tags": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Id": 200012104,
|
|
||||||
"Desc": "给自己加引雷BUFF3(受控触发)的子技能",
|
|
||||||
"Target": "",
|
|
||||||
"EmitPR": 1003,
|
|
||||||
"Type": "AddBuff",
|
|
||||||
"Argu": [
|
"Argu": [
|
||||||
"400011104",
|
"DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800"
|
||||||
"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,
|
"AddEffect": false,
|
||||||
"FollowSK": [],
|
"FollowSK": [],
|
||||||
|
@ -1,147 +1,144 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"Id": 100012000,
|
"Id": 100011000,
|
||||||
"Name": "雷神之怒",
|
"Name": "",
|
||||||
"Type": 2,
|
"Type": 1,
|
||||||
"Desc": "每回合结束后,会进入【引雷】状态,持续1回合,在自身新回合开始时,对敌方全体造成防御力110%的伤害。【引雷】期间自身每次收到攻击时都会获得1层【雷之庇佑】,但出于不可行动状态时解除【引雷】状态。",
|
"Desc": "对敌方1个目标造成攻击力80%",
|
||||||
"MaxLV": 5,
|
"MaxLV": 6,
|
||||||
"CD": [
|
"CD": [
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
3
|
4,
|
||||||
|
4
|
||||||
],
|
],
|
||||||
"Target": 1,
|
"Target": 1,
|
||||||
"ChildSkill": [
|
"ChildSkill": [
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
20001210
|
200011101
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012201
|
200011101
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012301,
|
200011101
|
||||||
200015101
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012401,
|
200011101
|
||||||
200015101
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012501
|
200011101
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200011101
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 100015000,
|
"Id": 100012000,
|
||||||
"Name": "雷神之怒",
|
"Name": "",
|
||||||
"Type": 2,
|
"Type": 1,
|
||||||
"Desc": "每回合结束后,会进入【引雷】状态,持续1回合,在自身新回合开始时,对敌方全体造成防御力110%的伤害。【引雷】期间自身每次收到攻击时都会获得1层【雷之庇佑】,但出于不可行动状态时解除【引雷】状态。自身的任意主动技能命中敌人触发暴击时降低此技能1回合冷却(技能无论触发多少次暴击都只执行1次,也就是被动每回合只执行1次)",
|
"Desc": "对敌方全体造成攻击力80%以及防御力120%的伤害",
|
||||||
"MaxLV": 5,
|
"MaxLV": 6,
|
||||||
"CD": [
|
"CD": [
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
4,
|
4,
|
||||||
3
|
4,
|
||||||
|
4
|
||||||
],
|
],
|
||||||
"Target": 2,
|
"Target": 2,
|
||||||
"ChildSkill": [
|
"ChildSkill": [
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012101,
|
200012101
|
||||||
200015101
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012201,
|
200012101
|
||||||
200015101
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012301,
|
200012101
|
||||||
200015101
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012401,
|
200012101
|
||||||
200015101
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200012501,
|
200012101
|
||||||
200015101
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200012101
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id": 100222000,
|
"Id": 100013000,
|
||||||
"Name": "蓄势待发",
|
"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,
|
"Type": 1,
|
||||||
"Desc": "对敌方1个目标造成攻击力80%以及防御力120%的伤害,并【挑衅】1名敌人2回合。若自身拥有10层【公牛之怒】,则本次伤害额外提升50%。随后消耗全部【公牛之怒】效果,每层【公牛之怒】效果为自身回复5%的最大生命值。",
|
"Desc": "对敌方全体攻击小于自身的目标造成攻击力80%的伤害",
|
||||||
"MaxLV": 6,
|
"MaxLV": 6,
|
||||||
"CD": [
|
"CD": [
|
||||||
5,
|
4,
|
||||||
5,
|
4,
|
||||||
5,
|
4,
|
||||||
5,
|
4,
|
||||||
5,
|
4,
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"Target": 5,
|
"Target": 2,
|
||||||
"ChildSkill": [
|
"ChildSkill": [
|
||||||
{
|
{
|
||||||
"Id": [
|
"Id": [
|
||||||
200223001
|
200013101
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200013101
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200013101
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200013101
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200013101
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": [
|
||||||
|
200013101
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,88 +1 @@
|
|||||||
[
|
[]
|
||||||
{
|
|
||||||
"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
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,307 +1 @@
|
|||||||
[
|
[]
|
||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
@ -428,7 +428,7 @@
|
|||||||
"blur": 0,
|
"blur": 0,
|
||||||
"package": "zhandou/zhandou",
|
"package": "zhandou/zhandou",
|
||||||
"packagename": "zhandou",
|
"packagename": "zhandou",
|
||||||
"comname": "battlereadywindow",
|
"comname": "battlereadywindow2",
|
||||||
"des": "战斗布阵界面"
|
"des": "战斗布阵界面"
|
||||||
}
|
}
|
||||||
]
|
]
|
71
comm/const.go
Normal file
71
comm/const.go
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
package comm
|
||||||
|
|
||||||
|
import "go_dreamfactory/lego/core"
|
||||||
|
|
||||||
|
type LogHandleType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
LogHandleType_Insert LogHandleType = "insert"
|
||||||
|
LogHandleType_Update LogHandleType = "update"
|
||||||
|
LogHandleType_Delete LogHandleType = "delete"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
Service_Gateway = "gateway"
|
||||||
|
Service_Worker = "worker"
|
||||||
|
Service_DB = "dbservice"
|
||||||
|
)
|
||||||
|
|
||||||
|
//ERR
|
||||||
|
const (
|
||||||
|
MainType_Notify = "notify" //通知
|
||||||
|
SubType_ErrorNotify = "errornotify" //错误通知
|
||||||
|
)
|
||||||
|
|
||||||
|
//模块名定义处
|
||||||
|
const (
|
||||||
|
SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块
|
||||||
|
SM_WebModule core.M_Modules = "web" //web模块
|
||||||
|
SM_UserModule core.M_Modules = "user" //用户模块
|
||||||
|
SM_PackModule core.M_Modules = "pack" //背包模块
|
||||||
|
SM_MailModule core.M_Modules = "mail" //邮件模块
|
||||||
|
SM_FriendModule core.M_Modules = "friend" //好友模块
|
||||||
|
SM_LogModelModule core.M_Modules = "model" //日志模块
|
||||||
|
SM_EquipmentModule core.M_Modules = "equipment" //装备模块
|
||||||
|
SM_HeroModule core.M_Modules = "hero" //英雄模块
|
||||||
|
SM_ForumModule core.M_Modules = "forum" //论坛模块
|
||||||
|
SM_ItemsModule core.M_Modules = "item"
|
||||||
|
)
|
||||||
|
|
||||||
|
//RPC服务接口定义处
|
||||||
|
const ( //Rpc
|
||||||
|
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
|
||||||
|
Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id
|
||||||
|
Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id
|
||||||
|
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
|
||||||
|
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
|
||||||
|
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
|
||||||
|
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
|
||||||
|
Rpc_NoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线
|
||||||
|
)
|
||||||
|
|
||||||
|
//事件类型定义处
|
||||||
|
const (
|
||||||
|
Event_UserLogin core.Event_Key = "Event_UserLogin" //登录事件
|
||||||
|
Event_CreateUser core.Event_Key = "Event_CreateUser" //创建角色事件
|
||||||
|
Event_UserOffline core.Event_Key = "Event_UserOffline" //用户离线事件
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
DBService_Status string = "DBService_status"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PropertyHp = 1 //生命
|
||||||
|
PropertyAtk = 2 //攻击
|
||||||
|
PropertyDef = 3 //防御
|
||||||
|
)
|
67
comm/core.go
67
comm/core.go
@ -12,59 +12,6 @@ import (
|
|||||||
"google.golang.org/protobuf/types/known/anypb"
|
"google.golang.org/protobuf/types/known/anypb"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
Service_Gateway = "gateway"
|
|
||||||
Service_Worker = "worker"
|
|
||||||
Service_DB = "dbservice"
|
|
||||||
)
|
|
||||||
|
|
||||||
//ERR
|
|
||||||
const (
|
|
||||||
MainType_Notify = "notify" //通知
|
|
||||||
SubType_ErrorNotify = "errornotify" //错误通知
|
|
||||||
)
|
|
||||||
|
|
||||||
//模块名定义处
|
|
||||||
const (
|
|
||||||
SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块
|
|
||||||
SM_WebModule core.M_Modules = "web" //web模块
|
|
||||||
SM_UserModule core.M_Modules = "user" //用户模块
|
|
||||||
SM_ItemsModule core.M_Modules = "items" //道具模块
|
|
||||||
SM_MailModule core.M_Modules = "mail" //邮件模块
|
|
||||||
SM_FriendModule core.M_Modules = "friend" //好友模块
|
|
||||||
SM_LogModelModule core.M_Modules = "model" //日志模块
|
|
||||||
SM_EquipmentModule core.M_Modules = "equipment" //装备模块
|
|
||||||
SM_HeroModule core.M_Modules = "hero" //英雄模块
|
|
||||||
SM_ForumModule core.M_Modules = "forum" //论坛模块
|
|
||||||
)
|
|
||||||
|
|
||||||
//RPC服务接口定义处
|
|
||||||
const ( //Rpc
|
|
||||||
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
|
|
||||||
Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id
|
|
||||||
Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id
|
|
||||||
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
|
|
||||||
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
|
|
||||||
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
|
|
||||||
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
|
|
||||||
Rpc_NoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线
|
|
||||||
)
|
|
||||||
|
|
||||||
//事件类型定义处
|
|
||||||
const (
|
|
||||||
Event_UserLogin core.Event_Key = "Event_UserLogin" //登录事件
|
|
||||||
Event_CreateUser core.Event_Key = "Event_CreateUser" //创建角色事件
|
|
||||||
Event_UserOffline core.Event_Key = "Event_UserOffline" //用户离线事件
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
DBService_Status string = "DBService_status"
|
|
||||||
)
|
|
||||||
|
|
||||||
// 服务网关组件接口定义
|
// 服务网关组件接口定义
|
||||||
type ISC_GateRouteComp interface {
|
type ISC_GateRouteComp interface {
|
||||||
core.IServiceComp
|
core.IServiceComp
|
||||||
@ -73,6 +20,14 @@ type ISC_GateRouteComp interface {
|
|||||||
RegisterRouteCheck(methodName string, comp reflect.Value, msg reflect.Type, fn reflect.Method)
|
RegisterRouteCheck(methodName string, comp reflect.Value, msg reflect.Type, fn reflect.Method)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//游戏类资源类型
|
||||||
|
const (
|
||||||
|
AttrType = "attr" //用户属性资源 例如货币 经验 之类的
|
||||||
|
ItemType = "item" //道具物品资源
|
||||||
|
CardType = "card" //卡片资源 例如英雄卡,检验卡
|
||||||
|
EquipmentType = "equi" //武器资源
|
||||||
|
)
|
||||||
|
|
||||||
type Autogenerated struct {
|
type Autogenerated struct {
|
||||||
ID string `json:"ID,omitempty" bson:"_id"`
|
ID string `json:"ID,omitempty" bson:"_id"`
|
||||||
UID string `json:"uid"`
|
UID string `json:"uid"`
|
||||||
@ -80,13 +35,7 @@ type Autogenerated struct {
|
|||||||
D []interface{}
|
D []interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
type LogHandleType string
|
|
||||||
|
|
||||||
const (
|
|
||||||
LogHandleType_Insert LogHandleType = "insert"
|
|
||||||
LogHandleType_Update LogHandleType = "update"
|
|
||||||
LogHandleType_Delete LogHandleType = "delete"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
HeroStarLvRatio int32 = 10 // 卡牌等级上限系数(星级*10)
|
HeroStarLvRatio int32 = 10 // 卡牌等级上限系数(星级*10)
|
||||||
|
@ -14,28 +14,49 @@ type (
|
|||||||
//道具背包接口
|
//道具背包接口
|
||||||
IItems interface {
|
IItems interface {
|
||||||
//查询用户背包物品数量
|
//查询用户背包物品数量
|
||||||
QueryUserPackItemAmount(uId string, itemid int32) (amount uint32)
|
QueryItemAmount(uId string, itemid int32) (amount uint32)
|
||||||
//查询用户背包多个物品数量
|
//查询用户背包多个物品数量
|
||||||
QueryUserPackItemsAmount(uId string, itemid ...int32) (result map[int32]uint32)
|
QueryItemsAmount(uId string, itemid ...int32) (result map[int32]uint32)
|
||||||
///添加单个物品到背包 (可以加物品和减物品)
|
///添加单个物品到背包 (可以加物品和减物品)
|
||||||
AddItemToUserPack(uId string, itemid, addnum int32) (code pb.ErrorCode)
|
AddItem(uId string, itemid, addnum int32) (code pb.ErrorCode)
|
||||||
///添加多个物品到背包 (可以加物品和减物品)
|
///添加多个物品到背包 (可以加物品和减物品)
|
||||||
AddItemsToUserPack(uId string, items map[int32]int32) (code pb.ErrorCode)
|
AddItems(uId string, items map[int32]int32) (code pb.ErrorCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
//英雄
|
//英雄
|
||||||
IHero interface {
|
IHero interface {
|
||||||
|
//查询用户卡片数量
|
||||||
|
QueryCardAmount(uId string, cardId int32) (amount uint32)
|
||||||
|
//添加/减少卡片
|
||||||
|
AddCard(uId string, cardId int32, add int32) (code pb.ErrorCode)
|
||||||
|
//创建一个新英雄
|
||||||
|
CreatMultiHero(uid string, heroCfgId ...int32) error
|
||||||
|
|
||||||
// 获取英雄
|
// 获取英雄
|
||||||
// heroId 英雄ID
|
// heroId 英雄ID
|
||||||
GetHero(heroId string) (*pb.DB_HeroData, pb.ErrorCode)
|
GetHero(uid, heroId string) (*pb.DB_HeroData, pb.ErrorCode)
|
||||||
// 佩戴装备
|
// 佩戴装备
|
||||||
UpdateEquipment(hero *pb.DB_HeroData, equip []*pb.DB_Equipment) pb.ErrorCode
|
UpdateEquipment(hero *pb.DB_HeroData, equip []*pb.DB_Equipment) (code pb.ErrorCode)
|
||||||
|
//获取玩家英雄列表
|
||||||
|
GetHeroList(uid string) []*pb.DB_HeroData
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//玩家
|
//玩家
|
||||||
IUser interface {
|
IUser interface {
|
||||||
//获取玩家英雄列表
|
//查询用户属性值 例如 金币 经验
|
||||||
//uid 玩家ID
|
QueryAttributeValue(uid string, attr string) (value int32)
|
||||||
GetHeroList(uid string) []*pb.DB_HeroData
|
//添加/减少属性值
|
||||||
|
AddAttributeValue(uid string, attr string, add int32) (code pb.ErrorCode)
|
||||||
|
|
||||||
|
}
|
||||||
|
//武器模块
|
||||||
|
IEquipment interface {
|
||||||
|
//查询服务资源数量 db id
|
||||||
|
QueryEquipment(uid string, Id int32) (equipment pb.DB_Equipment, code pb.ErrorCode)
|
||||||
|
//查询服务资源数量 参数武器配置id
|
||||||
|
QueryEquipmentAmount(uid string, equipmentId int32) (amount uint32)
|
||||||
|
//新加武器
|
||||||
|
AddNewEquipments(uid string, eid int, add int32) (code pb.ErrorCode)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
3
go.mod
3
go.mod
@ -3,6 +3,7 @@ module go_dreamfactory
|
|||||||
go 1.18
|
go 1.18
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
bright v0.0.0
|
||||||
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394
|
github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394
|
||||||
github.com/go-playground/validator/v10 v10.10.1
|
github.com/go-playground/validator/v10 v10.10.1
|
||||||
github.com/go-redis/redis/v8 v8.11.5
|
github.com/go-redis/redis/v8 v8.11.5
|
||||||
@ -29,7 +30,6 @@ require (
|
|||||||
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3
|
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3
|
||||||
google.golang.org/protobuf v1.28.0
|
google.golang.org/protobuf v1.28.0
|
||||||
gopkg.in/yaml.v2 v2.4.0
|
gopkg.in/yaml.v2 v2.4.0
|
||||||
bright v0.0.0
|
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
@ -43,6 +43,7 @@ require (
|
|||||||
github.com/cenkalti/backoff v2.2.1+incompatible // indirect
|
github.com/cenkalti/backoff v2.2.1+incompatible // indirect
|
||||||
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
||||||
github.com/cheekybits/genny v1.0.0 // indirect
|
github.com/cheekybits/genny v1.0.0 // indirect
|
||||||
|
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca // indirect
|
||||||
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0 // indirect
|
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0 // indirect
|
||||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||||
github.com/edwingeng/doublejump v0.0.0-20210724020454-c82f1bcb3280 // indirect
|
github.com/edwingeng/doublejump v0.0.0-20210724020454-c82f1bcb3280 // indirect
|
||||||
|
2
go.sum
2
go.sum
@ -110,6 +110,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
|
|||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca h1:5R7Xum+9XDxbGDYpBfeedfzbb11wG++geFn7EvMbhuA=
|
||||||
|
github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca/go.mod h1:zkR27k4K0I8FS6rkEd8qBhPeS8i3X2FKfvSPdF64OpQ=
|
||||||
github.com/dgryski/go-jump v0.0.0-20170409065014-e1f439676b57/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA=
|
github.com/dgryski/go-jump v0.0.0-20170409065014-e1f439676b57/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA=
|
||||||
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0 h1:0wH6nO9QEa02Qx8sIQGw6ieKdz+BXjpccSOo9vXNl4U=
|
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0 h1:0wH6nO9QEa02Qx8sIQGw6ieKdz+BXjpccSOo9vXNl4U=
|
||||||
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA=
|
github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA=
|
||||||
|
@ -22,11 +22,22 @@ func (this *MComp_Configure) Init(service core.IService, module core.IModule, co
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//加载配置文件
|
//加载一个配置文件
|
||||||
func (this *MComp_Configure) LoadConfigure(name string, fn interface{}) (err error) {
|
func (this *MComp_Configure) LoadConfigure(name string, fn interface{}) (err error) {
|
||||||
return configure.RegisterConfigure(name, fn)
|
return configure.RegisterConfigure(name, fn)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//加载多个配置文件
|
||||||
|
func (this *MComp_Configure) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
||||||
|
for k, v := range confs {
|
||||||
|
err = configure.RegisterConfigure(k, v)
|
||||||
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
//读取配置数据
|
//读取配置数据
|
||||||
func (this *MComp_Configure) GetConfigure(name string) (v interface{}, err error) {
|
func (this *MComp_Configure) GetConfigure(name string) (v interface{}, err error) {
|
||||||
return configure.GetConfigure(name)
|
return configure.GetConfigure(name)
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package modules
|
package modules
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
)
|
)
|
||||||
@ -11,9 +13,11 @@ type (
|
|||||||
//业务模块基类接口 定义所有业务模块都可以使用的接口
|
//业务模块基类接口 定义所有业务模块都可以使用的接口
|
||||||
IModule interface {
|
IModule interface {
|
||||||
core.IModule
|
core.IModule
|
||||||
// ///向指定用户发送消息
|
//向指定用户发送消息
|
||||||
SendMsgToUser(mainType, subType string, msg proto.Message, user *pb.Cache_UserData) (err error)
|
SendMsgToUser(mainType, subType string, msg proto.Message, user *pb.Cache_UserData) (err error)
|
||||||
// ///向多个用户发送消息
|
//向多个用户发送消息
|
||||||
SendMsgToUsers(mainType, subType string, msg proto.Message, user ...*pb.Cache_UserData) (err error)
|
SendMsgToUsers(mainType, subType string, msg proto.Message, user ...*pb.Cache_UserData) (err error)
|
||||||
|
//校验消耗资源
|
||||||
|
CheckConsumeRes(uid string, res []*cfg.Game_atn) (code comm.ErrorCode)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -12,11 +12,11 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E
|
|||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
errorCode pb.ErrorCode
|
errorCode pb.ErrorCode
|
||||||
confs []*cfg.Game_equipmentData
|
confs []*cfg.Game_equipData
|
||||||
equipments []*pb.DB_Equipment
|
equipments []*pb.DB_Equipment
|
||||||
hero *pb.DB_HeroData
|
hero *pb.DB_HeroData
|
||||||
)
|
)
|
||||||
confs = make([]*cfg.Game_equipmentData, len(req.EquipmentId))
|
confs = make([]*cfg.Game_equipData, len(req.EquipmentId))
|
||||||
equipments = make([]*pb.DB_Equipment, len(req.EquipmentId))
|
equipments = make([]*pb.DB_Equipment, len(req.EquipmentId))
|
||||||
for i, v := range req.EquipmentId {
|
for i, v := range req.EquipmentId {
|
||||||
if v != "" {
|
if v != "" {
|
||||||
@ -33,7 +33,7 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if hero, errorCode = this.module.hero.GetHero(req.HeroCardId); errorCode != pb.ErrorCode_Success {
|
if hero, errorCode = this.module.hero.GetHero(session.GetUserId(), req.HeroCardId); errorCode != pb.ErrorCode_Success {
|
||||||
code.Code = errorCode
|
code.Code = errorCode
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E
|
|||||||
func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface{}, req *pb.Equipment_Equip_Req) (code pb.ErrorCode) {
|
func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface{}, req *pb.Equipment_Equip_Req) (code pb.ErrorCode) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
confs []*cfg.Game_equipmentData
|
confs []*cfg.Game_equipData
|
||||||
equipment *pb.DB_Equipment
|
equipment *pb.DB_Equipment
|
||||||
equipments []*pb.DB_Equipment
|
equipments []*pb.DB_Equipment
|
||||||
updatequipment []*pb.DB_Equipment
|
updatequipment []*pb.DB_Equipment
|
||||||
@ -60,7 +60,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface
|
|||||||
session.SendMsg(string(this.module.GetType()), "", &pb.Equipment_Equip_Resp{})
|
session.SendMsg(string(this.module.GetType()), "", &pb.Equipment_Equip_Resp{})
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
confs = agrs["conf"].([]*cfg.Game_equipmentData)
|
confs = agrs["conf"].([]*cfg.Game_equipData)
|
||||||
equipments = agrs["equipment"].([]*pb.DB_Equipment)
|
equipments = agrs["equipment"].([]*pb.DB_Equipment)
|
||||||
updatequipment = make([]*pb.DB_Equipment, 0)
|
updatequipment = make([]*pb.DB_Equipment, 0)
|
||||||
hero = agrs["hero"].(*pb.DB_HeroData)
|
hero = agrs["hero"].(*pb.DB_HeroData)
|
||||||
@ -93,7 +93,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for i, _ := range equipments {
|
for i, _ := range equipments {
|
||||||
if i != int(confs[i].Station) {
|
if i != int(confs[i].Pos) {
|
||||||
log.Errorf("Equip conf:%v Target:%d Incorrect range!", confs[i], i)
|
log.Errorf("Equip conf:%v Target:%d Incorrect range!", confs[i], i)
|
||||||
code = pb.ErrorCode_SystemError
|
code = pb.ErrorCode_SystemError
|
||||||
return
|
return
|
||||||
|
@ -15,7 +15,8 @@ import (
|
|||||||
func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment_Upgrade_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment_Upgrade_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
conf *cfg.Game_equipmentData
|
conf *cfg.Game_equipData
|
||||||
|
intensify *cfg.Game_equipIntensifyData
|
||||||
equipment *pb.DB_Equipment
|
equipment *pb.DB_Equipment
|
||||||
)
|
)
|
||||||
if req.EquipmentId == "" {
|
if req.EquipmentId == "" {
|
||||||
@ -33,13 +34,16 @@ func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment
|
|||||||
code.Code = pb.ErrorCode_EquipmentOnFoundEquipment
|
code.Code = pb.ErrorCode_EquipmentOnFoundEquipment
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if equipment.Lv >= conf.MaxLv {
|
//找到下一个等级的相关配置
|
||||||
log.Errorf("Equip_Check Lv:%v MaxLv:%v", equipment.Lv, conf.MaxLv)
|
if intensify, err = this.module.configure_comp.GetEquipmentIntensifyConfigureById(equipment.Lv + 1); err != nil {
|
||||||
|
log.Errorf("Equip_Check err:%v", err)
|
||||||
code.Code = pb.ErrorCode_EquipmentLvlimitReached
|
code.Code = pb.ErrorCode_EquipmentLvlimitReached
|
||||||
|
return
|
||||||
}
|
}
|
||||||
result = map[string]interface{}{
|
result = map[string]interface{}{
|
||||||
"equipment": equipment,
|
"equipment": equipment,
|
||||||
"conf": conf,
|
"conf": conf,
|
||||||
|
"intensify": intensify,
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -48,12 +52,11 @@ func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment
|
|||||||
func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interface{}, req *pb.Equipment_Upgrade_Req) (code pb.ErrorCode) {
|
func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interface{}, req *pb.Equipment_Upgrade_Req) (code pb.ErrorCode) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
conf *cfg.Game_equipmentData
|
conf *cfg.Game_equipData
|
||||||
|
intensify *cfg.Game_equipIntensifyData
|
||||||
equipment *pb.DB_Equipment
|
equipment *pb.DB_Equipment
|
||||||
hero *pb.DB_HeroData
|
hero *pb.DB_HeroData
|
||||||
equipments []*pb.DB_Equipment
|
equipments []*pb.DB_Equipment
|
||||||
probability int32
|
|
||||||
guaranteed int32
|
|
||||||
issucc bool
|
issucc bool
|
||||||
)
|
)
|
||||||
defer func() {
|
defer func() {
|
||||||
@ -61,21 +64,24 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa
|
|||||||
session.SendMsg(string(this.module.GetType()), "", &pb.Equipment_Upgrade_Resp{})
|
session.SendMsg(string(this.module.GetType()), "", &pb.Equipment_Upgrade_Resp{})
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
conf = agrs["conf"].(*cfg.Game_equipmentData)
|
conf = agrs["conf"].(*cfg.Game_equipData)
|
||||||
|
intensify = agrs["intensify"].(*cfg.Game_equipIntensifyData)
|
||||||
equipment = agrs["equipment"].(*pb.DB_Equipment)
|
equipment = agrs["equipment"].(*pb.DB_Equipment)
|
||||||
probability = conf.UpgradeProbability[equipment.Lv]
|
if equipment.KeepFailNum >= intensify.Num { //没有达到保底次数 根据概率随机成功失败
|
||||||
guaranteed = conf.UpgradeGuaranteed[equipment.Lv]
|
|
||||||
if equipment.KeepFailNum >= guaranteed { //没有达到保底次数 根据概率随机成功失败
|
|
||||||
issucc = true
|
issucc = true
|
||||||
} else { //随机
|
} else { //随机 千分比
|
||||||
n, _ := rand.Int(rand.Reader, big.NewInt(100))
|
n, _ := rand.Int(rand.Reader, big.NewInt(1000))
|
||||||
if int32(n.Int64()) < probability {
|
if int32(n.Int64()) < intensify.Probability {
|
||||||
issucc = true
|
issucc = true
|
||||||
} else {
|
} else {
|
||||||
issucc = false
|
issucc = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if issucc {
|
if issucc {
|
||||||
|
if code = this.module.CheckConsumeRes(session.GetUserId(), intensify.Need); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
//叠加装备 拆分处理
|
//叠加装备 拆分处理
|
||||||
if equipment.IsInitialState && equipment.OverlayNum > 1 {
|
if equipment.IsInitialState && equipment.OverlayNum > 1 {
|
||||||
equipment.OverlayNum--
|
equipment.OverlayNum--
|
||||||
@ -116,7 +122,7 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa
|
|||||||
log.Errorf("Upgrade code:%d", code)
|
log.Errorf("Upgrade code:%d", code)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
hero.EquipID[conf.Station] = equipment.Id //拆分后的装备是一个新的
|
hero.EquipID[conf.Pos] = equipment.Id //拆分后的装备是一个新的
|
||||||
for i, v := range hero.EquipID {
|
for i, v := range hero.EquipID {
|
||||||
if v != "" {
|
if v != "" {
|
||||||
if v != equipment.Id {
|
if v != equipment.Id {
|
||||||
|
@ -9,7 +9,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
game_equipment = "game_equipment.json"
|
game_equip = "game_equip.json" //装备信息表
|
||||||
|
equip_attrlibrary = "equip_attrlibrary.json" //装备属性配置表
|
||||||
|
equip_intensify = "equip_intensify.json" //装备等级消耗表
|
||||||
|
equip_suit = "equip_suit.json" //装备套装表
|
||||||
)
|
)
|
||||||
|
|
||||||
///背包配置管理组件
|
///背包配置管理组件
|
||||||
@ -20,20 +23,21 @@ type Configure_Comp struct {
|
|||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
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.ModuleCompBase.Init(service, module, comp, options)
|
||||||
this.LoadConfigure(game_equipment, cfg.NewGame_equipment)
|
this.LoadConfigure(game_equip, cfg.NewGame_equip)
|
||||||
|
this.LoadConfigure(equip_attrlibrary, cfg.NewGame_equipAttrlibrary)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取装备配置数据
|
//获取装备配置数据
|
||||||
func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equipment, err error) {
|
func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equip, err error) {
|
||||||
var (
|
var (
|
||||||
v interface{}
|
v interface{}
|
||||||
ok bool
|
ok bool
|
||||||
)
|
)
|
||||||
if v, err = this.GetConfigure(game_equipment); err != nil {
|
if v, err = this.GetConfigure(game_equip); err != nil {
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
if configure, ok = v.(*cfg.Game_equipment); !ok {
|
if configure, ok = v.(*cfg.Game_equip); !ok {
|
||||||
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -42,18 +46,87 @@ func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equipme
|
|||||||
}
|
}
|
||||||
|
|
||||||
//获取装备配置数据
|
//获取装备配置数据
|
||||||
func (this *Configure_Comp) GetEquipmentConfigureById(equipmentId int32) (configure *cfg.Game_equipmentData, err error) {
|
func (this *Configure_Comp) GetEquipmentConfigureById(equipmentId int32) (configure *cfg.Game_equipData, err error) {
|
||||||
var (
|
var (
|
||||||
v interface{}
|
v interface{}
|
||||||
ok bool
|
ok bool
|
||||||
)
|
)
|
||||||
if v, err = this.GetConfigure(game_equipment); err != nil {
|
if v, err = this.GetConfigure(game_equip); err != nil {
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
if configure, ok = v.(*cfg.Game_equipment).GetDataMap()[equipmentId]; !ok {
|
if configure, ok = v.(*cfg.Game_equip).GetDataMap()[equipmentId]; !ok {
|
||||||
err = fmt.Errorf("EquipmentConfigure not found:%d ", equipmentId)
|
err = fmt.Errorf("EquipmentConfigure not found:%d ", equipmentId)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取装备属性表
|
||||||
|
func (this *Configure_Comp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Game_equipAttrlibrary, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(equip_attrlibrary); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure, ok = v.(*cfg.Game_equipAttrlibrary); !ok {
|
||||||
|
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取属性词列表
|
||||||
|
func (this *Configure_Comp) GetEquipmentAttrlibraryConfigureById(Id int32) (configure []*cfg.Game_equipAttrlibraryData, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(equip_attrlibrary); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
configure = make([]*cfg.Game_equipAttrlibraryData, 0)
|
||||||
|
for _, v1 := range v.(*cfg.Game_equipAttrlibrary).GetDataList() {
|
||||||
|
if v1.Libraryid == Id {
|
||||||
|
configure = append(configure, v1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取装备属性表
|
||||||
|
func (this *Configure_Comp) GetEquipmentIntensifyConfigure() (configure *cfg.Game_equipIntensify, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(equip_intensify); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure, ok = v.(*cfg.Game_equipIntensify); !ok {
|
||||||
|
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取属性词列表
|
||||||
|
func (this *Configure_Comp) GetEquipmentIntensifyConfigureById(Id int32) (configure *cfg.Game_equipIntensifyData, err error) {
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(equip_intensify); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if configure, ok = v.(*cfg.Game_equipIntensify).GetDataMap()[Id]; !ok {
|
||||||
|
err = fmt.Errorf("EquipmentConfigure not found:%d ", Id)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -47,7 +47,7 @@ func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsPack(uId string)
|
|||||||
//添加装备
|
//添加装备
|
||||||
func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds map[int32]uint32) (err error) {
|
func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds map[int32]uint32) (err error) {
|
||||||
var (
|
var (
|
||||||
configure *cfg.Game_equipment
|
configure *cfg.Game_equip
|
||||||
equipments []*pb.DB_Equipment
|
equipments []*pb.DB_Equipment
|
||||||
iskeep bool
|
iskeep bool
|
||||||
add map[string]*pb.DB_Equipment
|
add map[string]*pb.DB_Equipment
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package forum
|
package forum
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
cfg "go_dreamfactory/sys/configure/structs"
|
|
||||||
|
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
)
|
)
|
||||||
@ -20,23 +18,6 @@ type Configure_Comp struct {
|
|||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
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.ModuleCompBase.Init(service, module, comp, options)
|
||||||
this.LoadConfigure(game_equipment, cfg.NewGame_equipment)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取装备配置数据
|
|
||||||
func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equipment, err error) {
|
|
||||||
var (
|
|
||||||
v interface{}
|
|
||||||
ok bool
|
|
||||||
)
|
|
||||||
if v, err = this.GetConfigure(game_equipment); err != nil {
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
if configure, ok = v.(*cfg.Game_equipment); !ok {
|
|
||||||
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package game
|
package game
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
cfg "go_dreamfactory/sys/configure/structs"
|
|
||||||
|
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
)
|
)
|
||||||
@ -20,23 +18,6 @@ type Configure_Comp struct {
|
|||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
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.ModuleCompBase.Init(service, module, comp, options)
|
||||||
this.LoadConfigure(game_equipment, cfg.NewGame_equipment)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取装备配置数据
|
|
||||||
func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equipment, err error) {
|
|
||||||
var (
|
|
||||||
v interface{}
|
|
||||||
ok bool
|
|
||||||
)
|
|
||||||
if v, err = this.GetConfigure(game_equipment); err != nil {
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
if configure, ok = v.(*cfg.Game_equipment); !ok {
|
|
||||||
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,8 @@ type Api_Comp struct {
|
|||||||
|
|
||||||
const ( //消息回复的头名称
|
const ( //消息回复的头名称
|
||||||
StrengthenUplv = "strengthenherolv"
|
StrengthenUplv = "strengthenherolv"
|
||||||
|
Hero_SubType_Info = "info" //英雄卡片信息
|
||||||
|
Hero_SubType_List = "list" //英雄列表
|
||||||
)
|
)
|
||||||
|
|
||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
|
33
modules/hero/api_info.go
Normal file
33
modules/hero/api_info.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package hero
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
)
|
||||||
|
|
||||||
|
//参数校验
|
||||||
|
func (this *Api_Comp) Info_Check(session comm.IUserSession, req *pb.Hero_Info_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
|
result = map[string]interface{}{}
|
||||||
|
hero := this.module.model_hero.getOneHero(session.GetUserId(), req.HeroId)
|
||||||
|
if hero == nil {
|
||||||
|
code = comm.ErrorCode{Code: pb.ErrorCode_HeroNoExist}
|
||||||
|
}
|
||||||
|
result["hero"] = hero
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Api_Comp) Info(session comm.IUserSession, result map[string]interface{}, req *pb.Hero_Info_Req) (code pb.ErrorCode) {
|
||||||
|
rsp := &pb.Hero_Info_Rsp{}
|
||||||
|
defer func() {
|
||||||
|
err := session.SendMsg(string(this.module.GetType()), Hero_SubType_Info, rsp)
|
||||||
|
if err != nil {
|
||||||
|
code = pb.ErrorCode_SystemError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
if v, ok := result["hero"]; ok {
|
||||||
|
rsp.Base = v.(*pb.DB_HeroData)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
32
modules/hero/api_list.go
Normal file
32
modules/hero/api_list.go
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
package hero
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
)
|
||||||
|
|
||||||
|
//参数校验
|
||||||
|
func (this *Api_Comp) List_Check(session comm.IUserSession, req *pb.Hero_List_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Api_Comp) List(session comm.IUserSession, result map[string]interface{}, req *pb.Hero_List_Req) (code pb.ErrorCode) {
|
||||||
|
rsp := &pb.Hero_List_Rsp{}
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
err := session.SendMsg(this.module.api_comp.service.GetType(), Hero_SubType_List, rsp)
|
||||||
|
if err != nil {
|
||||||
|
code = pb.ErrorCode_SystemError
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
list, err := this.module.model_hero.getHeroList(session.GetUserId())
|
||||||
|
if err != nil {
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
rsp.List = list
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
90
modules/hero/hero_test.go
Normal file
90
modules/hero/hero_test.go
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package hero
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego"
|
||||||
|
"go_dreamfactory/lego/base/rpcx"
|
||||||
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/services"
|
||||||
|
"go_dreamfactory/sys/cache"
|
||||||
|
"go_dreamfactory/sys/configure"
|
||||||
|
"go_dreamfactory/sys/db"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var service core.IService
|
||||||
|
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
|
||||||
|
|
||||||
|
var module = new(Hero)
|
||||||
|
|
||||||
|
type TestService struct {
|
||||||
|
rpcx.RPCXService
|
||||||
|
}
|
||||||
|
|
||||||
|
func newService(ops ...rpcx.Option) core.IService {
|
||||||
|
s := new(TestService)
|
||||||
|
s.Configure(ops...)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化相关系统
|
||||||
|
func (this *TestService) InitSys() {
|
||||||
|
this.RPCXService.InitSys()
|
||||||
|
if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil {
|
||||||
|
panic(fmt.Sprintf("init sys.cache err: %s", err.Error()))
|
||||||
|
} else {
|
||||||
|
log.Infof("init sys.cache success!")
|
||||||
|
}
|
||||||
|
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
|
||||||
|
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
|
||||||
|
} else {
|
||||||
|
log.Infof("init sys.db success!")
|
||||||
|
}
|
||||||
|
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("E:\\projects\\workspace\\go_dreamfactory\\bin\\json")); err != nil {
|
||||||
|
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
|
||||||
|
} else {
|
||||||
|
log.Infof("init sys.configure success!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMain(m *testing.M) {
|
||||||
|
service = newService(
|
||||||
|
rpcx.SetConfPath("../../bin/conf/worker_2.yaml"),
|
||||||
|
)
|
||||||
|
service.OnInstallComp( //装备组件
|
||||||
|
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
|
||||||
|
)
|
||||||
|
go func() {
|
||||||
|
lego.Run(service, //运行模块
|
||||||
|
module,
|
||||||
|
)
|
||||||
|
}()
|
||||||
|
time.Sleep(time.Second * 2)
|
||||||
|
defer os.Exit(m.Run())
|
||||||
|
}
|
||||||
|
|
||||||
|
//创建一个英雄s
|
||||||
|
func TestCreateOneHero(t *testing.T) {
|
||||||
|
err := module.model_hero.createOneHero("u1", 25001)
|
||||||
|
fmt.Println(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取玩家英雄
|
||||||
|
func TestGetOneHero(t *testing.T) {
|
||||||
|
d := module.model_hero.getOneHero("u1", "62b534bebf4745d4117acabe")
|
||||||
|
fmt.Printf("%v", d)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestPropertyCompute(t *testing.T) {
|
||||||
|
m := module.model_hero.PropertyCompute("u1", "62b534bebf4745d4117acabe")
|
||||||
|
fmt.Println(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHeroList(t *testing.T) {
|
||||||
|
heroes, err := module.model_hero.getHeroList("u1")
|
||||||
|
fmt.Printf("%v %v", heroes, err)
|
||||||
|
}
|
@ -1,10 +1,16 @@
|
|||||||
package hero
|
package hero
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/lego/sys/log"
|
"go_dreamfactory/lego/sys/log"
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
|
"math"
|
||||||
|
|
||||||
|
mengine "github.com/dengsgo/math-engine/engine"
|
||||||
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ModelHero struct {
|
type ModelHero struct {
|
||||||
@ -19,29 +25,89 @@ func (this *ModelHero) Init(service core.IService, module core.IModule, comp cor
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//创建一个指定的英雄
|
//初始化英雄
|
||||||
func (this *ModelHero) createOneHero(uid string, heroId int32) error {
|
func (this *ModelHero) initHero(uid string, heroCfgId int32) *pb.DB_HeroData {
|
||||||
heroCfg, err := this.moduleHero.configure_comp.GetHeroConfigure()
|
heroCfg := this.moduleHero.configure_comp.GetHero(heroCfgId)
|
||||||
if err != nil {
|
if heroCfg == nil {
|
||||||
log.Errorf("%v", err)
|
log.Errorf("%v hero not found from config %v", heroCfgId)
|
||||||
return err
|
return nil
|
||||||
}
|
}
|
||||||
if heroCfg != nil {
|
objId := primitive.NewObjectID().Hex()
|
||||||
oneHeroCfg := heroCfg.Get(heroId)
|
|
||||||
if oneHeroCfg != nil {
|
|
||||||
newHero := &pb.DB_HeroData{
|
newHero := &pb.DB_HeroData{
|
||||||
|
Id: objId,
|
||||||
Uid: uid,
|
Uid: uid,
|
||||||
HeroID: oneHeroCfg.Id,
|
HeroID: heroCfg.Id,
|
||||||
Star: oneHeroCfg.Star,
|
Star: heroCfg.Star,
|
||||||
Lv: 1, //初始等级
|
Lv: 1, //初始等级
|
||||||
|
NormalSkill: []*pb.SkillData{},
|
||||||
|
Skins: []int32{},
|
||||||
|
EquipID: make([]string, 6),
|
||||||
|
AddProperty: make(map[int32]int32),
|
||||||
|
Energy: make(map[int32]int32),
|
||||||
|
Property: make(map[int32]int32),
|
||||||
}
|
}
|
||||||
return this.moduleHero.model_hero.Add(uid, newHero)
|
return newHero
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//创建一个指定的英雄
|
||||||
|
func (this *ModelHero) createOneHero(uid string, heroCfgId int32) error {
|
||||||
|
hero := this.initHero(uid, heroCfgId)
|
||||||
|
if hero != nil {
|
||||||
|
return this.moduleHero.model_hero.AddList(uid, hero.Id, hero)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//创建多个指定的英雄
|
||||||
|
func (this *ModelHero) createMultiHero(uid string, heroCfgId ...int32) error {
|
||||||
|
data := make(map[string]interface{})
|
||||||
|
for _, v := range heroCfgId {
|
||||||
|
hero := this.initHero(uid, v)
|
||||||
|
if hero != nil {
|
||||||
|
data[hero.Id] = hero
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.moduleHero.model_hero.AddLists(uid, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取一个英雄
|
||||||
|
func (this *ModelHero) getOneHero(uid, heroId string) *pb.DB_HeroData {
|
||||||
|
hero := &pb.DB_HeroData{}
|
||||||
|
err := this.moduleHero.model_hero.GetListObj(uid, heroId, hero)
|
||||||
|
if err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return hero
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取玩家的英雄列表
|
||||||
|
func (this *ModelHero) getHeroList(uid string) ([]*pb.DB_HeroData, error) {
|
||||||
|
herokeys := make(map[string]string)
|
||||||
|
err := this.Get(uid, herokeys)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
heroes := make([]*pb.DB_HeroData, 0)
|
||||||
|
err = this.GetList(uid, &heroes)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return heroes, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新装备
|
||||||
|
func (this *ModelHero) setEquipment(uid, heroId string, equipIds []string) pb.ErrorCode {
|
||||||
|
hero := this.getOneHero(uid, heroId)
|
||||||
|
if hero == nil {
|
||||||
|
return pb.ErrorCode_HeroNoExist
|
||||||
|
}
|
||||||
|
|
||||||
|
hero.EquipID = equipIds
|
||||||
|
return pb.ErrorCode_Success
|
||||||
|
}
|
||||||
|
|
||||||
//指定英雄升级
|
//指定英雄升级
|
||||||
func (this *ModelHero) levelUp(uid string, heroId int32) error {
|
func (this *ModelHero) levelUp(uid string, heroId int32) error {
|
||||||
var heroes []*pb.DB_HeroData
|
var heroes []*pb.DB_HeroData
|
||||||
@ -57,3 +123,57 @@ func (this *ModelHero) levelUp(uid string, heroId int32) error {
|
|||||||
func (this *ModelHero) starUp() {
|
func (this *ModelHero) starUp() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//属性计算 - 暂时放在modelHero里实现
|
||||||
|
//英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数
|
||||||
|
func (this *ModelHero) PropertyCompute(uid, heroId string) map[int32]int32 {
|
||||||
|
hero := this.getOneHero(uid, heroId)
|
||||||
|
if hero == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//英雄等级基础属性levelup
|
||||||
|
heroLvCfg := this.moduleHero.configure_comp.GetHeroLv(hero.Lv)
|
||||||
|
if heroLvCfg == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//英雄基础配置 newhero
|
||||||
|
heroCfg := this.moduleHero.configure_comp.GetHero(hero.HeroID)
|
||||||
|
if heroCfg == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//品质系数
|
||||||
|
stargrowCfg := this.moduleHero.configure_comp.GetHeroStar(heroCfg.Star)
|
||||||
|
if stargrowCfg == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//英雄星级对应等级属性
|
||||||
|
heroStarCfg := this.moduleHero.configure_comp.GetHeroLv(stargrowCfg.Level)
|
||||||
|
if heroStarCfg == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//成长系数
|
||||||
|
lvGrow := this.moduleHero.configure_comp.GetHeroLvgrow(hero.HeroID)
|
||||||
|
if lvGrow == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
exprHp := fmt.Sprintf("%v + %v * %v/1000 + %v * %v", lvGrow.Hp, heroLvCfg.Hp, lvGrow.Hpgrow, heroStarCfg.Hp, stargrowCfg.StarupHp)
|
||||||
|
hp, _ := mengine.ParseAndExec(exprHp)
|
||||||
|
|
||||||
|
exprAtk := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Atk, heroLvCfg.Atk, lvGrow.Atkgrow, heroStarCfg.Atk, stargrowCfg.StarupAtk)
|
||||||
|
atk, _ := mengine.ParseAndExec(exprAtk)
|
||||||
|
|
||||||
|
exprDef := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Def, heroLvCfg.Def, lvGrow.Defgrow, heroStarCfg.Def, stargrowCfg.StarupDef)
|
||||||
|
def, _ := mengine.ParseAndExec(exprDef)
|
||||||
|
|
||||||
|
return map[int32]int32{
|
||||||
|
comm.PropertyHp: int32(math.Floor(hp)),
|
||||||
|
comm.PropertyAtk: int32(math.Floor(atk)),
|
||||||
|
comm.PropertyDef: int32(math.Floor(def)),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -8,13 +8,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
//参数校验
|
//参数校验
|
||||||
func (this *Api_Comp) Getlist_Check(session comm.IUserSession, req *pb.Pack_Getlist_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
func (this *Api_Comp) Getlist_Check(session comm.IUserSession, req *pb.Items_Getlist_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
result = map[string]interface{}{"ce": 123}
|
result = map[string]interface{}{"ce": 123}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
///获取用户道具
|
///获取用户道具
|
||||||
func (this *Api_Comp) Getlist(session comm.IUserSession, agrs map[string]interface{}, req *pb.Pack_Getlist_Req) (code pb.ErrorCode) {
|
func (this *Api_Comp) Getlist(session comm.IUserSession, agrs map[string]interface{}, req *pb.Items_Getlist_Req) (code pb.ErrorCode) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
items []*pb.DB_UserItemData
|
items []*pb.DB_UserItemData
|
||||||
@ -25,7 +25,7 @@ func (this *Api_Comp) Getlist(session comm.IUserSession, agrs map[string]interfa
|
|||||||
dels []string
|
dels []string
|
||||||
)
|
)
|
||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg(string(this.module.GetType()), GetlistResp, &pb.Pack_Getlist_Resp{Grids: grids})
|
session.SendMsg(string(this.module.GetType()), GetlistResp, &pb.Items_Getlist_Resp{Grids: grids})
|
||||||
if code == pb.ErrorCode_Success {
|
if code == pb.ErrorCode_Success {
|
||||||
go func() { //异步处理修改数据
|
go func() { //异步处理修改数据
|
||||||
this.module.model_pack_comp.Pack_UpdateUserPack(session.GetUserId(), modifys...)
|
this.module.model_pack_comp.Pack_UpdateUserPack(session.GetUserId(), modifys...)
|
||||||
|
@ -6,15 +6,15 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
//参数校验
|
//参数校验
|
||||||
func (this *Api_Comp) SellItem_Check(session comm.IUserSession, req *pb.Pack_SellItem_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
func (this *Api_Comp) SellItem_Check(session comm.IUserSession, req *pb.Items_SellItem_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//出售道具
|
//出售道具
|
||||||
func (this *Api_Comp) SellItem(session comm.IUserSession, agrs map[string]interface{}, req *pb.Pack_SellItem_Req) (code pb.ErrorCode) {
|
func (this *Api_Comp) SellItem(session comm.IUserSession, agrs map[string]interface{}, req *pb.Items_SellItem_Req) (code pb.ErrorCode) {
|
||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg(string(this.module.GetType()), SellItemResp, &pb.Pack_SellItem_Resp{})
|
session.SendMsg(string(this.module.GetType()), SellItemResp, &pb.Items_SellItem_Resp{})
|
||||||
}()
|
}()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -6,15 +6,15 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
//参数校验
|
//参数校验
|
||||||
func (this *Api_Comp) Useitem_Check(session comm.IUserSession, req *pb.Pack_UseItem_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
func (this *Api_Comp) Useitem_Check(session comm.IUserSession, req *pb.Items_UseItem_Req) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//使用道具
|
//使用道具
|
||||||
func (this *Api_Comp) Useitem(session comm.IUserSession, agrs map[string]interface{}, req *pb.Pack_UseItem_Req) (code pb.ErrorCode) {
|
func (this *Api_Comp) Useitem(session comm.IUserSession, agrs map[string]interface{}, req *pb.Items_UseItem_Req) (code pb.ErrorCode) {
|
||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg(string(this.module.GetType()), UseItemResp, &pb.Pack_UseItem_Resp{})
|
session.SendMsg(string(this.module.GetType()), UseItemResp, &pb.Items_UseItem_Resp{})
|
||||||
}()
|
}()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -21,7 +21,7 @@ type Model_Pack_Comp struct {
|
|||||||
func (this *Model_Pack_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
|
func (this *Model_Pack_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
|
||||||
this.Model_Comp.Init(service, module, comp, opt)
|
this.Model_Comp.Init(service, module, comp, opt)
|
||||||
this.module = module.(*Items)
|
this.module = module.(*Items)
|
||||||
this.TableName = "pack"
|
this.TableName = "items"
|
||||||
//创建uid索引
|
//创建uid索引
|
||||||
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
|
||||||
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
|
||||||
|
@ -70,9 +70,9 @@ func (this *Items) AddItemToUserPack(uId string, itemid, addnum int32) (code pb.
|
|||||||
if err = this.model_pack_comp.Pack_AddItemToUserPack(uId, itemid, addnum); err != nil {
|
if err = this.model_pack_comp.Pack_AddItemToUserPack(uId, itemid, addnum); err != nil {
|
||||||
log.Errorf("给用户添加物品 uId:%s itemid:%d addnum:%d err:%v", uId, itemid, addnum, err)
|
log.Errorf("给用户添加物品 uId:%s itemid:%d addnum:%d err:%v", uId, itemid, addnum, err)
|
||||||
if err == ItemNotEnoughError {
|
if err == ItemNotEnoughError {
|
||||||
code = pb.ErrorCode_PackNoEnough
|
code = pb.ErrorCode_ItemsNoEnough
|
||||||
} else if err == PackGridNumUpper {
|
} else if err == PackGridNumUpper {
|
||||||
code = pb.ErrorCode_PackGridNumUpper
|
code = pb.ErrorCode_ItemsGridNumUpper
|
||||||
} else {
|
} else {
|
||||||
code = pb.ErrorCode_Unknown
|
code = pb.ErrorCode_Unknown
|
||||||
}
|
}
|
||||||
@ -87,9 +87,9 @@ func (this *Items) AddItemsToUserPack(uId string, items map[int32]int32) (code p
|
|||||||
if err = this.model_pack_comp.Pack_AddItemsToUserPack(uId, items); err != nil {
|
if err = this.model_pack_comp.Pack_AddItemsToUserPack(uId, items); err != nil {
|
||||||
log.Errorf("给用户添加物品 uId:%s items:%d err:%v", uId, items, err)
|
log.Errorf("给用户添加物品 uId:%s items:%d err:%v", uId, items, err)
|
||||||
if err == ItemNotEnoughError {
|
if err == ItemNotEnoughError {
|
||||||
code = pb.ErrorCode_PackNoEnough
|
code = pb.ErrorCode_ItemsNoEnough
|
||||||
} else if err == PackGridNumUpper {
|
} else if err == PackGridNumUpper {
|
||||||
code = pb.ErrorCode_PackGridNumUpper
|
code = pb.ErrorCode_ItemsGridNumUpper
|
||||||
} else {
|
} else {
|
||||||
code = pb.ErrorCode_Unknown
|
code = pb.ErrorCode_Unknown
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@ func TestMain(m *testing.M) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Test_Modules(t *testing.T) {
|
func Test_Modules(t *testing.T) {
|
||||||
data, _ := ptypes.MarshalAny(&pb.Pack_Getlist_Req{})
|
data, _ := ptypes.MarshalAny(&pb.Items_Getlist_Req{})
|
||||||
s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{Method: "pack.getlist", Message: data}, &pb.RPCMessageReply{})
|
s_gateComp.ReceiveMsg(context.Background(), &pb.AgentMessage{Method: "pack.getlist", Message: data}, &pb.RPCMessageReply{})
|
||||||
// items, err := module.db_comp.Pack_QueryUserPack("liwei1dao")
|
// items, err := module.db_comp.Pack_QueryUserPack("liwei1dao")
|
||||||
// log.Debugf("item:%v err:%v", items, err)
|
// log.Debugf("item:%v err:%v", items, err)
|
||||||
|
@ -35,7 +35,7 @@ func (this *Api_Comp) GetUserMailAttachment(session comm.IUserSession, agrs map[
|
|||||||
for _, v := range _data {
|
for _, v := range _data {
|
||||||
_items[int32(v.ItemId)] += int32(v.ItemCount)
|
_items[int32(v.ItemId)] += int32(v.ItemCount)
|
||||||
}
|
}
|
||||||
code = this.items.AddItemsToUserPack(mail.Uid, _items)
|
code = this.items.AddItems(mail.Uid, _items)
|
||||||
if code == pb.ErrorCode_Success {
|
if code == pb.ErrorCode_Success {
|
||||||
// 修改状态
|
// 修改状态
|
||||||
this.module.db_comp.Mail_UpdateMailAttachmentState(req.ObjID)
|
this.module.db_comp.Mail_UpdateMailAttachmentState(req.ObjID)
|
||||||
|
@ -4,12 +4,13 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/pb"
|
|
||||||
|
|
||||||
"go_dreamfactory/lego/base"
|
"go_dreamfactory/lego/base"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/lego/core/cbase"
|
"go_dreamfactory/lego/core/cbase"
|
||||||
"go_dreamfactory/lego/sys/log"
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
cfg "go_dreamfactory/sys/configure/structs"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"github.com/golang/protobuf/ptypes"
|
"github.com/golang/protobuf/ptypes"
|
||||||
@ -73,3 +74,86 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//校验消耗资源
|
||||||
|
func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code pb.ErrorCode) {
|
||||||
|
var (
|
||||||
|
module core.IModule
|
||||||
|
err error
|
||||||
|
resID int
|
||||||
|
amount int32
|
||||||
|
user comm.IUser //用户模块
|
||||||
|
items comm.IItems //道具背包模块
|
||||||
|
hero comm.IHero //英雄模块
|
||||||
|
equipment comm.IEquipment //装备模块
|
||||||
|
)
|
||||||
|
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
user = module.(comm.IUser)
|
||||||
|
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
items = module.(comm.IItems)
|
||||||
|
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
hero = module.(comm.IHero)
|
||||||
|
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
equipment = module.(comm.IEquipment)
|
||||||
|
//校验消费资源是否充足
|
||||||
|
for _, v := range res {
|
||||||
|
if v.A == comm.AttrType { //用户属性资源
|
||||||
|
if amount = user.QueryAttributeValue(uid, v.T); amount < v.N {
|
||||||
|
code = pb.ErrorCode_ResNoEnough
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else if v.A == comm.ItemType { //道具资源
|
||||||
|
if resID, err = strconv.Atoi(v.T); err != nil {
|
||||||
|
code = pb.ErrorCode_ConfigurationException
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if amount = int32(items.QueryItemAmount(uid, int32(resID))); amount < v.N {
|
||||||
|
code = pb.ErrorCode_ResNoEnough
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else if v.A == comm.CardType { //卡片资源
|
||||||
|
if resID, err = strconv.Atoi(v.T); err != nil {
|
||||||
|
code = pb.ErrorCode_ConfigurationException
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if amount = int32(hero.QueryCardAmount(uid, int32(resID))); amount < v.N {
|
||||||
|
code = pb.ErrorCode_ResNoEnough
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else if v.A == comm.EquipmentType {
|
||||||
|
if resID, err = strconv.Atoi(v.T); err != nil {
|
||||||
|
code = pb.ErrorCode_ConfigurationException
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if amount = int32(equipment.QueryEquipmentAmount(uid, int32(resID))); amount < v.N {
|
||||||
|
code = pb.ErrorCode_ResNoEnough
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range res {
|
||||||
|
if v.A == comm.AttrType { //用户属性资源
|
||||||
|
user.AddAttributeValue(uid, v.T, -1*v.N)
|
||||||
|
} else if v.A == comm.ItemType { //道具资源
|
||||||
|
resID, _ = strconv.Atoi(v.T)
|
||||||
|
items.AddItem(uid, int32(resID), -1*v.N)
|
||||||
|
} else if v.A == comm.CardType { //卡片资源
|
||||||
|
resID, _ = strconv.Atoi(v.T)
|
||||||
|
hero.AddCard(uid, int32(resID), -1*v.N)
|
||||||
|
} else if v.A == comm.EquipmentType {
|
||||||
|
resID, _ = strconv.Atoi(v.T)
|
||||||
|
equipment.AddNewEquipments(uid, resID, -1*v.N)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package user
|
package user
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
|
|
||||||
"go_dreamfactory/lego/base"
|
"go_dreamfactory/lego/base"
|
||||||
@ -17,6 +18,7 @@ type Api_Comp struct {
|
|||||||
modules.MComp_GateComp
|
modules.MComp_GateComp
|
||||||
service base.IRPCXService
|
service base.IRPCXService
|
||||||
module *User
|
module *User
|
||||||
|
hero comm.IHero
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
@ -28,5 +30,12 @@ func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core
|
|||||||
|
|
||||||
func (this *Api_Comp) Start() (err error) {
|
func (this *Api_Comp) Start() (err error) {
|
||||||
err = this.MComp_GateComp.Start()
|
err = this.MComp_GateComp.Start()
|
||||||
|
var module core.IModule
|
||||||
|
|
||||||
|
//get module hero
|
||||||
|
if module, err = this.service.GetModule(comm.SM_HeroModule); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.hero = module.(comm.IHero)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,19 @@ package user
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/sys/event"
|
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
"go_dreamfactory/utils"
|
"go_dreamfactory/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreateReq) (result map[string]interface{}, code comm.ErrorCode) {
|
func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreateReq) (result map[string]interface{}, code comm.ErrorCode) {
|
||||||
|
result = make(map[string]interface{})
|
||||||
|
self := &pb.DB_UserData{}
|
||||||
|
err := this.module.modelUser.Get(session.GetUserId(), self)
|
||||||
|
if err != nil {
|
||||||
|
code = comm.ErrorCode{Code: pb.ErrorCode_DBError}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
result["self"] = self
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -15,28 +22,25 @@ func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreate
|
|||||||
func (this *Api_Comp) Create(session comm.IUserSession, result map[string]interface{}, req *pb.UserCreateReq) (code pb.ErrorCode) {
|
func (this *Api_Comp) Create(session comm.IUserSession, result map[string]interface{}, req *pb.UserCreateReq) (code pb.ErrorCode) {
|
||||||
defer utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), User_SubType_Create, req, nil)
|
defer utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), User_SubType_Create, req, nil)
|
||||||
|
|
||||||
self := &pb.DB_UserData{}
|
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
session.SendMsg(string(this.module.GetType()), User_SubType_Create, &pb.UserCreateRsp{})
|
err := session.SendMsg(string(this.module.GetType()), User_SubType_Create, &pb.UserCreateRsp{})
|
||||||
|
if err != nil {
|
||||||
|
code = pb.ErrorCode_SystemError
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
//更新昵称
|
update := map[string]interface{}{
|
||||||
// update := map[string]interface{}{
|
"name": req.NickName,
|
||||||
// "name": req.NickName,
|
|
||||||
// }
|
|
||||||
err := this.module.modelUser.Get(session.GetUserId(), self)
|
|
||||||
if err != nil {
|
|
||||||
code = pb.ErrorCode_DBError
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
self.Name = req.NickName
|
|
||||||
err = this.module.modelUser.Get(session.GetUserId(), self)
|
err := this.module.modelUser.Change(session.GetUserId(), update)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
event.RegisterGO(comm.Event_CreateUser, session.GetUserId())
|
//初始化英雄
|
||||||
|
// this.hero.
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
uuid "github.com/satori/go.uuid"
|
uuid "github.com/satori/go.uuid"
|
||||||
"go.mongodb.org/mongo-driver/bson"
|
"go.mongodb.org/mongo-driver/bson"
|
||||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||||
"go.mongodb.org/mongo-driver/mongo/options"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const ( //Redis
|
const ( //Redis
|
||||||
@ -38,16 +37,6 @@ func (this *ModelUser) User_FindByAccount(sid int32, account string) (*pb.DB_Use
|
|||||||
return nd, err
|
return nd, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *ModelUser) User_FindById(id string) (*pb.DB_UserData, error) {
|
|
||||||
filter := bson.M{
|
|
||||||
"userid": id,
|
|
||||||
}
|
|
||||||
sr := this.DB.FindOne(DB_UserTable, filter)
|
|
||||||
user := &pb.DB_UserData{}
|
|
||||||
err := sr.Decode(user)
|
|
||||||
return user, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) {
|
func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) {
|
||||||
_id := primitive.NewObjectID().Hex()
|
_id := primitive.NewObjectID().Hex()
|
||||||
user.Id = _id
|
user.Id = _id
|
||||||
@ -57,16 +46,3 @@ func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) {
|
|||||||
_, err = this.DB.InsertOne(DB_UserTable, user)
|
_, err = this.DB.InsertOne(DB_UserTable, user)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//更新用户数据到DB
|
|
||||||
func (this *ModelUser) User_Update(data *pb.DB_UserData) (err error) {
|
|
||||||
err = this.DB.FindOneAndUpdate(
|
|
||||||
DB_UserTable,
|
|
||||||
bson.M{"uid": data.Uid},
|
|
||||||
bson.M{"$set": bson.M{
|
|
||||||
"name": data.Name,
|
|
||||||
}},
|
|
||||||
options.FindOneAndUpdate().SetUpsert(true),
|
|
||||||
).Err()
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
68
modules/user/user_test.go
Normal file
68
modules/user/user_test.go
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego"
|
||||||
|
"go_dreamfactory/lego/base/rpcx"
|
||||||
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/services"
|
||||||
|
"go_dreamfactory/sys/cache"
|
||||||
|
"go_dreamfactory/sys/configure"
|
||||||
|
"go_dreamfactory/sys/db"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var service core.IService
|
||||||
|
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
|
||||||
|
|
||||||
|
var module = new(User)
|
||||||
|
|
||||||
|
type TestService struct {
|
||||||
|
rpcx.RPCXService
|
||||||
|
}
|
||||||
|
|
||||||
|
func newService(ops ...rpcx.Option) core.IService {
|
||||||
|
s := new(TestService)
|
||||||
|
s.Configure(ops...)
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
//初始化相关系统
|
||||||
|
func (this *TestService) InitSys() {
|
||||||
|
this.RPCXService.InitSys()
|
||||||
|
if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil {
|
||||||
|
panic(fmt.Sprintf("init sys.cache err: %s", err.Error()))
|
||||||
|
} else {
|
||||||
|
log.Infof("init sys.cache success!")
|
||||||
|
}
|
||||||
|
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
|
||||||
|
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
|
||||||
|
} else {
|
||||||
|
log.Infof("init sys.db success!")
|
||||||
|
}
|
||||||
|
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("E:\\projects\\workspace\\go_dreamfactory\\bin\\json")); err != nil {
|
||||||
|
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
|
||||||
|
} else {
|
||||||
|
log.Infof("init sys.configure success!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMain(m *testing.M) {
|
||||||
|
service = newService(
|
||||||
|
rpcx.SetConfPath("../../bin/conf/worker_2.yaml"),
|
||||||
|
)
|
||||||
|
service.OnInstallComp( //装备组件
|
||||||
|
s_gateComp, //此服务需要接受用户的消息 需要装备网关组件
|
||||||
|
)
|
||||||
|
go func() {
|
||||||
|
lego.Run(service, //运行模块
|
||||||
|
module,
|
||||||
|
)
|
||||||
|
}()
|
||||||
|
time.Sleep(time.Second * 2)
|
||||||
|
defer os.Exit(m.Run())
|
||||||
|
}
|
2
pb.bat
2
pb.bat
@ -11,7 +11,7 @@ protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\*.proto
|
|||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\notify\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\notify\*.proto
|
||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\user\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\user\*.proto
|
||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\friend\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\friend\*.proto
|
||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\pack\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\items\*.proto
|
||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\mail\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\mail\*.proto
|
||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\equipment\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\equipment\*.proto
|
||||||
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\hero\*.proto
|
protoc --proto_path=%SRC% --go_out=%TAR% --go_opt=paths=import %SRC%\hero\*.proto
|
||||||
|
105
pb/hero_db.pb.go
105
pb/hero_db.pb.go
@ -286,49 +286,50 @@ var File_hero_hero_db_proto protoreflect.FileDescriptor
|
|||||||
|
|
||||||
var file_hero_hero_db_proto_rawDesc = []byte{
|
var file_hero_hero_db_proto_rawDesc = []byte{
|
||||||
0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70,
|
0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74,
|
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c,
|
||||||
0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
|
0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44,
|
||||||
0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73,
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12,
|
||||||
0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b,
|
0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0xd6, 0x06, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72,
|
0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0xe2, 0x06, 0x0a, 0x0b, 0x44, 0x42,
|
||||||
0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||||
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
|
||||||
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68,
|
||||||
0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x44, 0x12,
|
0x65, 0x72, 0x6f, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72,
|
||||||
0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73,
|
0x6f, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20,
|
||||||
0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
|
0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x06,
|
||||||
0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67,
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x75, 0x65,
|
||||||
0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6a, 0x75, 0x65, 0x78, 0x69, 0x6e,
|
0x78, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6a, 0x75,
|
||||||
0x67, 0x4c, 0x76, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x6b,
|
0x65, 0x78, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61,
|
||||||
0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61,
|
0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63,
|
||||||
0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
|
0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x0b, 0x6e,
|
||||||
0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53,
|
0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
|
||||||
0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
|
0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||||
0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x39, 0x0a, 0x08,
|
||||||
0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72,
|
0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
|
||||||
0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e,
|
0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e,
|
||||||
0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3f, 0x0a,
|
0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70,
|
||||||
0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03,
|
0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72,
|
||||||
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61,
|
0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
|
||||||
0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72,
|
0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x64,
|
||||||
0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x1c,
|
0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
|
||||||
0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x66,
|
||||||
0x05, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
|
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
|
||||||
0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
|
0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72,
|
||||||
0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53,
|
0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72,
|
||||||
0x6b, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b,
|
0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e,
|
||||||
0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28,
|
0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x12,
|
||||||
0x05, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63,
|
0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
|
||||||
0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18,
|
0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x10,
|
||||||
0x0a, 0x07, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52,
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x65,
|
||||||
0x07, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f,
|
0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x71,
|
||||||
0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72,
|
0x75, 0x69, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74,
|
||||||
0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x69,
|
0x65, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f,
|
||||||
0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61,
|
0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72,
|
||||||
0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
|
0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x18,
|
||||||
0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x30,
|
0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
||||||
0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
|
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x65,
|
||||||
|
0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62,
|
||||||
0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x65,
|
0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x65,
|
||||||
0x72, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
|
0x72, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
|
||||||
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
@ -361,17 +362,17 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte {
|
|||||||
|
|
||||||
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||||
var file_hero_hero_db_proto_goTypes = []interface{}{
|
var file_hero_hero_db_proto_goTypes = []interface{}{
|
||||||
(*SkillData)(nil), // 0: SkillData
|
(*SkillData)(nil), // 0: pb.SkillData
|
||||||
(*DB_HeroData)(nil), // 1: DB_HeroData
|
(*DB_HeroData)(nil), // 1: pb.DB_HeroData
|
||||||
nil, // 2: DB_HeroData.PropertyEntry
|
nil, // 2: pb.DB_HeroData.PropertyEntry
|
||||||
nil, // 3: DB_HeroData.AddPropertyEntry
|
nil, // 3: pb.DB_HeroData.AddPropertyEntry
|
||||||
nil, // 4: DB_HeroData.EnergyEntry
|
nil, // 4: pb.DB_HeroData.EnergyEntry
|
||||||
}
|
}
|
||||||
var file_hero_hero_db_proto_depIdxs = []int32{
|
var file_hero_hero_db_proto_depIdxs = []int32{
|
||||||
0, // 0: DB_HeroData.normalSkill:type_name -> SkillData
|
0, // 0: pb.DB_HeroData.normalSkill:type_name -> pb.SkillData
|
||||||
2, // 1: DB_HeroData.property:type_name -> DB_HeroData.PropertyEntry
|
2, // 1: pb.DB_HeroData.property:type_name -> pb.DB_HeroData.PropertyEntry
|
||||||
3, // 2: DB_HeroData.addProperty:type_name -> DB_HeroData.AddPropertyEntry
|
3, // 2: pb.DB_HeroData.addProperty:type_name -> pb.DB_HeroData.AddPropertyEntry
|
||||||
4, // 3: DB_HeroData.energy:type_name -> DB_HeroData.EnergyEntry
|
4, // 3: pb.DB_HeroData.energy:type_name -> pb.DB_HeroData.EnergyEntry
|
||||||
4, // [4:4] is the sub-list for method output_type
|
4, // [4:4] is the sub-list for method output_type
|
||||||
4, // [4:4] is the sub-list for method input_type
|
4, // [4:4] is the sub-list for method input_type
|
||||||
4, // [4:4] is the sub-list for extension type_name
|
4, // [4:4] is the sub-list for extension type_name
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// versions:
|
// versions:
|
||||||
// protoc-gen-go v1.28.0
|
// protoc-gen-go v1.28.0
|
||||||
// protoc v3.20.0
|
// protoc v3.20.0
|
||||||
// source: pack/pack_db.proto
|
// source: items/items_db.proto
|
||||||
|
|
||||||
package pb
|
package pb
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ type DB_UserItemData struct {
|
|||||||
func (x *DB_UserItemData) Reset() {
|
func (x *DB_UserItemData) Reset() {
|
||||||
*x = DB_UserItemData{}
|
*x = DB_UserItemData{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pack_pack_db_proto_msgTypes[0]
|
mi := &file_items_items_db_proto_msgTypes[0]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ func (x *DB_UserItemData) String() string {
|
|||||||
func (*DB_UserItemData) ProtoMessage() {}
|
func (*DB_UserItemData) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *DB_UserItemData) ProtoReflect() protoreflect.Message {
|
func (x *DB_UserItemData) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pack_pack_db_proto_msgTypes[0]
|
mi := &file_items_items_db_proto_msgTypes[0]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -65,7 +65,7 @@ func (x *DB_UserItemData) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use DB_UserItemData.ProtoReflect.Descriptor instead.
|
// Deprecated: Use DB_UserItemData.ProtoReflect.Descriptor instead.
|
||||||
func (*DB_UserItemData) Descriptor() ([]byte, []int) {
|
func (*DB_UserItemData) Descriptor() ([]byte, []int) {
|
||||||
return file_pack_pack_db_proto_rawDescGZIP(), []int{0}
|
return file_items_items_db_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserItemData) GetGridId() string {
|
func (x *DB_UserItemData) GetGridId() string {
|
||||||
@ -124,44 +124,44 @@ func (x *DB_UserItemData) GetIsNewItem() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
var File_pack_pack_db_proto protoreflect.FileDescriptor
|
var File_items_items_db_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_pack_pack_db_proto_rawDesc = []byte{
|
var file_items_items_db_proto_rawDesc = []byte{
|
||||||
0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70,
|
0x0a, 0x14, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x64, 0x62,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72,
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x55, 0x73,
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x69, 0x64,
|
0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72,
|
||||||
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x69, 0x64, 0x49, 0x64,
|
0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x72, 0x69, 0x64,
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x75, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
|
0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x03, 0x20,
|
0x03, 0x75, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x18,
|
||||||
0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06,
|
0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x16,
|
||||||
0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74,
|
0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
||||||
0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05,
|
0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
||||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14,
|
||||||
0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x54, 0x69,
|
0x0a, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63,
|
||||||
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
|
0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20,
|
||||||
0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x4e, 0x65,
|
0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73,
|
||||||
0x77, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e,
|
0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
|
||||||
0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
|
0x73, 0x4e, 0x65, 0x77, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_pack_pack_db_proto_rawDescOnce sync.Once
|
file_items_items_db_proto_rawDescOnce sync.Once
|
||||||
file_pack_pack_db_proto_rawDescData = file_pack_pack_db_proto_rawDesc
|
file_items_items_db_proto_rawDescData = file_items_items_db_proto_rawDesc
|
||||||
)
|
)
|
||||||
|
|
||||||
func file_pack_pack_db_proto_rawDescGZIP() []byte {
|
func file_items_items_db_proto_rawDescGZIP() []byte {
|
||||||
file_pack_pack_db_proto_rawDescOnce.Do(func() {
|
file_items_items_db_proto_rawDescOnce.Do(func() {
|
||||||
file_pack_pack_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_pack_pack_db_proto_rawDescData)
|
file_items_items_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_items_items_db_proto_rawDescData)
|
||||||
})
|
})
|
||||||
return file_pack_pack_db_proto_rawDescData
|
return file_items_items_db_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_pack_pack_db_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
var file_items_items_db_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
var file_pack_pack_db_proto_goTypes = []interface{}{
|
var file_items_items_db_proto_goTypes = []interface{}{
|
||||||
(*DB_UserItemData)(nil), // 0: DB_UserItemData
|
(*DB_UserItemData)(nil), // 0: DB_UserItemData
|
||||||
}
|
}
|
||||||
var file_pack_pack_db_proto_depIdxs = []int32{
|
var file_items_items_db_proto_depIdxs = []int32{
|
||||||
0, // [0:0] is the sub-list for method output_type
|
0, // [0:0] is the sub-list for method output_type
|
||||||
0, // [0:0] is the sub-list for method input_type
|
0, // [0:0] is the sub-list for method input_type
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
0, // [0:0] is the sub-list for extension type_name
|
||||||
@ -169,13 +169,13 @@ var file_pack_pack_db_proto_depIdxs = []int32{
|
|||||||
0, // [0:0] is the sub-list for field type_name
|
0, // [0:0] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_pack_pack_db_proto_init() }
|
func init() { file_items_items_db_proto_init() }
|
||||||
func file_pack_pack_db_proto_init() {
|
func file_items_items_db_proto_init() {
|
||||||
if File_pack_pack_db_proto != nil {
|
if File_items_items_db_proto != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !protoimpl.UnsafeEnabled {
|
if !protoimpl.UnsafeEnabled {
|
||||||
file_pack_pack_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
file_items_items_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*DB_UserItemData); i {
|
switch v := v.(*DB_UserItemData); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -192,18 +192,18 @@ func file_pack_pack_db_proto_init() {
|
|||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_pack_pack_db_proto_rawDesc,
|
RawDescriptor: file_items_items_db_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 1,
|
NumMessages: 1,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
GoTypes: file_pack_pack_db_proto_goTypes,
|
GoTypes: file_items_items_db_proto_goTypes,
|
||||||
DependencyIndexes: file_pack_pack_db_proto_depIdxs,
|
DependencyIndexes: file_items_items_db_proto_depIdxs,
|
||||||
MessageInfos: file_pack_pack_db_proto_msgTypes,
|
MessageInfos: file_items_items_db_proto_msgTypes,
|
||||||
}.Build()
|
}.Build()
|
||||||
File_pack_pack_db_proto = out.File
|
File_items_items_db_proto = out.File
|
||||||
file_pack_pack_db_proto_rawDesc = nil
|
file_items_items_db_proto_rawDesc = nil
|
||||||
file_pack_pack_db_proto_goTypes = nil
|
file_items_items_db_proto_goTypes = nil
|
||||||
file_pack_pack_db_proto_depIdxs = nil
|
file_items_items_db_proto_depIdxs = nil
|
||||||
}
|
}
|
484
pb/items_msg.pb.go
Normal file
484
pb/items_msg.pb.go
Normal file
@ -0,0 +1,484 @@
|
|||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.28.0
|
||||||
|
// protoc v3.20.0
|
||||||
|
// source: items/items_msg.proto
|
||||||
|
|
||||||
|
package pb
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
//查询用户背包请求
|
||||||
|
type Items_Getlist_Req struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
IType int32 `protobuf:"varint,1,opt,name=IType,proto3" json:"IType"` //道具类型
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Req) Reset() {
|
||||||
|
*x = Items_Getlist_Req{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Req) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Items_Getlist_Req) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Req) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Items_Getlist_Req.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Items_Getlist_Req) Descriptor() ([]byte, []int) {
|
||||||
|
return file_items_items_msg_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Req) GetIType() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.IType
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询用户背包请求 回应
|
||||||
|
type Items_Getlist_Resp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Grids []*DB_UserItemData `protobuf:"bytes,1,rep,name=Grids,proto3" json:"Grids"` //用户背包列表
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Resp) Reset() {
|
||||||
|
*x = Items_Getlist_Resp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Resp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Items_Getlist_Resp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Resp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Items_Getlist_Resp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Items_Getlist_Resp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_items_items_msg_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_Getlist_Resp) GetGrids() []*DB_UserItemData {
|
||||||
|
if x != nil {
|
||||||
|
return x.Grids
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//使用物品请求
|
||||||
|
type Items_UseItem_Req struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId"` //格子Id
|
||||||
|
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId"` //物品Id
|
||||||
|
Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount"` //使用数量
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Req) Reset() {
|
||||||
|
*x = Items_UseItem_Req{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Req) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Items_UseItem_Req) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Req) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Items_UseItem_Req.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Items_UseItem_Req) Descriptor() ([]byte, []int) {
|
||||||
|
return file_items_items_msg_proto_rawDescGZIP(), []int{2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Req) GetGridId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.GridId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Req) GetItemId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.ItemId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Req) GetAmount() uint32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Amount
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//使用物品请求 回应
|
||||||
|
type Items_UseItem_Resp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Resp) Reset() {
|
||||||
|
*x = Items_UseItem_Resp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Resp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Items_UseItem_Resp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Items_UseItem_Resp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Items_UseItem_Resp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Items_UseItem_Resp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_items_items_msg_proto_rawDescGZIP(), []int{3}
|
||||||
|
}
|
||||||
|
|
||||||
|
//出售道具请求sailitem
|
||||||
|
type Items_SellItem_Req struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId"` //格子Id
|
||||||
|
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId"` //物品Id
|
||||||
|
Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount"` //使用数量
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Req) Reset() {
|
||||||
|
*x = Items_SellItem_Req{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Req) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Items_SellItem_Req) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Req) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Items_SellItem_Req.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Items_SellItem_Req) Descriptor() ([]byte, []int) {
|
||||||
|
return file_items_items_msg_proto_rawDescGZIP(), []int{4}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Req) GetGridId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.GridId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Req) GetItemId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.ItemId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Req) GetAmount() uint32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Amount
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//出售道具请求 回应
|
||||||
|
type Items_SellItem_Resp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Resp) Reset() {
|
||||||
|
*x = Items_SellItem_Resp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Resp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*Items_SellItem_Resp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *Items_SellItem_Resp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_items_items_msg_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use Items_SellItem_Resp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*Items_SellItem_Resp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_items_items_msg_proto_rawDescGZIP(), []int{5}
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_items_items_msg_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_items_items_msg_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x15, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x6d, 0x73,
|
||||||
|
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x69,
|
||||||
|
0x74, 0x65, 0x6d, 0x73, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a,
|
||||||
|
0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x47, 0x65, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x52,
|
||||||
|
0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
|
0x05, 0x52, 0x05, 0x49, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x12, 0x49, 0x74, 0x65, 0x6d,
|
||||||
|
0x73, 0x5f, 0x47, 0x65, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26,
|
||||||
|
0x0a, 0x05, 0x47, 0x72, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
|
||||||
|
0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||||
|
0x05, 0x47, 0x72, 0x69, 0x64, 0x73, 0x22, 0x5b, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x5f,
|
||||||
|
0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x47,
|
||||||
|
0x72, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x72, 0x69,
|
||||||
|
0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20,
|
||||||
|
0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41,
|
||||||
|
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f,
|
||||||
|
0x75, 0x6e, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x55, 0x73, 0x65,
|
||||||
|
0x49, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x12, 0x49, 0x74, 0x65,
|
||||||
|
0x6d, 0x73, 0x5f, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x71, 0x12,
|
||||||
|
0x16, 0x0a, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
|
0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49,
|
||||||
|
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12,
|
||||||
|
0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||||
|
0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||||
|
0x5f, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06,
|
||||||
|
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_items_items_msg_proto_rawDescOnce sync.Once
|
||||||
|
file_items_items_msg_proto_rawDescData = file_items_items_msg_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_items_items_msg_proto_rawDescGZIP() []byte {
|
||||||
|
file_items_items_msg_proto_rawDescOnce.Do(func() {
|
||||||
|
file_items_items_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_items_items_msg_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_items_items_msg_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_items_items_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||||
|
var file_items_items_msg_proto_goTypes = []interface{}{
|
||||||
|
(*Items_Getlist_Req)(nil), // 0: Items_Getlist_Req
|
||||||
|
(*Items_Getlist_Resp)(nil), // 1: Items_Getlist_Resp
|
||||||
|
(*Items_UseItem_Req)(nil), // 2: Items_UseItem_Req
|
||||||
|
(*Items_UseItem_Resp)(nil), // 3: Items_UseItem_Resp
|
||||||
|
(*Items_SellItem_Req)(nil), // 4: Items_SellItem_Req
|
||||||
|
(*Items_SellItem_Resp)(nil), // 5: Items_SellItem_Resp
|
||||||
|
(*DB_UserItemData)(nil), // 6: DB_UserItemData
|
||||||
|
}
|
||||||
|
var file_items_items_msg_proto_depIdxs = []int32{
|
||||||
|
6, // 0: Items_Getlist_Resp.Grids:type_name -> DB_UserItemData
|
||||||
|
1, // [1:1] is the sub-list for method output_type
|
||||||
|
1, // [1:1] is the sub-list for method input_type
|
||||||
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:1] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_items_items_msg_proto_init() }
|
||||||
|
func file_items_items_msg_proto_init() {
|
||||||
|
if File_items_items_msg_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
file_items_items_db_proto_init()
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_items_items_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Items_Getlist_Req); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_items_items_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Items_Getlist_Resp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_items_items_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Items_UseItem_Req); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_items_items_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Items_UseItem_Resp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_items_items_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Items_SellItem_Req); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_items_items_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*Items_SellItem_Resp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_items_items_msg_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 6,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_items_items_msg_proto_goTypes,
|
||||||
|
DependencyIndexes: file_items_items_msg_proto_depIdxs,
|
||||||
|
MessageInfos: file_items_items_msg_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_items_items_msg_proto = out.File
|
||||||
|
file_items_items_msg_proto_rawDesc = nil
|
||||||
|
file_items_items_msg_proto_goTypes = nil
|
||||||
|
file_items_items_msg_proto_depIdxs = nil
|
||||||
|
}
|
@ -1,484 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.28.0
|
|
||||||
// protoc v3.20.0
|
|
||||||
// source: pack/pack_msg.proto
|
|
||||||
|
|
||||||
package pb
|
|
||||||
|
|
||||||
import (
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
//查询用户背包请求
|
|
||||||
type Pack_Getlist_Req struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
IType int32 `protobuf:"varint,1,opt,name=IType,proto3" json:"IType"` //道具类型
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Req) Reset() {
|
|
||||||
*x = Pack_Getlist_Req{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Req) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Pack_Getlist_Req) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Req) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[0]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Pack_Getlist_Req.ProtoReflect.Descriptor instead.
|
|
||||||
func (*Pack_Getlist_Req) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pack_pack_msg_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Req) GetIType() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.IType
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//查询用户背包请求 回应
|
|
||||||
type Pack_Getlist_Resp struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Grids []*DB_UserItemData `protobuf:"bytes,1,rep,name=Grids,proto3" json:"Grids"` //用户背包列表
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Resp) Reset() {
|
|
||||||
*x = Pack_Getlist_Resp{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Resp) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Pack_Getlist_Resp) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Resp) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[1]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Pack_Getlist_Resp.ProtoReflect.Descriptor instead.
|
|
||||||
func (*Pack_Getlist_Resp) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pack_pack_msg_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_Getlist_Resp) GetGrids() []*DB_UserItemData {
|
|
||||||
if x != nil {
|
|
||||||
return x.Grids
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
//使用物品请求
|
|
||||||
type Pack_UseItem_Req struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId"` //格子Id
|
|
||||||
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId"` //物品Id
|
|
||||||
Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount"` //使用数量
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Req) Reset() {
|
|
||||||
*x = Pack_UseItem_Req{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[2]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Req) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Pack_UseItem_Req) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Req) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[2]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Pack_UseItem_Req.ProtoReflect.Descriptor instead.
|
|
||||||
func (*Pack_UseItem_Req) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pack_pack_msg_proto_rawDescGZIP(), []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Req) GetGridId() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.GridId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Req) GetItemId() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.ItemId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Req) GetAmount() uint32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.Amount
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//使用物品请求 回应
|
|
||||||
type Pack_UseItem_Resp struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Resp) Reset() {
|
|
||||||
*x = Pack_UseItem_Resp{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[3]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Resp) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Pack_UseItem_Resp) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *Pack_UseItem_Resp) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[3]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Pack_UseItem_Resp.ProtoReflect.Descriptor instead.
|
|
||||||
func (*Pack_UseItem_Resp) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pack_pack_msg_proto_rawDescGZIP(), []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
//出售道具请求sailitem
|
|
||||||
type Pack_SellItem_Req struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
GridId int32 `protobuf:"varint,1,opt,name=GridId,proto3" json:"GridId"` //格子Id
|
|
||||||
ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId"` //物品Id
|
|
||||||
Amount uint32 `protobuf:"varint,3,opt,name=Amount,proto3" json:"Amount"` //使用数量
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Req) Reset() {
|
|
||||||
*x = Pack_SellItem_Req{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[4]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Req) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Pack_SellItem_Req) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Req) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[4]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Pack_SellItem_Req.ProtoReflect.Descriptor instead.
|
|
||||||
func (*Pack_SellItem_Req) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pack_pack_msg_proto_rawDescGZIP(), []int{4}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Req) GetGridId() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.GridId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Req) GetItemId() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.ItemId
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Req) GetAmount() uint32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.Amount
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//出售道具请求 回应
|
|
||||||
type Pack_SellItem_Resp struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Resp) Reset() {
|
|
||||||
*x = Pack_SellItem_Resp{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[5]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Resp) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*Pack_SellItem_Resp) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *Pack_SellItem_Resp) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_pack_pack_msg_proto_msgTypes[5]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use Pack_SellItem_Resp.ProtoReflect.Descriptor instead.
|
|
||||||
func (*Pack_SellItem_Resp) Descriptor() ([]byte, []int) {
|
|
||||||
return file_pack_pack_msg_proto_rawDescGZIP(), []int{5}
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_pack_pack_msg_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_pack_pack_msg_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x73, 0x67, 0x2e,
|
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x2f, 0x70, 0x61, 0x63, 0x6b,
|
|
||||||
0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x10, 0x50, 0x61, 0x63,
|
|
||||||
0x6b, 0x5f, 0x47, 0x65, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a,
|
|
||||||
0x05, 0x49, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x54,
|
|
||||||
0x79, 0x70, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x5f, 0x47, 0x65, 0x74, 0x6c,
|
|
||||||
0x69, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x05, 0x47, 0x72, 0x69, 0x64,
|
|
||||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65,
|
|
||||||
0x72, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x47, 0x72, 0x69, 0x64, 0x73,
|
|
||||||
0x22, 0x5a, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x5f, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d,
|
|
||||||
0x5f, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x18, 0x01,
|
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74,
|
|
||||||
0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
|
|
||||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11,
|
|
||||||
0x50, 0x61, 0x63, 0x6b, 0x5f, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x52, 0x65, 0x73,
|
|
||||||
0x70, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x5f, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74,
|
|
||||||
0x65, 0x6d, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64,
|
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x72, 0x69, 0x64, 0x49, 0x64, 0x12, 0x16,
|
|
||||||
0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
|
|
||||||
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x14,
|
|
||||||
0x0a, 0x12, 0x50, 0x61, 0x63, 0x6b, 0x5f, 0x53, 0x65, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x5f,
|
|
||||||
0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_pack_pack_msg_proto_rawDescOnce sync.Once
|
|
||||||
file_pack_pack_msg_proto_rawDescData = file_pack_pack_msg_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_pack_pack_msg_proto_rawDescGZIP() []byte {
|
|
||||||
file_pack_pack_msg_proto_rawDescOnce.Do(func() {
|
|
||||||
file_pack_pack_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_pack_pack_msg_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_pack_pack_msg_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_pack_pack_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
|
||||||
var file_pack_pack_msg_proto_goTypes = []interface{}{
|
|
||||||
(*Pack_Getlist_Req)(nil), // 0: Pack_Getlist_Req
|
|
||||||
(*Pack_Getlist_Resp)(nil), // 1: Pack_Getlist_Resp
|
|
||||||
(*Pack_UseItem_Req)(nil), // 2: Pack_UseItem_Req
|
|
||||||
(*Pack_UseItem_Resp)(nil), // 3: Pack_UseItem_Resp
|
|
||||||
(*Pack_SellItem_Req)(nil), // 4: Pack_SellItem_Req
|
|
||||||
(*Pack_SellItem_Resp)(nil), // 5: Pack_SellItem_Resp
|
|
||||||
(*DB_UserItemData)(nil), // 6: DB_UserItemData
|
|
||||||
}
|
|
||||||
var file_pack_pack_msg_proto_depIdxs = []int32{
|
|
||||||
6, // 0: Pack_Getlist_Resp.Grids:type_name -> DB_UserItemData
|
|
||||||
1, // [1:1] is the sub-list for method output_type
|
|
||||||
1, // [1:1] is the sub-list for method input_type
|
|
||||||
1, // [1:1] is the sub-list for extension type_name
|
|
||||||
1, // [1:1] is the sub-list for extension extendee
|
|
||||||
0, // [0:1] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_pack_pack_msg_proto_init() }
|
|
||||||
func file_pack_pack_msg_proto_init() {
|
|
||||||
if File_pack_pack_msg_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
file_pack_pack_db_proto_init()
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_pack_pack_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*Pack_Getlist_Req); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pack_pack_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*Pack_Getlist_Resp); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pack_pack_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*Pack_UseItem_Req); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pack_pack_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*Pack_UseItem_Resp); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pack_pack_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*Pack_SellItem_Req); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_pack_pack_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*Pack_SellItem_Resp); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_pack_pack_msg_proto_rawDesc,
|
|
||||||
NumEnums: 0,
|
|
||||||
NumMessages: 6,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_pack_pack_msg_proto_goTypes,
|
|
||||||
DependencyIndexes: file_pack_pack_msg_proto_depIdxs,
|
|
||||||
MessageInfos: file_pack_pack_msg_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_pack_pack_msg_proto = out.File
|
|
||||||
file_pack_pack_msg_proto_rawDesc = nil
|
|
||||||
file_pack_pack_msg_proto_goTypes = nil
|
|
||||||
file_pack_pack_msg_proto_depIdxs = nil
|
|
||||||
}
|
|
@ -18,6 +18,9 @@ enum ErrorCode {
|
|||||||
SystemError = 22; //通用错误
|
SystemError = 22; //通用错误
|
||||||
Exception = 100; //程序执行异常
|
Exception = 100; //程序执行异常
|
||||||
Unknown = 101; //未知错误
|
Unknown = 101; //未知错误
|
||||||
|
ResNoEnough = 102; //资源不足
|
||||||
|
ConfigurationException = 103; //配置异常
|
||||||
|
ConfigNoFound = 104; //配置未找到
|
||||||
|
|
||||||
// user
|
// user
|
||||||
SecKeyInvalid = 1000; //秘钥无效
|
SecKeyInvalid = 1000; //秘钥无效
|
||||||
@ -38,11 +41,11 @@ enum ErrorCode {
|
|||||||
FriendBlackMax = 1110; //黑名单最大数量
|
FriendBlackMax = 1110; //黑名单最大数量
|
||||||
FriendSearchNameEmpty = 1111; //查询昵称为空
|
FriendSearchNameEmpty = 1111; //查询昵称为空
|
||||||
|
|
||||||
// pack
|
// item
|
||||||
PackNoEnough = 1200; //背包物品不足
|
ItemsNoEnough = 1200; //背包物品不足
|
||||||
PackNoFoundGird = 1201; //背包未找到物品格子
|
ItemsNoFoundGird = 1201; //背包未找到物品格子
|
||||||
PackGridNumUpper = 1202; //背包格子数量已达上限
|
ItemsGridNumUpper = 1202; //背包格子数量已达上限
|
||||||
PackGirdAmountUpper = 1203; //背包格子容量已达上限
|
ItemsGirdAmountUpper = 1203; //背包格子容量已达上限
|
||||||
|
|
||||||
// hero
|
// hero
|
||||||
HeroNoExist = 1300; //英雄不存在
|
HeroNoExist = 1300; //英雄不存在
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = ".;pb";
|
option go_package = ".;pb";
|
||||||
|
package pb;
|
||||||
|
|
||||||
// enum PropertyType{
|
// enum PropertyType{
|
||||||
// Hp = 0; //血量
|
// Hp = 0; //血量
|
||||||
@ -24,15 +25,18 @@ message DB_HeroData {
|
|||||||
int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能
|
int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能
|
||||||
repeated SkillData normalSkill = 9; //@go_tags(`bson:"normalSkill"`) 普通技能
|
repeated SkillData normalSkill = 9; //@go_tags(`bson:"normalSkill"`) 普通技能
|
||||||
map<int32, int32> property = 10; // 属性相关
|
map<int32, int32> property = 10; // 属性相关
|
||||||
map<int32, int32> addProperty = 11; //@go_tags(`bson:"addProperty"`) 附加属性相关
|
map<int32, int32> addProperty =
|
||||||
|
11; //@go_tags(`bson:"addProperty"`) 附加属性相关
|
||||||
int32 formation = 12; // 阵型类型
|
int32 formation = 12; // 阵型类型
|
||||||
int32 cardType = 13; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡)
|
int32 cardType =
|
||||||
|
13; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡)
|
||||||
int32 curSkin = 14; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID
|
int32 curSkin = 14; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID
|
||||||
repeated int32 skins = 15; // 所有皮肤ID
|
repeated int32 skins = 15; // 所有皮肤ID
|
||||||
bool block = 16; // 锁定
|
bool block = 16; // 锁定
|
||||||
repeated string equipID = 17; //@go_tags(`bson:"equipID"`) 装备 objID
|
repeated string equipID = 17; //@go_tags(`bson:"equipID"`) 装备 objID
|
||||||
int32 resonateNum = 18; //@go_tags(`bson:"resonateNum"`) 共鸣次数
|
int32 resonateNum = 18; //@go_tags(`bson:"resonateNum"`) 共鸣次数
|
||||||
int32 distributionResonate = 19; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量
|
int32 distributionResonate =
|
||||||
|
19; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量
|
||||||
map<int32, int32> energy = 20; // 能量分配到哪里
|
map<int32, int32> energy = 20; // 能量分配到哪里
|
||||||
int32 count = 21; // 数量
|
int32 count = 21; // 数量
|
||||||
}
|
}
|
@ -1,7 +1,19 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = ".;pb";
|
option go_package = ".;pb";
|
||||||
|
package pb;
|
||||||
import "hero/hero_db.proto";
|
import "hero/hero_db.proto";
|
||||||
|
|
||||||
|
//英雄基础信息
|
||||||
|
message Hero_Info_Req {
|
||||||
|
string heroId = 1; //英雄唯一ID
|
||||||
|
}
|
||||||
|
message Hero_Info_Rsp { DB_HeroData base = 1; }
|
||||||
|
|
||||||
|
//英雄列表
|
||||||
|
message Hero_List_Req {}
|
||||||
|
|
||||||
|
message Hero_List_Rsp { repeated DB_HeroData list = 1; }
|
||||||
|
|
||||||
/// 卡牌养成: 强化(卡牌升级、卡牌升星、技能升级)
|
/// 卡牌养成: 强化(卡牌升级、卡牌升星、技能升级)
|
||||||
/// 卡牌养成: 共鸣(共鸣消耗、材料返回、能量点使用)
|
/// 卡牌养成: 共鸣(共鸣消耗、材料返回、能量点使用)
|
||||||
/// 卡牌养成: 觉醒(英雄觉醒、材料消耗)
|
/// 卡牌养成: 觉醒(英雄觉醒、材料消耗)
|
||||||
@ -15,8 +27,7 @@ message ItemData{
|
|||||||
message Hero_StrengthenUplv_Req {
|
message Hero_StrengthenUplv_Req {
|
||||||
string heroObjID = 1; // 英雄对象ID
|
string heroObjID = 1; // 英雄对象ID
|
||||||
string expCardID = 2; // 经验卡对象ID
|
string expCardID = 2; // 经验卡对象ID
|
||||||
int32 amount = 3; // 消耗经验卡数量
|
int32 amount = 3; // 消耗经验卡数量}
|
||||||
}
|
|
||||||
|
|
||||||
// 卡牌升级返回
|
// 卡牌升级返回
|
||||||
message Hero_StrengthenUplv_Resp {
|
message Hero_StrengthenUplv_Resp {
|
||||||
|
@ -1,37 +1,37 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = ".;pb";
|
option go_package = ".;pb";
|
||||||
import "pack/pack_db.proto";
|
import "items/items_db.proto";
|
||||||
|
|
||||||
//查询用户背包请求
|
//查询用户背包请求
|
||||||
message Pack_Getlist_Req {
|
message Items_Getlist_Req {
|
||||||
int32 IType = 1; //道具类型
|
int32 IType = 1; //道具类型
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询用户背包请求 回应
|
//查询用户背包请求 回应
|
||||||
message Pack_Getlist_Resp {
|
message Items_Getlist_Resp {
|
||||||
repeated DB_UserItemData Grids = 1; //用户背包列表
|
repeated DB_UserItemData Grids = 1; //用户背包列表
|
||||||
}
|
}
|
||||||
|
|
||||||
//使用物品请求
|
//使用物品请求
|
||||||
message Pack_UseItem_Req {
|
message Items_UseItem_Req {
|
||||||
int32 GridId = 1; //格子Id
|
int32 GridId = 1; //格子Id
|
||||||
int32 ItemId = 2; //物品Id
|
int32 ItemId = 2; //物品Id
|
||||||
uint32 Amount = 3; //使用数量
|
uint32 Amount = 3; //使用数量
|
||||||
}
|
}
|
||||||
|
|
||||||
//使用物品请求 回应
|
//使用物品请求 回应
|
||||||
message Pack_UseItem_Resp {
|
message Items_UseItem_Resp {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//出售道具请求sailitem
|
//出售道具请求sailitem
|
||||||
message Pack_SellItem_Req {
|
message Items_SellItem_Req {
|
||||||
int32 GridId = 1; //格子Id
|
int32 GridId = 1; //格子Id
|
||||||
int32 ItemId = 2; //物品Id
|
int32 ItemId = 2; //物品Id
|
||||||
uint32 Amount = 3; //使用数量
|
uint32 Amount = 3; //使用数量
|
||||||
}
|
}
|
||||||
|
|
||||||
//出售道具请求 回应
|
//出售道具请求 回应
|
||||||
message Pack_SellItem_Resp {
|
message Items_SellItem_Resp {
|
||||||
|
|
||||||
}
|
}
|
@ -21,4 +21,6 @@ message DB_UserData {
|
|||||||
int64 logintime = 10; //@go_tags(`bson:"logintime"`) 最后一次登录时间
|
int64 logintime = 10; //@go_tags(`bson:"logintime"`) 最后一次登录时间
|
||||||
int32 friendPoint = 11; //@go_tags(`bson:"friendPoint"`) 友情点
|
int32 friendPoint = 11; //@go_tags(`bson:"friendPoint"`) 友情点
|
||||||
int32 avatar = 12; //@go_tags(`bson:"avatar"`) 头像
|
int32 avatar = 12; //@go_tags(`bson:"avatar"`) 头像
|
||||||
|
int32 gold = 13; //@go_tags(`bson:"gold"`) 金币
|
||||||
|
int32 exp = 14; //@go_tags(`bson:"exp"`) 经验
|
||||||
}
|
}
|
@ -100,6 +100,8 @@ type DB_UserData struct {
|
|||||||
Logintime int64 `protobuf:"varint,10,opt,name=logintime,proto3" json:"logintime" bson:"logintime"` //最后一次登录时间
|
Logintime int64 `protobuf:"varint,10,opt,name=logintime,proto3" json:"logintime" bson:"logintime"` //最后一次登录时间
|
||||||
FriendPoint int32 `protobuf:"varint,11,opt,name=friendPoint,proto3" json:"friendPoint" bson:"friendPoint"` //友情点
|
FriendPoint int32 `protobuf:"varint,11,opt,name=friendPoint,proto3" json:"friendPoint" bson:"friendPoint"` //友情点
|
||||||
Avatar int32 `protobuf:"varint,12,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
|
Avatar int32 `protobuf:"varint,12,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像
|
||||||
|
Gold int32 `protobuf:"varint,13,opt,name=gold,proto3" json:"gold" bson:"gold"` //金币
|
||||||
|
Exp int32 `protobuf:"varint,14,opt,name=exp,proto3" json:"exp" bson:"exp"` //经验
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *DB_UserData) Reset() {
|
func (x *DB_UserData) Reset() {
|
||||||
@ -218,6 +220,20 @@ func (x *DB_UserData) GetAvatar() int32 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *DB_UserData) GetGold() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Gold
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DB_UserData) GetExp() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Exp
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
var File_user_user_db_proto protoreflect.FileDescriptor
|
var File_user_user_db_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_user_user_db_proto_rawDesc = []byte{
|
var file_user_user_db_proto_rawDesc = []byte{
|
||||||
@ -229,7 +245,7 @@ var file_user_user_db_proto_rawDesc = []byte{
|
|||||||
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||||
0x49, 0x64, 0x22, 0xaf, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61,
|
0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61,
|
||||||
0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
||||||
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||||
@ -248,8 +264,10 @@ var file_user_user_db_proto_rawDesc = []byte{
|
|||||||
0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
||||||
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76,
|
0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76,
|
||||||
0x61, 0x74, 0x61, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01,
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
0x28, 0x05, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18,
|
||||||
|
0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
|
||||||
|
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -44,3 +44,9 @@ func newOptionsByOption(opts ...Option) (Options, error) {
|
|||||||
}
|
}
|
||||||
return options, nil
|
return options, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetConfigPath(v string) Option {
|
||||||
|
return func(o *Options) {
|
||||||
|
o.ConfigurePath = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
@ -11,6 +12,7 @@ package cfg
|
|||||||
type JsonLoader func(string) ([]map[string]interface{}, error)
|
type JsonLoader func(string) ([]map[string]interface{}, error)
|
||||||
|
|
||||||
type Tables struct {
|
type Tables struct {
|
||||||
|
hero *Game_hero
|
||||||
ui *Game_ui
|
ui *Game_ui
|
||||||
skill *Game_skill
|
skill *Game_skill
|
||||||
plot *Game_plot
|
plot *Game_plot
|
||||||
@ -25,6 +27,11 @@ type Tables struct {
|
|||||||
heroLevelgrow *Game_heroLevelgrow
|
heroLevelgrow *Game_heroLevelgrow
|
||||||
heroStarup *Game_heroStarup
|
heroStarup *Game_heroStarup
|
||||||
heroLevelup *Game_heroLevelup
|
heroLevelup *Game_heroLevelup
|
||||||
|
equip *Game_equip
|
||||||
|
equipAttrlibrary *Game_equipAttrlibrary
|
||||||
|
equipSuit *Game_equipSuit
|
||||||
|
equipIntensify *Game_equipIntensify
|
||||||
|
item *Game_item
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewTables(loader JsonLoader) (*Tables, error) {
|
func NewTables(loader JsonLoader) (*Tables, error) {
|
||||||
@ -32,7 +39,12 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
|||||||
var buf []map[string]interface{}
|
var buf []map[string]interface{}
|
||||||
|
|
||||||
tables := &Tables{}
|
tables := &Tables{}
|
||||||
|
if buf, err = loader("game_hero") ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if tables.hero, err = NewGame_hero(buf) ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
if buf, err = loader("game_ui") ; err != nil {
|
if buf, err = loader("game_ui") ; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -117,5 +129,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
|
|||||||
if tables.heroLevelup, err = NewGame_heroLevelup(buf) ; err != nil {
|
if tables.heroLevelup, err = NewGame_heroLevelup(buf) ; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if buf, err = loader("game_equip") ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if tables.equip, err = NewGame_equip(buf) ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if buf, err = loader("game_equipattrlibrary") ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if tables.equipAttrlibrary, err = NewGame_equipAttrlibrary(buf) ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if buf, err = loader("game_equipsuit") ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if tables.equipSuit, err = NewGame_equipSuit(buf) ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if buf, err = loader("game_equipintensify") ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if tables.equipIntensify, err = NewGame_equipIntensify(buf) ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if buf, err = loader("game_item") ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if tables.item, err = NewGame_item(buf) ; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
return tables, nil
|
return tables, nil
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ type Game_equipAttrlibraryData struct {
|
|||||||
Libraryid int32
|
Libraryid int32
|
||||||
Attr []string
|
Attr []string
|
||||||
Probability int32
|
Probability int32
|
||||||
|
Addition []int32
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Game_equipAttrlibraryData) GetTypeId() int {
|
func (Game_equipAttrlibraryData) GetTypeId() int {
|
||||||
@ -40,5 +41,19 @@ func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAt
|
|||||||
}
|
}
|
||||||
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
|
||||||
|
{
|
||||||
|
var _arr_ []interface{}
|
||||||
|
var _ok_ bool
|
||||||
|
if _arr_, _ok_ = _buf["Addition"].([]interface{}); !_ok_ { err = errors.New("Addition error"); return }
|
||||||
|
|
||||||
|
_v.Addition = 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.Addition = append(_v.Addition, _list_v_)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ type Game_equipSuitData struct {
|
|||||||
Suittype int32
|
Suittype int32
|
||||||
Suitnum int32
|
Suitnum int32
|
||||||
Skill int32
|
Skill int32
|
||||||
|
Skillintr string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Game_equipSuitData) GetTypeId() int {
|
func (Game_equipSuitData) GetTypeId() int {
|
||||||
@ -25,5 +26,6 @@ func NewGame_equipSuitData(_buf map[string]interface{}) (_v *Game_equipSuitData,
|
|||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suitnum"].(float64); !_ok_ { err = errors.New("suitnum error"); return }; _v.Suitnum = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suitnum"].(float64); !_ok_ { err = errors.New("suitnum error"); return }; _v.Suitnum = int32(_tempNum_) }
|
||||||
{ 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["skill"].(float64); !_ok_ { err = errors.New("skill error"); return }; _v.Skill = int32(_tempNum_) }
|
||||||
|
{ var _ok_ bool; if _v.Skillintr, _ok_ = _buf["skillintr"].(string); !_ok_ { err = errors.New("skillintr error"); return } }
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -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_equipment struct {
|
|
||||||
_dataMap map[int32]*Game_equipmentData
|
|
||||||
_dataList []*Game_equipmentData
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGame_equipment(_buf []map[string]interface{}) (*Game_equipment, error) {
|
|
||||||
_dataList := make([]*Game_equipmentData, 0, len(_buf))
|
|
||||||
dataMap := make(map[int32]*Game_equipmentData)
|
|
||||||
for _, _ele_ := range _buf {
|
|
||||||
if _v, err2 := NewGame_equipmentData(_ele_); err2 != nil {
|
|
||||||
return nil, err2
|
|
||||||
} else {
|
|
||||||
_dataList = append(_dataList, _v)
|
|
||||||
dataMap[_v.Id] = _v
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return &Game_equipment{_dataList: _dataList, _dataMap: dataMap}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (table *Game_equipment) GetDataMap() map[int32]*Game_equipmentData {
|
|
||||||
return table._dataMap
|
|
||||||
}
|
|
||||||
|
|
||||||
func (table *Game_equipment) GetDataList() []*Game_equipmentData {
|
|
||||||
return table._dataList
|
|
||||||
}
|
|
||||||
|
|
||||||
func (table *Game_equipment) Get(key int32) *Game_equipmentData {
|
|
||||||
return table._dataMap[key]
|
|
||||||
}
|
|
@ -1,73 +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_equipmentData struct {
|
|
||||||
Id int32
|
|
||||||
Name string
|
|
||||||
Star int32
|
|
||||||
Quality int32
|
|
||||||
Station int32
|
|
||||||
MaxLv int32
|
|
||||||
UpgradeProbability []int32
|
|
||||||
UpgradeGuaranteed []int32
|
|
||||||
}
|
|
||||||
|
|
||||||
func (Game_equipmentData) GetTypeId() int {
|
|
||||||
return 859081052
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewGame_equipmentData(_buf map[string]interface{}) (_v *Game_equipmentData, err error) {
|
|
||||||
_v = &Game_equipmentData{}
|
|
||||||
{
|
|
||||||
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["quality"].(float64); !_ok_ {
|
|
||||||
err = errors.New("quality error")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
_v.Quality = int32(_tempNum_)
|
|
||||||
}
|
|
||||||
{
|
|
||||||
var _ok_ bool
|
|
||||||
var _tempNum_ float64
|
|
||||||
if _tempNum_, _ok_ = _buf["station"].(float64); !_ok_ {
|
|
||||||
err = errors.New("station error")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
_v.Station = int32(_tempNum_)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
42
sys/configure/structs/game.hero.go
Normal file
42
sys/configure/structs/game.hero.go
Normal 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_hero struct {
|
||||||
|
_dataMap map[int32]*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[int32]*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[int32]*Game_heroData {
|
||||||
|
return table._dataMap
|
||||||
|
}
|
||||||
|
|
||||||
|
func (table *Game_hero) GetDataList() []*Game_heroData {
|
||||||
|
return table._dataList
|
||||||
|
}
|
||||||
|
|
||||||
|
func (table *Game_hero) Get(key int32) *Game_heroData {
|
||||||
|
return table._dataMap[key]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
95
sys/configure/structs/game.heroData.go
Normal file
95
sys/configure/structs/game.heroData.go
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <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_heroData 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
|
||||||
|
Skill1 int32
|
||||||
|
Skill2 int32
|
||||||
|
Skill3 int32
|
||||||
|
}
|
||||||
|
|
||||||
|
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; 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["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
|
||||||
|
}
|
@ -21,7 +21,7 @@ func NewGame_heroStargrow(_buf []map[string]interface{}) (*Game_heroStargrow, er
|
|||||||
return nil, err2
|
return nil, err2
|
||||||
} else {
|
} else {
|
||||||
_dataList = append(_dataList, _v)
|
_dataList = append(_dataList, _v)
|
||||||
dataMap[_v.Color] = _v
|
dataMap[_v.Star] = _v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return &Game_heroStargrow{_dataList:_dataList, _dataMap:dataMap}, nil
|
return &Game_heroStargrow{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||||
|
@ -11,7 +11,8 @@ package cfg
|
|||||||
import "errors"
|
import "errors"
|
||||||
|
|
||||||
type Game_heroStargrowData struct {
|
type Game_heroStargrowData struct {
|
||||||
Color int32
|
Star int32
|
||||||
|
Level int32
|
||||||
StarupHp float32
|
StarupHp float32
|
||||||
StarupAtk float32
|
StarupAtk float32
|
||||||
StarupDef float32
|
StarupDef float32
|
||||||
@ -24,7 +25,8 @@ func (Game_heroStargrowData) GetTypeId() int {
|
|||||||
|
|
||||||
func NewGame_heroStargrowData(_buf map[string]interface{}) (_v *Game_heroStargrowData, err error) {
|
func NewGame_heroStargrowData(_buf map[string]interface{}) (_v *Game_heroStargrowData, err error) {
|
||||||
_v = &Game_heroStargrowData{}
|
_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["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) }
|
||||||
|
{ 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["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_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_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_def"].(float64); !_ok_ { err = errors.New("starup_def error"); return }; _v.StarupDef = float32(_tempNum_) }
|
||||||
|
@ -21,6 +21,7 @@ type Game_heroStarupData struct {
|
|||||||
Needrace []int32
|
Needrace []int32
|
||||||
Needracestar int32
|
Needracestar int32
|
||||||
Needracenum int32
|
Needracenum int32
|
||||||
|
Gold int32
|
||||||
}
|
}
|
||||||
|
|
||||||
func (Game_heroStarupData) GetTypeId() int {
|
func (Game_heroStarupData) GetTypeId() int {
|
||||||
@ -52,5 +53,6 @@ func NewGame_heroStarupData(_buf map[string]interface{}) (_v *Game_heroStarupDat
|
|||||||
|
|
||||||
{ 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["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_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracenum"].(float64); !_ok_ { err = errors.New("needracenum error"); return }; _v.Needracenum = int32(_tempNum_) }
|
||||||
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gold"].(float64); !_ok_ { err = errors.New("gold error"); return }; _v.Gold = int32(_tempNum_) }
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ func NewGame_newHero(_buf []map[string]interface{}) (*Game_newHero, error) {
|
|||||||
return nil, err2
|
return nil, err2
|
||||||
} else {
|
} else {
|
||||||
_dataList = append(_dataList, _v)
|
_dataList = append(_dataList, _v)
|
||||||
dataMap[_v.Id] = _v
|
dataMap[_v.Hid] = _v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return &Game_newHero{_dataList:_dataList, _dataMap:dataMap}, nil
|
return &Game_newHero{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||||
|
@ -12,7 +12,7 @@ import "errors"
|
|||||||
import "bright/math"
|
import "bright/math"
|
||||||
|
|
||||||
type Game_newHeroData struct {
|
type Game_newHeroData struct {
|
||||||
Id int32
|
Hid int32
|
||||||
Name string
|
Name string
|
||||||
Star int32
|
Star int32
|
||||||
Color int32
|
Color int32
|
||||||
@ -40,7 +40,7 @@ func (Game_newHeroData) GetTypeId() int {
|
|||||||
|
|
||||||
func NewGame_newHeroData(_buf map[string]interface{}) (_v *Game_newHeroData, err error) {
|
func NewGame_newHeroData(_buf map[string]interface{}) (_v *Game_newHeroData, err error) {
|
||||||
_v = &Game_newHeroData{}
|
_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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name 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["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["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
|
||||||
|
@ -13,7 +13,10 @@ import "errors"
|
|||||||
type Game_skillAfteratkData struct {
|
type Game_skillAfteratkData struct {
|
||||||
Id int32
|
Id int32
|
||||||
Desc string
|
Desc string
|
||||||
Target string
|
From int32
|
||||||
|
Limit int32
|
||||||
|
Where []string
|
||||||
|
Order []string
|
||||||
EmitPR int32
|
EmitPR int32
|
||||||
Type string
|
Type string
|
||||||
Argu []string
|
Argu []string
|
||||||
@ -32,7 +35,36 @@ func NewGame_skillAfteratkData(_buf map[string]interface{}) (_v *Game_skillAfter
|
|||||||
_v = &Game_skillAfteratkData{}
|
_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; 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.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["From"].(float64); !_ok_ { err = errors.New("From error"); return }; _v.From = int32(_tempNum_) }
|
||||||
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Limit"].(float64); !_ok_ { err = errors.New("Limit error"); return }; _v.Limit = int32(_tempNum_) }
|
||||||
|
{
|
||||||
|
var _arr_ []interface{}
|
||||||
|
var _ok_ bool
|
||||||
|
if _arr_, _ok_ = _buf["Where"].([]interface{}); !_ok_ { err = errors.New("Where error"); return }
|
||||||
|
|
||||||
|
_v.Where = 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.Where = append(_v.Where, _list_v_)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var _arr_ []interface{}
|
||||||
|
var _ok_ bool
|
||||||
|
if _arr_, _ok_ = _buf["Order"].([]interface{}); !_ok_ { err = errors.New("Order error"); return }
|
||||||
|
|
||||||
|
_v.Order = 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.Order = append(_v.Order, _list_v_)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EmitPR"].(float64); !_ok_ { err = errors.New("EmitPR error"); return }; _v.EmitPR = int32(_tempNum_) }
|
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EmitPR"].(float64); !_ok_ { err = errors.New("EmitPR error"); return }; _v.EmitPR = int32(_tempNum_) }
|
||||||
{ var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
|
{ var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } }
|
||||||
{
|
{
|
||||||
|
1
utils/math_test.go
Normal file
1
utils/math_test.go
Normal file
@ -0,0 +1 @@
|
|||||||
|
package utils
|
Loading…
Reference in New Issue
Block a user