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