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

126 lines
8.8 KiB
Erlang

%%----------------------------------------------------
%% 角色个人空间成就
%%
%% @author liufenglin 240039421@qq.com
%%----------------------------------------------------
-module(room_feat_data).
-export([cfg/0, get/1]).
-include("data_config.hrl").
cfg() ->
#data_cfg{
name = room_feat_data
,lua_name = room_feat_data
,desc = "个人空间成就数据"
,splitv = 2
,source = "room_feat_data.xml"
,target = "room_feat_data.erl"
,inc = ["common.hrl", "quest.hrl", "gain.hrl", "condition.hrl"]
,callback = [
{{get_const, undefined}, cb_fun, handle, {get_fun, ["常量配置"], "get_const(~ts) -> ~ts; %% ~ts", [key, val, desc]}}
,{list, cb_fun, handle, {list, ["成就数据"]}}
,{lev, cb_fun, handle, {tuple_type, ["成就数据"], lev, id}}
,{{suffix_quest, "undefined"}, cb_fun, handle, {get_tuple, ["成就数据"], id, suffix_quest}}
,{{dungeon_feat, "[]"}, cb_fun, handle, {tuple_type, ["成就数据"], dungeon_id, id}}
,{get, cb_fun, handle, {get_record, ["成就数据"], id, quest_data, all}}
,{{get_point, "0"}, cb_fun, handle, {get_tuple, ["徽章基础数据"], id, point}}
,{{get_badges_name, "{<<>>, 2}"}, cb_fun, handle, {get_tuple, ["徽章基础数据"], id, [name, quality]}}
,{get_honor_name, [{data_reverse, 1}], cb_fun, handle, {get_fun, ["徽章点数收集"], "get_honor_name(Point) when Point >= ~ts -> ~ts;", [min, name]}}
]
,callback_cli = [
{const, cb_fun_lua, handle, {key_val, ["常量配置"], [key], all}}
,{exp_info, cb_fun_lua, handle, {key_val, ["成就数据"], id, [id, name, type, lev, desc, commit_rewards, hide]}}
,{honor_icon_info, cb_fun_lua, handle, {key_val, ["徽章基础数据"], id, all}}
,{honor_title_info, cb_fun_lua, handle, {list_val, ["徽章点数收集"], all}}
,{type_list, cb_fun_lua, handle, {list_val, ["成就数据"], type, [id]}}
,{show_list, cb_fun_lua, handle, {list_val, ["徽章基础数据"], is_show, [id]}}
]
,callback_json = [
{const, cb_fun_json, handle, {key_val, ["常量配置"], [key], all}}
,{exp_info, cb_fun_json, handle, {key_val, ["成就数据"], id, [id, name, type, lev, desc, commit_rewards, hide]}}
,{honor_icon_info, cb_fun_json, handle, {key_val, ["徽章基础数据"], id, all}}
,{honor_title_info, cb_fun_json, handle, {list_val, ["徽章点数收集"], all}}
,{type_list, cb_fun_json, handle, {list_val, ["成就数据"], type, [id]}}
,{show_list, cb_fun_json, handle, {list_val, ["徽章基础数据"], is_show, [id]}}
]
,sheet = [
{["成就数据"],
[#f_column{type = int, primary = true, name = id, desc = "ID", mod = all}
, #f_column{type = bstr, name = name, desc = "名称", mod = all}
, #f_column{type = kv, name = type, kv_type = {?MODULE, get, [type]}, desc = "类型", mod = all}
, #f_column{type = int, name = lev, min = 1, max = 1000, desc = "等级", mod = all}
, #f_column{desc = "前置任务", type = term, name = pre_quest, valid_list = [undefined, all, integer], val = 0,
add_list_sign = false, comment = "[10001, 10002]表示需完成其中一个前置任务 \n[0, 10001, 10002]表示需要完成所有的制定任务"
}
, #f_column{desc = "后置任务", type = term, name = suffix_quest, add_list_sign = false}
, #f_column{type = kv, name = val_from_prev, desc = "继承前置任务值", kv_type = bool}
, #f_column{type = kv, name = hide, desc = "是否隐藏", kv_type = bool, mod = client}
, #f_column{type = int, name = dungeon_id, desc = "关卡限制"}
, #f_column{type = rec, name = condition, width = 360, spilt_str = ";", rec = condition, desc = "接受条件限制",
fields = [#f_column{type = kv, name = label, kv_type = cond_label, desc = "条件标签"}
, #f_column{type = kv, name = op, kv_type = cond_op, desc = "比较运算符"}
, #f_column{type = term, name = val, add_list_sign = false, desc = "条件要求值"}
]}
, #f_column{desc = "任务要求", type = func, name = progress, width = 360, spilt_str = ";", type_func = {quest_data, progress},
fields = [
#f_column{desc = "服务端事件", type = term, name = label, add_list_sign = false}
, #f_column{desc = "客户端标签", type = str, name = cli_label, mod = client}
, #f_column{desc = "目标值", type = int, name = target, mod = all}
, #f_column{desc = "目标需求值", type = int, name = target_val, mod = all}
, #f_column{desc = "服务端附加参数", type = term, name = param, add_list_sign = false}
, #f_column{desc = "客户端附加参数", type = term, name = param, add_list_sign = false, mod = client}
],
valid_list = [
{atom, integer, integer},
{atom, integer, integer, term},
{atom, atom, integer, integer, term}
],
comment = "{事件标签, 目标值, 目标需求值, 附加参数} 或 {服务端事件标签, 服务端事件标签, 目标值, 目标需求值, 附加参数}\n"
"事件标签/服务端事件标签/客户端事件标签:英文字符串;\n"
"目标值:整数\n"
"目标需求值:整数\n"
"附加参数需要用“[]”包括,其中每一项需要用“{}”包括:[{monitor}, {type, 1}]\n"
"多个任务目标用“;”(分号)分隔,例如: {evt_get_item, 10001, 1, [{monitor}]};{evt_use_item, 10001, 1, [{type, 1}]}",
mod = all
}
, #f_column{desc = "任务扩展参数", type = term, name = extra, add_list_sign = false, comment = "每一项需要用“{}”包括:[{type, 1}, {id, 1}]", def_cli_val = "{}", mod = all}
, #f_column{type = bstr, name = desc, desc = "描述", mod = all}
, #f_column{desc = "成就奖励", type = term, name = commit_rewards, comment = "奖励格式:{物品基础Id, 数量}, {物品基础Id, 数量}", width = 360, mod = all}
, #f_column{type = int, name = end_time, desc = "过期时间(秒)", comment = "0或不填表示永久", mod = server}
]
}
,{["徽章基础数据"], [
#f_column{type = int, primary = true, name = id, desc = "ID", mod = all}
,#f_column{type = int, name = type_id, desc = "所在分类", mod = all}
,#f_column{type = bstr, name = type_name, desc = "所在分类名", mod = all}
,#f_column{type = bstr, name = name, desc = "徽章名", mod = all}
,#f_column{type = bstr, name = desc1, desc = "文字描述", mod = all}
,#f_column{type = bstr, name = desc2, desc = "文案描述", mod = all}
,#f_column{type = term, name = need_items, desc = "激活所需物品", mod = all}
,#f_column{type = int, name = point, desc = "收集点数", mod = all}
,#f_column{type = kv, name = is_show, desc = "是否隐藏", kv_type = bool, mod = client}
,#f_column{type = bstr, name = effect_res, desc = "特效资源", mod = client}
,#f_column{type = bstr, name = icon_res, desc = "图标资源", mod = client}
,#f_column{type = kv, kv_type = quality, name = quality, desc = "品质", mod = all}
]}
,{["徽章点数收集"], [
#f_column{type = int, name = min, desc = "点数下限", mod = all}
,#f_column{type = int, name = max, desc = "点数上限", mod = all}
,#f_column{type = bstr, name = name, desc = "评级", mod = all}
,#f_column{type = int, name = res_id, desc = "图标ID", 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}
]}
]
}.
get(type) ->
[
{"默认类型", 0}
,{"PVP", 1}
,{"特殊", 2}
,{"常规战斗", 3}
].