源战役
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

240 lines
7.2 KiB

%% ----------------------------------------
%% 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">>).