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

93 lines
4.4 KiB

%%------------------------------------------------------------------------------
%% @Module : tsmaps
%% @Author : xiaoxiang
%% @Created : 2017/04/24
%% @Description: 藏宝图
%%------------------------------------------------------------------------------
% err421_1_have_not_goods 不存在该藏宝图
% err421_2_not_xy 未到达藏宝地点
% err421_3_collec_wrong 采集失败
% err421_4_team_num_err 队伍人数不够2人
% err421_5_clue_not_enough 线索不够
% err421_6_not_team 队伍状态才能参与
% err421_7_not_num 队伍人数不够
% err421_8_lv_not 等级不够
% err421_9_not_scene 线索不在当前地图
% err421_10_not_same_time 不在同一支队伍中
%err421_11_not_same_guild 不在同一个帮会中
% err421_12_already_get 该线索已被发掘,请寻找其他线索
% err421_13_not_guild 请加入一个公会
% err421_14_not_clue 线索位置不正常,请继续寻找
% err421_15_already_get_tsmap 宝藏已被挖走
% err421_16_max_help 您今天的神秘宝图帮助奖励已到上限
% err421_17_not_same_guild 您与宝藏发布者不在同一个公会
% err421_18_collecting {1}正在挖宝,眼睛变成卢币形状
% err421_19_not_xy_extra {1}不在附近,无法挖宝
% err421_20_lv_not_extra {1}等级不足
% err421_26_dun_level 当前副本阶段禁止进入
%% -----------------------------------------------------------------------------
-define(EVENT_TSMAPS_REWARD, 1). %% 1奖励
-define(EVENT_TSMAPS_HOLE, 2). %% 2洞穴
-define(EVENT_TSMAPS_MON, 3). %% 3怪物
-define(TSMAPS_STATE_WAIT, 0). %% 藏宝图活动进行状态 0未进行
-define(TSMAPS_STATE_NORMAL, 1). %% 藏宝图活动进行状态 0未进行 普通进行中
-define(TSMAPS_STATE_FINE, 2). %% 藏宝图活动进行状态 0未进行 精致进行中
-define(TSMAPS_STATE_MYSTICAL, 3). %% 藏宝图活动进行状态 0未进行 神秘进行中
-define(TSMAP_COLLECT_NONE, 0). %% 无操作
-define(TSMAP_COLLECT_START, 1). %% 开始挖取宝藏
-define(TSMAP_COLLECT_END, 2). %% 挖取宝藏结束
-define(TSMAP_MIN_LV, 30). %% 最低等级
-define(TSMAP_INVITE_MAX, 10). %% 最大邀请人数
-define(TIME_OUT_KILL_MON, (30*60)).
-define(MYSTICAL_CLUE_MAX, 3). %% 神秘宝藏线索
-define(MAX_MYSTICAL_HELP, 5). %% 神秘宝藏最大帮助次数
-define(TSMAP_CONFIG_XY, 4). %% 采集范围400像素
-define(TSMAP_CONFIG_LV_LIMIT, 5). %% 邀请玩家进入神秘洞穴等级
-define(TSMAP_CONFIG_COLLECT_NUM,6). %% [{采集id,数量}...],可采集数量上限
%% 神秘宝藏地图表
-record(base_tsmaps, {
id = 0,
lv = [],
maps = []
}).
%% 藏宝图触发事件配置表
-record(base_tsmaps_event, {
id = 0,
map_type = 0, %% 藏宝图类型 1普通,2精致,3神秘
event = [], %% 触发事件 1奖励,2洞穴,3怪物;[{编号,权重}]
holder_lv = 0, %% 持有者等级
holder_reward = [], %% 持有者奖励 [{奖励品级,权重,奖励列表},{}...]
help_reward = [], %% 帮助者奖励 [{奖励品级,奖励列表},{}...]
hole = [], %% 神秘洞穴 [{权重,[副本1,副本2]},{权重,[副本1]}]
mon = [], %% 怪物 [{权重,怪物id,数量},{}...]
holder_mon_reward = [], %% 持有者杀怪奖励
help_mon_reward = [] %% 帮助者杀怪奖励
}).
-record(tsmap,{
subtype = 0, %% 藏宝图类型
scene = 0,
pos = [], %% 藏宝图坐标 [{id,x,y,role_id, name}]
produce_time = 0,
time = 0 %% 开始挖取的时间戳
}).
-record(status_tsmaps, {
tsmap_maps = maps:new(),
hole=[],
goods_num = maps:new()
}).
-define(sql_get_tsmap_select, <<"select goods_id, produce_time, subtype, scene, pos from tsmap_pos where role_id=~p">>).
-define(sql_tsmap_replace, <<"replace into tsmap_pos (role_id, goods_id, produce_time, subtype, scene, pos) values (~p, ~p, ~p, ~p, ~p, '~s')">>).
-define(sql_delete_tsmap, <<"delete from tsmap_pos where goods_id=~p">>).