%%----------------------------------------------------------------------------- %% @Module : smashed_egg %% @Author : Czc %% @Email : 389853407@qq.com %% @Created : 2018-03-01 %% @Description: 砸蛋 %%----------------------------------------------------------------------------- -define(RECORD_LEN, 20). %% 砸蛋记录长度 -define(SHOW_BEST_COUNT, 5). %% 显示奖励最好物品的数量 -define(EGG_NUM, 8). %% 金蛋的数量 -define(CFG_ALL_SMASHED_COST, 1). -define(CFG_MANUAL_REFRESH_COST, 2). -define(CFG_SMASHED_GOODS_ID, 3). -define(SMASHED_TYPE_ONE, 1). -define(SMASHED_TYPE_ALL, 2). -define(NOT_SMASHED, 0). -define(HAS_SMASHED, 1). -record(goods_reward_cfg, { id = 0, %% id min_wlv = 0, %% 世界等级下限 max_wlv = 0, %% 世界等级上限 weights = 0, %% 权重 goods_id = 0, %% 物品id goods_num = 0, %% 物品数量 effect = 0, %% 是否有特效 is_tv = 0, %% 是否传闻 is_rare = 0 %% 是否稀有 }). -record(cumulate_reward_cfg, { min_wlv = 0, %% 世界等级下限 max_wlv = 0, %% 世界等级上限 times = 0, %% 累计次数 reward = [] %% 奖励 }). -record(role_info, { key = {0, 0}, %% {活动主类型,活动子类型} role_id = 0, %% 玩家id online_time = 0, %% 累计在线时间 lfree_smashed_time = 0, %% 最后一次使用免费砸蛋的时间 refresh_times = 0, %% 今日刷新次数 add_refresh_times = 0, %% 全砸附赠的刷新次数 free_smashed_times = 0, %% 今日使用的免费砸蛋次数 smashed_times = 0, %% 累计砸蛋次数 eggs = [], %% 金蛋状态 cumulate_reward = [], %% 累计奖励的领取情况 已经领取的奖励id show_ids = [], %% 展示的奖励id列表 utime = 0, %% 数据更新时间 reward_list = [] %% 未领取奖励列表[{type,id,num}] }). -record(egg_info, { id = 0, status = 0, goods_id = 0, goods_num = 0, effect = 0 }). -record(act_state, { role_map = #{}, %% #{role_id => [#role_info{}]} record_map = #{} %% 抽奖记录 #{{活动主类型,活动子类型} => [{role_name, goods_id, num, time}]} }). -define(sql_select_smashed_egg, <<"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">>). -define(sql_save_smashed_egg, <<"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) values(~p, ~p, ~p, ~p, ~p, ~p, ~p, ~p, '~s', '~s', '~s', ~p)">>). -define(sql_delete_smashed_egg, <<"delete from player_smashed_egg where subtype = ~p">>). -define(sql_clear_smashed_egg, <<"truncate table player_smashed_egg">>). -define(sql_reset_smashed_egg, <<"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">>). -define(sql_save_smashed_egg_reward, "replace into player_smashed_egg_reward(role_id, subtype, goods_id, num) values"). % <<"replace into player_smashed_egg_reward(role_id, subtype, goods_id, num) values(~p, ~p, ~p, ~p)">>). -define(sql_select_smashed_egg_reward, <<"select goods_id, num from player_smashed_egg_reward where role_id = ~p and subtype = ~p">>). -define(sql_delete_smashed_reward, <<"delete from player_smashed_egg_reward where role_id = ~p and subtype = ~p">>). -define(sql_delete_smashed_reward_by_goods_id, <<"delete from player_smashed_egg_reward where role_id = ~p and subtype = ~p and goods_id = ~p">>).