|
|
- %% ---------------------------------------------------------------------------
- %% @doc 多人副本头文件.
- %% @author zengzy
- %% @since 2019-03-26
- %% ---------------------------------------------------------------------------
-
- %% 组队成员人数上限
- -define(DUN_MULTI_TEAM_MAX_MEMBER, 3).
-
- -define(DUN_INVITER_LEN, 5).
-
- %% 保存每种组队类型有哪些组队 #dun_multi_room{}
- -define(DUN_MULTI_HALL_ETS, ets_dun_multi_hall).
-
- %% 保存组队数据 #dun_multi_team{}
- -define(DUN_MULTI_TEAM_ETS, ets_dun_multi_team).
-
- %% 保存角色加入哪个组队在哪个副本里面 #dun_multi_role{}
- %% 保存下线前在哪个副本上线回到之前的副本
- -define(DUN_MULTI_ROLE_ETS, ets_dun_multi_role).
-
- %% 保存组队自增Id
- -define(DUN_MULTI_TEAM_ID_ETS, ets_dun_multi_team_id).
-
- %% 保存跨服多人副本大厅进程Pid
- -define(DUN_MULTI_HALL_PID_ETS, ets_dun_multi_hall_pid).
-
- %% 活动大类
- %% 活动子类和副本id不能相同
- -define(ACT_TYPE_CRUSADE, 61). %% 活动大类1 - 讨伐副本
-
- %%新手每次匹配时间
- -define(FIRST_TIME, 2).
-
- %% 成员状态变更通知(全队广播)
- -define(DUNMULTITEAM_NOTIFY_LEAVE, 1). %% 成员退出
- -define(DUNMULTITEAM_NOTIFY_KICK_OUT, 2). %% 成员被踢
- -define(DUNMULTITEAM_NOTIFY_IS_READY, 3). %% 准备状态 "1"准备 or "0"不准备
- -define(DUNMULTITEAM_NOTIFY_START_DUN, 4). %% 开启副本
- -define(DUNMULTITEAM_NOTIFY_CHANGE_LEADER, 5). %%委任队长
- -define(DUNMULTITEAM_NOTIFY_MATCH, 6). %% 队伍匹配状态
-
- -define(MATCH_TIME, 2000). %%假人轮训匹配时间
- -define(MATCH_ONE, 14). %%匹配第一个假人时间
- -define(MATCH_TWO, 2). %%匹配第二个假人时间
-
- -define(DUN_REAL, 0). %% 真实玩家
- -define(DUN_DUMMY, 1). %% 假人
- -define(DUN_MIRROR, 2). %% 玩家镜像
-
-
- %%副本id进程的state
- -record(state, {
- id = 0, %% 副本Id或其他类型
- match_ref = undefined %% 假人匹配定时器
- }).
-
- %% 多人副本大厅房间 一个类型一个room
- -record(dun_multi_room, {
- id = 0 %% 副本Id或其他类型
- ,teams = [] %% 组队列表[#dun_multi_team_sub{}]
- }).
-
- %% 多人副本组队
- -record(dun_multi_team, {
- id = 0 %% 组队Id
- ,dun_id = 0 %% 副本Id
- ,sub_type_dun = 0 %% 活动子类副本id
- ,power = 0 %% 战力要求
- ,password = 0 %% 0|密码纯数字6位
- ,is_auto_start = 0 %% 满员后是否自动开始副本0:不是1:是
- ,is_start = 0
- ,min_lv = 0
- ,members = [] %% 成员列表[#dun_multi_member{}]
- ,handle_mb = {[], 0} %% 队伍操作{[玩家id],缓冲时间}
- ,match_time = 0 %% 匹配时间
- ,is_match = 0 %% 匹配状态:1匹配|0不匹配
- ,max_num = 0 %% 最大人数
- ,is_gm = 0 %% gm创建队伍
- ,first_ref = 0 %% 新手定时器
- ,vote_ref = undefined %% 强制开始定时
- ,vote_list = {[], []} %% 赞成列表,反对列表
- ,need_approve = 2 %% 1需要|2不需要
- ,req_list = [] %% 申请列表
- ,single_mode = 0 %% 0默认|1单人模式
- }).
-
- %% 多人副本组队简明信息
- -record(dun_multi_team_sub, {
- id = 0 %% 组队Id
- ,leader_id = 0 %% 队长id
- ,leader_name = 0 %% 队长名
- ,leader_num = 0 %% 队长剩余次数
- ,server_id = 0 %% 角色所在的服务器id
- ,server_num = 0 %% 所在的服标示
- ,power = 0 %% 战力要求
- ,password = 0 %% 0|密码纯数字6位
- ,is_auto_start = 0 %% 满员后是否自动开始副本0:不是1:是
- ,min_lv=0
- ,is_start = 0
- ,member_num = 0 %% 成员数量
- }).
-
- %% 多人副本组队自增Id
- -record(dun_multi_team_id, {
- id = 0 %% 组队自增Id
- }).
-
- %% 多人副本大厅进程Pid
- -record(dun_multi_hall_pid, {
- id = 0 %% 副本id或其他类型
- ,dun_type = 0 %% 副本类型
- ,pid = 0 %% 多人副本大厅进程Pid
- }).
-
- %% 多人副本角色数据
- %% 重登使用
- -record(dun_multi_role, {
- id = 0 %% 角色Id
- ,team_id = 0 %% 组队Id
- ,dun_id = 0 %% 副本Id
- ,dun_pid = 0 %% 副本Pid
- ,is_leader = 0
- }).
-
- %% 角色#player_status{}上的多人副本数据
- -record(role_dun_multi, {
- team_id = 0 %% 组队Id
- ,dun_id = 0 %% 副本Id
- ,dun_pid = 0 %% 副本Pid
- ,inviter_list = []
- ,is_leader = 0
- ,mirror_help = [] %% 镜像协助队伍列表
- ,req_list = [] %% 队伍申请列表
- ,is_match = 0 %% 1匹配中|0无匹配
- ,merge_type = 0 %% 合并次数类型 0否|1是
- }).
-
- %% 多人副本组队成员
- -record(dun_multi_member, {
- id = 0 %% 角色Id
- ,server_id = 0 %% 角色所在的服务器id
- ,server_num = 0 %% 所在的服标示
- ,node = 0 %% 角色所在节点
- ,figure=undefined %% 外形信息
- ,hp_lim = 0 %% 血量上限
- ,power = 0 %% 战力
- ,pid = 0 %% 角色Pid
- ,scene = 0 %% 原场景id
- ,scene_pool_id = 0 %% 原场景进程id
- ,copy_id = 0 %% 原CopyId
- ,x = 0 %% 原x坐标
- ,y = 0 %% 原y坐标
- ,sid = 0 %% 角色发送协议进程pid
- ,is_leader = 0 %% 队长标识0:不是1:是
- ,is_ready = 0 %% 是否匹配0:取消匹配|1:开始匹配
- ,help_type = 0 %% 0非协助|1协助
- ,add_times = 0 %% 增加的副本次数
- ,daily_times = 0 %% 今天参加次数
- ,help_times = 0 %% 助战次数
- ,is_dummy = 0 %% 假人标志 0不是|1假人|2玩家的假人镜像
- ,is_first = 0 %% 副本是否首通
- ,attr_list = [] %% 基础属性列表
- ,skills = [] %% 技能
- ,skills_passive = [] %% 被动技能
- ,typical_data = #{}
- ,action_lock = 0 %% 是否处于其他活动中(仅在队员处于队伍中才更新状态锁数据)
- ,guard_dun_pass = [] %% 守卫信标通关记录
- }).
-
-
- %% 多人副本组队配置
- -record(base_dun_multi_team_cfg, {
- type = 0, %% 跨服组队活动类型
- type_name = "", %% 活动类型名称
- sub_type = 0, %% 活动子类型
- sub_type_name = "", %% 活动子类型名称
- dun_id = 0, %% 副本id
- scene = 0, %% 场景id
- condition = [] %% 条件
- }).
-
-
|