|
|
- %%%-------------------------------------------------------------------
- %%% @author liushl
- %%% @doc
- %%% 本服BOSS头文件
- %%% @end
- %%%-------------------------------------------------------------------
- -author("liushl").
-
- %% BOSS类型 读怪物头文件的BOSS类型
-
- -define(WORLD_BOSS_SHIELD_AWARD_TIME, 11). %% 护盾奖励有效期
-
- %% 保护时间
- %% 1>类型
- -define(REWARD_BOSS_PROTECT_TIME, 1). %% 赏金boss
- -define(DESERTED_BOSS_PROTECT_TIME, 2). %% 星域幻魔
- %% 2>计数器类型
- -define(REWARD_BOSS_PROTECT_USE_TIMES, 5). %% 使用次数
- -define(REWARD_BOSS_PROTECT_CONTINUE_TIME, 6). %% 结束时间
- -define(DESERTED_BOSS_PROTECT_USE_TIMES, 4).
- -define(DESERTED_BOSS_PROTECT_CONTINUE_TIME, 5).
-
- %% 本服BOSS延迟初始化时间
- -ifdef(DEV_SERVER).
- -define(LOCAL_BOSS_DELAY_TIME, 5000).
- -else.
- -define(LOCAL_BOSS_DELAY_TIME, 60000).
- -endif.
-
- %% 计数器
- %% 周计数器
- -define(WORLD_BOSS_WEEK_SCORE, 1). %% 世界BOSS周积分计数器
- %% 日计数器
- -define(COUNT_REWARD_BOSS_DAILY_USE, 1). %% 赏金BOSS每日使用次数
- -define(COUNT_REWARD_BOSS_BUY, 2). %% 赏金BOSS每日购买次数
- -define(COUNT_REWARD_BOSS_TOTAL_TIMES, 4). %% 赏金BOSS每日增加次数
-
- -define(COUNT_REWARD_BOSS_DAILY_KILL, 7). %% 赏金BOSS每日击杀次数,统计用
- -define(COUNT_DESERTED_BOSS_DAILY_KILL, 8). %% 星域BOSS每日击杀次数,统计用
-
- -define(COUNT_HOME_BOSS_KILL, 1). %% 幻魔之家击杀次数
- %% 终生计数器
- -define(COUNT_REWARD_BOSS_COUNTER_KILL, 1). %% 赏金BOSS击杀次数
- -define(COUNT_REWARD_ALLBOSS_COUNTER_KILL, 2). %% 所有赏金BOSS击杀次数
- %% 赏金BOSS掉落日志长度
- -define(REWARD_BOSS_LOG_LENGTH, 50).
- %% 赏金BOSS结算踢人时间
- -define(REWARD_BOSS_CLEAN_TIME, 15).
-
- %% BOSS场景人数限制
- -define(BOSS_SCENE_ROLE_NUM, 50).
- %% 怪物数据参数
- -define(LOCAL_BOSS_ARGS_TOP, 1). %% 伤害第一
- -define(LOCAL_BOSS_ARGS_HURT_LIST, 2). %% 伤害统计
- -define(LOCAL_BOSS_LAST_HIT, 3). %% 上次击杀时间
-
- %% 认为玩家功击频率
- -define(ROLE_HIT_FRE, 3).
-
- -record(boss_hit_info, {
- last_time = 0, %% 上次受击时间
- sum_time = 0, %% 统计受击时间
- notice_count = 0, %% 累计受击次数
- die_state = 0, %% 死亡状态
- time_need = 0, %% 存活时间
- count_need = ?ROLE_HIT_FRE %% 血量刷新间隔:受击次数
- }).
-
- %% 本服BOSS玩家数据
- -record(status_local_boss,{
- reward_boss_tired = 0 %% 赏金BOSS疲劳值
- , boss_focus = [] %% 关注的赏金BOSS们
- , deserted_boss_tired = 0 %% 废都BOSS疲劳值
- , deserted_elite_tired = 0 %% 废都精英怪疲劳值
- , ta_data = #{} %% TA 数据上报使用
- }).
-
- %%%-------------------------------------------------------------------
- %%% @doc 世界BOSS
- %%%-------------------------------------------------------------------
- %% 管理进程
- -record(local_world_boss, {
- boss_info = [], %% boss信息
- week_rank = #{}, %% 周榜数据 #{榜单类型 => {refresh_flag, Ranks}}
- end_time = 0, %% 活动结束时间
- next_time = 0, %% 下次活动开始时间:预告时间
- ref %% 活动定时器
- }).
- %% 世界boss信息
- -record(world_boss_info, {
- boss_id = 0
- , boss_pid %% 怪物进程
- , mon_id %% 怪物唯一id
- , dead_time = 0 %% 死亡时间/0存活
- , hp = 0 %% 血量
- , hp_lim = 0
- , shield_reward_no = 0 %% 护盾活动编号
- , shield_reward = [] %% 护盾奖励情况[{Id, RoleList, Ref}|_]
- , shield_value = 0 %% 护盾上限值
- }).
- %% 积分榜单 可以从周计数器里拿
- -record(boss_score_rank, {
- role_id = 0
- , score = 0
- , time = 0 %% 刷新时间
- , power = 0 %% 玩家战力
- }).
- %%%-------------------------------------------------------------------
- %%% @doc 赏金BOSS
- %%%-------------------------------------------------------------------
- %% 管理进程
- -record(local_reward_boss, {
- boss_info = []
- , drop_log_low_quality = []
- , drop_log_high_quality = []
- , encourage_info = [] %% 赏金BOSS鼓舞[{玩家id,彩钻鼓舞,红钻鼓舞}], 离开场景清除
- }).
- %% boss信息
- -record(reward_boss_info, {
- boss_id = 0
- , boss_pid %% 怪物进程
- , mon_id = 0 %% 怪物唯一id
- , born_time = 0 %% 出生时间
- , reborn_time = 0 %% 复活时间,存活则为0
- , last_killer = <<>> %% 赏金BOSS上次击杀玩家
- , ref_reborn %% 赏金BOSS复活定时器
- }).
-
- %% -------------------------------------------------------------------
- %% @doc 古战场boss
- %% -------------------------------------------------------------------
-
- -define(DESERTED_BOSS_USE_COUNT, 1). %% boss使用次数
- -define(DESERTED_ELITE_USE_COUNT, 2). %% 精英怪使用次数
-
- -record(deserted_boss_state, {
- boss_info = [],
- elite_mon_info = [],
- zone_id = 0,
- fac_id = 0,
- map = #{},
- cls_type = 0
- }).
-
- %% 星域幻魔boss信息
- -record(deserted_boss_info, {
- boss_id = 0
- , boss_pid %% 怪物进程
- , mon_id %% 怪物唯一id
- , born_time = 0 %% 出生时间
- , reborn_time = 0 %% 复活时间,存活则为0
- , last_killer = <<>> %% 上次击杀玩家
- , srv_num = 0 %% 击杀者服务器编号
- , ref_reborn %% 复活定时器
- }).
-
- %% -------------------------------------------------------------------
- %% @doc 活动boss
- %% -------------------------------------------------------------------
- -record(local_act_boss, {
- sub_type = 0 %% 活动子类
- , boss_info = [] %% 所有BOSS
- , boss_num = 0
- , next_time = 0 %% 下场BOSS时间戳
- , ref_born = undefined %% 出生定时器
- }).
- %% boss信息
- -record(act_boss_info, {
- mon_id = 0 %% 怪物唯一id
- , boss_id = 0
- , boss_pid = undefined %% 怪物进程
- , alive = 1 %% 是否存活
- , scene_id = 0 %% 场景
- , pool_id = 0 %% 分线
- , x = 0
- , y = 0
- , share_roles = [] %% 分享的玩家
- }).
-
- %% -------------------------------------------------------------------
- %% @doc 幻魔之家
- %% -------------------------------------------------------------------
- -record(home_boss_state, {
- sub_module = 0,
- boss_infos = [], %% [{rank_index, guild, [#home_boss{}]},...]
- guild_boss_pids = #{}, %% #{guild => {rank_index, scene_pool}} 排名 => {社团, 分线}
- map = #{}
- }).
-
- -record(home_boss, {
- mon_id = 0 %% 怪物唯一id
- , boss_id = 0
- , boss_pid = undefined %% 怪物进程
- , pool_id = 0 %% 分线
- , pos = {0, 0}
- , ref = undefined
- , killer = <<>>
- , dead_time = 0 %% 死亡时间
- , born_time = 0 %% 出生时间
- , reborn_time = 0 %% 下次出生时间
- , guild = 0
- }).
-
- %% -------------------------------------------------------------------
- %% @doc 掉落日志
- %% -------------------------------------------------------------------
- -record(boss_drop_log, {
- name = <<>>
- , scene = 0
- , svr_num = 0
- , boss = 0
- , boss_type = 0
- , goods_id = 0
- , time = 0
- }).
-
- %% 赏金主线副本任务的怪物id
- -define (REWARD_BOSS_DUN_MON, 13010000).
- %% 赏金主线副本任务的副本id
- -define (REWARD_BOSS_TASK_DUN, 3605).
- %% 赏金主线任务id
- -define (REWARD_BOSS_TASK_ID, 11260).
-
- %% ------------------------------------------------------------------
- %% @doc TA自定义记录数据类型
- %% ------------------------------------------------------------------
- -define(ENTER_TIME, 1).
- -define(INSPIRE_GOLD, 2).
- -define(INSPIRE_BGOLD, 3).
- -define(INSPIRE_TICK, 4).
- -define(REVIVE_TIME, 5).
-
- %%%-------------------------------------------------------------------
- %%% @doc DB
- %%%-------------------------------------------------------------------
- %% 获得世界BOSS状态
- -define(SQL_GET_WORLD_BOSS_STATUS, <<"select boss_id,born_time,dead_time from local_boss_status where boss_type=~p">>).
- %% 获得周榜数据
- -define(SQL_GET_WEEK_RANK, <<"select a.role_id,a.count,a.refresh_time,b.last_combat_power from counter_week a left join player_state b on a.role_id=b.id
- where a.module=~p and a.sub_module=~p and a.type=~p and a.refresh_time>~p">>).
- %% 保存世界BOSS状态-批量打包数据
- -define(SQL_FORMAT_WORLD_BOSS_STATUS, <<"(~p, ~p, ~p, ~p)">>).
- %% 保存世界BOSS状态-批量写入数据
- -define(SQL_SAVE_WORLD_BOSS_STATUS, <<"replace into local_boss_status (boss_id,boss_type,born_time,dead_time) values ~ts">>).
- %% 世界BOSS死亡,保存状态
- -define(SQL_SAVE_ONE_WORLD_BOSS, <<"replace into local_boss_status(boss_id, boss_type, born_time, dead_time) values (~p,~p,~p,~p)">>).
-
- %% 赏金BOSS死亡,获取上次击杀者
- -define(SQL_GET_REWARD_BOSS_STATUS, <<"select boss_id,killer from local_boss_status where boss_type=~p">>).
- %% 赏金BOSS死亡,保存状态
- -define(SQL_SAVE_ONE_REWARD_BOSS, <<"replace into local_boss_status(boss_id, boss_type, born_time, dead_time, killer) values (~p,~p,~p,~p,~ts)">>).
-
- %% 废都boss
- -define(SQL_GET_LOCAL_DESERTED_BOSS_STATUS, <<"SELECT boss_id, dead_time, killer FROM local_boss_status WHERE boss_type = ~p">>).
- -define(SQL_GET_DESERTED_BOSS_STATUS, <<"SELECT boss_id, dead_time, killer, srv_num FROM deserted_boss_status WHERE zone_id = ~p AND fac_id = ~p">>).
- -define(SQL_REPLACE_DESERTED_BOSS_STATUS, <<"REPLACE INTO deserted_boss_status(zone_id, fac_id, boss_id, dead_time, killer, srv_num) values (~p, ~p, ~p, ~p, ~ts, ~p)">>).
- -define(SQL_DELETE_DESERTED_BOSS_STATUS, <<"DELETE FROM deserted_boss_status WHERE zone_id = ~p AND fac_id = ~p">>).
-
- %% 获得BOSS关注信息
- -define(SQL_GET_BOSS_FOCUS, <<"select boss_id, boss_type from local_boss_focus where role_id=~p">>).
- %% 保存BOSS关注
- -define(SQL_SAVE_BOSS_FOCUS, <<"replace into local_boss_focus(role_id,boss_id,boss_type) values(~p,~p,~p)">>).
- %% 删除BOSS关注
- -define(SQL_DEL_BOSS_FOCUS, <<"delete from local_boss_focus where role_id=~p and boss_id=~p">>).
-
- %% BOSS免战时间
- -define(SQL_GET_BOSS_PROTECT_TIME, <<"select boss_type,protect_time from boss_protect_time where role_id=~p">>).
- %% 保存BOSS关注
- -define(SQL_SAVE_BOSS_PROTECT_TIME, <<"replace into boss_protect_time (role_id,boss_type,protect_time) values(~p,~p,~p)">>).
-
- %% 幻魔之家
- -define (SQL_GET_HOME_BOSS, <<"SELECT rank_index, boss_id, guild, born_time, dead_time, killer FROM home_boss_status WHERE sub_module = ~p">>).
- -define (SQL_SAVE_ONE_HOME_BOSS, <<"REPLACE INTO home_boss_status(sub_module, rank_index, boss_id, guild, born_time, dead_time, killer) VALUES (~p, ~p, ~p, ~p, ~p, ~p, ~ts)">>).
- -define (SQL_UPDATE_ONE_HOME_BOSS, <<"UPDATE home_boss_status SET guild = ~p WHERE sub_module = ~p AND rank_index = ~p">>).
-
- %%%-------------------------------------------------------------------
- %%% @doc 配置
- %%%-------------------------------------------------------------------
- -record(base_world_boss_info, {
- boss_id,
- boss_lv,
- boss_name,
- boss_scene,
- boss_position,
- relive_position,
- award_30_p,
- award_60_p,
- award_kill,
- award_assists,
- boss_picture,
- shield,
- rank_type,
- award_show_ratio,
- award_show_base,
- score_limit,
- score_limit_day
- }).
-
- -record(base_reward_boss_info, {
- boss_id,
- grade,
- boss_name,
- boss_scene,
- boss_position,
- relive_position,
- reborn_cfg,
- award_base,
- award_extra_num,
- award_extra,
- enter_lv,
- award_base_show,
- award_extra_show,
- boss_picture,
- is_peace,
- recommend_lv,
- recommend_attr,
- recommend_power
- }).
-
- -record(base_deserted_boss_info, {
- boss_id = 0,
- boss_name = "",
- level = 0,
- grade = 0,
- born_pos = [],
- reborn_time = [],
- base_reward = [],
- extra_reward = [],
- boss_pic = 0,
- recommend_lv = 0,
- recommend_attr = [],
- recommend_power = 0
- }).
-
- -record(base_deserted_level, {
- level = 0,
- scene = 0,
- cls_scene = 0,
- open_lv = 0
- }).
-
- -record(base_elite_mon, {
- index = 0,
- mon_id = 0,
- mon_name = "",
- level = 0,
- born_pos = [],
- reborn_time = []
- }).
-
- -record(base_deserted_kv, {
- key,
- val,
- desc
- }).
-
- %% 幻魔之家层数表
- -record(base_home_boss_level, {
- sub_module = 0, %% 子功能id 1|2
- level = 0, %% 层数
- scene = 0, %% 场景
- enter_lv = 0, %% 进入等级限制
- condition = [], %% 进入条件
- cost = [] %% 抵扣货币
- }).
-
- %% 幻魔之家boss表
- -record(base_home_boss, {
- sub_module = 0, %% 子功能id 1|2
- boss_id = 0, %% bossid
- grade = 0, %% 代数
- name = "", %% 名称
- level = 0, %% 层数
- born_pos = [], %% 坐标
- reborn_time = [], %% 重生时间
- drop_show = [], %% 掉落展示
- boss_pic = 0, %% 头像
- recommend_power = 0, %% 推荐战力
- recommend_lv = 0, %% 推荐等级
- drop_lv_limit = 0, %% 掉落等级差距
- recommend_attr = [] %% 推荐属性
- }).
|