源战役
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

123 satır
4.5 KiB

4 hafta önce
  1. %%%-------------------------------------------------------------------
  2. %%% @author tyl
  3. %%% @doc
  4. %%% 樱花之礼-阶段抽奖头文件
  5. %%% @end
  6. %%% Created : 2021-03-10
  7. %%%-------------------------------------------------------------------
  8. %% 抽奖类型
  9. -define(DRAW_TYPE_ONE, 1). %% 单抽
  10. -define(DRAW_TYPE_TEN, 2). %% 十连抽
  11. %% 日志类型
  12. -define(LOG_TYPE_SERVER, 1). %% 全服记录
  13. -define(LOG_TYPE_PERSON, 2). %% 个人记录
  14. %% 日志缓存key
  15. -define(LOG_KEY_SERVER(RoleId), {sakura_server_log, RoleId}). %% 暂时未使用
  16. -define(LOG_KEY_PERSON(RoleId, SubType), {sakura_person_log, RoleId, SubType}).
  17. %% 商城缓存key
  18. -define(SAKURA_GOODS(RoleId, SubType), {sakura_goods, RoleId, SubType}).
  19. %% 日志长度
  20. -define(LOG_LEN_SERVER_RARE, 20). % 20
  21. -define(LOG_LEN_SERVER_EXTREME, 10). % 10
  22. -define(LOG_LEN_PERSON, 3). % 30
  23. %% 是否传闻
  24. -define(SAKURA_TV, 1).
  25. %% 奖励珍稀度
  26. -define(SAKURA_NORMAL_REWARD, 0). %% 普通
  27. -define(SAKURA_RARE_REWARD, 1). %% 珍稀
  28. -define(SAKURA_EXTREME_REWARD, 2). %% 极品
  29. %% 活动数据
  30. -record(sakura_data, {
  31. lucky_value = 0 %% 源樱值(幸运值,用于计算抽奖物品权重)
  32. ,points = 0 %% 积分(用于商城兑换)
  33. ,free_times = 0 %% 已使用免费次数
  34. }).
  35. %% 玩家进程商城数据
  36. -record(role_sakura_goods, {
  37. sub_type = 0 %% 活动子Id
  38. ,goods_id = 0 %% 商城物品Id
  39. ,exc_time = 0 %% 兑换次数
  40. }).
  41. %% 个人日志
  42. -record(sakura_per_log, {
  43. key = 0 %% 键(非展示顺序,用于唯一确认记录) p.s. 从1开始每次+1
  44. ,reward = [] %% 奖励
  45. ,time = 0 %% 记录时间
  46. }).
  47. %% 全服日志
  48. -record(sakura_server_log, {
  49. key = 0 %% 自增Id(确认唯一记录)
  50. ,role_id = 0 %% 角色Id
  51. ,tag = 0 %% 奖励品质
  52. ,reward = [] %% 奖励
  53. ,time = 0 %% 记录时间
  54. }).
  55. %% ------------------------- 配置表 ---------------------------------
  56. %% 键值表
  57. -record(base_sakura_gift_key, {
  58. id = 0
  59. ,suit = 0 %% 套数(不同活动子类型使用套数不同)
  60. ,key = ""
  61. ,value = ""
  62. ,desc = "" %% 描述
  63. }).
  64. %% 奖励表
  65. -record(base_sakura_gift_reward, {
  66. id = 0 %% 奖励Id
  67. ,act_id = 0 %% 活动子Id
  68. ,awards = [] %% 奖励
  69. ,weight = 0 %% 基础权重
  70. ,luck_start = 0 %% 源樱值下限
  71. ,luck_end = 0 %% 源樱值上限
  72. ,luck_weight = 0 %% 增加权重/每点源樱值(N/per M)
  73. ,is_tv = 0 %% 是否有传闻
  74. ,tag = 0 %% 标签(奖励档次)
  75. }).
  76. %% 积分兑换表
  77. -record(base_sakura_gift_point_reward, {
  78. id = 0 %% 奖励Id
  79. ,act_id = 0 %% 活动子Id
  80. ,goods = [] %% 兑换奖励
  81. ,limit = 0 %% 次数限制
  82. ,points = 0 %% 所需积分
  83. }).
  84. %% 积分补偿表
  85. -record(base_sakura_gift_point_rest, {
  86. suit = 0 %% 套数(同上)
  87. ,point_min = 0 %% 积分下限
  88. ,point_max = 0 %% 积分上限
  89. ,reward = [] %% 补偿奖励
  90. }).
  91. %% ------------------------- db ---------------------------------
  92. %% 日志数据
  93. %% 1. 全服日志
  94. -define(SQL_SAVE_SAKURA_SERVER_LOG, <<"replace into sakura_server_log (`sub_type`, `id`, `role_id`, `tag`, `reward`, `time`) values (~p, ~p, ~p, ~p, '~ts', ~p)">>).
  95. -define(SQL_SELECT_SAKURA_SERVER_LOG, <<"select `id`, `role_id`, `tag`, `reward`, `time` from sakura_server_log where `sub_type` = ~p">>).
  96. -define(SQL_DELETE_SAKURA_SERVER_LOG, <<"delete from sakura_server_log where `sub_type` = ~p and `id` = ~p">>).
  97. -define(SQL_DELETE_ALL_SAKURA_SERVER_LOG, <<"delete from sakura_server_log where `sub_type` = ~p">>).
  98. %% 2. 个人日志
  99. -define(SQL_SAVE_SAKURA_PERSON_LOG, <<"replace into sakura_person_log (`role_id`, `sub_type`, `id`, `reward`, `time`) values (~p, ~p, ~p, '~ts', ~p)">>).
  100. -define(SQL_SELECT_SAKURA_PERSON_LOG, <<"select `id`, `reward`, `time` from sakura_person_log where `role_id` = ~p and `sub_type` = ~p">>).
  101. -define(SQL_DELETE_SQKURA_PERSON_LOG, <<"delete from sakura_person_log where `role_id` = ~p and `sub_type` = ~p and `id` = ~p">>).
  102. -define(SQL_DELETE_ALL_SQKURA_PERSON_LOG, <<"delete from sakura_person_log where `sub_type` = ~p">>).
  103. %% 商城数据
  104. -define(SQL_SAVE_SAKURA_STORE, <<"replace into sakura_store (`role_id`, `sub_type`, `reward_id`, `times`) values (~p, ~p, ~p, ~p)">>).
  105. -define(SQL_SELECT_SAKURA_STORE, <<"select `reward_id`, `times` from sakura_store where `role_id` = ~p and `sub_type` = ~p">>).
  106. -define(SQL_DELETE_SQKURA_STORE, <<"delete from sakura_store where `sub_type` = ~p">>).