%% ----------------------------------------
|
|
%% desc:唤神副本头文件
|
|
%%
|
|
%% ----------------------------------------
|
|
|
|
%% 波数奖励
|
|
-record(base_god_dun_wave_reward, {
|
|
wave = 0,
|
|
rewards = [],
|
|
score = 0, %% 兑换积分
|
|
rank_score = 0 %% 排行积分
|
|
}).
|
|
|
|
|
|
%% 排名奖励
|
|
-record(base_god_dun_rank_reward, {
|
|
rank_type = 0, %% 1排名值|2百分比
|
|
rank_min = 0,
|
|
rank_max = 0,
|
|
limit = 0,
|
|
rewards = []
|
|
}).
|
|
|
|
%% 商品项配置
|
|
-record(base_god_dun_shop_goods, {
|
|
index = 0, %% 商品序号
|
|
goods_id = 0, %% 商品ID
|
|
is_bind = 0, %% 是否绑定
|
|
goods_num = 0, %% 单次购买物品数量
|
|
price = 0, %% 价格
|
|
rank_weight = 0 %% 排序权重
|
|
}).
|
|
|
|
%% 商品规则配置
|
|
-record(base_god_dun_shop_rule, {
|
|
lv_min = 0, %% 等级上限
|
|
lv_max = 0, %% 等级下限
|
|
fix_goods = [], %% 每日固定商品列表
|
|
rand_goods = [], %% 每日随机商品列表
|
|
rand_num = 0, %% 每日随机商品数
|
|
week_fix_goods = [], %% 每周固定商品列表
|
|
week_rand_goods = [], %% 每周随机商品列表
|
|
week_rand_num = 0 %% 每周随机商品数
|
|
}).
|
|
|
|
%% 唤神副本-怪物配置
|
|
-record(base_god_dun_mon_cfg, {
|
|
mon_id = 0, %% 怪物ID
|
|
type = 0, %% 抽取类型
|
|
rank = 0, %% 排名值
|
|
attrs = [], %% 属性转换列表
|
|
info_from_rank = 0, %% 信息抽取排名
|
|
figure = 0 %% 0怪物|1玩家
|
|
}).
|
|
|
|
%% 百分比排名对照配置
|
|
-record(base_god_percent_rank_cfg, {
|
|
rank_min = 0,
|
|
rank_max = 0,
|
|
percent = 0
|
|
}).
|
|
|
|
%% -----------------------------------------------------
|
|
%% 人物唤神副本相关数据
|
|
-record(role_god_dun, {
|
|
day_shop_list = [],
|
|
day_time = 0,
|
|
week_shop_list = [],
|
|
week_time = 0,
|
|
role_attrs = [],
|
|
cross_day = 0
|
|
}).
|
|
|
|
|
|
%% 唤神排行数据
|
|
-record(god_dun_rank_state, {
|
|
score_rank = [], %% {zone_id, 积分排行}
|
|
dun_wave_rank = [], %% 副本轮次排名 {{zone_id, wave}, 波数积分排行}
|
|
power_rank = [], %% {zone_id, 战力排行}
|
|
today_roles = [], %% zone_id => [{role_id, time}]今日参与玩家列表(进副本打过的)
|
|
extra_map = #{},
|
|
srvzones = #{},
|
|
zonesrvs = []
|
|
}).
|
|
|
|
%% 唤神排行本地数据-只读
|
|
-record(god_dun_rank_local_state, {
|
|
score_rank = [], %% [#god_dun_score_role{}]
|
|
dun_wave_rank = [], %% [{wave, [#god_dun_wave_score_role{}]}]
|
|
power_rank = [],
|
|
today_roles = 0 %% 本区活跃人数
|
|
}).
|
|
|
|
% 积分排行 小分区范围 周清 定时刷新
|
|
% 波数排行 小分区范围 周清 定时刷新
|
|
% 战力排行 小分区范围 每日刷新
|
|
% 活跃人数 小分区范围 周清 定时刷新
|
|
|
|
%% 唤神积分排行人物数据(周清)
|
|
-record(god_dun_score_role, {
|
|
role_id = 0,
|
|
rank = 0,
|
|
server_id = 0,
|
|
server_num = 0,
|
|
score = 0,
|
|
display = 0,
|
|
show = undefined, %% #role_key_figure{}
|
|
pass = 0
|
|
}).
|
|
|
|
%% 副本截止轮次积分排行信息(周清)
|
|
-record(god_dun_wave_score_role, {
|
|
dun_id = 0,
|
|
wave = 0,
|
|
role_id = 0,
|
|
server_id = 0,
|
|
server_num = 0,
|
|
score = 0,
|
|
rank = 0,
|
|
show = undefined %% #wave_key_figure{}
|
|
}).
|
|
|
|
%% 战力排行信息(日更)
|
|
-record(god_dun_power_role, {
|
|
role_id = 0,
|
|
role_name = "",
|
|
server_id = 0,
|
|
server_num = 0,
|
|
lv = 0,
|
|
power = 0,
|
|
rank = 0,
|
|
attrs = [] %% 部分基础属性列表
|
|
}).
|
|
|
|
%% 人物简要信息
|
|
-record(role_key_figure, {
|
|
id = 0,
|
|
name = "",
|
|
sex = 0,
|
|
career = 0,
|
|
turn = 0,
|
|
vip_type = 0,
|
|
vip = 0,
|
|
sup_vip = 0,
|
|
lv = 0,
|
|
power = 0,
|
|
picture = "",
|
|
picture_ver = 0,
|
|
profile_photo_id = 0,
|
|
dress_list = []
|
|
}).
|
|
|
|
%% 人物简要信息 波数积分用
|
|
-record(wave_key_figure, {
|
|
name = "",
|
|
profile_photo_id = 0
|
|
}).
|
|
|
|
%% 唤神副本其他服的人物信息
|
|
-record(god_dun_cls_role, {
|
|
role_id = 0, %% 人物id
|
|
node = undefined, %% 游戏节点
|
|
svr_num = 0, %% 区服编号
|
|
figure = undefined, %% 人物形象
|
|
time = 0 %% 过期时间
|
|
}).
|
|
|
|
-define(INIT_REF, 1). %% 初始化定时
|
|
-define(NOTICE_REF, 2). %% 广播定时
|
|
-define(ZONE_CALC_SIGN, 3). %% 分区完成标志
|
|
-define(RANK_INIT_SIGN, 4). %% 排行初始化完成标志
|
|
-define(ZONE_INIT_REF, 5). %% 排行分区数据初始化定时
|
|
-define(RANK_ZONE_UPDATE_REF, 6). %% 排行分区更新定时
|
|
-define(NOTICE_POWER_RANK_REF, 7). %% 通知战力排行上传定时
|
|
-define(RESET_POWER_RANK_REF, 8). %% 刷新战力排行定时
|
|
|
|
-define(GOD_DUN_USE_ATTR,
|
|
[1, 2, 4, 5, 6, 7, 8]).
|
|
|
|
-define(RANK_LIMIT_WAVE, 5).
|
|
|
|
-define(MOD_GOD_DUN_SCORE, 2). %% 子类型 - 唤神副本每周最高积分
|
|
|
|
-define(ETS_GOD_DUN_CLS_ROLE, ets_god_dun_cls_role).
|
|
|
|
-define(SQL_ROLE_GOD_DUN_SELECT,
|
|
<<"SELECT day_shop_list, day_time, week_shop_list, week_time, role_attrs FROM role_god_dun WHERE role_id = ~p">>).
|
|
|
|
-define(SQL_ROLE_GOD_DUN_REPLACE,
|
|
<<"REPLACE INTO role_god_dun SET role_id = ~p, day_shop_list = ~ts, day_time = ~p, week_shop_list = ~ts, week_time = ~p, role_attrs = ~ts">>).
|
|
|
|
-define(SQL_ROLE_ATTRE_SELECT,
|
|
<<"SELECT role_attrs FROM role_god_dun WHERE role_id = ~p">>).
|
|
|
|
|
|
|
|
-define(SQL_GOD_DUN_WAVE_SCORE_SELECT,
|
|
<<"SELECT dun_id, wave, role_id, server_id, server_num, score, role_show FROM god_dun_wave_score">>).
|
|
|
|
-define(SQL_BATCH_GOD_DUN_RANK_WAVE_SCORE_REPLACE,
|
|
<<"REPLACE INTO god_dun_wave_score (dun_id, wave, role_id, server_id, server_num, score, role_show) VALUES ~ts">>).
|
|
|
|
-define(SQL_BATCH_GOD_DUN_RANK_WAVE_SCORE_VAL,
|
|
<<"(~p, ~p, ~p, ~p, ~p, ~p, '~ts')">>).
|
|
|
|
-define(SQL_GOD_DUN_WAVE_SCORE_REPLACE,
|
|
<<"REPLACE INTO god_dun_wave_score SET dun_id = ~p, wave = ~p, role_id = ~p, server_id = ~p, server_num = ~p, score = ~p, role_show = ~ts">>).
|
|
|
|
-define(SQL_GOD_DUN_WAVE_SCORE_DELETE,
|
|
<<"DELETE FROM god_dun_wave_score WHERE dun_id = ~p and wave = ~p and role_id = ~p">>).
|
|
|
|
-define(SQL_DELETE_DUN_RANK_WAVE_SCORE,
|
|
<<"TRUNCATE TABLE god_dun_wave_score">>).
|
|
|
|
|
|
|
|
-define(SQL_GOD_DUN_SELECT,
|
|
<<"SELECT role_id, server_id, server_num, score, role_show, pass FROM god_dun_score">>).
|
|
|
|
-define(SQL_BATCH_REPLACE_GOD_DUN_RANK,
|
|
<<"REPLACE INTO god_dun_score (role_id, server_id, server_num, score, role_show, pass) VALUES ~ts">>).
|
|
|
|
-define(SQL_BATCH_GOD_DUN_RANK_VAL,
|
|
<<"(~p, ~p, ~p, ~p, '~ts', ~p)">>).
|
|
|
|
-define(SQL_ROLE_SCORE_REPLACE,
|
|
<<"REPLACE INTO god_dun_score SET role_id = ~p, server_id = ~p, server_num = ~p, score = ~p, role_show = ~ts, pass = ~p">>).
|
|
|
|
-define(SQL_DELETE_DUN_RANK_SCORE,
|
|
<<"TRUNCATE TABLE god_dun_score">>).
|
|
|
|
|
|
-define(SQL_GOD_LIVE_ROLE_SELECT,
|
|
<<"SELECT role_id, server_id, time FROM role_god_dun_live">>).
|
|
|
|
-define(SQL_GOD_LIVE_ROLE_REPLACE,
|
|
<<"REPLACE INTO role_god_dun_live SET role_id = ~p, server_id = ~p, time = ~p">>).
|
|
|
|
-define(SQL_DELETE_LIVE_ROLE,
|
|
<<"TRUNCATE TABLE role_god_dun_live">>).
|