源战役
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

170 行
6.4 KiB

  1. %%%------------------------------------
  2. %%% @Module : rush_rank.hrl
  3. %%% @Author : hejiahua
  4. %%% @Created : 2015-12-18
  5. %%% @Description: 开服冲榜
  6. %%%------------------------------------
  7. -define(OFFSET_TYPE,20). %%战力和对应进阶的类型偏差
  8. %%(冲榜)
  9. %% --------------------#common_rank_role.rank_type 类型---------------------
  10. -define(RANK_TYPE_RUSH_HORSE, 1). %% 坐骑
  11. -define(RANK_TYPE_RUSH_WING, 2). %% 炫翼
  12. -define(RANK_TYPE_RUSH_PEARL, 3). %% 宝具
  13. -define(RANK_TYPE_RUSH_WEAPON, 4). %% 武器
  14. -define(RANK_TYPE_RUSH_JARVIS, 5). %% AI娘
  15. -define(RANK_TYPE_RUSH_GUN, 6). %% 磁炮
  16. -define(RANK_TYPE_RUSH_CLOUD, 7). %% 星翼
  17. -define(RANK_TYPE_RUSH_ARMOUR, 8). %% 幻甲
  18. -define(RANK_TYPE_RUSH_COMBAT, 9). %% 战力
  19. -define(RANK_TYPE_RUSH_GRADE_HORSE, 21). %% 坐骑进阶
  20. -define(RANK_TYPE_RUSH_GRADE_WING, 22). %% 炫翼进阶
  21. -define(RANK_TYPE_RUSH_GRADE_PEARL, 23). %% 宝具进阶
  22. -define(RANK_TYPE_RUSH_GRADE_WEAPON, 24). %% 武器进阶
  23. -define(RANK_TYPE_RUSH_GRADE_JARVIS, 25). %% AI娘进阶
  24. -define(RANK_TYPE_RUSH_GRADE_GUN, 26). %% 磁炮进阶
  25. -define(RANK_TYPE_RUSH_GRADE_CLOUD, 27). %% 星翼进阶
  26. -define(RANK_TYPE_RUSH_GRADE_ARMOUR, 28). %% 幻甲进阶
  27. -define(RANK_TYPE_RUSH_WARSOUL, 31). %% 战魂战力
  28. -define(RANK_TYPE_RUSH_RED_EQUIP, 32). %% 红装战力
  29. -define(RANK_TYPE_LIST, [
  30. ?RANK_TYPE_RUSH_HORSE
  31. ,?RANK_TYPE_RUSH_WING
  32. ,?RANK_TYPE_RUSH_WEAPON
  33. ,?RANK_TYPE_RUSH_JARVIS
  34. ,?RANK_TYPE_RUSH_PEARL
  35. ,?RANK_TYPE_RUSH_GUN
  36. ,?RANK_TYPE_RUSH_CLOUD
  37. ,?RANK_TYPE_RUSH_ARMOUR
  38. ,?RANK_TYPE_RUSH_COMBAT
  39. ,?RANK_TYPE_RUSH_GRADE_HORSE
  40. ,?RANK_TYPE_RUSH_GRADE_WING
  41. ,?RANK_TYPE_RUSH_GRADE_WEAPON
  42. ,?RANK_TYPE_RUSH_GRADE_JARVIS
  43. ,?RANK_TYPE_RUSH_GRADE_PEARL
  44. ,?RANK_TYPE_RUSH_GRADE_GUN
  45. ,?RANK_TYPE_RUSH_GRADE_CLOUD
  46. ,?RANK_TYPE_RUSH_GRADE_ARMOUR
  47. ,?RANK_TYPE_RUSH_WARSOUL
  48. ,?RANK_TYPE_RUSH_RED_EQUIP
  49. ]).
  50. %%进阶榜单列表
  51. -define(RANK_TYPE_FOSTER_GRADE_LIST, [
  52. ?RANK_TYPE_RUSH_GRADE_HORSE
  53. ,?RANK_TYPE_RUSH_GRADE_WING
  54. ,?RANK_TYPE_RUSH_GRADE_WEAPON
  55. ,?RANK_TYPE_RUSH_GRADE_JARVIS
  56. ,?RANK_TYPE_RUSH_GRADE_PEARL
  57. ,?RANK_TYPE_RUSH_GRADE_GUN
  58. ,?RANK_TYPE_RUSH_GRADE_CLOUD
  59. ,?RANK_TYPE_RUSH_GRADE_ARMOUR
  60. ]).
  61. %%战力榜单列表
  62. -define(RANK_TYPE_COMBAT_GRADE_LIST, [
  63. ?RANK_TYPE_RUSH_WARSOUL
  64. ,?RANK_TYPE_RUSH_RED_EQUIP
  65. ,?RANK_TYPE_RUSH_COMBAT
  66. ]).
  67. -define(NOT_REWARD, 0). %% 不可领状态
  68. -define(HAVE_REWARD, 1). %% 可领奖励状态
  69. -define(FINISH, 2). %% 完成状态
  70. -define(REFRESH_LV_EXP_RANK_TIME, 10 * 60). %% 等级榜刷新时间
  71. %% 冲榜活动配置
  72. -record(base_rush_rank, {
  73. id = 0, % 活动id
  74. name = "", % 活动名称
  75. start_day = 0, % 开服第几天开始
  76. clear_day = 0, % 开服第几天结算
  77. max_len = 0, % 榜单长度
  78. limit = [], % 上榜阈值
  79. figure_id = [] % 形象列表
  80. }).
  81. %% 冲榜排行奖励配置
  82. -record(base_rush_rank_reward, {
  83. id = 0, % 活动id
  84. reward_id = 0, % 奖励Id
  85. rank_min = 0, % 排名上限
  86. rank_max = 0, % 排名下限
  87. rank_limit = [], % 排名限制
  88. reward = [], % 奖励
  89. about = "" % 描述
  90. }).
  91. %% 冲榜目标奖励配置
  92. -record(base_rush_goal_reward, {
  93. id = 0, % 活动id
  94. reward_id = 0, % 奖励Id
  95. goal_value = [], % 目标值
  96. reward = [], % 奖励
  97. about = "" % 描述
  98. }).
  99. %% 冲榜榜单的角色信息
  100. -record(rush_rank_role, {
  101. role_key = undefined, % 玩家的唯一键 {RankType,id}
  102. rank_type = 0, % 榜单类型
  103. sub_type = 0,
  104. role_id = 0, % 角色Id
  105. value = 0, % 值
  106. value2 = 0, %
  107. value3 = 0, %
  108. value4 = 0,
  109. value5 = 0,
  110. time = 0, % 时间
  111. rank = 0 % 名次
  112. }).
  113. %% 通用榜单的进程状态
  114. -record(rush_rank_state, {
  115. rank_maps = maps:new(), % Key:{RankType,SubType} Value:[#rush_rank_role{}|...]
  116. rank_limit = maps:new(), % {RankType, SubType} => Limit
  117. goal_maps = maps:new() %% 目标奖励信息 {RankType, SubType, RoleId} => [{GoalId, RewardState}]
  118. }).
  119. -record(status_rush_rank, {
  120. lv_rank_ref = undefined, %% 等级榜刷新定时器
  121. lv_rank_cl_ref = undefined %% 等级榜结算刷新定时器
  122. }).
  123. -define(sql_rush_rank_role_select, <<"
  124. SELECT
  125. rank_type, sub_type, player_id, value, value2, value3,value4,value5, time
  126. FROM rush_rank_role">>).
  127. -define(sql_rush_rank_goal_select, <<"
  128. SELECT
  129. rank_type, sub_type, player_id, goal_id, state
  130. FROM rush_rank_goal">>).
  131. -define(sql_rush_rank_role_save, <<"
  132. replace into rush_rank_role(
  133. rank_type, sub_type, player_id, value, value2, value3,value4,value5, time
  134. ) values(~p, ~p, ~p, ~p, ~p, ~p, ~p,~p,~p)">>).
  135. -define(sql_rush_rank_goal_save, <<"
  136. replace into rush_rank_goal(
  137. rank_type, sub_type, player_id, goal_id, state
  138. ) values(~p, ~p, ~p, ~p, ~p)">>).
  139. -define(sql_rush_rank_role_delete_by_role_id, <<"delete from rush_rank_role
  140. where rank_type = ~p and sub_type = ~p and player_id = ~p">>).
  141. -define(sql_rush_rank_role_delete_by_value, <<"delete from rush_rank_role
  142. where rank_type = ~p and sub_type = ~p and value < ~p ">>).