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

113 行
3.5 KiB

  1. %% ----------------------
  2. %% desc :藏宝图
  3. %% author :hh&tyl
  4. %% time :21/02/22
  5. %% ----------------------
  6. -define(NORMAL_TREASURE, 1). %% 普通藏宝图
  7. -define(ADVANCE_TREASURE, 2). %% 高级藏宝图
  8. -define(TREASURE_QUIZ, 1). %% 答题
  9. -define(TREASURE_SHOP, 2). %% 限时商城
  10. -define(TREASURE_BOSS, 3). %% 宝藏boss
  11. -define(TREASURE_MONOPOLY, 4). %% 开宝箱
  12. -define(TREASURE_TURNTABLE, 5). %% 高级转盘
  13. -define(TREASURE_MAP_DAILY_EVENT_COUNT, 1). %% 秘闻事件单日触发次数
  14. -define(TREASURE_MAP_TYPE_MAX, 1). %% 每种藏宝图类型单日使用次数
  15. -define(TREASURE_MAP_MON, data_treasure_map:get_kv(mon_id)). %% 藏宝图boss
  16. -define(IS_TREAURE_MAP_MON(MonId), MonId == ?TREASURE_MAP_MON).
  17. %% 事件结束定时
  18. -define(QUIT_TIME, 35000).
  19. -define (USE_EXPIRE_TIME, 600).
  20. %% 珍宝事件道具过期定时
  21. -define(SHOP_EXPIRE, 400).
  22. -record (role_treasure_map, {
  23. target = [], %% 目标场景数据 [{场景, X, Y}]
  24. time = 0, %% 开始时间
  25. type = 0, %% 此次使用的宝图类型
  26. last_scene_info = [], %% 上一次坐标缓存
  27. map = #{} %% #{1 => 自定义普通藏宝图数据, 2 => 自定义高级藏宝图数据}
  28. }).
  29. -record(advanced_map, {
  30. reward_id = 0 %% 本次奖励Id
  31. ,rewards = [] %% 本次奖励列表
  32. ,tv_type = 0 %% 传闻类型
  33. ,times = 0 %% 月度抽取次数(p.s.:计算月度奖励)
  34. }).
  35. -record (normal_map, {
  36. event_id = 0, %% 事件id
  37. start_time = 0, %% 事件开始时间
  38. force_ref = undefined, %% 强制关闭定时
  39. tv_type = 0, %% 传闻类型
  40. event_data = #{}, %% 事件其余数据
  41. limit_shop_info = [] %% 珍宝限时可购买的商品列表
  42. }).
  43. %% ---------------------------------- 配置 ----------------------------------------
  44. %% 藏宝图奖励配置表
  45. -record(base_treasure_map_rewards, {
  46. reward_id = 0 %% 奖励Id
  47. ,type = 0 %% 类型 1-普通 2-高级藏宝图
  48. ,min_lv = 0 %% 最低等级
  49. ,max_lv = 0 %% 最高等级
  50. ,min_vip = 0 %% vip下限
  51. ,get_weight = 0 %% 实际抽奖权重
  52. ,show_weight = 0 %% 展示权重
  53. ,notice = 0 %% 是否传闻 0-否 1-本服 2-跨服(高级藏宝图终极大奖)
  54. ,rewards = [] %% 奖励
  55. }).
  56. %% 藏宝图坐标表
  57. -record (base_treasure_map_pos, {
  58. pos_id = 0, %% 坐标id
  59. pos = [] %%
  60. }).
  61. %% 藏宝图秘闻奖励表
  62. -record (base_treasure_event_rewards, {
  63. reward_id = 0, %% 奖励Id
  64. type = 0, %% 事件类型
  65. min_lv = 0,
  66. max_lv = 0,
  67. min_vip = 0,
  68. weight = 0,
  69. rewards = []
  70. }).
  71. %% 藏宝图限时商城表
  72. -record (base_treasure_map_door, {
  73. reward_id = 0,
  74. min_lv = 0,
  75. max_lv = 0,
  76. weight = 0,
  77. rewards = [] %% [{{奖励1,数量},货币类型,价格,限购数量}]
  78. }).
  79. %% 藏宝图答题表
  80. -record (base_treasure_map_quiz, {
  81. id = 0,
  82. question = "",
  83. option = [],
  84. answer = 0
  85. }).
  86. -define (SQL_SELECT_TREASURE_SHOP_INFO,
  87. <<"SELECT time, limit_shops FROM role_treasure_map_shop_info WHERE role_id = ~p">>).
  88. -define (SQL_DELETE_TREASURE_SHOP_INFO,
  89. <<"DELETE FROM role_treasure_map_shop_info WHERE role_id = ~p AND time <= ~p">>).
  90. -define (SQL_REPLACE_TREASURE_SHOP_INFO,
  91. <<"REPLACE INTO role_treasure_map_shop_info SET role_id = ~p, time = ~p, limit_shops = ~ts">>).