%% ----------------------
|
|
%% desc :藏宝图
|
|
%% author :hh&tyl
|
|
%% time :21/02/22
|
|
%% ----------------------
|
|
|
|
-define(NORMAL_TREASURE, 1). %% 普通藏宝图
|
|
-define(ADVANCE_TREASURE, 2). %% 高级藏宝图
|
|
|
|
-define(TREASURE_QUIZ, 1). %% 答题
|
|
-define(TREASURE_SHOP, 2). %% 限时商城
|
|
-define(TREASURE_BOSS, 3). %% 宝藏boss
|
|
-define(TREASURE_MONOPOLY, 4). %% 开宝箱
|
|
-define(TREASURE_TURNTABLE, 5). %% 高级转盘
|
|
|
|
-define(TREASURE_MAP_DAILY_EVENT_COUNT, 1). %% 秘闻事件单日触发次数
|
|
|
|
-define(TREASURE_MAP_TYPE_MAX, 1). %% 每种藏宝图类型单日使用次数
|
|
|
|
-define(TREASURE_MAP_MON, data_treasure_map:get_kv(mon_id)). %% 藏宝图boss
|
|
|
|
-define(IS_TREAURE_MAP_MON(MonId), MonId == ?TREASURE_MAP_MON).
|
|
|
|
%% 事件结束定时
|
|
-define(QUIT_TIME, 35000).
|
|
|
|
-define (USE_EXPIRE_TIME, 600).
|
|
|
|
%% 珍宝事件道具过期定时
|
|
-define(SHOP_EXPIRE, 400).
|
|
|
|
-record (role_treasure_map, {
|
|
target = [], %% 目标场景数据 [{场景, X, Y}]
|
|
time = 0, %% 开始时间
|
|
type = 0, %% 此次使用的宝图类型
|
|
last_scene_info = [], %% 上一次坐标缓存
|
|
map = #{} %% #{1 => 自定义普通藏宝图数据, 2 => 自定义高级藏宝图数据}
|
|
}).
|
|
|
|
-record(advanced_map, {
|
|
reward_id = 0 %% 本次奖励Id
|
|
,rewards = [] %% 本次奖励列表
|
|
,tv_type = 0 %% 传闻类型
|
|
,times = 0 %% 月度抽取次数(p.s.:计算月度奖励)
|
|
}).
|
|
|
|
-record (normal_map, {
|
|
event_id = 0, %% 事件id
|
|
start_time = 0, %% 事件开始时间
|
|
force_ref = undefined, %% 强制关闭定时
|
|
tv_type = 0, %% 传闻类型
|
|
event_data = #{}, %% 事件其余数据
|
|
limit_shop_info = [] %% 珍宝限时可购买的商品列表
|
|
}).
|
|
|
|
%% ---------------------------------- 配置 ----------------------------------------
|
|
%% 藏宝图奖励配置表
|
|
-record(base_treasure_map_rewards, {
|
|
reward_id = 0 %% 奖励Id
|
|
,type = 0 %% 类型 1-普通 2-高级藏宝图
|
|
,min_lv = 0 %% 最低等级
|
|
,max_lv = 0 %% 最高等级
|
|
,min_vip = 0 %% vip下限
|
|
,get_weight = 0 %% 实际抽奖权重
|
|
,show_weight = 0 %% 展示权重
|
|
,notice = 0 %% 是否传闻 0-否 1-本服 2-跨服(高级藏宝图终极大奖)
|
|
,rewards = [] %% 奖励
|
|
}).
|
|
|
|
|
|
%% 藏宝图坐标表
|
|
-record (base_treasure_map_pos, {
|
|
pos_id = 0, %% 坐标id
|
|
pos = [] %%
|
|
}).
|
|
|
|
|
|
%% 藏宝图秘闻奖励表
|
|
-record (base_treasure_event_rewards, {
|
|
reward_id = 0, %% 奖励Id
|
|
type = 0, %% 事件类型
|
|
min_lv = 0,
|
|
max_lv = 0,
|
|
min_vip = 0,
|
|
weight = 0,
|
|
rewards = []
|
|
}).
|
|
|
|
%% 藏宝图限时商城表
|
|
-record (base_treasure_map_door, {
|
|
reward_id = 0,
|
|
min_lv = 0,
|
|
max_lv = 0,
|
|
weight = 0,
|
|
rewards = [] %% [{{奖励1,数量},货币类型,价格,限购数量}]
|
|
}).
|
|
|
|
%% 藏宝图答题表
|
|
-record (base_treasure_map_quiz, {
|
|
id = 0,
|
|
question = "",
|
|
option = [],
|
|
answer = 0
|
|
}).
|
|
|
|
|
|
-define (SQL_SELECT_TREASURE_SHOP_INFO,
|
|
<<"SELECT time, limit_shops FROM role_treasure_map_shop_info WHERE role_id = ~p">>).
|
|
|
|
-define (SQL_DELETE_TREASURE_SHOP_INFO,
|
|
<<"DELETE FROM role_treasure_map_shop_info WHERE role_id = ~p AND time <= ~p">>).
|
|
|
|
-define (SQL_REPLACE_TREASURE_SHOP_INFO,
|
|
<<"REPLACE INTO role_treasure_map_shop_info SET role_id = ~p, time = ~p, limit_shops = ~ts">>).
|