源战役
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 

421 lignes
15 KiB

%%%-----------------------------------
%%% @Module : lib_kf_1vn
%%% @Email : ming_up@foxmail.com
%%% @Created : 2018.1.24
%%% @Description: 跨服1vN 头文件
%%%-----------------------------------
-define(KF_1VN_FREE, 0). %% 空闲
-define(KF_1VN_SIGN, 1). %% 报名
-define(KF_1VN_RACE_1_PRE, 2). %% 淘汰赛准备
-define(KF_1VN_RACE_1, 3). %% 淘汰赛
-define(KF_1VN_RACE_2_PRE, 4). %% 挑战赛准备
-define(KF_1VN_RACE_2, 5). %% 挑战赛
-define(KF_1VN_END, 6). %% 挑战赛
-define(KF_1VN_STATE_WAIT, 0). %% 等待
-define(KF_1VN_STATE_BET, 2). %% 押注
-define(KF_1VN_STATE_MATCH, 1). %% 匹配
-define(KF_1VN_STATE_FIGHT, 3). %% 战斗
-define(KF_1VN_STATE_END, 4). %% 结束
-define(KF_1VN_ROLE_WEED, 0). %% 淘汰
-define(KF_1VN_ROLE_WAIT, 1). %% 等待战斗
-define(KF_1VN_ROLE_FIGHT, 2). %% 对战中
-define(KF_1VN_ROLE_SIGN, 3). %% 报名
-define(KF_1VN_ROLE_FAIL, 4). %% 擂主失败
-define (SIDE_CHALLENGER, 0). %% 挑战者
-define (SIDE_DEF, 1). %% 擂主
-define (KF_1VN_WIN_SIDE_A, 1). %% A方获胜
-define (KF_1VN_WIN_SIDE_B, 2). %% B方获胜
-define(KF_1VN_C_TYPE_PLAYER, 1). %% 真实玩家
-define(KF_1VN_C_TYPE_ROBOT, 2). %% 机器人
-define(KF_1VN_CFG_ENTER_LV, 1). %% 进入等级配置key
-define(KF_1VN_CFG_RACE_1_XY, 2). %% 资格赛双方出生坐标配置key
-define(KF_1VN_CFG_DEF_XY, 3). %% 擂主出生坐标配置key
-define(KF_1VN_CFG_CHALLENGER_XY, 4). %% 挑战者出生坐标配置key
-define(KF_1VN_CFG_PER_SCENE_XY, 5). %% 等待场景出生坐标配置key
-define(KF_1VN_CFG_BET_TIME, 6). %% 竞猜时间配置key
-define(KF_1VN_CFG_ACT_MIN_NUM, 7). %% 开活动的最低人数配置key
-define(KF_1VN_CFG_AREA_MIN_NUM, 8). %% 每个区域的最低人数配置key
-define(KF_1VN_CFG_AUCTION_MIN_LV, 9). %% 拍卖全服邮件最低等级(包含)
-define(KF_1VN_CFG_RACE_1_SCENE, 10). %% 资格赛战斗场景配置key
-define(KF_1VN_CFG_RACE_1_PRE_SCENE,11). %% 资格赛备战场景配置key
-define(KF_1VN_CFG_RACE_2_SCENE, 12). %% 挑战赛战斗场景配置key
-define(KF_1VN_CFG_RACE_2_PRE_SCENE,13). %% 挑战赛备战场景配置key
-define(KF_1VN_CFG_VOUCHER, 14). %% 代金卷id配置key
-define(KF_1VN_CFG_LOSER_SCORE, 15). %% 资格赛战败积分配置key
-define(KF_1VN_CFG_WINNER_SCORE, 16). %% 资格赛胜利积分配置key
-define(KF_1VN_CFG_RACE_1_TIMES, 17). %% 资格赛最多打几场
-define(KF_1VN_CFG_EXP_RATIO, 18). %% 擂主经验值加成
-define(KF_1VN_CFG_ALL_WIN_REWARD, 19). %% 擂主全胜奖励
-define(KF_1VN_CFG_AUCTION_START_TIME, 20).%% 拍卖启动时间
-define(KF_1VN_CFG_BET_COST, 21). %% 竞猜花费
-define(KF_1VN_CFG_ENTER_MATCH_TIME,22). %% 进场景剩余多少时间不匹配
-define(KF_1VN_CFG_OPEN_DAY, 23). %% 开服多少天后才能开启
-define(KF_1VN_CFG_COMBAT_POWER, 24). %% 单位评分战力
-define(KF_1VN_TYPE_RACE_1, 1). %% 资格赛
-define(KF_1VN_TYPE_RACE_2, 2). %% 挑战赛
-define(KF_1VN_LOSE, 1). %% 失败
-define(KF_1VN_WIN, 2). %% 胜利
-define(KF_1VN_ENTER, 1). %% 在场景中
-define(KF_1VN_QUIT, 0). %% 不在场景中
-define(KF_1VN_WAITING_TIME, 20). %% 战斗等待时间
-define(KF_1VN_EXP_ADD_TIME, 5000). %% 增加经验间隔 5s
-define(KF_1VN_WATCH_MAX_NUM, 100). %% 单场战斗观战人数上限
-define(KF_1VN_SEND_OUT_TIME, 60). %% 活动结束多少秒退出场景
-define(RACE_1_MATCH_COUNT, 2). %% 资格赛匹配到同一个人的次数
-define(RACE_2_MATCH_COUNT, 5). %% 挑战赛随机难度列表次数
-define(PRE_SCENE_XY_KEY, {621, pre_scene_xy_key}).
%% 配置-1vN活动开启时间
-record(kf_1vn_time_cfg, {
id = 0, %% 活动唯一id
open_week = [], %% 周几开启
signtime = {0, 0}, %% 报名开启时间
optime = {0, 0}, %% 活动开启时间
race_1_pre = 0, %% 资格赛准备时间(s)
race_1 = 0, %% 资格赛时间(s)
race_1_m_time = 0, %% 资格赛匹配时间(s)
race_1_b_time = 0, %% 资格赛战斗时间(s)
race_2_pre = 0, %% 挑战赛准备时间(s)
race_2 = 0, %% 挑战赛时间(s)
race_2_m_time = 0, %% 挑战赛匹配时间(s)
race_2_b_time = 0, %% 挑战赛战斗时间(s)
bet_time = 0 %% 竞猜时间(s)
}).
%% 配置-1vN分组
-record(kf_1vn_group, {
id=0, %% 自增id
hard=0, %% 难度评级
robot_args=0, %% 机器人系数
height=0 %% 人数权重
}).
%% 配置-1vN守擂匹配
-record(kf_1vn_race_2_match, {
stage=0, %% 阶段
area=0, %% 赛区
hard=0, %% 难度评级
c_num=0, %% 挑战者人数
hard_list = [], %% 难度评级列表
all_hard = [] %% 难度评级上下限
}).
%% 配置-1vN拍卖匹配
-record(kf_1vn_auction_cfg, {
id=0, %% 自增id
area=0, %% 赛区
goods=[], %% 物品列表
cost=[], %% 消耗
ser_award=[] %% 全服奖励
}).
%% 进程记录
%% 报名和竞猜记录
-record(kf_1vn_role_sign, {
server_id = 0, %% 服务器id
id = 0, %% 玩家id
name = "", %% 玩家名
server_name = "", %% 服务器名
lv = 0, %% 等级
area = 0, %% 赛区
battle_id = 0, %% 战斗id
bet_side=0, %% 竞猜哪边胜
combat_power=0, %% 战力
race_1_seed=0 %% 种子选手
}).
%% 1vN角色基本信息
-record(kf_1vn_role, {
id = 0, %% 玩家id
server_id=0, %% 服务器id
server_num=0, %% 服务器数
server_name = "", %% 服务器名
figure=undefined, %% 形象
attr=undefined, %% 属性
combat_power=0, %% 战力
score=0, %%分数
win=0, %% 胜利次数
race_1_times=0, %% 资格赛战斗次数
race_1_match=0, %% 资格赛匹配次数,影响匹配参数
race_1_match_record = [], %% 资格赛匹配记录[{role_id, time}]
race_1_seed = 0, %% 种子选手
win_streak= 0, %% 连胜次数
enter=0, %% 是否在场景中
area=0, %% 赛区
out=0, %% 是否在资格赛中被淘汰
pk=0, %% 是否在战斗中
pk_time = 0, %% 战斗结束时间
exp = 0, %% 已获取经验
pk_pid = undefined, %% 战斗进程
scene_pool_id = 0, %% 场景进程id
race_2_turn=0, %% 擂台赛轮数
race_2_time = 0, %% 擂台赛存活时间
race_2_lose=0, %% 是否已经输了擂台赛
race_2_match_heigh=0,%% 擂台赛匹配权重
race_2_side = 0, %% 擂台赛身份
race_2_bet_id = 0, %% 竞猜id
race_2_battle_id = 0,%% 擂台赛战斗id
watch_battle_id = 0, %% 观战id
match_challenger = 0, %% 是否被选为该轮比赛的挑战者 0否 1是
result = 0 %% 0未被选为挑战者,1挑战失败 2挑战胜利(用来排名用的)
}).
-record(kf_1vn_role_pk, {
type = 0, %% ?KF_1VN_C_TYPE_PLAYER|?KF_1VN_C_TYPE_ROBOT
id = 0, %% 玩家id
server_id = 0, %% 服务器id
name = "", %% 玩家名
server_num = 0, %% 服务器数
server_name = "", %% 服务器名
scene_pool_id=0, %% 场景进程id
career = 0, %% 职业
sex= 1, %% 性别
turn = 0, %% 转生
picture = "", %% 头像
picture_ver = 0, %% 头像版本
area = 0, %% 赛区
score = 0, %% 分数
win = 0, %% 胜负
win_streak = 0, %% 连胜
race_1_times = 0, %% 资格赛次数
attr=undefined, %% 属性
combat_power = 0, %% 战力
is_dead = 0, %% 是否死亡
hard = 0, %% 难度评级
enter = 0, %% 是否在场景中
lv = 0 %% 等级
}).
-record(kf_1vn_score_rank, {
rank = 0, %% 排名
id = 0, %% 玩家id
server_id=0, %% 服务器id
server_num=0, %% 服务器数
server_name = "", %% 服务器名
name="", %% 玩家名
guild_name="", %% 公会名
vip =0, %% vip等级
score=0, %% 分数
win=0, %% 胜利次数
lose=0, %% 失败次数
combat_power = 0, %% 战力
career=0 %% 职业
}).
%% 活动时间信息
-record(kf_1vn_time, {
sign_start = 0, %% 报名开始时间
race_1_pre_start = 0, %% 资格赛等待开始时间
race_1_start = 0, %% 淘汰赛开启时间
race_1_end = 0, %% 淘汰赛结束时间
race_2_pre_start = 0, %% 挑战赛准备开启时间
race_2_start = 0, %% 挑战赛开启时间
race_2_end = 0, %% 挑战赛结束时间
show = 0 %% 展示时长
}).
%% 活动数据
-record(kf_1vn_info, {
ac_id=0,
all_time = #kf_1vn_time{}, %% 整个活动开启的时间信息
stage = 0, %% 活动阶段:0空闲 1报名 2淘汰赛 3挑战赛准备 4挑战赛 5展示 6聊天时间
start_time = 0, %% 活动开启时间
end_time = 0, %% 活动结束时间(0表示动态结束)
state = 0, %% 活动状态(0空闲 1等待 2进行中 3押注 4战斗)
ref=undefined %% 定时器
}).
%% 1vN 擂台赛记录
-record(kf_1vn_race_2, {
def_list=[], %% 擂主id列表
challenger_list=[], %% 挑战者id列表
match_list=[], %% 匹配列表
battle_id = 1, %% 当前最大战斗id
bet_m=#{}, %% 竞猜map
def_rank=[], %% 擂主排行榜 格式 [#kf_1vn_def_rank{}]
challenage_rank = [] %% 挑战者排行榜 格式 [#kf_1vn_challenger_rank{}]
}).
%% 1vN对战(匹配)列表
-record(kf_1vn_race_2_match_info, {
battle_id = 0, %% 战斗id
status=0, %% 战斗状态
scene_pool_id=0, %% 场景进程id
copy_id=undefined,
def_role=undefined, %% 擂主信息 格式 #kf_1vn_role{}
challengers=[], %% 挑战者id 格式 [#kf_1vn_role{}]
battle_win=0, %% 战斗胜负 1:擂主胜 2:挑战者胜
watch_ids=[], %% 观战玩家id列表
watch_num=0 %% 观战玩家数量
}).
-record(kf_1vn_def_rank, {
rank = 0,
id = 0,
server_id=0,
server_num=0,
server_name = "",
name="",
guild_name="",
vip =0,
score=0,
race_2_lose=0,
race_2_turn=1,
race_2_time=0,
combat_power = 0,
career = 0,
enter=0
}).
-record(kf_1vn_challenger_rank, {
rank = 0,
id = 0,
server_id=0,
server_num=0,
name="",
guild_name="",
vip =0,
score=0,
combat_power = 0,
career = 0,
enter=0,
race_2_turn=1,
result = 0, %% 1失败 2胜利
race_2_time = 0 %% 存活时间
}).
%% 玩家记录
-record(status_kf1vn, {
area = 0,
def_type=0, %% 1擂主 2挑战者
turn = 0 %% 擂主存活轮次
}).
%% --------- mod_kf_1vn ---------------
%% 活动总状态
-record(act_state, {
ac_id = 0,
stage = 0,
sub_stage = 0,
optime = 0,
edtime = 0,
sub_edtime = 0,
area_list = [],
max_scene_pool = 0,
sign_num = 0,
sign_list = [], %% 报名信息 [{Id1, Lv},...]
role_m = #{}, %% 参加玩家信息(全区域) #{Area1 => [#kf_1vn_role{},...],...}
race_1_rank_m = #{}, %% 资格赛排行榜(全区域) #{Area1 => [#kf_1vn_score_rank{},...],...}
race_2_m = #{}, %% 挑战赛信息(全区域) #{Area1 => [#kf_1vn_race_2{},...],...}
def_num_m = #{},
seed_num_m = #{},
match_time = 0,
battle_time = 0,
match_ref = undefined,
match_turn = 1,
last_match_time = 0,
exp_ref = undefined,
sorted_sign_list = undefined, %% 有序的报名信息
max_power = 10000000
}).
%% ---------- mod_kf_1vn_auction ----------
%% 拍卖进程状态
-record(auction_state, {
issue=0,
stage=0,
auction_list=[],
follow_list=[],
ref = undefined,
optime = 0,
edtime = 0,
past_list=[] %% 往期记录
}).
-record(auction, {
id=0,
area = 0,
result=0,
last_price=0,
goods = [],
cost = [],
bidders = [], %% [#bidder{}, ...]
rank = [], %% [#bidder{}, ...]
min_rank_price = 0
}).
-record(bidder, {
id=0, %% 玩家id
server_id=0, %% 服id
server_num=0, %% 服数
name = "", %% 玩家名字
price = 0, %% 玩家拍卖价格(包含代金卷)
voucher = 0, %% 代金卷数量
payment_refs = [] %% 预付款单据引用
}).
-record(past_auction, {
issue=1,
server_num=0,
name="",
price=0,
goods=[]
}).
%% ------------- local_state ---------
-record(local_state, {
stage=0, %% 比赛阶段
sub_stage=0,%% 比赛子阶段
optime=0, %% 此阶段开启时间
edtime=0, %% 此阶段结束时间
sign_num=0, %% 报名人数
def_num_m = #{}, %% 擂主人数
sign_info = [], %% 本服报名名单 [{Id, 所属战区},....]
race_1_rank_m = #{}, %% 资格赛排行榜
def_rank_m = #{}, %% 擂主排行榜
challenger_rank_m = #{}, %% 挑战者排行榜
node = undefined,
auction_stage=0,
auction_edtime=0
}).
%% ------------ pk_state ------------
-record(pk_state, {
stage = 0,
area = 0,
battle_id = 0,
side_a = undefined, %% #kf_1vn_role_pk{}
side_b_list = [], %% [#kf_1vn_role_pk{},...]
battle_time = 0,
loading_time = 0,
is_end = 0,
scene_id=0,
scene_pool_id=0,
match_turn = 0,
start_time = 0,
optime=0,
ref = undefined,
max_power = 10000000,
ready_time = 0,
result = 0 %% 获胜方 1-A方 2-B方
}).