%%---------------------------------------------------- %% 数据配置文件 %% @author %%---------------------------------------------------- -module(robot_data). -export([cfg/0]). -include("data_config.hrl"). -include("common.hrl"). cfg() -> #data_cfg{ name = robot_data ,lua_name = robot_data ,desc = "机器人配置数据" ,source = "robot_data.xml" ,target = "robot_data.erl" ,inc = ["attr.hrl"] ,callback = [ {list, cb_fun, handle, {list, ["DATA"]}} ,{get, cb_fun, handle, {get_record, ["DATA"], id, new_map, [all, {partners, fun partners/2}]}} ,{{get_attr_by_lev, undefined}, cb_fun, handle, {get_fun, ["属性适配"], "get_attr_by_lev({~s, ~s, Lev}) when Lev =< ~s -> ~ts;", [id, type, lev, {rec, attr, attr}]}} ,{get_attr, cb_fun, handle, {get_record, ["属性计算"], [id, type, star], attr, attr}} ,{{get_ext, "{[],[]}"}, cb_fun, handle, {get_tuple, ["英雄库"], [bid, star], [skill, eqm]}} ,{star, cb_fun, handle, {get_fun, ["英雄库"], "star({~ts, Lev}) when ~ts =< Lev andalso Lev =< ~ts -> ~ts;", [bid, min, max, star]}} ,{{max_lev, "[40]"}, cb_fun, handle, {tuple_type, ["英雄库"], bid, max}} ,{lev, cb_fun, handle, {get_fun, ["等级取值范围"], "lev(Power) when ~ts =< Power andalso Power =< ~ts -> ~ts;", [min, max, lev]}} ,{{get_const, undefined}, cb_fun, handle, {get_fun, ["常量配置"], "get_const(~ts) -> ~ts; %% ~ts", [key, val, desc]}} ,{{get_sprite_info, undefined}, cb_fun, handle, {get_tuple, ["精灵战斗机器人数据"], id, [lev, break_lev, sprite1, sprite2, sprite3, sprite4]}} ] ,callback_cli = [ ] ,sheet = [ {["DATA"], [ #f_column{type = int, name = id, desc = "ID", primary = true, mod = all} ,#f_column{type = int, name = face, desc = "角色头像", mod = all} ,#f_column{type = term, name = lev, desc = "角色等级", mod = all} ,#f_column{type = term, name = partner_1, add_list_sign = false, desc = "partner_1", mod = desc} ,#f_column{type = term, name = partner_2, add_list_sign = false, desc = "partner_2", mod = desc} ,#f_column{type = term, name = partner_3, add_list_sign = false, desc = "partner_3", mod = desc} ,#f_column{type = term, name = partner_4, add_list_sign = false, desc = "partner_4", mod = desc} ,#f_column{type = term, name = partner_5, add_list_sign = false, desc = "partner_5", mod = desc} ,#f_column{type = term, name = attr_id, desc = "属性适配ID", mod = all} ,#f_column{type = term, name = formation, desc = "阵法id", comment = "{Type,Rand}", mod = all} ,#f_column{type = term, name = hallows, desc = "神器", comment = "{Id,Step,SkillLev}", mod = all} ]} ,{["属性适配"], [ #f_column{type = int, name = id, desc = "ID", mod = all} ,#f_column{type = int, name = type, desc = "type", mod = all} ,#f_column{type = int, name = lev, desc = "等级", mod = all} ,#f_column{type = int, name = atk, desc = "攻击", mod = attr, val = "0"} ,#f_column{type = int, name = def, desc = "防御", mod = attr, val = "0"} ,#f_column{type = int, name = hp_max, desc = "气血上限", mod = attr, val = "0"} ,#f_column{type = int, name = speed, desc = "速度", mod = attr, val = "0"} ,#f_column{type = int, name = hit_rate, desc = "命中", mod = attr, val = "0"} ,#f_column{type = int, name = dodge_rate, desc = "闪避", mod = attr, val = "0"} ,#f_column{type = int, name = crit_rate, desc = "暴击", mod = attr, val = "0"} ,#f_column{type = int, name = crit_ratio, desc = "暴伤", mod = attr, val = "0"} ,#f_column{type = int, name = hit_magic, desc = "效果命中", mod = attr, val = "0"} ,#f_column{type = int, name = dodge_magic, desc = "效果闪避", mod = attr, val = "0"} ,#f_column{type = int, name = dam, desc = "易伤", mod = attr, val = "0"} ,#f_column{type = int, name = res, desc = "免伤", mod = attr, val = "0"} ,#f_column{type = int, name = cure, desc = "治疗提升", mod = attr, val = "0"} ,#f_column{type = int, name = be_cure, desc = "被治疗提升", mod = attr, val = "0"} ]} ,{["属性计算"], [ #f_column{type = int, name = id, desc = "ID", mod = all} ,#f_column{type = kv, name = type, desc = "职业", kv_type = partner_career_type, mod = all} ,#f_column{type = int, name = star, desc = "星数", mod = all} ,#f_column{type = int, name = hp_max, desc = "气血系数", mod = attr, val = "0"} ,#f_column{type = int, name = atk, desc = "攻击系数", mod = attr, val = "0"} ,#f_column{type = int, name = def, desc = "防御系数", mod = attr, val = "0"} ,#f_column{type = int, name = speed, desc = "速度系数", mod = attr, val = "0"} ,#f_column{type = int, name = hit_rate, desc = "命中", mod = attr, val = "0"} ,#f_column{type = int, name = dodge_rate, desc = "闪避", mod = attr, val = "0"} ,#f_column{type = int, name = crit_rate, desc = "暴击", mod = attr, val = "0"} ,#f_column{type = int, name = crit_ratio, desc = "暴伤", mod = attr, val = "0"} ,#f_column{type = int, name = hit_magic, desc = "效果命中", mod = attr, val = "0"} ,#f_column{type = int, name = dodge_magic, desc = "效果闪避", mod = attr, val = "0"} ,#f_column{type = int, name = dam, desc = "易伤", mod = attr, val = "0"} ,#f_column{type = int, name = res, desc = "免伤", mod = attr, val = "0"} ,#f_column{type = int, name = res_p, desc = "物伤", mod = attr, val = "0"} ,#f_column{type = int, name = res_s, desc = "法伤", mod = attr, val = "0"} ,#f_column{type = int, name = cure, desc = "治疗提升", mod = attr, val = "0"} ,#f_column{type = int, name = be_cure, desc = "被治疗提升", mod = attr, val = "0"} ]} ,{["英雄库"], [ #f_column{type = int, name = bid, desc = "伙伴Bid", mod = all} ,#f_column{type = int, name = star, desc = "星级", mod = all} ,#f_column{type = term, name = skill, desc = "被动技能", mod = all, val = "[]"} ,#f_column{type = term, name = eqm, desc = "装备id", mod = all, val = "[]"} ,#f_column{type = int, name = min, desc = "等级下限", mod = all} ,#f_column{type = int, name = max, desc = "等级上限", mod = all} ]} ,{["等级取值范围"], [ #f_column{type = int, name = min, desc = "战力下限", mod = all} ,#f_column{type = int, name = max, desc = "战力上限", mod = all} ,#f_column{type = int, name = lev, desc = "等级", mod = all} ]} ,{["常量配置"],[ #f_column{type = term, name = key, desc = "键", add_list_sign = false,mod = all} ,#f_column{type = term, name = val, desc = "值", add_list_sign = false,mod= all} ,#f_column{type = bstr, name = desc, desc = "描述", mod = client} ]} ,{["精灵战斗机器人数据"],[ #f_column{type = int, name = id, desc = "id", mod = server} ,#f_column{type = int, name = lev, desc = "等级", val = "0", mod= server} ,#f_column{type = int, name = break_lev, desc = "突破等级", val = "0", mod= server} ,#f_column{type = int, name = sprite1, desc = "1号位精灵", val = "0", mod= server} ,#f_column{type = int, name = sprite2, desc = "2号位精灵", val = "0", mod= server} ,#f_column{type = int, name = sprite3, desc = "3号位精灵", val = "0", mod= server} ,#f_column{type = int, name = sprite4, desc = "4号位精灵", val = "0", mod= server} ]} ] }. partners(_, Row) -> P1 = cb_fun:get_val(partner_1, Row), P2 = cb_fun:get_val(partner_2, Row), P3 = cb_fun:get_val(partner_3, Row), P4 = cb_fun:get_val(partner_4, Row), P5 = cb_fun:get_val(partner_5, Row), S = ?S("[~s,~s,~s,~s,~s]", [P1, P2, P3, P4, P5]), {ok, S}.