源战役
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 

114 satır
3.5 KiB

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