Files
2026-05-23 22:10:14 +08:00

305 lines
24 KiB
Erlang

%%----------------------------------------------------
%% "伙伴"
%%
%% @author liufenglin 240039421@qq.com
%%----------------------------------------------------
-module(partner_data).
-export([cfg/0]).
-include("data_config.hrl").
-include("common.hrl").
cfg() ->
#data_cfg{
name = partner_data
,lua_name = partner_data
,desc = "伙伴配置数据"
,source = "partner_data.xml"
,target = "partner_data.erl"
,inc = ["partner.hrl", "common.hrl", "attr.hrl"]
,callback = [
{{get_constant, "undefined"}, cb_fun, handle, {get_tuple, ["伙伴常量"], code, val}}
,{list, cb_fun, handle, {list, ["伙伴基础"]}}
,{get_base, cb_fun, handle, {get_record, ["伙伴基础"], bid, partner_base_data, [bid, name, type, pos_type, camp_type, break_id, init_star, ai, hook_skills, other_skills, item_id]}}
,{get_attr, cb_fun, handle, {get_record, ["伙伴属性"], bid, attr, [hp_max, atk, def, speed, crit_rate, crit_ratio, hit_magic, dodge_magic, hit_rate, dodge_rate]}}
,{get_lev_attr, cb_fun, handle, {get_record, ["伙伴属性"], bid, partner_lev_data, [add_hp, add_atk, add_def, add_speed]}}
,{get_lev_expend, cb_fun, handle, {get_tuple, ["升级消耗"], lev, expend}}
,{{get_lev_get_item, "[]"}, cb_fun, handle, {get_tuple, ["升级消耗"], lev, get_item}}
,{get_break_levs, cb_fun, handle, {tuple_type, ["英雄进阶"], [type, break_id], count}}
,{get_break_group_attr, cb_fun, handle, {get_record, ["英雄进阶"], [type, break_id, count], partner_lev_data, [add_hp, add_atk, add_def, add_speed]}}
,{get_break_attr, cb_fun, handle, {get_tuple, ["英雄进阶"], [type, break_id, count], all_attr}}
,{get_break_max_lev, cb_fun, handle, {get_tuple, ["英雄进阶"], [type, break_id, count], lev_max}}
,{get_break_expend, cb_fun, handle, {get_tuple, ["英雄进阶"], [type, break_id, count], expend}}
,{{get_skill_num, "1"}, cb_fun, handle, {get_tuple, ["英雄进阶"], [type, break_id, count], skill_num}}
,{{get_break_get_item, "[]"}, cb_fun, handle, {get_tuple, ["英雄进阶"], [type, break_id, count], get_item}}
,{{get_break_limit, "[]"}, cb_fun, handle, {get_tuple, ["英雄进阶"], [type, break_id, count], limit}}
,{{get_break_by_lev, "0"}, [{data_reverse, 1}], cb_fun, handle, {get_fun, ["英雄进阶"], "get_break_by_lev(ResonateLev) when ResonateLev >= ~ts -> ~ts + 1;", [lev_max, count]}}
,{get_stars_by_bid, cb_fun, handle, {tuple_type, ["英雄升星"], bid, star}}
,{get_star_attr, cb_fun, handle, {get_tuple, ["英雄升星"], [bid, star], attr}}
,{get_skills, cb_fun, handle, {get_tuple, ["英雄升星"], [bid, star], skills}}
,{get_star_max_lev, cb_fun, handle, {get_tuple, ["英雄升星"], [bid, star], lev_max}}
,{get_star_expend, cb_fun, handle, {get_tuple, ["英雄升星"], [bid, star], [expend1, expend2, expend3]}}
,{get_star_other_expend, cb_fun, handle, {get_tuple, ["英雄升星"], [bid, star], other_expend}}
,{get_skill_order, cb_fun, handle, {get_tuple, ["英雄升星"], [bid, star], skill_order}}
,{get_star_group_attr, cb_fun, handle, {get_record, ["英雄升星"], [bid, star], partner_lev_data, [add_hp, add_atk, add_def, add_speed]}}
,{{get_star_get_item1, "[]"}, cb_fun, handle, {get_tuple, ["升星返还"], star, get_item1}}
,{{get_star_get_item2, "[]"}, cb_fun, handle, {get_tuple, ["升星返还"], star, get_item2}}
,{{get_rebirth_get_item2, "[]"}, cb_fun, handle, {get_tuple, ["升星返还"], star, get_item3}}
,{get_partner_item_id, cb_fun, handle, {get_tuple, ["伙伴基础"], bid, item_id}}
,{get_rollback_star_list, cb_fun, handle, {list, ["英雄回退"]}}
,{{get_rollback_info, "[]"}, cb_fun, handle, {get_tuple, ["英雄回退"], [star, camp_type], [num, award]}}
,{{get_rollback_info2, "[]"}, cb_fun, handle, {get_tuple, ["特殊回退"], [star, camp_type], [num, award]}}
,{{get_rollback_info_sp, "[]"}, cb_fun, handle, {get_tuple, ["sp回退"], [star, camp_type], [num, award]}}
,{get_compound_info, cb_fun, handle, {get_tuple, ["英雄合成"], bid, [num, rand_id]}}
,{get_rand_list, cb_fun, handle, {tuple_type, ["英雄合成随机库"], rand_id, [partner_id, pro]}}
,{get_star_cond1, cb_fun, handle, {get_tuple, ["高星级升星条件"], star, cond1}}
,{get_star_cond2, cb_fun, handle, {get_tuple, ["高星级升星条件"], star, cond2}}
,{get_star_cond3, cb_fun, handle, {get_tuple, ["高星级升星条件"], star, cond3}}
,{get_buy_num_info, cb_fun, handle, {get_tuple, ["英雄背包格子购买"], count, [expend, add_num]}}
,{get_partner_location, cb_fun, handle, {get_tuple, ["伙伴基础"], bid, location}}
,{get_partner_cystal_lev_limit, cb_fun, handle, {get_tuple, ["伙伴基础"], bid, cystal_lev_limit}}
]
,callback_cli = [
{partner_const, cb_fun_lua, handle, {key_val, [ "伙伴常量"], [code], all}}
,{partner_base, cb_fun_lua, handle, {key_val, [ "伙伴基础"], [bid], all}}
,{partner_attr, cb_fun_lua, handle, {key_val, [ "伙伴属性"], [bid], all}}
,{partner_lev, cb_fun_lua, handle, {key_val, [ "升级消耗"], [lev], all}}
,{partner_brach, cb_fun_lua, handle, {key_val, [ "英雄进阶"], [type, break_id, count], all}}
,{partner_star, cb_fun_lua, handle, {val_str, [ "英雄升星"], [bid,star], all}}
,{partner_fuse_star, [{filter_row,[{is_show,#f_column.val_cli,[1]}]}], cb_fun_lua, handle, {list_val, ["英雄升星"], bid, [star]}}
,{partner_pokedex, [{filter_row,[{is_show_pokedex,#f_column.val_cli,[1]}]}], cb_fun_lua, handle, {list_val, ["英雄升星"], bid, [star]}}
,{get_compound_info, cb_fun_lua, handle, {key_val, ["英雄合成"], bid, [num, rand_id, is_random]}}
,{partner_buy, cb_fun_lua, handle, {key_val, ["英雄背包格子购买"], [count],all}}
,{partner_show, cb_fun_lua, handle, {val_str, ["英雄展示"], [bid,star],all}}
,{partner_max_star, cb_fun_lua, handle, {type_get_max, ["英雄升星"], [bid], star}}
,{partner_max_lev, cb_fun_lua, handle, {type_get_max, ["英雄展示"], [bid], lev}}
,{partner_library, cb_fun_lua, handle, {val_str, ["英雄图书馆"], [bid], all}}
,{partner_form, cb_fun_lua, handle, {key_val, ["玩法编队汇总显示"], [index], all}}
,{partner_return, cb_fun_lua, handle, {key_val, ["英雄回退"], [star,camp_type],all}}
,{partner_name2bid, cb_fun_lua, handle, {format, ["伙伴基础"], "\t['~ts']=~s", [name,bid]}}
]
,callback_json = [
{partner_const, cb_fun_json, handle, {key_val, [ "伙伴常量"], [code], all}}
,{partner_base, cb_fun_json, handle, {key_val, [ "伙伴基础"], [bid], all}}
,{partner_attr, cb_fun_json, handle, {key_val, [ "伙伴属性"], [bid], all}}
,{partner_lev, cb_fun_json, handle, {key_val, [ "升级消耗"], [lev], all}}
,{partner_brach, cb_fun_json, handle, {key_val, [ "英雄进阶"], [type, break_id, count], all}}
,{partner_star, cb_fun_json, handle, {val_str, [ "英雄升星"], [bid,star], all}}
,{partner_fuse_star, [{filter_row,[{is_show,#f_column.val_cli,[1]}]}], cb_fun_json, handle, {list_val, ["英雄升星"], bid, [star]}}
,{partner_pokedex, [{filter_row,[{is_show_pokedex,#f_column.val_cli,[1]}]}], cb_fun_json, handle, {list_val, ["英雄升星"], bid, [star]}}
,{get_compound_info, cb_fun_json, handle, {key_val, ["英雄合成"], bid, [num, rand_id, is_random]}}
,{partner_buy, cb_fun_json, handle, {key_val, ["英雄背包格子购买"], [count],all}}
,{partner_show, cb_fun_json, handle, {val_str, ["英雄展示"], [bid,star],all}}
,{partner_max_star, cb_fun_json, handle, {type_get_max, ["英雄升星"], [bid], star}}
,{partner_max_lev, cb_fun_json, handle, {type_get_max, ["英雄展示"], [bid], lev}}
,{partner_library, cb_fun_json, handle, {val_str, ["英雄图书馆"], [bid], all}}
,{partner_form, cb_fun_json, handle, {key_val, ["玩法编队汇总显示"], [index], all}}
,{partner_return, cb_fun_json, handle, {key_val, ["英雄回退"], [star,camp_type],all}}
,{get_star_cond, cb_fun_json, handle, {key_val, ["高星级升星条件"], star,all}}
,{partner_name2bid, cb_fun_json, handle, {format, ["伙伴基础"], "\"~ts\":\"~ts\"", [name,bid]}}
]
,sheet = [
{["伙伴常量"], [
#f_column{type = atom, name = code, desc = "标签", mod = all}
,#f_column{type = term, name = val, desc = "", mod = all,val_cli="{}", add_list_sign = false}
,#f_column{type = bstr, name = desc, desc = "名字", mod = client}
]}
,{["伙伴基础"], [
#f_column{type = int, name = bid, desc = "伙伴BID", mod = all}
,#f_column{type = bstr, name = name, desc = "伙伴名称", mod = all}
,#f_column{type = bstr, name = e_name, desc = "伙伴英文名称", mod = client}
,#f_column{type = kv, name = type, desc = "伙伴职业", kv_type = partner_career_type, mod = all}
,#f_column{type = kv, name = pos_type, desc = "类型", kv_type = partner_pos_type, mod = all}
,#f_column{type = kv, name = camp_type, desc = "阵营", kv_type = partner_camp_type, mod = all}
,#f_column{type = int, name = break_id, desc = "进阶ID", mod = all}
,#f_column{type = int, name = show_order, desc = "显示顺序", mod = client}
,#f_column{type = int, name = init_star, desc = "初始星级", mod = all}
,#f_column{type = int, name = ai, desc = "自动战斗AI", mod = server, val = "0"}
% ,#f_column{type = bstr, name = desc, desc = "伙伴描述", mod = client}
% ,#f_column{type = term, name = source , desc = "获取途径", mod = client}
,#f_column{type = bstr, name = hero_pos, desc = "英雄定位", mod = client}
,#f_column{type = bstr, name = voice , desc = "语音", mod = client}
,#f_column{type = int, name = voice_time , desc = "语音时长", mod = client}
% ,#f_column{type = int, name = can_use_direct_item, desc = "是否可直升", mod = all}
% ,#f_column{type = int, name = is_show_hero, desc = "不显示英雄", mod = client}
% ,#f_column{type = term, name = hero_attr, desc = "英雄六边形", mod = client}
% ,#f_column{type = term, name = recommend_skill, desc = "推荐技能", mod = client}
% ,#f_column{type = term, name = hook_skills, desc = "假战斗技能"}
% ,#f_column{type = term, name = compose_expend, desc = "神格召唤消耗", mod = all}
,#f_column{type = int, name = show_effect, desc = "召唤特效播放", mod = client}
,#f_column{type = term, name = hook_skills, desc = "假战斗技能"}
,#f_column{type = term, name = other_skills, desc = "隐藏技能", val = "[]", mod = server}
,#f_column{type = bstr, name = bustid, desc = "mvp半身立绘图片", mod = client}
,#f_column{type = int, name = item_id, desc = "英雄道具id", mod = all}
,#f_column{type = bstr, name = draw_res, desc = "英雄全身立绘", mod = client}
,#f_column{type = term, name = draw_offset, desc = "召唤展示立绘偏移量", mod = client}
,#f_column{type = int, name = draw_scale, desc = "召唤展示立绘缩放", mod = client}
,#f_column{type = int, name = rare_flag, desc = "召唤时的稀有标识", val = "0", mod = client}
,#f_column{type = bstr, name = introduce_str, desc = "英雄界面介绍短语", val = "", mod = client}
,#f_column{type = term, name = location, add_list_sign=false, desc = "英雄定位", mod = server, val = "[]"}
,#f_column{type = int, name = cystal_lev_limit, desc = "水晶等级上限", mod = all}
,#f_column{type = int, name = quality, desc = "伙伴品质", mod = client}
,#f_column{type = bstr, name = phonetic_text, desc = "语音文本", mod = client}
]}
,{["伙伴属性"], [
#f_column{type = int, name = bid, desc = "伙伴BID", mod = all}
,#f_column{type = int, name = hp_max, desc = "初始生命", mod = all}
,#f_column{type = int, name = atk, desc = "初始攻击", mod = all}
,#f_column{type = int, name = def, desc = "初始防御", mod = all}
,#f_column{type = int, name = speed, desc = "初始速度", mod = all}
,#f_column{type = int, name = crit_rate, desc = "暴击", mod = all}
,#f_column{type = int, name = crit_ratio, desc = "暴伤", mod = all}
,#f_column{type = int, name = hit_magic, desc = "效果命中", mod = all}
,#f_column{type = int, name = dodge_magic, desc = "效果抵抗", mod = all}
,#f_column{type = int, name = hit_rate, desc = "命中", mod = all}
,#f_column{type = int, name = dodge_rate, desc = "闪避", mod = all}
,#f_column{type = int, name = add_hp, desc = "生命成长", mod = all}
,#f_column{type = int, name = add_atk, desc = "攻击成长", mod = all}
,#f_column{type = int, name = add_def, desc = "防御成长", mod = all}
,#f_column{type = int, name = add_speed, desc = "速度成长", mod = all}
]}
,{["升级消耗"], [
#f_column{type = int, name = lev, desc = "等级", mod = all}
,#f_column{type = term, name = expend, desc = "消耗", mod = all}
,#f_column{type = term, name = get_item, desc = "分解返还", val = "[]", mod = all}
]}
,{["英雄进阶"], [
#f_column{type = int, name = break_id, desc = "进阶ID", mod = all}
,#f_column{type = kv, name = type, desc = "伙伴职业", kv_type = partner_career_type, mod = all}
,#f_column{type = int, name = count, desc = "进阶次数", mod = all}
,#f_column{type = int, name = lev_max, desc = "等级上限", mod = all}
,#f_column{type = int, name = add_hp, desc = "生命成长", mod = all}
,#f_column{type = int, name = add_atk, desc = "攻击成长", mod = all}
,#f_column{type = int, name = add_def, desc = "防御成长", mod = all}
,#f_column{type = int, name = add_speed, desc = "速度成长", mod = all}
,#f_column{type = term, name = all_attr, desc = "固定属性", val = "[]", mod = all}
,#f_column{type = int, name = skill_num, desc = "当前激活技能数", mod = all}
,#f_column{type = term, name = expend, desc = "进阶消耗", val = "[]", mod = all}
,#f_column{type = term, name = get_item, desc = "进阶返还", val = "[]", mod = all}
,#f_column{type = term, name = limit, desc = "进阶要求", val = "[]", mod = all}
]}
,{["英雄升星"], [
#f_column{type = int, name = bid, desc = "伙伴BID", mod = all}
,#f_column{type = int, name = star, desc = "星级", mod = all}
,#f_column{type = atom, name = res_id, desc = "英雄模型资源ID", mod = client}
,#f_column{type = int, name = head_id, desc = "英雄头像", mod = client}
,#f_column{type = int, name = add_hp, desc = "生命成长", mod = all}
,#f_column{type = int, name = add_atk, desc = "攻击成长", mod = all}
,#f_column{type = int, name = add_def, desc = "防御成长", mod = all}
,#f_column{type = int, name = add_speed, desc = "速度成长", mod = all}
,#f_column{type = term, name = attr, desc = "属性加成", val = "[]", mod = all}
,#f_column{type = term, name = expend1, desc = "升星所需本体卡", val = "[]", mod = all}
,#f_column{type = term, name = expend2, desc = "升星所需指定卡", val = "[]", mod = all}
,#f_column{type = term, name = expend3, desc = "升星所需随机卡", val = "[]", mod = all}
,#f_column{type = term, name = other_expend, desc = "额外消耗", val = "[]", mod = all}
,#f_column{type = term, name = skills, desc = "技能", mod = all}
,#f_column{type = int, name = lev_max, desc = "等级上限(没有就不填)", val = "0", mod = all}
,#f_column{type = term, name = skill_order, desc = "默认出招顺序", mod = server}
,#f_column{type = kv, name = is_show, desc = "是否在融合祭坛显示", kv_type = [{"", 1}, {"", 0}], val_cli = 0, mod = client}
,#f_column{type = kv, name = is_show_pokedex, desc = "是否在图鉴显示", kv_type = [{"", 1}, {"", 0}], val_cli = 0, mod = client}
,#f_column{type = term, type_func = str, name = attr_show, desc = "客户端升星提升预览", mod = client, add_list_sign = false}
,#f_column{type = bstr, name = show_effect, desc = "模型展示环绕特效", mod = client}
,#f_column{type = bstr, name = fight_effect, desc = "战斗中环绕特效", mod = client}
,#f_column{type = term, name = source, desc = "来源", mod = client}
]}
,{["英雄合成"], [
#f_column{type = int, name = bid, desc = "碎片ID", mod = all}
,#f_column{type = int, name = num, desc = "数量", mod = all}
,#f_column{type = int, name = rand_id, desc = "随机库id", mod = server}
,#f_column{type = int, name = is_random, desc = "碎片类型", mod = client}
]}
,{["英雄合成随机库"], [
#f_column{type = int, name = rand_id, desc = "随机库id", mod = all}
,#f_column{type = int, name = partner_id, desc = "英雄id", mod = all}
,#f_column{type = int, name = pro, desc = "权重", mod = all}
]}
,{["升星返还"], [
#f_column{type = int, name = star, desc = "星级", mod = all}
,#f_column{type = term, name = get_item1, desc = "分解返还", val = "[]", mod = all}
,#f_column{type = term, name = get_item2, desc = "分解额外返还", val = "[]", mod = all}
,#f_column{type = term, name = get_item3, desc = "重生返还", val = "[]", mod = all}
]}
,{["英雄回退"], [
#f_column{type = int, name = star, desc = "星级", mod = all}
,#f_column{type = kv, name = camp_type, desc = "阵营", kv_type = partner_camp_type, mod = all}
,#f_column{type = int, name = num, desc = "返还五星本体", val = "0", mod = all}
,#f_column{type = term, name = award, desc = "固定回退返还", val = "[]", mod = all}
]}
,{["特殊回退"], [
#f_column{type = int, name = star, desc = "星级", mod = all}
,#f_column{type = kv, name = camp_type, desc = "阵营", kv_type = partner_camp_type, mod = all}
,#f_column{type = int, name = num, desc = "返还五星本体", val = "0", mod = all}
,#f_column{type = term, name = award, desc = "固定回退返还", val = "[]", mod = all}
]}
,{["sp回退"], [
#f_column{type = int, name = star, desc = "星级", mod = all}
,#f_column{type = kv, name = camp_type, desc = "阵营", kv_type = partner_camp_type, mod = all}
,#f_column{type = int, name = num, desc = "返还五星本体", val = "0", mod = all}
,#f_column{type = term, name = award, desc = "固定回退返还", val = "[]", mod = all}
]}
,{["英雄背包格子购买"], [
#f_column{type = int, name = count, desc = "次数", mod = all}
,#f_column{type = term, name = expend, desc = "消耗", mod = all}
,#f_column{type = int, name = add_num, desc = "增加格子数", mod = all}
]}
,{["英雄展示"], [
#f_column{type = int, name = bid, desc = "英雄ID", mod = client}
,#f_column{type = int, name = lev, desc = "等级", mod = client}
,#f_column{type = int, name = star, desc = "星级", mod = client}
,#f_column{type = int, name = atk, desc = "攻击", mod = client}
,#f_column{type = int, name = def, desc = "防御", mod = client}
,#f_column{type = int, name = hp, desc = "血量", mod = client}
,#f_column{type = int, name = speed, desc = "速度", mod = client}
,#f_column{type = int, name = crit_rate, desc = "暴击率", mod = client}
,#f_column{type = int, name = crit_ratio, desc = "暴击伤害", mod = client}
,#f_column{type = int, name = hit_magic, desc = "控制", mod = client}
,#f_column{type = int, name = dodge_magic, desc = "抗控", mod = client}
,#f_column{type = int, name = tenacity, desc = "抗暴", mod = client}
,#f_column{type = int, name = hit_rate, desc = "命中", mod = client}
,#f_column{type = int, name = res, desc = "免伤", mod = client}
,#f_column{type = int, name = dodge_rate, desc = "闪躲", mod = client}
,#f_column{type = int, name = cure, desc = "治疗加成", mod = client}
,#f_column{type = int, name = be_cure, desc = "被治疗加成", mod = client}
,#f_column{type = int, name = dam, desc = "伤害加成", mod = client}
,#f_column{type = term, name = skills, desc = "技能", mod = client}
]}
,{["英雄图书馆"], [
#f_column{type = int, name = bid, desc = "英雄ID", mod = client}
,#f_column{type = bstr, name = name, desc = "英雄名", mod = server}
,#f_column{type = bstr, name = title, desc = "英雄称号", mod = client}
,#f_column{type = bstr, name = voice_str, desc = "语音内容", mod = client}
,#f_column{type = bstr, name = story, desc = "传记内容", mod = client}
,#f_column{type = term, name = draw_offset, desc = "立绘偏移量", mod = client}
,#f_column{type = int, name = scale, desc = "立绘缩放", mod = client}
]}
,{["玩法编队汇总显示"], [
#f_column{type = int, name = index, desc = "编队排序", mod = client}
,#f_column{type = bstr, name = name, desc = "名字", mod = client}
,#f_column{type = int, name = form_type, desc = "类型", mod = client}
,#f_column{type = bstr, name = group, desc = "分组", mod = client}
]}
,{["高星级升星条件"], [
#f_column{type = int, name = star, desc = "星级", mod = all}
,#f_column{type = term, name = cond1, desc = "条件1", add_list_sign = false, mod = all}
,#f_column{type = bstr, name = desc1, desc = "描述1", mod = client}
,#f_column{type = term, name = cond2, desc = "条件2", mod = all}
,#f_column{type = bstr, name = desc2, desc = "描述2", mod = client}
,#f_column{type = term, name = cond3, desc = "条件3", add_list_sign = false, mod = all}
,#f_column{type = bstr, name = desc3, desc = "描述3", mod = client}
]}
]
}.