好感度

This commit is contained in:
meixiongfeng 2023-04-19 18:01:53 +08:00
parent 62cf386449
commit 0e6aba2b9e
20 changed files with 681 additions and 744 deletions

View File

@ -6,21 +6,31 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 0,
"favor_lv": 1,
"favor_exp": 100,
"lv_name": {
"key": "favorability_favorability_lv_name_0",
"key": "favorability_favorability_lv_name_1",
"text": "萍水相逢"
},
"privilege_type": 0,
"privilege_value": 0,
"return_reward": [],
"return_reward": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"return_txt": {
"key": "",
"text": ""
"key": "favorability_favorability_return_txt",
"text": "达到好感度{0}级可领取"
},
"likes_food": [],
"disliking_food": [],
"likes_food": [
1001
],
"disliking_food": [
1001
],
"likes_txt": {
"key": "favorability_favorability_likes_txt_14002",
"text": "我很喜欢,谢谢!"
@ -104,10 +114,116 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 1,
"favor_lv": 2,
"favor_exp": 200,
"lv_name": {
"key": "favorability_favorability_lv_name_1",
"key": "favorability_favorability_lv_name_2",
"text": "点头之交"
},
"privilege_type": 0,
"privilege_value": 0,
"return_reward": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"return_txt": {
"key": "favorability_favorability_return_txt",
"text": "达到好感度{0}级可领取"
},
"likes_food": [
1001
],
"disliking_food": [],
"likes_txt": {
"key": "favorability_favorability_likes_txt_14002",
"text": "我很喜欢,谢谢!"
},
"ordinary_txt": {
"key": "favorability_favorability_ordinary_txt_14002",
"text": "送我的?谢谢!"
},
"disliking_txt": {
"key": "favorability_favorabilit_disliking_txt_14002",
"text": "这味道,一言难尽......"
},
"favorlv": [
1,
3,
5
],
"biography_name": [
"140021",
"140022",
"140023"
],
"biography_txt": [
"140021",
"140022",
"140023"
],
"biography_reward1": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"biography_reward2": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"biography_reward3": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"plot_unlock": [
2,
4,
6,
8
],
"startid": 300001,
"endid": [
3000015,
3000017,
3000018
],
"rightend": 3000014,
"stroyprize": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"special_stroyprize": [
{
"a": "attr",
"t": "gold",
"n": 2000
}
]
},
{
"id": 3,
"hid": "14002",
"name": {
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 3,
"favor_exp": 300,
"lv_name": {
"key": "favorability_favorability_lv_name_3",
"text": "点头之交"
},
"privilege_type": 0,
@ -201,104 +317,6 @@
}
]
},
{
"id": 3,
"hid": "14002",
"name": {
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 2,
"favor_exp": 300,
"lv_name": {
"key": "favorability_favorability_lv_name_2",
"text": "点头之交"
},
"privilege_type": 0,
"privilege_value": 0,
"return_reward": [],
"return_txt": {
"key": "",
"text": ""
},
"likes_food": [],
"disliking_food": [],
"likes_txt": {
"key": "favorability_favorability_likes_txt_14002",
"text": "我很喜欢,谢谢!"
},
"ordinary_txt": {
"key": "favorability_favorability_ordinary_txt_14002",
"text": "送我的?谢谢!"
},
"disliking_txt": {
"key": "favorability_favorabilit_disliking_txt_14002",
"text": "这味道,一言难尽......"
},
"favorlv": [
1,
3,
5
],
"biography_name": [
"140021",
"140022",
"140023"
],
"biography_txt": [
"140021",
"140022",
"140023"
],
"biography_reward1": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"biography_reward2": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"biography_reward3": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"plot_unlock": [
2,
4,
6,
8
],
"startid": 300001,
"endid": [
3000015,
3000017,
3000018
],
"rightend": 3000014,
"stroyprize": [
{
"a": "attr",
"t": "gold",
"n": 1000
}
],
"special_stroyprize": [
{
"a": "attr",
"t": "gold",
"n": 2000
}
]
},
{
"id": 4,
"hid": "14002",
@ -306,10 +324,10 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 3,
"favor_lv": 4,
"favor_exp": 400,
"lv_name": {
"key": "favorability_favorability_lv_name_3",
"key": "favorability_favorability_lv_name_4",
"text": "点头之交"
},
"privilege_type": 0,
@ -410,18 +428,24 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 4,
"favor_lv": 5,
"favor_exp": 500,
"lv_name": {
"key": "favorability_favorability_lv_name_4",
"key": "favorability_favorability_lv_name_5",
"text": "点头之交"
},
"privilege_type": 0,
"privilege_value": 0,
"return_reward": [],
"return_reward": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"return_txt": {
"key": "",
"text": ""
"key": "favorability_favorability_return_txt",
"text": "达到好感度{0}级可领取"
},
"likes_food": [],
"disliking_food": [],
@ -508,10 +532,10 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 5,
"favor_lv": 6,
"favor_exp": 600,
"lv_name": {
"key": "favorability_favorability_lv_name_5",
"key": "favorability_favorability_lv_name_6",
"text": "点头之交"
},
"privilege_type": 0,
@ -612,18 +636,24 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 6,
"favor_lv": 7,
"favor_exp": 700,
"lv_name": {
"key": "favorability_favorability_lv_name_6",
"key": "favorability_favorability_lv_name_7",
"text": "情投意合"
},
"privilege_type": 0,
"privilege_value": 0,
"return_reward": [],
"return_reward": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"return_txt": {
"key": "",
"text": ""
"key": "favorability_favorability_return_txt",
"text": "达到好感度{0}级可领取"
},
"likes_food": [],
"disliking_food": [],
@ -710,10 +740,10 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 7,
"favor_lv": 8,
"favor_exp": 800,
"lv_name": {
"key": "favorability_favorability_lv_name_7",
"key": "favorability_favorability_lv_name_8",
"text": "情投意合"
},
"privilege_type": 0,
@ -814,18 +844,24 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 8,
"favor_lv": 9,
"favor_exp": 900,
"lv_name": {
"key": "favorability_favorability_lv_name_8",
"key": "favorability_favorability_lv_name_9",
"text": "情投意合"
},
"privilege_type": 0,
"privilege_value": 0,
"return_reward": [],
"return_reward": [
{
"a": "item",
"t": "30001",
"n": 1
}
],
"return_txt": {
"key": "",
"text": ""
"key": "favorability_favorability_return_txt",
"text": "达到好感度{0}级可领取"
},
"likes_food": [],
"disliking_food": [],
@ -912,10 +948,10 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 9,
"favor_lv": 10,
"favor_exp": 1000,
"lv_name": {
"key": "favorability_favorability_lv_name_9",
"key": "favorability_favorability_lv_name_10",
"text": "情投意合"
},
"privilege_type": 0,
@ -1016,10 +1052,10 @@
"key": "hero_14002",
"text": "大龙"
},
"favor_lv": 10,
"favor_lv": 11,
"favor_exp": 0,
"lv_name": {
"key": "favorability_favorability_lv_name_10",
"key": "favorability_favorability_lv_name_11",
"text": "情投意合"
},
"privilege_type": 0,

View File

@ -14,7 +14,7 @@
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 25001,
"hid": "25001",
"attribute": [
{
"a": "atkpro",
@ -41,7 +41,7 @@
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 35001,
"hid": "35001",
"attribute": [
{
"a": "atk",
@ -68,7 +68,7 @@
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 25001,
"hid": "25001",
"attribute": [
{
"a": "atkpro",
@ -95,7 +95,7 @@
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 35001,
"hid": "35001",
"attribute": [
{
"a": "atk",
@ -122,7 +122,7 @@
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 25001,
"hid": "25001",
"attribute": [
{
"a": "atkpro",
@ -149,7 +149,7 @@
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 35001,
"hid": "35001",
"attribute": [
{
"a": "atk",
@ -176,7 +176,7 @@
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 25001,
"hid": "25001",
"attribute": [
{
"a": "atkpro",
@ -203,7 +203,7 @@
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 35001,
"hid": "35001",
"attribute": [
{
"a": "atk",
@ -230,7 +230,7 @@
"png": "jiban_img_zu02",
"friends_lv": 1,
"favorability_lv": 1,
"hid": 15004,
"hid": "15004",
"attribute": [
{
"a": "HP",
@ -257,7 +257,7 @@
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 25001,
"hid": "25001",
"attribute": [
{
"a": "atkpro",
@ -284,7 +284,7 @@
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 35001,
"hid": "35001",
"attribute": [
{
"a": "atk",
@ -311,7 +311,7 @@
"png": "jiban_img_zu02",
"friends_lv": 2,
"favorability_lv": 9,
"hid": 15004,
"hid": "15004",
"attribute": [
{
"a": "HP",
@ -338,7 +338,7 @@
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 25001,
"hid": "25001",
"attribute": [
{
"a": "atkpro",
@ -365,7 +365,7 @@
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 35001,
"hid": "35001",
"attribute": [
{
"a": "atk",
@ -392,7 +392,7 @@
"png": "jiban_img_zu02",
"friends_lv": 3,
"favorability_lv": 15,
"hid": 15004,
"hid": "15004",
"attribute": [
{
"a": "HP",

View File

@ -298,5 +298,15 @@
},
"data": "",
"prefix": "bingo:{0}"
},
{
"id": 31,
"type": 1,
"text": {
"key": "GM_31",
"text": "清除踢馆NPC需刷新"
},
"data": "",
"prefix": "bingo:cleannpc"
}
]

View File

@ -2158,7 +2158,7 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1128
],
"use_skip": 139,
"upper_limit": -1,
@ -2188,7 +2188,7 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1128
],
"use_skip": 139,
"upper_limit": -1,
@ -2218,7 +2218,7 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1128
],
"use_skip": 139,
"upper_limit": -1,
@ -2248,7 +2248,7 @@
"box_id": 0,
"synthetize_num": 0,
"access": [
123
1128
],
"use_skip": 139,
"upper_limit": -1,

View File

@ -235,7 +235,7 @@
"key": "opencond_prompt_trials",
"text": "功能暂未开启"
},
"uiid": 0,
"uiid": 166,
"activateType": 0,
"notify": []
},
@ -283,7 +283,7 @@
"key": "opencond_prompt_story",
"text": "功能暂未开启"
},
"uiid": 0,
"uiid": 169,
"activateType": 0,
"notify": []
},
@ -715,7 +715,7 @@
"key": "opencond_prompt_hunting",
"text": "功能暂未开启"
},
"uiid": 0,
"uiid": 168,
"activateType": 0,
"notify": []
},
@ -907,7 +907,7 @@
"key": "opencond_prompt_arena",
"text": "功能暂未开启"
},
"uiid": 0,
"uiid": 156,
"activateType": 0,
"notify": []
},
@ -1435,7 +1435,7 @@
"key": "opencond_prompt_vikingexpedition_entrance",
"text": "功能暂未开启"
},
"uiid": 0,
"uiid": 167,
"activateType": 0,
"notify": []
},
@ -1555,7 +1555,7 @@
"key": "opencond_prompt_Master_challenges_the_tower",
"text": "功能暂未开启"
},
"uiid": 0,
"uiid": 10004,
"activateType": 0,
"notify": []
},

View File

@ -13,7 +13,7 @@
"heroid": "13002",
"img": "sbkp_js_13002",
"intr": {
"key": "shirenyu10001",
"key": "miaosushirenyu10001",
"text": "作为教习,食人鱼一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -47,7 +47,7 @@
"heroid": "13001",
"img": "sbkp_js_13001",
"intr": {
"key": "shirenyu10002",
"key": "miaosushirenyu10002",
"text": "作为教习,闪闪一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -81,7 +81,7 @@
"heroid": "44002",
"img": "sbkp_js_44002",
"intr": {
"key": "shirenyu10003",
"key": "miaosushirenyu10003",
"text": "作为教习,蛇先生一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -115,7 +115,7 @@
"heroid": "24005",
"img": "sbkp_js_24005",
"intr": {
"key": "shirenyu10004",
"key": "miaosushirenyu10004",
"text": "作为教习,金猴一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -160,7 +160,7 @@
"heroid": "14005",
"img": "sbkp_js_14005",
"intr": {
"key": "shirenyu10005",
"key": "miaosushirenyu10005",
"text": "作为教习,鹤大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -194,7 +194,7 @@
"heroid": "44006",
"img": "sbkp_js_44006",
"intr": {
"key": "shirenyu10006",
"key": "miaosushirenyu10006",
"text": "作为教习,悍娇虎一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -228,7 +228,7 @@
"heroid": "43001",
"img": "sbkp_js_43001",
"intr": {
"key": "shirenyu10007",
"key": "miaosushirenyu10007",
"text": "作为教习,盖一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -262,7 +262,7 @@
"heroid": "35002",
"img": "sbkp_js_35002",
"intr": {
"key": "shirenyu10008",
"key": "miaosushirenyu10008",
"text": "作为教习,希卡普一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -296,7 +296,7 @@
"heroid": "45004",
"img": "sbkp_js_45004",
"intr": {
"key": "shirenyu10009",
"key": "miaosushirenyu10009",
"text": "作为教习,穿靴猫一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -341,7 +341,7 @@
"heroid": "35001",
"img": "sbkp_js_35001",
"intr": {
"key": "shirenyu10010",
"key": "miaosushirenyu10010",
"text": "作为教习,师父一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -386,7 +386,7 @@
"heroid": "25001",
"img": "sbkp_js_25001",
"intr": {
"key": "shirenyu10011",
"key": "miaosushirenyu10011",
"text": "作为教习,阿宝一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -431,7 +431,7 @@
"heroid": "45001",
"img": "sbkp_js_45001",
"intr": {
"key": "shirenyu10012",
"key": "miaosushirenyu10012",
"text": "作为教习,乌龟大师一直秉承着严厉的教习态度,在他手下训练的英雄可以获得巨大提升"
},
"standard_text": 25001,
@ -476,7 +476,7 @@
"heroid": "",
"img": "wg_icon_ss",
"intr": {
"key": "shirenyu20001",
"key": "miaosushirenyu20001",
"text": "石锁,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -521,7 +521,7 @@
"heroid": "",
"img": "wg_icon_kz",
"intr": {
"key": "shirenyu20002",
"key": "miaosushirenyu20002",
"text": "双头空竹,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -555,7 +555,7 @@
"heroid": "",
"img": "wg_icon_pj",
"intr": {
"key": "shirenyu20003",
"key": "miaosushirenyu20003",
"text": "木爬架,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -589,7 +589,7 @@
"heroid": "",
"img": "wg_icon_bdw",
"intr": {
"key": "shirenyu20004",
"key": "miaosushirenyu20004",
"text": "不倒翁,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -623,7 +623,7 @@
"heroid": "",
"img": "wg_icon_pc",
"intr": {
"key": "shirenyu20005",
"key": "miaosushirenyu20005",
"text": "棒槌,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -657,7 +657,7 @@
"heroid": "",
"img": "wg_icon_tl",
"intr": {
"key": "shirenyu20006",
"key": "miaosushirenyu20006",
"text": "铜铃,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -691,7 +691,7 @@
"heroid": "",
"img": "wg_icon_tj",
"intr": {
"key": "shirenyu20007",
"key": "miaosushirenyu20007",
"text": "尖刺吊环,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -725,7 +725,7 @@
"heroid": "",
"img": "wg_icon_tj01",
"intr": {
"key": "shirenyu20008",
"key": "miaosushirenyu20008",
"text": "陀螺,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -759,7 +759,7 @@
"heroid": "",
"img": "wg_icon_zl",
"intr": {
"key": "shirenyu20009",
"key": "miaosushirenyu20009",
"text": "大转轮,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -804,7 +804,7 @@
"heroid": "",
"img": "wg_icon_mp",
"intr": {
"key": "shirenyu20010",
"key": "miaosushirenyu20010",
"text": "木头牌,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -849,7 +849,7 @@
"heroid": "",
"img": "wg_icon_sjg",
"intr": {
"key": "shirenyu20011",
"key": "miaosushirenyu20011",
"text": "双节棍,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -894,7 +894,7 @@
"heroid": "",
"img": "wg_icon_yd",
"intr": {
"key": "shirenyu20012",
"key": "miaosushirenyu20012",
"text": "练功带,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -939,7 +939,7 @@
"heroid": "",
"img": "wg_icon_tj",
"intr": {
"key": "shirenyu20013",
"key": "miaosushirenyu20013",
"text": "七彩花棍,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -984,7 +984,7 @@
"heroid": "",
"img": "wg_icon_fb",
"intr": {
"key": "shirenyu20014",
"key": "miaosushirenyu20014",
"text": "流星飞镖,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -1018,7 +1018,7 @@
"heroid": "",
"img": "wg_icon_mxl",
"intr": {
"key": "shirenyu20015",
"key": "miaosushirenyu20015",
"text": "冥想锣,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -1052,7 +1052,7 @@
"heroid": "",
"img": "wg_icon_ct",
"intr": {
"key": "shirenyu20016",
"key": "miaosushirenyu20016",
"text": "彩条龙,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -1086,7 +1086,7 @@
"heroid": "",
"img": "wg_icon_kqms",
"intr": {
"key": "shirenyu20017",
"key": "miaosushirenyu20017",
"text": "孔雀毛扇,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -1129,7 +1129,7 @@
"heroid": "",
"img": "wg_icon_ph",
"intr": {
"key": "shirenyu20018",
"key": "miaosushirenyu20018",
"text": "平衡木,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -1172,7 +1172,7 @@
"heroid": "",
"img": "wg_icon_th",
"intr": {
"key": "shirenyu20019",
"key": "miaosushirenyu20019",
"text": "铁环,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,
@ -1215,7 +1215,7 @@
"heroid": "",
"img": "wg_icon_tj",
"intr": {
"key": "shirenyu20020",
"key": "miaosushirenyu20020",
"text": "太极球,传闻是师父在训练阿宝时经常使用到的道具"
},
"standard_text": 0,

View File

@ -13566,7 +13566,7 @@
{
"Id": 214001112,
"EmitPR": 1000,
"From": 2,
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,

View File

@ -60,6 +60,7 @@ func (this *ModelHero) InitHero(uid string, heroCfgId string) *pb.DBHero {
JuexProperty: make(map[string]int32),
TalentProperty: make(map[string]int32),
HoroscopeProperty: make(map[string]int32),
Fetters: make(map[string]int32),
}
this.PropertyCompute(newHero)
this.initHeroSkill(newHero)

View File

@ -33,26 +33,7 @@ func (this *apiComp) ActivationFetter(session comm.IUserSession, req *pb.Library
fetter.Activation = true
mapData := make(map[string]interface{}, 0)
mapData["activation"] = fetter.Activation
// 激活的时候算一下 当前羁绊等级
list := this.module.modelFetter.getHeroFetterList(session.GetUserId())
conf := this.module.configure.GetLibraryFetter(fetter.Fid, 1)
var minLv int32
for _, v1 := range conf.Hid {
for _, v := range list {
if v.Heroid == v1 {
if minLv == 0 {
minLv = v.Favorlv
}
if minLv > v.Favorlv {
minLv = v.Favorlv
}
break
}
}
}
fetter.Fetterlv = minLv
mapData["fetterlv"] = fetter.Fetterlv
this.module.modelLibrary.modifyLibraryDataByObjId(session.GetUserId(), fetter.Id, mapData)
rsp.Data = fetter
return
}

View File

@ -26,44 +26,9 @@ func (this *apiComp) GetReward(session comm.IUserSession, req *pb.LibraryGetRewa
code = pb.ErrorCode_LibraryNoData
return
}
// fetterlv check
var minLv int32
conf := this.module.configure.GetLibraryFetter(fetter.Fid, req.Fetterlv)
if conf == nil {
code = pb.ErrorCode_ConfigNoFound
}
for _, v := range conf.Hid { // 获取羁绊等级
_d := this.module.modelFetter.GetFetterByHeroId(session.GetUserId(), v)
if _d != nil {
if minLv == 0 {
minLv = _d.Favorlv
}
if _d.Favorlv > minLv {
minLv = _d.Favorlv
}
}
}
if minLv < req.Fetterlv {
code = pb.ErrorCode_LibraryLvReward
return
}
for k := range fetter.Prize {
if k == req.Fetterlv {
code = pb.ErrorCode_LibraryReward
return
}
}
fetter.Prize[req.Fetterlv] = 1
// 发奖
if len(conf.Prize) != 0 {
if code = this.module.DispenseRes(session, conf.Prize, true); code != pb.ErrorCode_Success { //
return
}
}
mapData := make(map[string]interface{}, 0)
mapData["prize"] = fetter.Prize

View File

@ -7,104 +7,53 @@ package library
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/utils"
"strconv"
)
//参数校验
func (this *apiComp) GetStoryRewardCheck(session comm.IUserSession, req *pb.LibraryGetStoryRewardReq) (code pb.ErrorCode) {
if req.Hid == "" {
if req.Oid == "" {
code = pb.ErrorCode_ReqParameterError
}
return
}
func (this *apiComp) GetStoryReward(session comm.IUserSession, req *pb.LibraryGetStoryRewardReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
update map[string]interface{}
)
update = make(map[string]interface{}, 0)
resp := &pb.LibraryGetStoryRewardResp{}
code = this.GetStoryRewardCheck(session, req)
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
_heroFetter := this.module.modelFetter.getOneHeroFetter(session.GetUserId(), req.Hid)
_heroFetter := this.module.modelFetter.getOneHeroFetter(session.GetUserId(), req.Oid)
if _heroFetter == nil {
code = pb.ErrorCode_ReqParameterError
return
}
conf := this.module.configure.GetLibraryHero(_heroFetter.Heroid)
if req.History != 0 {
for index, v := range conf.History {
if utils.ToInt32(v) == req.History && conf.Favorlv[index] >= _heroFetter.Favorlv {
for _, v1 := range _heroFetter.History {
if v1 == req.History {
code = pb.ErrorCode_ReqParameterError
return
}
}
}
_heroFetter.History = append(_heroFetter.History, req.History)
// 发奖
historyConf := this.configure.GetLibraryHistory(strconv.Itoa(int(req.History)))
if historyConf != nil {
this.module.DispenseRes(session, historyConf.Prize, true)
}
mapData := make(map[string]interface{}, 0)
mapData["history"] = _heroFetter.History
this.module.modelFetter.modifyHeroFetterDataByObjId(session.GetUserId(), _heroFetter.Id, mapData)
resp.Data = _heroFetter
break
}
} else if req.Rightend != 0 { // 剧情奖励
bRepeadGetReawrd := false
sz := conf.Endid
for _, id := range sz {
if req.Rightend == conf.Rightend || req.Rightend == id {
if len(conf.PlotUnlock) >= len(_heroFetter.Stroyprize)+1 {
// 校验等级
lv := conf.PlotUnlock[len(_heroFetter.Stroyprize)]
if _heroFetter.Favorlv < lv {
code = pb.ErrorCode_LibraryLvReward
return
}
} else {
code = pb.ErrorCode_LibraryLvReward
return
}
for _, v := range _heroFetter.Stroyprize {
if v == req.Rightend {
bRepeadGetReawrd = true
break
}
}
if bRepeadGetReawrd { // 重复领奖
if req.History != 0 { // 领取传记往事id
for _, v := range _heroFetter.History {
if v == req.History { // 已经领取过奖励
code = pb.ErrorCode_LibraryReward
return
}
var res []*cfg.Gameatn //
if req.Rightend == conf.Rightend {
res = conf.Stroyprize
} else {
res = conf.SpecialStroyprize
}
_heroFetter.Stroyprize = append(_heroFetter.Stroyprize, req.Rightend)
// 发奖
code = this.module.DispenseRes(session, res, true)
if code != pb.ErrorCode_Success {
this.module.Errorf("GetStoryReward err:add item : %v", res)
_heroFetter.History = append(_heroFetter.History, req.History)
update["history"] = _heroFetter.History
} else if req.Story != 0 { // 领取故事ID
for _, v := range _heroFetter.Stroyprize {
if v == req.Story { // 已经领取过奖励
code = pb.ErrorCode_LibraryReward
return
}
mapData := make(map[string]interface{}, 0)
mapData["stroyprize"] = _heroFetter.Stroyprize
this.module.modelFetter.modifyHeroFetterDataByObjId(session.GetUserId(), _heroFetter.Id, mapData)
}
_heroFetter.Stroyprize = append(_heroFetter.Stroyprize, req.History)
update["stroyprize"] = _heroFetter.Stroyprize
}
this.module.modelFetter.modifyHeroFetterDataByObjId(session.GetUserId(), _heroFetter.Id, update)
resp.Data = _heroFetter
break
}
}
}
session.SendMsg(string(this.module.GetType()), LibraryGetStoryRewardResp, resp)
return
}

View File

@ -17,6 +17,7 @@ func (this *apiComp) LvRewardCheck(session comm.IUserSession, req *pb.LibraryLvR
return
}
// 英雄回礼
func (this *apiComp) LvReward(session comm.IUserSession, req *pb.LibraryLvRewardReq) (code pb.ErrorCode, data *pb.ErrorData) {
resp := &pb.LibraryLvRewardResp{}
@ -29,28 +30,25 @@ func (this *apiComp) LvReward(session comm.IUserSession, req *pb.LibraryLvReward
code = pb.ErrorCode_ReqParameterError
return
}
curStar := this.module.configure.GetHeroConfigStar(_heroFetter.Heroid) // 查询原始星级
if curStar == 0 {
code = pb.ErrorCode_ConfigNoFound
if _heroFetter.Lvprize == nil {
_heroFetter.Lvprize = map[int32]int32{}
}
if _, ok := _heroFetter.Lvprize[req.Lv]; ok {
code = pb.ErrorCode_LibraryReward // 重复领奖
return
}
confData := this.module.configure.GetLibraryFavorData(curStar, req.Lv)
if len(confData.Prize) == 0 {
confData := this.module.configure.GetFavorability(_heroFetter.Heroid, req.Lv)
if confData == nil {
code = pb.ErrorCode_ReqParameterError
return
}
for _, v := range _heroFetter.Lvprize {
if v == req.Lv {
code = pb.ErrorCode_LibraryReward // 重复领奖
break
}
}
_heroFetter.Lvprize = append(_heroFetter.Lvprize, req.Lv)
_heroFetter.Lvprize[req.Lv] = 1
// 发奖
code = this.module.DispenseRes(session, confData.Prize, true)
code = this.module.DispenseRes(session, confData.ReturnReward, true)
if code != pb.ErrorCode_Success {
this.module.Errorf("GetStoryReward err:add item : %v", confData.Prize)
this.module.Errorf("GetStoryReward err:add item : %v", confData.ReturnReward)
}
mapData := make(map[string]interface{}, 0)
mapData["lvprize"] = _heroFetter.Lvprize

View File

@ -15,6 +15,7 @@ func (this *apiComp) UseGiftCheck(session comm.IUserSession, req *pb.LibraryUseG
return
}
// 给英雄赠送美食
func (this *apiComp) UseGift(session comm.IUserSession, req *pb.LibraryUseGiftReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
res []*cfg.Gameatn
@ -40,8 +41,8 @@ func (this *apiComp) UseGift(session comm.IUserSession, req *pb.LibraryUseGiftRe
code = pb.ErrorCode_ConfigNoFound
return
}
favorConf := this.configure.GetLibraryFavor(curStar)
maxLv = int32(len(favorConf)) // 获取当前星级羁绊最大等级
// favorConf := this.configure.GetLibraryFavor(curStar)
// maxLv = int32(len(favorConf)) // 获取当前星级羁绊最大等级
// 达到最大等级不让继续升级
if _heroObj.Favorlv >= maxLv {
code = pb.ErrorCode_LibraryMaxLv
@ -73,13 +74,13 @@ func (this *apiComp) UseGift(session comm.IUserSession, req *pb.LibraryUseGiftRe
code = pb.ErrorCode_LibraryMaxLv
break
}
if favorConf[_heroObj.Favorlv] <= _heroObj.Favorexp {
_heroObj.Favorexp -= favorConf[_heroObj.Favorlv]
_heroObj.Favorlv += 1
upLv++
} else {
break
}
// if favorConf[_heroObj.Favorlv] <= _heroObj.Favorexp {
// _heroObj.Favorexp -= favorConf[_heroObj.Favorlv]
// _heroObj.Favorlv += 1
// upLv++
// } else {
// break
// }
}
if code = this.module.ConsumeRes(session, res, true); code != pb.ErrorCode_Success { //真正消耗
return

View File

@ -7,73 +7,102 @@ import (
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"strconv"
"sync"
)
const (
game_libraryhero = "game_libraryhero.json" // 英雄对应的羁绊id信息
game_libraryfetter = "game_libraryfetter.json" // 羁绊信息表
game_libraryhistory = "game_libraryhistory.json" // 往事id 对应的奖励
game_libraryfavor = "game_libraryfavor.json" // 英雄好感度升级所需的经验
game_librarystory = "game_librarystory.json" // 羁绊id对应剧情奖励
game_librarycomplot = "game_librarycomplot.json"
// game_libraryhero = "game_libraryhero.json" // 英雄对应的羁绊id信息
// game_libraryfetter = "game_libraryfetter.json" // 羁绊信息表
// game_libraryhistory = "game_libraryhistory.json" // 往事id 对应的奖励
// game_libraryfavor = "game_libraryfavor.json" // 英雄好感度升级所需的经验
// game_librarystory = "game_librarystory.json" // 羁绊id对应剧情奖励
// game_librarycomplot = "game_librarycomplot.json"
game_favorability = "game_favorability.json" // 好感度
game_friends = "game_friends.json" // 好感度
)
///配置管理基础组件
type configureComp struct {
modules.MCompConfigure
fetter map[int64]*cfg.GameLibraryFetterData
favor map[int64]*cfg.GameLibraryFavorData
hlock sync.RWMutex
// fetter map[int64]*cfg.GameLibraryFetterData
// favor map[int64]*cfg.GameLibraryFavorData
favorability map[string]*cfg.GameFavorabilityData
favorLvExp map[string][]int32 // key 英雄id value 每级升级所需要的经验值
friend map[int64][]*cfg.GameFriendsData
heroFetter map[string][]int32 // key 英雄id value 羁绊id
}
//组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
err = this.LoadMultiConfigure(map[string]interface{}{
game_libraryhero: cfg.NewGameLibraryHero,
game_libraryhistory: cfg.NewGameLibraryHistory,
game_libraryfavor: cfg.NewGameLibraryFavor,
game_librarystory: cfg.NewGameLibraryStory,
game_librarycomplot: cfg.NewGameLibraryComplot,
})
// err = this.LoadMultiConfigure(map[string]interface{}{
// game_libraryhero: cfg.NewGameLibraryHero,
// game_libraryhistory: cfg.NewGameLibraryHistory,
// game_libraryfavor: cfg.NewGameLibraryFavor,
// game_librarystory: cfg.NewGameLibraryStory,
// game_librarycomplot: cfg.NewGameLibraryComplot,
// })
this.fetter = make(map[int64]*cfg.GameLibraryFetterData, 0)
configure.RegisterConfigure(game_libraryfetter, cfg.NewGameLibraryFetter, this.SetLibraryFetter)
this.favor = make(map[int64]*cfg.GameLibraryFavorData, 0)
configure.RegisterConfigure(game_libraryfetter, cfg.NewGameLibraryFetter, this.SetLibraryFavor)
// this.fetter = make(map[int64]*cfg.GameLibraryFetterData, 0)
// configure.RegisterConfigure(game_libraryfetter, cfg.NewGameLibraryFetter, this.SetLibraryFetter)
// this.favor = make(map[int64]*cfg.GameLibraryFavorData, 0)
// configure.RegisterConfigure(game_libraryfetter, cfg.NewGameLibraryFetter, this.SetLibraryFavor)
configure.RegisterConfigure(game_favorability, cfg.NewGameFavorability, this.SetFavorability)
configure.RegisterConfigure(game_friends, cfg.NewGameLibraryFetter, this.SetFriendData)
return
}
func (this *configureComp) SetLibraryFavor() {
if v, err := this.GetConfigure(game_libraryfavor); err == nil {
if _configure, ok := v.(*cfg.GameLibraryFavor); ok {
func (this *configureComp) SetFavorability() {
if v, err := this.GetConfigure(game_favorability); err == nil {
this.favorability = make(map[string]*cfg.GameFavorabilityData, 0)
this.favorLvExp = make(map[string][]int32)
if _configure, ok := v.(*cfg.GameFavorability); ok {
for _, v1 := range _configure.GetDataList() {
this.favor[int64(v1.Star<<8)+int64(v1.Favorlv)] = v1
lv := strconv.Itoa(int(v1.FavorLv))
this.favorLvExp[v1.Hid] = append(this.favorLvExp[v1.Hid], v1.FavorExp)
this.favorability[v1.Hid+"-"+lv] = v1
}
return
}
} else {
err = fmt.Errorf("%T no is *cfg.GameLibraryFavor", v)
err = fmt.Errorf("%T no is *cfg.SetFavorability", err)
}
}
func (this *configureComp) GetLibraryFavorData(star, favorlv int32) (data *cfg.GameLibraryFavorData) {
return this.favor[int64(star<<8)+int64(favorlv)]
}
func (this *configureComp) SetLibraryFetter() {
if v, err := this.GetConfigure(game_libraryfetter); err == nil {
if _configure, ok := v.(*cfg.GameLibraryFetter); ok {
for _, v := range _configure.GetDataList() {
this.fetter[int64(v.Fid<<8)+int64(v.Favorlv)] = v
func (this *configureComp) GetFavorability(hid string, lv int32) *cfg.GameFavorabilityData {
return this.favorability[hid+"-"+strconv.Itoa(int(lv))]
}
func (this *configureComp) SetFriendData() {
if v, err := this.GetConfigure(game_friends); err == nil {
this.friend = make(map[int64][]*cfg.GameFriendsData, 0)
this.heroFetter = make(map[string][]int32)
if _configure, ok := v.(*cfg.GameFriends); ok {
for _, v1 := range _configure.GetDataList() {
key := int64(v1.FriendId)<<8 + int64(v1.FriendsLv)
this.friend[key] = append(this.friend[key], v1)
this.heroFetter[v1.Hid] = append(this.heroFetter[v1.Hid], v1.FriendId)
}
return
}
} else {
err = fmt.Errorf("%T no is *cfg.GameLibraryFetter", v)
err = fmt.Errorf("%T no is *cfg.SetFavorability", err)
}
}
func (this *configureComp) GetLibraryFetter(fid, favorlv int32) (data *cfg.GameLibraryFetterData) {
return this.fetter[int64(fid<<8)+int64(favorlv)]
// id:羁绊id lv 羁绊等级
func (this *configureComp) GetFriendData(id int32, lv int32) []*cfg.GameFriendsData {
return this.friend[int64(id)<<8+int64(lv)]
}
// 通过英雄获取当前英雄的所有羁绊ID
func (this *configureComp) GetHeroFetterID(hid string) []int32 {
return this.heroFetter[hid]
}
//加载多个配置文件
@ -93,80 +122,7 @@ func (this *configureComp) GetConfigure(name string) (v interface{}, err error)
return configure.GetConfigure(name)
}
func (this *configureComp) GetLibraryHero(hid string) (data *cfg.GameLibraryHeroData) {
if v, err := this.GetConfigure(game_libraryhero); err == nil {
if configure, ok := v.(*cfg.GameLibraryHero); ok {
data = configure.Get(hid)
}
} else {
log.Errorf("get GetLibraryHero conf err:%v", err)
}
return
}
func (this *configureComp) GetFavorabilityExp(hid string) []int32 {
// 获取当前星级的好感度
func (this *configureComp) GetLibraryFavor(star int32) (data []int32) {
if v, err := this.GetConfigure(game_libraryfavor); err == nil {
if configure, ok := v.(*cfg.GameLibraryFavor); ok {
for _, v := range configure.GetDataList() {
if v.Star == star {
data = append(data, v.Expneed)
}
}
}
} else {
log.Errorf("GetLibraryFavor conf err:%v", err)
}
return
}
func (this *configureComp) GetLibraryHistory(id string) (data *cfg.GameLibraryHistoryData) {
if v, err := this.GetConfigure(game_libraryhistory); err == nil {
if configure, ok := v.(*cfg.GameLibraryHistory); ok {
data = configure.Get(id)
}
} else {
log.Errorf("GetLibraryHistory conf err:%v", err)
}
return
}
func (this *configureComp) GetLibraryStory(fid int32) (data *cfg.GameLibraryStoryData) {
if v, err := this.GetConfigure(game_librarystory); err == nil {
if configure, ok := v.(*cfg.GameLibraryStory); ok {
data = configure.Get(fid)
}
} else {
log.Errorf("GetLibraryStory conf err:%v", err)
}
return
}
func (this *configureComp) getFetterstoryTaskCfg() (data *cfg.GameLibraryComplot, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_librarycomplot); err != nil {
return
} else {
if data, ok = v.(*cfg.GameLibraryComplot); !ok {
err = fmt.Errorf("%T no is *cfg.GameLibraryComplot", v)
return
}
}
return
}
func(c *configureComp)getMainTaskCfgByFetter(fetterId int32)(list []*cfg.GameLibraryComplotData) {
glc, err := c.getFetterstoryTaskCfg()
if err!=nil{
return nil
}
for _, v:=range glc.GetDataList(){
if v.FetterId == fetterId{
list = append(list, v)
}
}
return
return this.favorLvExp[hid]
}

View File

@ -6,7 +6,6 @@ import (
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
@ -56,17 +55,17 @@ func (this *modelFetterstory) getFetterTasks(uid string, fetterId int32) *pb.Fet
// 校验前置任务是否完成
// true完成 false未完成
func (this *modelFetterstory) isPreFinished(finishTasks []int32, taskId int32) bool {
maintaskConf, ok := this.module.confComplot.GetDataMap()[taskId]
if !ok {
return false
}
if maintaskConf.SubTask == 0 {
return true
}
// maintaskConf, ok := this.module.confComplot.GetDataMap()[taskId]
// if !ok {
// return false
// }
// if maintaskConf.SubTask == 0 {
// return true
// }
if _, ok := utils.Findx(finishTasks, maintaskConf.SubTask); ok {
return true
}
// if _, ok := utils.Findx(finishTasks, maintaskConf.SubTask); ok {
// return true
// }
return false
}

View File

@ -9,7 +9,6 @@ import (
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/utils"
"go.mongodb.org/mongo-driver/bson/primitive"
@ -23,7 +22,6 @@ type Library struct {
modelFetterstory *modelFetterstory
api *apiComp
configure *configureComp
confComplot *cfg.GameLibraryComplot
}
func NewModule() core.IModule {
@ -52,9 +50,7 @@ func (this *Library) OnInstallComp() {
func (this *Library) Start() (err error) {
err = this.ModuleBase.Start()
this.service.RegisterFunctionName(string(comm.Rpc_ModuleFetter), this.Rpc_ModuleFetter)
if this.confComplot, err = this.configure.getFetterstoryTaskCfg(); err != nil {
return err
}
return
}
@ -83,28 +79,81 @@ func (this *Library) GetLibraryListByFid(uid string, fid int32) *pb.DBLibrary {
return nil
}
// 通过英雄ID 查询羁绊信息
func (this *Library) GetLibraryListByHid(uid string, hid string) *pb.DBLibrary {
list := this.modelLibrary.getLibraryList(uid)
for _, v := range list {
if _, ok := v.Herofetter[hid]; ok {
return v
}
}
return nil
}
//
func (this *Library) CheckFetter(uid string, hid string) (dbLibrary []*pb.DBLibrary, fetter []*pb.DBHeroFetter) {
szFid := this.configure.GetHeroFetterID(hid)
for _, fid := range szFid {
conf := this.configure.GetFriendData(fid, 1)
if len(conf) == 0 {
this.modelFetter.module.Errorf("can't foun conf fid:%d", fid)
continue
}
if list := this.GetLibraryListByFid(uid, fid); list == nil { // 没有这条羁绊数据
tmp := &pb.DBLibrary{ // 创建一条羁绊数据
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Fid: fid,
Herofetter: map[string]string{},
Prize: map[int32]int32{},
}
for _, v := range conf {
if _d := this.CheckHeroFetter(uid, v.Hid); _d != nil { // check DBHeroFetter
tmp.Herofetter[v.Hid] = _d.Id
fetter = append(fetter, _d)
}
}
if err := this.modelLibrary.createLibrary(uid, tmp); err != nil {
this.modelFetter.module.Errorf("createLibrary error: %v,obj:%v", err, tmp)
continue
}
dbLibrary = append(dbLibrary, tmp)
} else { // 有这条羁绊数据
dbLibrary = append(dbLibrary, list)
for _, v := range conf {
if _, ok := list.Herofetter[v.Hid]; !ok {
if _d := this.CheckHeroFetter(uid, v.Hid); _d == nil {
list.Herofetter[v.Hid] = _d.Id
fetter = append(fetter, _d)
}
mapData := make(map[string]interface{}, 0)
mapData["herofetter"] = list.Herofetter
this.modelLibrary.modifyLibraryDataByObjId(uid, list.Id, mapData) // 更新新的羁绊信息
}
}
}
}
return
}
//通过羁绊id 创建多个羁绊信息
func (this *Library) CreateLibrary(uid string, fid int32, heroConfId string) (code pb.ErrorCode, obj *pb.DBLibrary) {
obj = &pb.DBLibrary{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Fid: fid,
Hero: map[string]int32{},
Herofetter: map[string]string{},
Prize: map[int32]int32{},
Fetterlv: 0,
}
conf := this.configure.GetLibraryFetter(fid, 1)
conf := this.configure.GetFriendData(fid, 1)
if conf != nil {
for _, v := range conf.Hid {
obj.Hero[v] = 0 // 默认值
if v == heroConfId {
obj.Hero[heroConfId] = 1 // 获得的英雄好感度等级为1级
}
}
if err := this.modelLibrary.createLibrary(uid, obj); err != nil {
code = pb.ErrorCode_DBError
}
obj.Herofetter[heroConfId] = obj.Id
}
return
@ -120,8 +169,31 @@ func (this *Library) GetHeroFetterList(uid string) []*pb.DBHeroFetter {
return this.modelFetter.getHeroFetterList(uid)
}
// 校验羁绊数据 如果没有 则创建
func (this *Library) CheckHeroFetter(uid string, hid string) (obj *pb.DBHeroFetter) {
var (
sz []*pb.DBHeroFetter
bFound bool
err error
)
sz = this.modelFetter.getHeroFetterList(uid)
for _, v := range sz {
if v.Heroid == hid {
bFound = true
break
}
}
if !bFound { // 创建一条英雄数据
if obj, err = this.createHeroFetter(uid, hid); err != nil {
obj = nil
return
}
}
return
}
// 创建一条英雄羁绊信息
func (this *Library) createHeroFetter(uid string, heroConfId string) (obj *pb.DBHeroFetter, code pb.ErrorCode) {
func (this *Library) createHeroFetter(uid string, heroConfId string) (obj *pb.DBHeroFetter, err error) {
this.modelFetter.getHeroFetterList(uid)
obj = &pb.DBHeroFetter{
Id: primitive.NewObjectID().Hex(),
@ -130,11 +202,9 @@ func (this *Library) createHeroFetter(uid string, heroConfId string) (obj *pb.DB
History: make([]int32, 0),
Favorlv: 1,
Stroyprize: make([]int32, 0),
Lvprize: make([]int32, 0),
}
if err := this.modelFetter.createHeroFetter(uid, obj); err != nil {
code = pb.ErrorCode_DBError
Lvprize: make(map[int32]int32, 0),
}
err = this.modelFetter.createHeroFetter(uid, obj)
return
}
@ -174,64 +244,9 @@ func (this *Library) SendRpcAddHero(uid string, heroConfId string, serverTag str
// 创建一条羁绊信息
func (this *Library) AddHeroFetterData(uid, heroConfId string) (code pb.ErrorCode) {
_conf := this.configure.GetLibraryHero(heroConfId) // 配置表中没有这个英雄数据 直接返回
if _conf == nil {
return
}
var (
objFetter *pb.DBHeroFetter // 详细羁绊信息数据
)
rsp := &pb.LibraryChangePush{}
_data := this.QueryOneHeroFetter(uid, heroConfId)
if _data == nil {
objFetter, code = this.createHeroFetter(uid, heroConfId)
if code == pb.ErrorCode_Success {
rsp.Fetter = append(rsp.Fetter, objFetter)
} else {
this.Errorf("createHeroFetter failed:%v,uid:%s,heroid:%s", code, uid, heroConfId)
}
}
for _, fid := range _conf.Fid {
// 查询是否存在这个羁绊对象
obj := this.GetLibraryListByFid(uid, fid)
if obj == nil { // 没有羁绊信息
code, obj = this.CreateLibrary(uid, fid, heroConfId)
if code != pb.ErrorCode_Success {
this.Errorf("CreateLibrary failed: %v,uid:%s,fid:%d", code, uid, fid)
}
rsp.Data = append(rsp.Data, obj)
} else { // 羁绊信息中没有这个heroid 也需要加进来
// 同步数据
mapData := make(map[string]interface{}, 0)
rsp.Data, rsp.Fetter = this.CheckFetter(uid, heroConfId)
if obj.Activation {
// 重新计算最低等级
var minLv int32
conf := this.configure.GetLibraryFetter(obj.Fid, 1)
list := this.GetHeroFetterList(uid)
for _, v1 := range conf.Hid {
for _, v := range list {
if v.Heroid == v1 {
if minLv == 0 {
minLv = v.Favorlv
}
if minLv > v.Favorlv {
minLv = v.Favorlv
}
break
}
}
}
obj.Fetterlv = minLv
mapData["fetterlv"] = obj.Fetterlv
}
mapData["hero"] = obj.Hero
this.modelLibrary.modifyLibraryDataByObjId(uid, obj.Id, mapData)
rsp.Data = append(rsp.Data, obj)
}
}
if len(rsp.Data) != 0 || len(rsp.Fetter) != 0 {
this.SendMsgToUser(string(this.GetType()), LibraryChangePush, rsp, uid)
}

View File

@ -101,6 +101,7 @@ type DBHero struct {
HoroscopeProperty map[string]int32 `protobuf:"bytes,28,rep,name=horoscopeProperty,proto3" json:"horoscopeProperty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"horoscopeProperty"` ////星座属性加成
Fulllvenr int32 `protobuf:"varint,29,opt,name=fulllvenr,proto3" json:"fulllvenr" bson:"fulllvenr"` ////满级登记分组 武馆使用
KongfuUid string `protobuf:"bytes,30,opt,name=kongfuUid,proto3" json:"kongfuUid"` //@go_tags(`bson:"kongfuUid"`)// 英雄在谁家练功
Fetters map[string]int32 `protobuf:"bytes,31,rep,name=fetters,proto3" json:"fetters" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"horoscopeProperty"` ////羁绊属性加成
}
func (x *DBHero) Reset() {
@ -345,6 +346,13 @@ func (x *DBHero) GetKongfuUid() string {
return ""
}
func (x *DBHero) GetFetters() map[string]int32 {
if x != nil {
return x.Fetters
}
return nil
}
//英雄扩展数据
type DBHeroRecord struct {
state protoimpl.MessageState
@ -582,7 +590,7 @@ var File_hero_hero_db_proto protoreflect.FileDescriptor
var file_hero_hero_db_proto_rawDesc = []byte{
0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0xc7, 0x0a, 0x0a, 0x06, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x22, 0xb3, 0x0b, 0x0a, 0x06, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68,
@ -646,7 +654,10 @@ var file_hero_hero_db_proto_rawDesc = []byte{
0x76, 0x65, 0x6e, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x75, 0x6c, 0x6c,
0x6c, 0x76, 0x65, 0x6e, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x6f, 0x6e, 0x67, 0x66, 0x75, 0x55,
0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6b, 0x6f, 0x6e, 0x67, 0x66, 0x75,
0x55, 0x69, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45,
0x55, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x07, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x18, 0x1f,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x2e, 0x46, 0x65,
0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x65, 0x74, 0x74,
0x65, 0x72, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
@ -666,64 +677,68 @@ var file_hero_hero_db_proto_rawDesc = []byte{
0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x05, 0x0a, 0x0c, 0x44,
0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a,
0x05, 0x73, 0x74, 0x61, 0x72, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74,
0x61, 0x72, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x18, 0x04, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12,
0x1c, 0x0a, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a,
0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e,
0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09,
0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61,
0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44,
0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72,
0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,
0x35, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e,
0x62, 0x75, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75,
0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c,
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x31,
0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62,
0x6c, 0x65, 0x31, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
0x2e, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65,
0x1a, 0x3c, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c,
0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09,
0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f,
0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f,
0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64,
0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x6c,
0x65, 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x2f,
0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x65,
0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48,
0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x46, 0x65,
0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x05, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72,
0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
0x72, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x34, 0x12,
0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x35, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x73, 0x74, 0x61, 0x72, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64,
0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44,
0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64,
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65,
0x72, 0x6f, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72,
0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72,
0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72,
0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x6f, 0x6e, 0x65, 0x62, 0x75, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f,
0x6e, 0x65, 0x62, 0x75, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x62, 0x75, 0x79, 0x12, 0x1e, 0x0a,
0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x31, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x65, 0x76, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x31, 0x12,
0x2b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x61, 0x63,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x1a, 0x3c, 0x0a, 0x0e,
0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x53, 0x74,
0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x52, 0x61, 0x63, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65,
0x6e, 0x74, 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,
0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06,
0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44,
0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x6c, 0x65,
0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x1a,
0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x2f, 0x0a, 0x08, 0x48, 0x65,
0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79,
0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x54,
0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -739,7 +754,7 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte {
}
var file_hero_hero_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_hero_hero_db_proto_goTypes = []interface{}{
(HeroType)(0), // 0: HeroType
(*DBHero)(nil), // 1: DBHero
@ -750,30 +765,32 @@ var file_hero_hero_db_proto_goTypes = []interface{}{
nil, // 6: DBHero.JuexPropertyEntry
nil, // 7: DBHero.TalentPropertyEntry
nil, // 8: DBHero.HoroscopePropertyEntry
nil, // 9: DBHeroRecord.ConditionEntry
nil, // 10: DBHeroRecord.Star5HeroEntry
nil, // 11: DBHeroRecord.RaceEntry
nil, // 12: DBHeroTalent.TalentEntry
(*SkillData)(nil), // 13: SkillData
nil, // 9: DBHero.FettersEntry
nil, // 10: DBHeroRecord.ConditionEntry
nil, // 11: DBHeroRecord.Star5HeroEntry
nil, // 12: DBHeroRecord.RaceEntry
nil, // 13: DBHeroTalent.TalentEntry
(*SkillData)(nil), // 14: SkillData
}
var file_hero_hero_db_proto_depIdxs = []int32{
13, // 0: DBHero.normalSkill:type_name -> SkillData
14, // 0: DBHero.normalSkill:type_name -> SkillData
4, // 1: DBHero.property:type_name -> DBHero.PropertyEntry
5, // 2: DBHero.addProperty:type_name -> DBHero.AddPropertyEntry
6, // 3: DBHero.juexProperty:type_name -> DBHero.JuexPropertyEntry
0, // 4: DBHero.status:type_name -> HeroType
7, // 5: DBHero.talentProperty:type_name -> DBHero.TalentPropertyEntry
13, // 6: DBHero.equipSkill:type_name -> SkillData
14, // 6: DBHero.equipSkill:type_name -> SkillData
8, // 7: DBHero.horoscopeProperty:type_name -> DBHero.HoroscopePropertyEntry
9, // 8: DBHeroRecord.condition:type_name -> DBHeroRecord.ConditionEntry
10, // 9: DBHeroRecord.star5Hero:type_name -> DBHeroRecord.Star5HeroEntry
11, // 10: DBHeroRecord.race:type_name -> DBHeroRecord.RaceEntry
12, // 11: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
9, // 8: DBHero.fetters:type_name -> DBHero.FettersEntry
10, // 9: DBHeroRecord.condition:type_name -> DBHeroRecord.ConditionEntry
11, // 10: DBHeroRecord.star5Hero:type_name -> DBHeroRecord.Star5HeroEntry
12, // 11: DBHeroRecord.race:type_name -> DBHeroRecord.RaceEntry
13, // 12: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry
13, // [13:13] is the sub-list for method output_type
13, // [13:13] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension type_name
13, // [13:13] is the sub-list for extension extendee
0, // [0:13] is the sub-list for field type_name
}
func init() { file_hero_hero_db_proto_init() }
@ -826,7 +843,7 @@ func file_hero_hero_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_hero_hero_db_proto_rawDesc,
NumEnums: 1,
NumMessages: 12,
NumMessages: 13,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -28,7 +28,7 @@ type DBLibrary struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
Fid int32 `protobuf:"varint,3,opt,name=fid,proto3" json:"fid"` // 配置表id 羁绊id
Hero map[string]int32 `protobuf:"bytes,4,rep,name=hero,proto3" json:"hero" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key: hid value: id
Herofetter map[string]string `protobuf:"bytes,4,rep,name=herofetter,proto3" json:"herofetter" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key: hid value: DBHeroFetter ObjID
Prize map[int32]int32 `protobuf:"bytes,5,rep,name=prize,proto3" json:"prize" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //是否领奖 key 好感度等级
Fetterlv int32 `protobuf:"varint,6,opt,name=fetterlv,proto3" json:"fetterlv"` // 当前羁绊等级
Storyid int32 `protobuf:"varint,7,opt,name=storyid,proto3" json:"storyid"` // 故事id 用来判断是否领奖
@ -88,9 +88,9 @@ func (x *DBLibrary) GetFid() int32 {
return 0
}
func (x *DBLibrary) GetHero() map[string]int32 {
func (x *DBLibrary) GetHerofetter() map[string]string {
if x != nil {
return x.Hero
return x.Herofetter
}
return nil
}
@ -136,7 +136,7 @@ type DBHeroFetter struct {
Favorlv int32 `protobuf:"varint,5,opt,name=favorlv,proto3" json:"favorlv"` // 好感度等级
Favorexp int32 `protobuf:"varint,6,opt,name=favorexp,proto3" json:"favorexp"` // 好感度经验
Stroyprize []int32 `protobuf:"varint,7,rep,packed,name=stroyprize,proto3" json:"stroyprize"` // 剧情奖励
Lvprize []int32 `protobuf:"varint,8,rep,packed,name=lvprize,proto3" json:"lvprize"` // 等级奖励
Lvprize map[int32]int32 `protobuf:"bytes,8,rep,name=lvprize,proto3" json:"lvprize" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 等级奖励
}
func (x *DBHeroFetter) Reset() {
@ -220,7 +220,7 @@ func (x *DBHeroFetter) GetStroyprize() []int32 {
return nil
}
func (x *DBHeroFetter) GetLvprize() []int32 {
func (x *DBHeroFetter) GetLvprize() map[int32]int32 {
if x != nil {
return x.Lvprize
}
@ -398,43 +398,50 @@ var File_library_library_db_proto protoreflect.FileDescriptor
var file_library_library_db_proto_rawDesc = []byte{
0x0a, 0x18, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x02, 0x0a, 0x09, 0x44,
0x79, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x02, 0x0a, 0x09, 0x44,
0x42, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x04,
0x68, 0x65, 0x72, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x4c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x2b, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x18,
0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x2e, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x72,
0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6c, 0x76, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6c, 0x76, 0x12,
0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74,
0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61,
0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x48, 0x65, 0x72,
0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd2, 0x01, 0x0a,
0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 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, 0x03, 0x75, 0x69, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f,
0x72, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72,
0x79, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x66,
0x61, 0x76, 0x6f, 0x72, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66,
0x61, 0x76, 0x6f, 0x72, 0x65, 0x78, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x6f, 0x79,
0x70, 0x72, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x72,
0x6f, 0x79, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69,
0x7a, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69, 0x7a,
0x65, 0x22, 0xbe, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0a,
0x68, 0x65, 0x72, 0x6f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x48, 0x65, 0x72,
0x6f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x68, 0x65,
0x72, 0x6f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x7a,
0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x69, 0x7a, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05,
0x70, 0x72, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6c,
0x76, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6c,
0x76, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61,
0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3d, 0x0a, 0x0f, 0x48,
0x65, 0x72, 0x6f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x50, 0x72,
0x69, 0x7a, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46,
0x65, 0x74, 0x74, 0x65, 0x72, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05,
0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x76,
0x6f, 0x72, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x66, 0x61, 0x76, 0x6f,
0x72, 0x6c, 0x76, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x65, 0x78, 0x70, 0x18,
0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x65, 0x78, 0x70, 0x12,
0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20,
0x03, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x12,
0x34, 0x0a, 0x07, 0x6c, 0x76, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x2e,
0x4c, 0x76, 0x70, 0x72, 0x69, 0x7a, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x76,
0x70, 0x72, 0x69, 0x7a, 0x65, 0x1a, 0x3a, 0x0a, 0x0c, 0x4c, 0x76, 0x70, 0x72, 0x69, 0x7a, 0x65,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0xbe, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74,
0x6f, 0x72, 0x79, 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, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x74, 0x65, 0x72, 0x54,
@ -468,27 +475,29 @@ func file_library_library_db_proto_rawDescGZIP() []byte {
return file_library_library_db_proto_rawDescData
}
var file_library_library_db_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_library_library_db_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_library_library_db_proto_goTypes = []interface{}{
(*DBLibrary)(nil), // 0: DBLibrary
(*DBHeroFetter)(nil), // 1: DBHeroFetter
(*DBFetterstory)(nil), // 2: DBFetterstory
(*FetterTasks)(nil), // 3: FetterTasks
(*FetterTask)(nil), // 4: FetterTask
nil, // 5: DBLibrary.HeroEntry
nil, // 5: DBLibrary.HerofetterEntry
nil, // 6: DBLibrary.PrizeEntry
nil, // 7: DBFetterstory.FeeterTaskEntry
nil, // 7: DBHeroFetter.LvprizeEntry
nil, // 8: DBFetterstory.FeeterTaskEntry
}
var file_library_library_db_proto_depIdxs = []int32{
5, // 0: DBLibrary.hero:type_name -> DBLibrary.HeroEntry
5, // 0: DBLibrary.herofetter:type_name -> DBLibrary.HerofetterEntry
6, // 1: DBLibrary.prize:type_name -> DBLibrary.PrizeEntry
7, // 2: DBFetterstory.feeterTask:type_name -> DBFetterstory.FeeterTaskEntry
3, // 3: DBFetterstory.FeeterTaskEntry.value:type_name -> FetterTasks
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 extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
7, // 2: DBHeroFetter.lvprize:type_name -> DBHeroFetter.LvprizeEntry
8, // 3: DBFetterstory.feeterTask:type_name -> DBFetterstory.FeeterTaskEntry
3, // 4: DBFetterstory.FeeterTaskEntry.value:type_name -> FetterTasks
5, // [5:5] is the sub-list for method output_type
5, // [5:5] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
}
func init() { file_library_library_db_proto_init() }
@ -564,7 +573,7 @@ func file_library_library_db_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_library_library_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumMessages: 9,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -301,9 +301,9 @@ type LibraryGetStoryRewardReq struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hid string `protobuf:"bytes,1,opt,name=hid,proto3" json:"hid"` // 英雄ID
Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` // DBHeroFetter oid
History int32 `protobuf:"varint,2,opt,name=history,proto3" json:"history"` // 传记往事id
Rightend int32 `protobuf:"varint,3,opt,name=rightend,proto3" json:"rightend"` // 对应配置表 rightend
Story int32 `protobuf:"varint,3,opt,name=story,proto3" json:"story"` // 剧情id
}
func (x *LibraryGetStoryRewardReq) Reset() {
@ -338,9 +338,9 @@ func (*LibraryGetStoryRewardReq) Descriptor() ([]byte, []int) {
return file_library_library_msg_proto_rawDescGZIP(), []int{6}
}
func (x *LibraryGetStoryRewardReq) GetHid() string {
func (x *LibraryGetStoryRewardReq) GetOid() string {
if x != nil {
return x.Hid
return x.Oid
}
return ""
}
@ -352,9 +352,9 @@ func (x *LibraryGetStoryRewardReq) GetHistory() int32 {
return 0
}
func (x *LibraryGetStoryRewardReq) GetRightend() int32 {
func (x *LibraryGetStoryRewardReq) GetStory() int32 {
if x != nil {
return x.Rightend
return x.Story
}
return 0
}
@ -882,59 +882,59 @@ var file_library_library_msg_proto_rawDesc = []byte{
0x72, 0x6c, 0x76, 0x22, 0x36, 0x0a, 0x14, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x47, 0x65,
0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x64,
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x4c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x62, 0x0a, 0x18, 0x4c,
0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5c, 0x0a, 0x18, 0x4c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x69, 0x73,
0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x69, 0x73,
0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x65, 0x6e, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x65, 0x6e, 0x64, 0x22,
0x3e, 0x0a, 0x19, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f,
0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04,
0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x3e, 0x0a, 0x19, 0x4c, 0x69, 0x62,
0x72, 0x61, 0x72, 0x79, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74,
0x74, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x11, 0x4c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x73, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x12,
0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x55, 0x73, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x38, 0x0a, 0x0a,
0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72,
0x79, 0x55, 0x73, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04,
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48,
0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
0x9a, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x73, 0x65, 0x47, 0x69,
0x66, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x12, 0x33, 0x0a,
0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x4c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x73, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71,
0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65,
0x6d, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x12,
0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x73, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65,
0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52,
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72,
0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x3d, 0x0a, 0x1b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72,
0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x04,
0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x43,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74,
0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x65, 0x74,
0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65,
0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72,
0x22, 0x36, 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77,
0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x38, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72,
0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12,
0x21, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x22, 0x37, 0x0a, 0x19, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74,
0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12,
0x1a, 0x0a, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1a, 0x4c,
0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72,
0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73,
0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a,
0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22,
0x3d, 0x0a, 0x1b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44,
0x42, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a,
0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50,
0x75, 0x73, 0x68, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x04, 0x64,
0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x46, 0x65, 0x74, 0x74,
0x65, 0x72, 0x52, 0x06, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x12, 0x4c, 0x69,
0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f,
0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x6c, 0x76, 0x22, 0x38, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x76, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x04, 0x64, 0x61, 0x74,
0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f,
0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x37, 0x0a, 0x19,
0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f,
0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x74,
0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x65, 0x74,
0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0b, 0x2e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04,
0x6c, 0x69, 0x73, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -19,7 +19,7 @@ type GameFriendsData struct {
Png string
FriendsLv int32
FavorabilityLv int32
Hid int32
Hid string
Attribute []*Gameatr
AttributeTxt string
}
@ -39,7 +39,7 @@ func (_v *GameFriendsData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Png, _ok_ = _buf["png"].(string); !_ok_ { err = errors.New("png error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["friends_lv"].(float64); !_ok_ { err = errors.New("friends_lv error"); return }; _v.FriendsLv = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["favorability_lv"].(float64); !_ok_ { err = errors.New("favorability_lv error"); return }; _v.FavorabilityLv = 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.Hid, _ok_ = _buf["hid"].(string); !_ok_ { err = errors.New("hid error"); return } }
{
var _arr_ []interface{}
var _ok_ bool