源战役
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

124 řádky
4.5 KiB

%%%-------------------------------------------------------------------
%%% @author tyl
%%% @doc
%%% 樱花之礼-阶段抽奖头文件
%%% @end
%%% Created : 2021-03-10
%%%-------------------------------------------------------------------
%% 抽奖类型
-define(DRAW_TYPE_ONE, 1). %% 单抽
-define(DRAW_TYPE_TEN, 2). %% 十连抽
%% 日志类型
-define(LOG_TYPE_SERVER, 1). %% 全服记录
-define(LOG_TYPE_PERSON, 2). %% 个人记录
%% 日志缓存key
-define(LOG_KEY_SERVER(RoleId), {sakura_server_log, RoleId}). %% 暂时未使用
-define(LOG_KEY_PERSON(RoleId, SubType), {sakura_person_log, RoleId, SubType}).
%% 商城缓存key
-define(SAKURA_GOODS(RoleId, SubType), {sakura_goods, RoleId, SubType}).
%% 日志长度
-define(LOG_LEN_SERVER_RARE, 20). % 20
-define(LOG_LEN_SERVER_EXTREME, 10). % 10
-define(LOG_LEN_PERSON, 3). % 30
%% 是否传闻
-define(SAKURA_TV, 1).
%% 奖励珍稀度
-define(SAKURA_NORMAL_REWARD, 0). %% 普通
-define(SAKURA_RARE_REWARD, 1). %% 珍稀
-define(SAKURA_EXTREME_REWARD, 2). %% 极品
%% 活动数据
-record(sakura_data, {
lucky_value = 0 %% 源樱值(幸运值,用于计算抽奖物品权重)
,points = 0 %% 积分(用于商城兑换)
,free_times = 0 %% 已使用免费次数
}).
%% 玩家进程商城数据
-record(role_sakura_goods, {
sub_type = 0 %% 活动子Id
,goods_id = 0 %% 商城物品Id
,exc_time = 0 %% 兑换次数
}).
%% 个人日志
-record(sakura_per_log, {
key = 0 %% 键(非展示顺序,用于唯一确认记录) p.s. 从1开始每次+1
,reward = [] %% 奖励
,time = 0 %% 记录时间
}).
%% 全服日志
-record(sakura_server_log, {
key = 0 %% 自增Id(确认唯一记录)
,role_id = 0 %% 角色Id
,tag = 0 %% 奖励品质
,reward = [] %% 奖励
,time = 0 %% 记录时间
}).
%% ------------------------- 配置表 ---------------------------------
%% 键值表
-record(base_sakura_gift_key, {
id = 0
,suit = 0 %% 套数(不同活动子类型使用套数不同)
,key = ""
,value = ""
,desc = "" %% 描述
}).
%% 奖励表
-record(base_sakura_gift_reward, {
id = 0 %% 奖励Id
,act_id = 0 %% 活动子Id
,awards = [] %% 奖励
,weight = 0 %% 基础权重
,luck_start = 0 %% 源樱值下限
,luck_end = 0 %% 源樱值上限
,luck_weight = 0 %% 增加权重/每点源樱值(N/per M)
,is_tv = 0 %% 是否有传闻
,tag = 0 %% 标签(奖励档次)
}).
%% 积分兑换表
-record(base_sakura_gift_point_reward, {
id = 0 %% 奖励Id
,act_id = 0 %% 活动子Id
,goods = [] %% 兑换奖励
,limit = 0 %% 次数限制
,points = 0 %% 所需积分
}).
%% 积分补偿表
-record(base_sakura_gift_point_rest, {
suit = 0 %% 套数(同上)
,point_min = 0 %% 积分下限
,point_max = 0 %% 积分上限
,reward = [] %% 补偿奖励
}).
%% ------------------------- db ---------------------------------
%% 日志数据
%% 1. 全服日志
-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)">>).
-define(SQL_SELECT_SAKURA_SERVER_LOG, <<"select `id`, `role_id`, `tag`, `reward`, `time` from sakura_server_log where `sub_type` = ~p">>).
-define(SQL_DELETE_SAKURA_SERVER_LOG, <<"delete from sakura_server_log where `sub_type` = ~p and `id` = ~p">>).
-define(SQL_DELETE_ALL_SAKURA_SERVER_LOG, <<"delete from sakura_server_log where `sub_type` = ~p">>).
%% 2. 个人日志
-define(SQL_SAVE_SAKURA_PERSON_LOG, <<"replace into sakura_person_log (`role_id`, `sub_type`, `id`, `reward`, `time`) values (~p, ~p, ~p, '~ts', ~p)">>).
-define(SQL_SELECT_SAKURA_PERSON_LOG, <<"select `id`, `reward`, `time` from sakura_person_log where `role_id` = ~p and `sub_type` = ~p">>).
-define(SQL_DELETE_SQKURA_PERSON_LOG, <<"delete from sakura_person_log where `role_id` = ~p and `sub_type` = ~p and `id` = ~p">>).
-define(SQL_DELETE_ALL_SQKURA_PERSON_LOG, <<"delete from sakura_person_log where `sub_type` = ~p">>).
%% 商城数据
-define(SQL_SAVE_SAKURA_STORE, <<"replace into sakura_store (`role_id`, `sub_type`, `reward_id`, `times`) values (~p, ~p, ~p, ~p)">>).
-define(SQL_SELECT_SAKURA_STORE, <<"select `reward_id`, `times` from sakura_store where `role_id` = ~p and `sub_type` = ~p">>).
-define(SQL_DELETE_SQKURA_STORE, <<"delete from sakura_store where `sub_type` = ~p">>).