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