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

239 lines
7.2 KiB

  1. %% ----------------------------------------
  2. %% desc:唤神副本头文件
  3. %%
  4. %% ----------------------------------------
  5. %% 波数奖励
  6. -record(base_god_dun_wave_reward, {
  7. wave = 0,
  8. rewards = [],
  9. score = 0, %% 兑换积分
  10. rank_score = 0 %% 排行积分
  11. }).
  12. %% 排名奖励
  13. -record(base_god_dun_rank_reward, {
  14. rank_type = 0, %% 1排名值|2百分比
  15. rank_min = 0,
  16. rank_max = 0,
  17. limit = 0,
  18. rewards = []
  19. }).
  20. %% 商品项配置
  21. -record(base_god_dun_shop_goods, {
  22. index = 0, %% 商品序号
  23. goods_id = 0, %% 商品ID
  24. is_bind = 0, %% 是否绑定
  25. goods_num = 0, %% 单次购买物品数量
  26. price = 0, %% 价格
  27. rank_weight = 0 %% 排序权重
  28. }).
  29. %% 商品规则配置
  30. -record(base_god_dun_shop_rule, {
  31. lv_min = 0, %% 等级上限
  32. lv_max = 0, %% 等级下限
  33. fix_goods = [], %% 每日固定商品列表
  34. rand_goods = [], %% 每日随机商品列表
  35. rand_num = 0, %% 每日随机商品数
  36. week_fix_goods = [], %% 每周固定商品列表
  37. week_rand_goods = [], %% 每周随机商品列表
  38. week_rand_num = 0 %% 每周随机商品数
  39. }).
  40. %% 唤神副本-怪物配置
  41. -record(base_god_dun_mon_cfg, {
  42. mon_id = 0, %% 怪物ID
  43. type = 0, %% 抽取类型
  44. rank = 0, %% 排名值
  45. attrs = [], %% 属性转换列表
  46. info_from_rank = 0, %% 信息抽取排名
  47. figure = 0 %% 0怪物|1玩家
  48. }).
  49. %% 百分比排名对照配置
  50. -record(base_god_percent_rank_cfg, {
  51. rank_min = 0,
  52. rank_max = 0,
  53. percent = 0
  54. }).
  55. %% -----------------------------------------------------
  56. %% 人物唤神副本相关数据
  57. -record(role_god_dun, {
  58. day_shop_list = [],
  59. day_time = 0,
  60. week_shop_list = [],
  61. week_time = 0,
  62. role_attrs = [],
  63. cross_day = 0
  64. }).
  65. %% 唤神排行数据
  66. -record(god_dun_rank_state, {
  67. score_rank = [], %% {zone_id, 积分排行}
  68. dun_wave_rank = [], %% 副本轮次排名 {{zone_id, wave}, 波数积分排行}
  69. power_rank = [], %% {zone_id, 战力排行}
  70. today_roles = [], %% zone_id => [{role_id, time}]今日参与玩家列表(进副本打过的)
  71. extra_map = #{},
  72. srvzones = #{},
  73. zonesrvs = []
  74. }).
  75. %% 唤神排行本地数据-只读
  76. -record(god_dun_rank_local_state, {
  77. score_rank = [], %% [#god_dun_score_role{}]
  78. dun_wave_rank = [], %% [{wave, [#god_dun_wave_score_role{}]}]
  79. power_rank = [],
  80. today_roles = 0 %% 本区活跃人数
  81. }).
  82. % 积分排行 小分区范围 周清 定时刷新
  83. % 波数排行 小分区范围 周清 定时刷新
  84. % 战力排行 小分区范围 每日刷新
  85. % 活跃人数 小分区范围 周清 定时刷新
  86. %% 唤神积分排行人物数据(周清)
  87. -record(god_dun_score_role, {
  88. role_id = 0,
  89. rank = 0,
  90. server_id = 0,
  91. server_num = 0,
  92. score = 0,
  93. display = 0,
  94. show = undefined, %% #role_key_figure{}
  95. pass = 0
  96. }).
  97. %% 副本截止轮次积分排行信息(周清)
  98. -record(god_dun_wave_score_role, {
  99. dun_id = 0,
  100. wave = 0,
  101. role_id = 0,
  102. server_id = 0,
  103. server_num = 0,
  104. score = 0,
  105. rank = 0,
  106. show = undefined %% #wave_key_figure{}
  107. }).
  108. %% 战力排行信息(日更)
  109. -record(god_dun_power_role, {
  110. role_id = 0,
  111. role_name = "",
  112. server_id = 0,
  113. server_num = 0,
  114. lv = 0,
  115. power = 0,
  116. rank = 0,
  117. attrs = [] %% 部分基础属性列表
  118. }).
  119. %% 人物简要信息
  120. -record(role_key_figure, {
  121. id = 0,
  122. name = "",
  123. sex = 0,
  124. career = 0,
  125. turn = 0,
  126. vip_type = 0,
  127. vip = 0,
  128. sup_vip = 0,
  129. lv = 0,
  130. power = 0,
  131. picture = "",
  132. picture_ver = 0,
  133. profile_photo_id = 0,
  134. dress_list = []
  135. }).
  136. %% 人物简要信息 波数积分用
  137. -record(wave_key_figure, {
  138. name = "",
  139. profile_photo_id = 0
  140. }).
  141. %% 唤神副本其他服的人物信息
  142. -record(god_dun_cls_role, {
  143. role_id = 0, %% 人物id
  144. node = undefined, %% 游戏节点
  145. svr_num = 0, %% 区服编号
  146. figure = undefined, %% 人物形象
  147. time = 0 %% 过期时间
  148. }).
  149. -define(INIT_REF, 1). %% 初始化定时
  150. -define(NOTICE_REF, 2). %% 广播定时
  151. -define(ZONE_CALC_SIGN, 3). %% 分区完成标志
  152. -define(RANK_INIT_SIGN, 4). %% 排行初始化完成标志
  153. -define(ZONE_INIT_REF, 5). %% 排行分区数据初始化定时
  154. -define(RANK_ZONE_UPDATE_REF, 6). %% 排行分区更新定时
  155. -define(NOTICE_POWER_RANK_REF, 7). %% 通知战力排行上传定时
  156. -define(RESET_POWER_RANK_REF, 8). %% 刷新战力排行定时
  157. -define(GOD_DUN_USE_ATTR,
  158. [1, 2, 4, 5, 6, 7, 8]).
  159. -define(RANK_LIMIT_WAVE, 5).
  160. -define(MOD_GOD_DUN_SCORE, 2). %% 子类型 - 唤神副本每周最高积分
  161. -define(ETS_GOD_DUN_CLS_ROLE, ets_god_dun_cls_role).
  162. -define(SQL_ROLE_GOD_DUN_SELECT,
  163. <<"SELECT day_shop_list, day_time, week_shop_list, week_time, role_attrs FROM role_god_dun WHERE role_id = ~p">>).
  164. -define(SQL_ROLE_GOD_DUN_REPLACE,
  165. <<"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">>).
  166. -define(SQL_ROLE_ATTRE_SELECT,
  167. <<"SELECT role_attrs FROM role_god_dun WHERE role_id = ~p">>).
  168. -define(SQL_GOD_DUN_WAVE_SCORE_SELECT,
  169. <<"SELECT dun_id, wave, role_id, server_id, server_num, score, role_show FROM god_dun_wave_score">>).
  170. -define(SQL_BATCH_GOD_DUN_RANK_WAVE_SCORE_REPLACE,
  171. <<"REPLACE INTO god_dun_wave_score (dun_id, wave, role_id, server_id, server_num, score, role_show) VALUES ~ts">>).
  172. -define(SQL_BATCH_GOD_DUN_RANK_WAVE_SCORE_VAL,
  173. <<"(~p, ~p, ~p, ~p, ~p, ~p, '~ts')">>).
  174. -define(SQL_GOD_DUN_WAVE_SCORE_REPLACE,
  175. <<"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">>).
  176. -define(SQL_GOD_DUN_WAVE_SCORE_DELETE,
  177. <<"DELETE FROM god_dun_wave_score WHERE dun_id = ~p and wave = ~p and role_id = ~p">>).
  178. -define(SQL_DELETE_DUN_RANK_WAVE_SCORE,
  179. <<"TRUNCATE TABLE god_dun_wave_score">>).
  180. -define(SQL_GOD_DUN_SELECT,
  181. <<"SELECT role_id, server_id, server_num, score, role_show, pass FROM god_dun_score">>).
  182. -define(SQL_BATCH_REPLACE_GOD_DUN_RANK,
  183. <<"REPLACE INTO god_dun_score (role_id, server_id, server_num, score, role_show, pass) VALUES ~ts">>).
  184. -define(SQL_BATCH_GOD_DUN_RANK_VAL,
  185. <<"(~p, ~p, ~p, ~p, '~ts', ~p)">>).
  186. -define(SQL_ROLE_SCORE_REPLACE,
  187. <<"REPLACE INTO god_dun_score SET role_id = ~p, server_id = ~p, server_num = ~p, score = ~p, role_show = ~ts, pass = ~p">>).
  188. -define(SQL_DELETE_DUN_RANK_SCORE,
  189. <<"TRUNCATE TABLE god_dun_score">>).
  190. -define(SQL_GOD_LIVE_ROLE_SELECT,
  191. <<"SELECT role_id, server_id, time FROM role_god_dun_live">>).
  192. -define(SQL_GOD_LIVE_ROLE_REPLACE,
  193. <<"REPLACE INTO role_god_dun_live SET role_id = ~p, server_id = ~p, time = ~p">>).
  194. -define(SQL_DELETE_LIVE_ROLE,
  195. <<"TRUNCATE TABLE role_god_dun_live">>).