源战役
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.
 
 

170 lines
6.4 KiB

%%%------------------------------------
%%% @Module : rush_rank.hrl
%%% @Author : hejiahua
%%% @Created : 2015-12-18
%%% @Description: 开服冲榜
%%%------------------------------------
-define(OFFSET_TYPE,20). %%战力和对应进阶的类型偏差
%%(冲榜)
%% --------------------#common_rank_role.rank_type 类型---------------------
-define(RANK_TYPE_RUSH_HORSE, 1). %% 坐骑
-define(RANK_TYPE_RUSH_WING, 2). %% 炫翼
-define(RANK_TYPE_RUSH_PEARL, 3). %% 宝具
-define(RANK_TYPE_RUSH_WEAPON, 4). %% 武器
-define(RANK_TYPE_RUSH_JARVIS, 5). %% AI娘
-define(RANK_TYPE_RUSH_GUN, 6). %% 磁炮
-define(RANK_TYPE_RUSH_CLOUD, 7). %% 星翼
-define(RANK_TYPE_RUSH_ARMOUR, 8). %% 幻甲
-define(RANK_TYPE_RUSH_COMBAT, 9). %% 战力
-define(RANK_TYPE_RUSH_GRADE_HORSE, 21). %% 坐骑进阶
-define(RANK_TYPE_RUSH_GRADE_WING, 22). %% 炫翼进阶
-define(RANK_TYPE_RUSH_GRADE_PEARL, 23). %% 宝具进阶
-define(RANK_TYPE_RUSH_GRADE_WEAPON, 24). %% 武器进阶
-define(RANK_TYPE_RUSH_GRADE_JARVIS, 25). %% AI娘进阶
-define(RANK_TYPE_RUSH_GRADE_GUN, 26). %% 磁炮进阶
-define(RANK_TYPE_RUSH_GRADE_CLOUD, 27). %% 星翼进阶
-define(RANK_TYPE_RUSH_GRADE_ARMOUR, 28). %% 幻甲进阶
-define(RANK_TYPE_RUSH_WARSOUL, 31). %% 战魂战力
-define(RANK_TYPE_RUSH_RED_EQUIP, 32). %% 红装战力
-define(RANK_TYPE_LIST, [
?RANK_TYPE_RUSH_HORSE
,?RANK_TYPE_RUSH_WING
,?RANK_TYPE_RUSH_WEAPON
,?RANK_TYPE_RUSH_JARVIS
,?RANK_TYPE_RUSH_PEARL
,?RANK_TYPE_RUSH_GUN
,?RANK_TYPE_RUSH_CLOUD
,?RANK_TYPE_RUSH_ARMOUR
,?RANK_TYPE_RUSH_COMBAT
,?RANK_TYPE_RUSH_GRADE_HORSE
,?RANK_TYPE_RUSH_GRADE_WING
,?RANK_TYPE_RUSH_GRADE_WEAPON
,?RANK_TYPE_RUSH_GRADE_JARVIS
,?RANK_TYPE_RUSH_GRADE_PEARL
,?RANK_TYPE_RUSH_GRADE_GUN
,?RANK_TYPE_RUSH_GRADE_CLOUD
,?RANK_TYPE_RUSH_GRADE_ARMOUR
,?RANK_TYPE_RUSH_WARSOUL
,?RANK_TYPE_RUSH_RED_EQUIP
]).
%%进阶榜单列表
-define(RANK_TYPE_FOSTER_GRADE_LIST, [
?RANK_TYPE_RUSH_GRADE_HORSE
,?RANK_TYPE_RUSH_GRADE_WING
,?RANK_TYPE_RUSH_GRADE_WEAPON
,?RANK_TYPE_RUSH_GRADE_JARVIS
,?RANK_TYPE_RUSH_GRADE_PEARL
,?RANK_TYPE_RUSH_GRADE_GUN
,?RANK_TYPE_RUSH_GRADE_CLOUD
,?RANK_TYPE_RUSH_GRADE_ARMOUR
]).
%%战力榜单列表
-define(RANK_TYPE_COMBAT_GRADE_LIST, [
?RANK_TYPE_RUSH_WARSOUL
,?RANK_TYPE_RUSH_RED_EQUIP
,?RANK_TYPE_RUSH_COMBAT
]).
-define(NOT_REWARD, 0). %% 不可领状态
-define(HAVE_REWARD, 1). %% 可领奖励状态
-define(FINISH, 2). %% 完成状态
-define(REFRESH_LV_EXP_RANK_TIME, 10 * 60). %% 等级榜刷新时间
%% 冲榜活动配置
-record(base_rush_rank, {
id = 0, % 活动id
name = "", % 活动名称
start_day = 0, % 开服第几天开始
clear_day = 0, % 开服第几天结算
max_len = 0, % 榜单长度
limit = [], % 上榜阈值
figure_id = [] % 形象列表
}).
%% 冲榜排行奖励配置
-record(base_rush_rank_reward, {
id = 0, % 活动id
reward_id = 0, % 奖励Id
rank_min = 0, % 排名上限
rank_max = 0, % 排名下限
rank_limit = [], % 排名限制
reward = [], % 奖励
about = "" % 描述
}).
%% 冲榜目标奖励配置
-record(base_rush_goal_reward, {
id = 0, % 活动id
reward_id = 0, % 奖励Id
goal_value = [], % 目标值
reward = [], % 奖励
about = "" % 描述
}).
%% 冲榜榜单的角色信息
-record(rush_rank_role, {
role_key = undefined, % 玩家的唯一键 {RankType,id}
rank_type = 0, % 榜单类型
sub_type = 0,
role_id = 0, % 角色Id
value = 0, % 值
value2 = 0, %
value3 = 0, %
value4 = 0,
value5 = 0,
time = 0, % 时间
rank = 0 % 名次
}).
%% 通用榜单的进程状态
-record(rush_rank_state, {
rank_maps = maps:new(), % Key:{RankType,SubType} Value:[#rush_rank_role{}|...]
rank_limit = maps:new(), % {RankType, SubType} => Limit
goal_maps = maps:new() %% 目标奖励信息 {RankType, SubType, RoleId} => [{GoalId, RewardState}]
}).
-record(status_rush_rank, {
lv_rank_ref = undefined, %% 等级榜刷新定时器
lv_rank_cl_ref = undefined %% 等级榜结算刷新定时器
}).
-define(sql_rush_rank_role_select, <<"
SELECT
rank_type, sub_type, player_id, value, value2, value3,value4,value5, time
FROM rush_rank_role">>).
-define(sql_rush_rank_goal_select, <<"
SELECT
rank_type, sub_type, player_id, goal_id, state
FROM rush_rank_goal">>).
-define(sql_rush_rank_role_save, <<"
replace into rush_rank_role(
rank_type, sub_type, player_id, value, value2, value3,value4,value5, time
) values(~p, ~p, ~p, ~p, ~p, ~p, ~p,~p,~p)">>).
-define(sql_rush_rank_goal_save, <<"
replace into rush_rank_goal(
rank_type, sub_type, player_id, goal_id, state
) values(~p, ~p, ~p, ~p, ~p)">>).
-define(sql_rush_rank_role_delete_by_role_id, <<"delete from rush_rank_role
where rank_type = ~p and sub_type = ~p and player_id = ~p">>).
-define(sql_rush_rank_role_delete_by_value, <<"delete from rush_rank_role
where rank_type = ~p and sub_type = ~p and value < ~p ">>).