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