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

90 lines
4.0 KiB

  1. %%-----------------------------------------------------------------------------
  2. %% @Module : smashed_egg
  3. %% @Author : Czc
  4. %% @Email : 389853407@qq.com
  5. %% @Created : 2018-03-01
  6. %% @Description: 砸蛋
  7. %%-----------------------------------------------------------------------------
  8. -define(RECORD_LEN, 20). %% 砸蛋记录长度
  9. -define(SHOW_BEST_COUNT, 5). %% 显示奖励最好物品的数量
  10. -define(EGG_NUM, 8). %% 金蛋的数量
  11. -define(CFG_ALL_SMASHED_COST, 1).
  12. -define(CFG_MANUAL_REFRESH_COST, 2).
  13. -define(CFG_SMASHED_GOODS_ID, 3).
  14. -define(SMASHED_TYPE_ONE, 1).
  15. -define(SMASHED_TYPE_ALL, 2).
  16. -define(NOT_SMASHED, 0).
  17. -define(HAS_SMASHED, 1).
  18. -record(goods_reward_cfg, {
  19. id = 0, %% id
  20. min_wlv = 0, %% 世界等级下限
  21. max_wlv = 0, %% 世界等级上限
  22. weights = 0, %% 权重
  23. goods_id = 0, %% 物品id
  24. goods_num = 0, %% 物品数量
  25. effect = 0, %% 是否有特效
  26. is_tv = 0, %% 是否传闻
  27. is_rare = 0 %% 是否稀有
  28. }).
  29. -record(cumulate_reward_cfg, {
  30. min_wlv = 0, %% 世界等级下限
  31. max_wlv = 0, %% 世界等级上限
  32. times = 0, %% 累计次数
  33. reward = [] %% 奖励
  34. }).
  35. -record(role_info, {
  36. key = {0, 0}, %% {活动主类型,活动子类型}
  37. role_id = 0, %% 玩家id
  38. online_time = 0, %% 累计在线时间
  39. lfree_smashed_time = 0, %% 最后一次使用免费砸蛋的时间
  40. refresh_times = 0, %% 今日刷新次数
  41. add_refresh_times = 0, %% 全砸附赠的刷新次数
  42. free_smashed_times = 0, %% 今日使用的免费砸蛋次数
  43. smashed_times = 0, %% 累计砸蛋次数
  44. eggs = [], %% 金蛋状态
  45. cumulate_reward = [], %% 累计奖励的领取情况 已经领取的奖励id
  46. show_ids = [], %% 展示的奖励id列表
  47. utime = 0, %% 数据更新时间
  48. reward_list = [] %% 未领取奖励列表[{type,id,num}]
  49. }).
  50. -record(egg_info, {
  51. id = 0,
  52. status = 0,
  53. goods_id = 0,
  54. goods_num = 0,
  55. effect = 0
  56. }).
  57. -record(act_state, {
  58. role_map = #{}, %% #{role_id => [#role_info{}]}
  59. record_map = #{} %% 抽奖记录 #{{活动主类型,活动子类型} => [{role_name, goods_id, num, time}]}
  60. }).
  61. -define(sql_select_smashed_egg,
  62. <<"select role_id, subtype, online_time, lfree_smashed_time, refresh_times, add_refresh_times, free_smashed_times, smashed_times, eggs, cumulate_reward, show_ids, utime from player_smashed_egg">>).
  63. -define(sql_save_smashed_egg,
  64. <<"replace into player_smashed_egg(role_id, subtype, online_time, lfree_smashed_time, refresh_times, add_refresh_times, free_smashed_times, smashed_times, eggs, cumulate_reward, show_ids, utime)
  65. values(~p, ~p, ~p, ~p, ~p, ~p, ~p, ~p, '~s', '~s', '~s', ~p)">>).
  66. -define(sql_delete_smashed_egg,
  67. <<"delete from player_smashed_egg where subtype = ~p">>).
  68. -define(sql_clear_smashed_egg,
  69. <<"truncate table player_smashed_egg">>).
  70. -define(sql_reset_smashed_egg,
  71. <<"update player_smashed_egg set online_time = ~p, lfree_smashed_time = ~p, refresh_times = ~p, add_refresh_times = ~p, free_smashed_times = ~p, eggs = '~s', utime = ~p">>).
  72. -define(sql_save_smashed_egg_reward,
  73. "replace into player_smashed_egg_reward(role_id, subtype, goods_id, num) values").
  74. % <<"replace into player_smashed_egg_reward(role_id, subtype, goods_id, num) values(~p, ~p, ~p, ~p)">>).
  75. -define(sql_select_smashed_egg_reward,
  76. <<"select goods_id, num from player_smashed_egg_reward where role_id = ~p and subtype = ~p">>).
  77. -define(sql_delete_smashed_reward,
  78. <<"delete from player_smashed_egg_reward where role_id = ~p and subtype = ~p">>).
  79. -define(sql_delete_smashed_reward_by_goods_id,
  80. <<"delete from player_smashed_egg_reward where role_id = ~p and subtype = ~p and goods_id = ~p">>).