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

%%-----------------------------------------------------------------------------
%% @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">>).