Files
fc/server/tools/gen_data/cfg/unit_part1_data.erl
T

128 lines
10 KiB
Erlang
Raw Normal View History

2026-05-23 22:10:14 +08:00
%%----------------------------------------------------
%% 数据配置文件
%% @author whjing2011@gmail.com
%%----------------------------------------------------
-module(unit_part1_data).
-export([cfg/0]).
-include("data_config.hrl").
-include("common.hrl").
cfg() ->
#data_cfg{
name = unit_part1_data
,lua_name = unit_data1
,desc = "单位配置数据"
,source = "unit_part1_data.xml"
,target = "unit_part1_data.erl"
,inc = ["common.hrl", "unit.hrl", "attr.hrl"]
,callback = [
{all_ids, cb_fun, handle, {list, ["场景怪_1", "战斗怪_1"]}} %% 1,2,3
,{{get, undefined}, cb_fun, handle, {get_record, ["场景怪_1", "战斗怪_1"], bid, unit_data, all}} %% get_record(1) -> #record_name{};
,{{get_attr, undefined}, cb_fun, handle, {get_record, ["战斗怪_1"], bid, attr, attr}} %% get_record(1) -> #record_name{};
,{{get_active_skills, "[]"}, cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, active_skills}}
,{{get_passive_skills, "[]"}, cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, passive_skills}}
,{{get_skill_show, "[]"}, cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, skill_show}}
,{{get_monsters,"undefined"}, cb_fun, handle, {row_fun, ["场景怪_1"], fun row_get_monster/1}}
,{{get_attr_mode, "0"}, get_attr_mode, [], cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, attr_mode}, fun(SName,Row)-> (SName=:="战斗怪_1" ) andalso cb_fun:get_val(attr_mode, Row) =/= "0" end}
,{{get_multi_wave, "[]"}, get_multi_wave, [], cb_fun, handle, {get_tuple, ["场景怪_1"], bid, multi_wave_monster}, fun(SName,Row)-> (SName=:="场景怪_1") andalso cb_fun:get_val(multi_wave_monster, Row) =/= "[]" end}
,{get_monsters_by_lev, cb_fun, handle, {tuple_list, ["战斗怪_1"], [bid, lev]}}
,{get_monsters_star, cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, [lev, star]}}
,{{get_combat_map,"90001"}, cb_fun, handle, {get_tuple, ["场景怪_1"], bid, combat_map}}
,{{get_skill_order, undefined}, cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, skill_order}}
,{{get_mon_ai, undefined}, cb_fun, handle, {get_tuple, ["战斗怪_1"], bid, ai}}
]
,callback_cli = [
{unit1, cb_fun_lua, handle, {val_str, ["场景怪_1"], [bid], {mod,[all,client,monster,multi_wave]}}}
,{unit2, cb_fun_lua, handle, {val_str, ["战斗怪_1"], [bid], {mod,[all,client,monster,multi_wave]}}}
]
,callback_json = [
{unit1, cb_fun_json, handle, {val, ["场景怪_1"], [bid], {mod,[all,client,monster,multi_wave]}}}
,{unit2, cb_fun_json, handle, {val, ["战斗怪_1"], [bid], {mod,[all,client,monster,multi_wave]}}}
]
,sheet = [
{["场景怪_1"], [
#f_column{type = int, name = bid, desc = "编号", primary = true, mod = all}
,#f_column{type = bstr, name = name, desc = "名称", mod = all}
,#f_column{type = term, name = multi_wave_monster, desc = "多波怪", mod = multi_wave, val = "[]"}
,#f_column{type = kv, name = career, desc = "职业", kv_type = partner_career_type, mod = all}
,#f_column{type = kv, name = sex, desc = "性别", kv_type = sex, mod = all}
,#f_column{type = kv, name = lock, desc = "是否独占", kv_type = [{"",1},{"",0}], mod = server}
,#f_column{type = kv, name = activity, desc = "是否活动", kv_type = [{"",1},{"", 0}], mod = server}
,#f_column{type = kv, name = type, desc = "类型", kv_type = [{"小怪",200},{"boss", 201}], mod = all}
,#f_column{type = kv, name = sub_type, desc = "类型(客)", kv_type = unit_type_cli, mod = client}
,#f_column{type = kv, name = minor_type, desc = "逻辑类型", kv_type = [{"神界冒险",2},{"其他", 1}], mod = server}
,#f_column{type = int, name = lev, desc = "等级", mod = all}
,#f_column{type = int, name = reward_panel_type, desc = "结算类型", mod = server}
,#f_column{type = term, name = gain, desc = "固定奖励", mod = server}
,#f_column{type = int, name = drop_id, desc = "掉落ID", mod = server}
,#f_column{type = term, name = act_drops, desc = "活动掉落", mod = server, valid_list = [{integer,integer}]}
,#f_column{type = bstr, name = body_id, desc = "资源ID", mod = client}
,#f_column{type = term, name = talk, desc = "说话列表", mod = client}
,#f_column{type = int, name = model_size, desc = "模型大小", mod = client}
,#f_column{type = int, name = combat_map, desc = "场景", mod = map}
,#f_column{type = int, name = monster1, desc = "怪物1", mod = monster, val = "0"}
,#f_column{type = int, name = monster2, desc = "怪物2", mod = monster, val = "0"}
,#f_column{type = int, name = monster3, desc = "怪物3", mod = monster, val = "0"}
,#f_column{type = int, name = monster4, desc = "怪物4", mod = monster, val = "0"}
,#f_column{type = int, name = monster5, desc = "怪物5", mod = monster, val = "0"}
,#f_column{type = term, name = formation, desc = "阵法", mod = all, add_list_sign = false}
,#f_column{type = int, name = main_monster, desc = "主怪序号", mod = client}
]}
,{["战斗怪_1"], [
#f_column{type = int, name = bid, desc = "编号", primary = true, mod = all}
,#f_column{type = bstr, name = name, desc = "名称", mod = all}
,#f_column{type = kv, name = career, desc = "职业", kv_type = partner_career_type, mod = all}
,#f_column{type = kv, name = camp_type, desc = "阵营", kv_type = partner_camp_type, mod = all}
,#f_column{type = kv, name = sex, desc = "性别", kv_type = sex, mod = all}
,#f_column{type = int, name = lev, desc = "等级", mod = all}
,#f_column{type = kv, name = type, desc = "类型", kv_type = unit_type, mod = server}
,#f_column{type = kv, name = sub_type, desc = "类型(客)", val_cli = 0 ,kv_type = unit_type_cli, mod = client}
,#f_column{type = bstr, name = body_id, desc = "资源ID", mod = client}
,#f_column{type = bstr, name = weapon_res, desc = "武器ID", mod = client}
,#f_column{type = bstr, name = awake_res, desc = "觉醒资源", mod = client}
,#f_column{type = term, name = talk, desc = "说话列表", mod = client}
,#f_column{type = int, name = model_size, desc = "模型大小",val_cli = 1000,mod = client}
,#f_column{type = term, name = attr_mode, desc = "属性模型", add_list_sign = false, mod = attr_mode, val = "0"}
,#f_column{type = int, name = atk, desc = "攻击", mod = attr}
,#f_column{type = int, name = def, desc = "防御", mod = attr}
,#f_column{type = int, name = def_p, desc = "物理防御", mod = attr}
,#f_column{type = int, name = def_s, desc = "法术防御", mod = attr}
,#f_column{type = int, name = hp_max, desc = "气血上限", mod = attr}
,#f_column{type = int, name = speed, desc = "速度", mod = attr}
,#f_column{type = int, name = hit_rate, desc = "命中", mod = attr}
,#f_column{type = int, name = dodge_rate, desc = "闪避", mod = attr}
,#f_column{type = int, name = crit_rate, desc = "暴击", mod = attr}
,#f_column{type = int, name = crit_ratio, desc = "暴伤", mod = attr}
,#f_column{type = int, name = hit_magic, desc = "效果命中", mod = attr}
,#f_column{type = int, name = dodge_magic, desc = "效果闪避", mod = attr}
,#f_column{type = int, name = dam, desc = "易伤", mod = attr}
,#f_column{type = int, name = res, desc = "免伤", mod = attr}
,#f_column{type = int, name = res_p, desc = "物伤", mod = attr}
,#f_column{type = int, name = res_s, desc = "法伤", mod = attr}
,#f_column{type = int, name = cure, desc = "治疗提升", mod = attr}
,#f_column{type = int, name = be_cure, desc = "被治疗提升", mod = attr}
,#f_column{type = term, name = active_skills, valid_list = [integer], desc = "主动技能", mod = skill, val = "[]"}
,#f_column{type = term, name = passive_skills, valid_list = [integer], desc = "被动技能", mod = skill, val = "[]"}
,#f_column{type = term, name = skill_order, valid_list = [integer], desc = "出招表", mod = skill, val = "[]"}
,#f_column{type = term, name = skill_show, desc = "技能展示", mod = skill, val = "[]"}
,#f_column{type = int, name = ai, desc = "AI表", mod = skill, val = "0"}
,#f_column{type = bstr, name = head_icon, desc = "头像", mod = client}
,#f_column{type = int, name = partial , desc = "偏相", mod = client}
,#f_column{type = int, name = rare_type , desc = "稀有度", mod = client}
,#f_column{type = int, name = star , desc = "星级", mod = client}
,#f_column{type = kv, name = unit_is_boss, desc = "是否BOSS", kv_type = [{"",0},{"", 1}], val_cli = 0, mod = client}
,#f_column{type = bstr, name = fight_effect, desc = "环绕特效", mod = client}
]}
]
}.
row_get_monster(Row) ->
Bid = cb_fun:get_val(bid, Row),
Monster1 = cb_fun:get_val(monster1, Row),
Monster2 = cb_fun:get_val(monster2, Row),
Monster3 = cb_fun:get_val(monster3, Row),
Monster4 = cb_fun:get_val(monster4, Row),
Monster5 = cb_fun:get_val(monster5, Row),
{true, ?S("get_monsters(~s) -> [~s, ~s, ~s, ~s, ~s];",
[Bid, Monster1, Monster2, Monster3, Monster4, Monster5])}.