%%%-------------------------------------------------------------------
%%% @author liushl
%%% @doc
%%%     护送玩法
%%% @end
%%%-------------------------------------------------------------------
-author("liushl").

% -define(ETS_CONVOY_ROLE, ets_convoy_role).  %% 存储护送数据
%% 每日计数器
-define(CONVOY_COUNTER_DAILY_CONVOY, 1).       %% 每日护送次数

%% 最大次数
-define(CONVOY_MAX_COUNT, data_convoy:get_convoy_kv(daily_convy_times)).

%% 护送阶段
-define(CONVOY_STAGE_ONE,  1).  %% 第一阶段，走完后进入3，等待前端申请结算
-define(CONVOY_STAGE_TWO,  2).  %% 第二阶段

%% 结算类型
-define(CONVOY_SETTLEMENT_PERFECT, 1).      %% 完美
-define(CONVOY_SETTLEMENT_OVERDUE, 2).      %% 超时
-define(CONVOY_SETTLEMENT_CANCEL,  3).      %% 取消护送

%% 玩家当前护送信息存于ETS表
-record(ets_convoy_role, {
    role_id = 0
    , begin_time = 0        %% 开始时间
    , stage = 1             %% 护送阶段 1第一阶段|2第二阶段, 第一阶段结束到第二阶段开始之间会置为3
    , convoy_id = 0         %% 当前护送id
    , scene = 0             %% 对象所在场景
    , scene_pool = 0        %% 对象所在场景分线
    , is_skill = 0          %% 已使用祝福技能次数
    , end_time = 0          %% 超时时间
}).

-record(role_convoy, {
    convoy_id = 0         %% 护送id
    , refresh_count = 0   %% 当前刷新次数，刷新至高一品质后重置
    , convoy_status = 0   %% 是否处于护送中
    , start_time = 0
    , stage = 0           %% 护送阶段
    % , scene_info = []     %% [{scene_id, scene_pool, x, y}]
    , pray_val = 0        %% 当前祝福值
    , ref = undefined     %% 超时定时
    , is_double = 0       %% 除了双倍阶段自己选择的双倍状态
}).

%% 配置
-record(base_convoy_object,{
    id,
    name,
    upgrade_cost,
    next_id,
    award,
    stage_one_ratio,
    overdue_ratio,
    up_next_val,        %% 提升到下一阶所需祝福值
    up_next_weight      %% 提升到下一阶概率(万分比)
}).


-define (SELECT_CONVOY_INFO, 
    <<"SELECT convoy_id, convoying, start_time, stage, pray_val, is_double FROM role_convoy WHERE role_id = ~p">>).

-define (REPLACE_CONVOY_INFO, 
    <<"REPLACE INTO role_convoy SET role_id = ~p, convoy_id = ~p, convoying = ~p, start_time = ~p, stage = ~p, pray_val = ~p, is_double = ~p">>).

-define (UPDATE_CONVOY_INFO_STAGE, 
    <<"UPDATE role_convoy SET stage = ~p WHERE role_id = ~p">>).