%%%----------------------------------------------------------------------
%%% desc    :社团跑环协助
%%% module  :guild_run_assist.hrl
%%% author  :hh
%%% time    :21/04/14
%%%----------------------------------------------------------------------

%% 跑环协助公共服务协助数据
-record (run_assist_state, {
    timer_data = [],             %% 任务结束时间排序
    extra_data = #{}             %% 其他数据
    }).

-record (guild_run_assist_data, {
    guild_id = 0,
    data = #{}                  %% {sid => #assist_instance{}}
    }).

%% 一个协助
-record (assist_instance, {
    sid = 0,                    %% 协助id
    assist_type = 0,            %% 跑环协助类型
    module = undefined,         %% 模块
    start_time = 0,             %% 开始时间
    req_role = 0,               %% 发起人,概率自动触发
    res_role = [],              %% 协助者列表,一般是一个
    fail_role = [],             %% 失败者列表 不能再接此单
    extra_data = #{}            %% 自定义map
    }).

%% 玩家身上跑环协助简要数据
-record (role_guild_run_assist, {
    req_sid = #{},               %% 自己发起的协助请求 #{协助唯一id => #{assist_type => AssistType,...}}
    res_sid = 0,                 %% 自己响应的协助请求 协助唯一id
    extra_data = #{}             %% 自己响应的协助请求的数据#{assist_type => Data}
    }).

-record (base_guild_run_assist_quiz, {
    quiz_id = 0,
    content = "",
    answer = 0,
    min_lv = 0
    }).

%% 任务类型
-define (GUILD_RUN_ASSIST_QUIZ,      1).    %% 答题
-define (GUILD_RUN_ASSIST_BOSS,      2).    %% 击杀boss
-define (GUILD_RUN_ASSIST_CONVOY,    3).    %% 护送
-define (GUILD_RUN_ASSIST_PATCH,     4).    %% 拼图
-define (GUILD_RUN_ASSIST_MORA,      5).    %% 石头剪刀布
-define (GUILD_RUN_ASSIST_ANGRY_BIT, 6).    %% 愤怒比特


%% 日常计数器类型
-define (TRIGGER_ASSIST_COUNT_TYPE, 1).     %% 日常获得协助任务次数
-define (TAKE_ASSIST_COUNT_TYPE,    2).     %% 日常接取协助任务次数


-define (ETS_GUILD_RUN_ASSIST, ets_guild_run_assist).

-define (DICT_GUILD_RUN_ASSIST(RoleId), {dict_guild_run_assist, RoleId}).

%% 协助额外数据
-define (BOSS_POWER,     1).        %% boss战力
-define (END_TIME,       2).        %% 结束时间
-define (BOSS_ID,        3).        %% boss_id
-define (DUN_ID,         4).        %% 副本id
-define (SUPPORT_STATUS, 5).        %% 协助状态