791 lines
34 KiB
Erlang
791 lines
34 KiB
Erlang
|
|
%%%-------------------------------------------------------------------
|
|||
|
|
%%% Created : 26. 十二月 2016 15:28
|
|||
|
|
%%%-------------------------------------------------------------------
|
|||
|
|
-module(proto_200).
|
|||
|
|
|
|||
|
|
%% API
|
|||
|
|
|
|||
|
|
-export([
|
|||
|
|
info/0
|
|||
|
|
,cfg/0
|
|||
|
|
]
|
|||
|
|
).
|
|||
|
|
-include("protocol.hrl").
|
|||
|
|
|
|||
|
|
info() -> {
|
|||
|
|
""
|
|||
|
|
,["combat.hrl", "formation.hrl"]
|
|||
|
|
}.
|
|||
|
|
|
|||
|
|
cfg() ->
|
|||
|
|
[
|
|||
|
|
#rpc{
|
|||
|
|
code = 20000
|
|||
|
|
,log_title = "战斗初始化数据"
|
|||
|
|
,req_desc = "战斗初始化数据"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "返回战斗初始化数据"
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{uint32, combat_map, "战斗地图"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20001
|
|||
|
|
,log_title = "战斗准备"
|
|||
|
|
,req_desc = "战斗准备"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "返回战斗初始化数据"
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20002
|
|||
|
|
,log_title = "回合开始"
|
|||
|
|
,req_desc = "回合开始"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "推送单位出手信息"
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, pos, "这次出手的单位位置"}
|
|||
|
|
,{uint32, owner_id, "拥有者id"}
|
|||
|
|
,{string, owner_srv_id, "拥有者服务器id"}
|
|||
|
|
,{array, single, all_alive, "所有存活单位位置", [
|
|||
|
|
{uint16, pos, "位置"}
|
|||
|
|
]}
|
|||
|
|
,{array, skill_play, skill_plays, "回合开始前触发的被动技能列表", ?p_g_set(skill_play,[
|
|||
|
|
{uint8, order, "技能顺序"}
|
|||
|
|
,{uint16, actor, "技能施法者位置"}
|
|||
|
|
,{uint16, target, "目标位置"}
|
|||
|
|
,{uint32, skill_bid, "技能id"}
|
|||
|
|
,{uint16, talk_pos, "说话的位置"}
|
|||
|
|
,{string, talk_content, "说话的内容"}
|
|||
|
|
,{array, effect_play, effect_play, "技能的效果", ?p_g_set(effect_play, [
|
|||
|
|
{uint16, order, "技能效果的顺序"}
|
|||
|
|
,{uint16, actor, "施法者位置"}
|
|||
|
|
,{uint16, target, "目标位置"}
|
|||
|
|
,{uint32, effect_bid, "效果bid"}
|
|||
|
|
,{uint8, is_hit, "是否命中 1:命中 0 : 没有命中"}
|
|||
|
|
,{uint8, is_crit, "是否暴击 1 暴击 0 : 没有暴击"}
|
|||
|
|
,{int32, hp_changed, "血量变化 正的是加血,负的是减血"}
|
|||
|
|
,{uint64, hp, "当前血量, 现在没有用到"}
|
|||
|
|
,{int8, is_dead, "是否死亡 1 死亡 0 没有死亡"}
|
|||
|
|
,{int8, camp_restrain, "是否阵营克制 1 是 0 没有"}
|
|||
|
|
,{array, buff_play, buff_list, "效果加的buff", ?p_g_set(buff_play, [
|
|||
|
|
{uint16, target, "buff的目标"}
|
|||
|
|
,{uint32, buff_bid, "buff bid"}
|
|||
|
|
,{uint16, remain_round, "剩余回合"}
|
|||
|
|
,{uint8, end_round, "结束的回合"}
|
|||
|
|
,{uint8, action_type, "作用类型 1 加buff 2 移除buff 3 生效 4:展示 5:增加buff不飘字"}
|
|||
|
|
,{uint8, change_type, "改变的数值类型 1 血量"}
|
|||
|
|
,{int32, change_value, "改变的数值, 数值代表的意义跟类型绑定"}
|
|||
|
|
,{int8, is_dead, "是否死亡 1 死亡 0 没有死亡"}
|
|||
|
|
,{uint32, id, "buff 唯一id"}
|
|||
|
|
])}
|
|||
|
|
,{array, fight_object_p, summon_list, "召唤列表", ?p_g_set(fight_object_p, [
|
|||
|
|
{uint16, pos, "位置唯一id"}
|
|||
|
|
,{uint8, group, "分组"}
|
|||
|
|
,{uint32, owner_id, "拥有者id"}
|
|||
|
|
,{string, owner_srv_id, "拥有者服务器id"}
|
|||
|
|
,{uint16, object_type, "单位类型 1 角色 2 伙伴 3 怪物 4:神器"}
|
|||
|
|
,{uint32, object_id, "角色id 或 伙伴 怪物 id"}
|
|||
|
|
,{uint32, object_bid, "伙伴 怪物 bid"}
|
|||
|
|
,{string, object_name, "名字"}
|
|||
|
|
,{uint8, star, "伙伴星星"}
|
|||
|
|
,{int8, camp_type, "阵营"}
|
|||
|
|
,{int8, sex, "性别"}
|
|||
|
|
,{int8, career, "职业"}
|
|||
|
|
,{uint32, lev, "等级"}
|
|||
|
|
,{uint64, hp, "血量"}
|
|||
|
|
,{uint64, hp_max, "最大血量"}
|
|||
|
|
,{int32, face_id, "头像"}
|
|||
|
|
,{array, skill_p, skills, "角色或着伙伴的技能", ?p_g_set(skill_p, [
|
|||
|
|
{uint32, skill_bid, "技能Bid"}
|
|||
|
|
,{int8, end_round, "技能冷却到的回合"}
|
|||
|
|
])}
|
|||
|
|
,{array, tuple, extra_data, "额外数据", [
|
|||
|
|
{uint8, extra_key, "1 光环 2:时装 3:神器幸运值 4:神器圣印值 5:皮肤 10:是否限时英雄 11:是否共鸣英雄(传原等级,非0则是)" }
|
|||
|
|
,{uint32, extra_value, "对应的值"}
|
|||
|
|
]}
|
|||
|
|
,{array, tuple, sprites, "布置的精灵", [
|
|||
|
|
{uint8, pos, "位置"}
|
|||
|
|
,{uint32, item_bid, "精灵bid(0:未布置)"}
|
|||
|
|
]}
|
|||
|
|
])}
|
|||
|
|
,{array, sub_effect_play, sub_effect_play_list, "子效果", [
|
|||
|
|
{uint16, sub_target, "子效果的目标"}
|
|||
|
|
,{uint32, sub_effect_id, "子效果"}
|
|||
|
|
,{int32, sub_hp_changed, "血量变化 正的是加血,负的是减血"}
|
|||
|
|
,{uint8, sub_is_hit, "是否命中 1:命中 0 : 没有命中, 飘抵抗"}
|
|||
|
|
,{uint32, sub_skill_id, "子效果所属的技能ID"}
|
|||
|
|
,{array, tuple, extra_effect, "额外的效果", [
|
|||
|
|
{uint16, extra_key, "1 暗伤"}
|
|||
|
|
,{int32, extra_param, "对应的值"}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
,{uint8, is_blind, "是否致盲 1:是,这个时候需要飘'未命中' 0 : 没有致盲"}
|
|||
|
|
,{uint32, skill_bid_of_effect, "技能id"}
|
|||
|
|
,{int32, actor_hp_changed, "援护者血量变化 正的是加血,负的是减血"}
|
|||
|
|
,{int8, actor_is_dead, "援护者是否死亡 1 死亡 0 没有死亡"}
|
|||
|
|
,{uint16, aid_actor, "援护者位置"}
|
|||
|
|
,{uint32, total_hurt, "总伤害, 目前是泰坦玩法用"}
|
|||
|
|
,{array, tuple, hurt_reward, "伤害对应的奖励", [
|
|||
|
|
{uint32, assets_id, "资产ID"}
|
|||
|
|
,{int32, assets_val, "值"}
|
|||
|
|
]}
|
|||
|
|
])}
|
|||
|
|
])}
|
|||
|
|
,{array, buff_play, round_buff, "回合触发的buff", ?p_g_get(buff_play)}
|
|||
|
|
,{uint32, countdown_time, "回合倒计时 0 表示不需要显示"}
|
|||
|
|
,{uint32, action_count, "当前出手总次数"}
|
|||
|
|
,{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{array, tuple, hallows_list, "神器冷却信息", [
|
|||
|
|
{uint8, group, "组"}
|
|||
|
|
,{uint8, val, "当前值"}
|
|||
|
|
]}
|
|||
|
|
,{array, tuple, sprite_cd_info, "精灵cd信息(2019.8.24 lfl新增,只处理精灵的cd)", [
|
|||
|
|
{uint16, pos, "精灵位置(41:A方精灵 42:B方精灵)"}
|
|||
|
|
,{array, skill_p, cd_info, "cd信息", [
|
|||
|
|
{uint32, skill_bid, "技能Bid"}
|
|||
|
|
,{int8, end_round, "技能冷却到的回合"}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20003
|
|||
|
|
,log_title = "使用技能的战斗播报"
|
|||
|
|
,req_desc = "使用技能的战斗播报"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply = [
|
|||
|
|
{uint64, hp, "血量"}
|
|||
|
|
,{uint64, hp_max, "最大血量"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20004
|
|||
|
|
,log_title = "使用技能的战斗播报"
|
|||
|
|
,req_desc = "使用技能的战斗播报"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "推送战斗播报"
|
|||
|
|
,reply = [
|
|||
|
|
{array, skill_play, skill_plays, "动技能列表", ?p_g_get(skill_play)}
|
|||
|
|
,{array, buff_play, round_buff, "回合触发的buff", ?p_g_get(buff_play)}
|
|||
|
|
,{uint32, action_count, "当前出手总次数"}
|
|||
|
|
,{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{array, tuple, star_list, "神装副本实时星数信息", [
|
|||
|
|
{uint8, id, "星数任务id"}
|
|||
|
|
,{uint8, val, "是否已完成(0:未完成 1:已完成)"}
|
|||
|
|
]}
|
|||
|
|
,{array, tuple, sprite_cd_info, "精灵cd信息(2019.8.24 lfl新增,只处理精灵的cd)", [
|
|||
|
|
{uint16, pos, "精灵位置(41:A方精灵 42:B方精灵)"}
|
|||
|
|
,{array, skill_p, cd_info, "cd信息", [
|
|||
|
|
{uint32, skill_bid, "技能Bid"}
|
|||
|
|
,{int8, end_round, "技能冷却到的回合"}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20005
|
|||
|
|
,log_title = "客户端播放完成"
|
|||
|
|
,req_desc = "客户端通知服务端技能效果播放完成"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20006
|
|||
|
|
,log_title = "战斗结果"
|
|||
|
|
,req_desc = "战斗结果"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "返回战斗结果"
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, result, "战斗结果 1 : 胜利 2:失败"}
|
|||
|
|
,{array, tuple, item_rewards, "道具奖励", [
|
|||
|
|
{uint32, bid, "物品bid"}
|
|||
|
|
,{uint8, is_bind, "是不是绑定 1 绑定 0 不绑定"}
|
|||
|
|
,{uint32, num, "个数"}
|
|||
|
|
,{uint32, id, "物品id"}
|
|||
|
|
]}
|
|||
|
|
,{uint8, show_panel_type, "是否显示结算面板 1:显示 0:不显示"}
|
|||
|
|
,{uint32, current_time, "当前通关时间 秒"}
|
|||
|
|
,{uint32, best_time, "最佳通关时间 秒"}
|
|||
|
|
,{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{string, target_role_name, "对方名字"}
|
|||
|
|
,{array, tuple, hurt_statistics, "伤害统计", [
|
|||
|
|
{uint8, type, "1:进攻方 2:被攻击方"}
|
|||
|
|
,{array, partner_hurt, partner_hurts, "伤害统计", [
|
|||
|
|
{tuple, master_id, [
|
|||
|
|
{uint32, rid, "盟主ID"}
|
|||
|
|
,{string, srvid, "盟主服务器ID"}
|
|||
|
|
]}
|
|||
|
|
,{uint32, id, id, "英雄bid"}
|
|||
|
|
,{uint32, bid, bid, "英雄bid"}
|
|||
|
|
,{uint32, star, star, "星级"}
|
|||
|
|
,{uint32, lev, lev, "等级"}
|
|||
|
|
,{uint32, camp_type, camp_type, "英雄阵营"}
|
|||
|
|
,{uint32, dps, dps, "英雄伤害"}
|
|||
|
|
,{uint32, cure, cure, "英雄治疗量"}
|
|||
|
|
,{array, tuple, ext_data, "额外参数", [
|
|||
|
|
{uint32, key, "键(5:皮肤id)"}
|
|||
|
|
,{uint32, val, "值"}
|
|||
|
|
]}
|
|||
|
|
,{uint32, be_hurt, be_hurt, "英雄承受伤害"}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
,{uint32, adventure_end_hp, "冒险战斗结算用于显示剩余hp百分比(已放大1000倍)"}
|
|||
|
|
,{uint8, room_id, "冒险战斗结算用 房间号"}
|
|||
|
|
,{array, tuple, ext_list, "冒险战斗结算用 额外参数(没有则不传,按约定传值)", [
|
|||
|
|
{uint8, ext_type, "参数类型"}
|
|||
|
|
,{uint32, ext_val, "值"}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20008
|
|||
|
|
,log_title = "退出战斗"
|
|||
|
|
,req_desc = "退出战斗"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "退出战斗"
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20009
|
|||
|
|
,log_title = "退出战斗(用于神装副本退出1队使用)"
|
|||
|
|
,req_desc = "退出战斗(用于神装副本退出1队使用)"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "退出战斗"
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20013
|
|||
|
|
,log_title = "战斗重连"
|
|||
|
|
,req_desc = "战斗重连"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "战斗重连"
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{array, tuple, formation, "两边阵法信息", [
|
|||
|
|
{uint8, group, "分组"}
|
|||
|
|
,{uint8, formation_type, "阵法类型"}
|
|||
|
|
,{uint8, formation_lev, "阵法等级"}
|
|||
|
|
]}
|
|||
|
|
,{array, fight_object_p, objects, "双方战斗单位", ?p_g_get(fight_object_p)}
|
|||
|
|
,{uint8, is_auto, "是否自动 1:自动 0:手动"}
|
|||
|
|
,{array, buff_play, buffs, "拥有的buff", ?p_g_get(buff_play)}
|
|||
|
|
,{uint8, current_wave, "当前波数"}
|
|||
|
|
,{uint16, total_wave, "总的波数"}
|
|||
|
|
,{uint8, play_speed, "播放速度"}
|
|||
|
|
,{uint32, combat_map, "战斗地图"}
|
|||
|
|
,{array, single, extra_args, "战斗的额外参数,比如当前副本id,具体值跟战斗类型有关系", [
|
|||
|
|
{uint32, param, "参数"}
|
|||
|
|
]}
|
|||
|
|
,{uint32, action_count, "当前出手总次数"}
|
|||
|
|
,{uint8, a_object_num, "objects 中 group == 1 的单位个数"}
|
|||
|
|
,{string, target_role_name, "如果对方是玩家,则是对方的角色名"}
|
|||
|
|
,{string, actor_role_name, "发起方的玩家名字,用于看录像"}
|
|||
|
|
,{uint32, begin_time, "战斗的开始时间"}
|
|||
|
|
,{uint8, suppress, "压制图标显示(1:显示)"}
|
|||
|
|
,{uint8, flag, "标识(1:断线重连 2:切入观战)"}
|
|||
|
|
,{array, tuple, halo_list, "两边阵营光环信息", [
|
|||
|
|
{uint8, group, "分组"}
|
|||
|
|
,{uint32, type, "光环类型"}
|
|||
|
|
]}
|
|||
|
|
,{array, tuple, hallows_list, "神器冷却信息", [
|
|||
|
|
{uint8, group, "组"}
|
|||
|
|
,{uint8, val, "当前值"}
|
|||
|
|
,{uint8, max, "最大值"}
|
|||
|
|
]}
|
|||
|
|
,{array, single, cli_string_ext_args, "战斗的字符串额外参数,比如精英赛宣战,具体值跟战斗类型有关系", [
|
|||
|
|
{string, param, "参数"}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20014
|
|||
|
|
,log_title = "战斗切磋请求"
|
|||
|
|
,req_desc = "战斗切磋请求"
|
|||
|
|
,req = [
|
|||
|
|
{uint32, target_id, "被请求的id"}
|
|||
|
|
,{string, target_srv_id, "被请求的服务器id"}
|
|||
|
|
,{uint8, is_province, "是否同省频道"}
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功 1 成功 0 不成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20015
|
|||
|
|
,log_title = "同不同意切磋"
|
|||
|
|
,req_desc = "同不同意切磋"
|
|||
|
|
,req = [
|
|||
|
|
{uint32, target_id, "请求者id"}
|
|||
|
|
,{string, target_srv_id, "请求者的服务器id"}
|
|||
|
|
,{uint8, is_agree, "1 同意 2 不同意"}
|
|||
|
|
]
|
|||
|
|
,reply_desc = "同不同意切磋"
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功 1 成功 0 不成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20016
|
|||
|
|
,req_desc = "确认切磋"
|
|||
|
|
,req = [
|
|||
|
|
{uint32, target_id, "被请求的id"}
|
|||
|
|
,{string, target_srv_id, "被请求的服务器id"}
|
|||
|
|
,{uint8, is_agree, "1 同意 2 不同意"}
|
|||
|
|
]
|
|||
|
|
,reply = [
|
|||
|
|
{uint32, target_id, "被请求的id"}
|
|||
|
|
,{string, target_srv_id, "被请求的服务器id"}
|
|||
|
|
,{string, target_name, "被请求的角色名"}
|
|||
|
|
,{uint8, target_lev, "被请求的角色等级"}
|
|||
|
|
,{uint32, target_face, "被请求的角色头像"}
|
|||
|
|
,{uint32, face_update_time, "被请求的自定义角色头像"}
|
|||
|
|
,{string, face_file, "被请求的自定义角色头像"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20019
|
|||
|
|
,log_title = "回合开始播放完成"
|
|||
|
|
,req_desc = "客户端通知服务端回合开始效果播放完成"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20020
|
|||
|
|
,log_title = "下一波怪物"
|
|||
|
|
,req_desc = "下一波怪物"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{array, tuple, formation, "两边阵法信息", [
|
|||
|
|
{uint8, group, "分组"}
|
|||
|
|
,{uint8, formation_type, "阵法类型"}
|
|||
|
|
,{uint8, formation_lev, "阵法等级"}
|
|||
|
|
]}
|
|||
|
|
,{array, fight_object_p, objects, "双方战斗单位", ?p_g_get(fight_object_p)}
|
|||
|
|
,{uint8, is_auto, "是否自动 1:自动 0:手动"}
|
|||
|
|
,{array, buff_play, buffs, "拥有的buff", ?p_g_get(buff_play)}
|
|||
|
|
,{uint8, current_wave, "当前波数"}
|
|||
|
|
,{uint16, total_wave, "总的波数"}
|
|||
|
|
,{string, target_role_name, "如果对方是玩家,则是对方的角色名"}
|
|||
|
|
,{string, actor_role_name, "发起方的玩家名字,用于看录像"}
|
|||
|
|
,{array, tuple, halo_list, "两边阵营光环信息", [
|
|||
|
|
{uint8, group, "分组"}
|
|||
|
|
,{uint32, type, "光环类型"}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20022
|
|||
|
|
,log_title = "改变战斗的播放速度"
|
|||
|
|
,req_desc = "改变战斗的播放速度"
|
|||
|
|
,req = [
|
|||
|
|
{uint8, speed, "1,2,3"}
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功 1 成功 0 不成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20026
|
|||
|
|
,log_title = "地图加载完成"
|
|||
|
|
,req_desc = "地图加载完成"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "如果有剧情,则返回剧情id,如果没有剧情,则返回20027 "
|
|||
|
|
,reply = [
|
|||
|
|
{uint32, drama_id, "剧情id"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20027
|
|||
|
|
,log_title = "推送战斗单位数据"
|
|||
|
|
,req_desc = "推送战斗单位数据"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "返回战斗单位数据"
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"},
|
|||
|
|
{array, tuple, formation, "两边阵法信息", [
|
|||
|
|
{uint8, group, "分组"}
|
|||
|
|
,{uint8, formation_type, "阵法类型"}
|
|||
|
|
,{uint8, formation_lev, "阵法等级"}
|
|||
|
|
]}
|
|||
|
|
,{array, fight_object_p, objects, "双方战斗单位", ?p_g_get(fight_object_p)}
|
|||
|
|
,{uint8, is_auto, "是否自动 1:自动 0:手动"}
|
|||
|
|
,{uint8, current_wave, "当前波数"}
|
|||
|
|
,{uint16, total_wave, "总的波数"}
|
|||
|
|
,{uint8, play_speed, "播放速度"}
|
|||
|
|
,{array, single, extra_args, "战斗的额外参数,比如当前副本id,具体值跟战斗类型有关系", [
|
|||
|
|
{uint32, param, "参数"}
|
|||
|
|
]}
|
|||
|
|
,{string, target_role_name, "如果对方是玩家,则是对方的角色名"}
|
|||
|
|
,{uint8, a_object_num, "objects 中 group == 1 的单位个数"}
|
|||
|
|
,{string, actor_role_name, "发起方的玩家名字,用于看录像"}
|
|||
|
|
,{uint8, suppress, "压制图标显示(1:显示)"}
|
|||
|
|
,{array, tuple, halo_list, "两边阵营光环信息", [
|
|||
|
|
{uint8, group, "分组"}
|
|||
|
|
,{uint32, type, "光环类型"}
|
|||
|
|
]}
|
|||
|
|
,{array, tuple, hallows_list, "神器冷却信息", [
|
|||
|
|
{uint8, group, "组"}
|
|||
|
|
,{uint8, val, "当前值"}
|
|||
|
|
,{uint8, max, "最大值"}
|
|||
|
|
]}
|
|||
|
|
,{array, single, string_ext_args, "战斗的字符串额外参数,比如精英赛宣战,具体值跟战斗类型有关系", [
|
|||
|
|
{string, param, "参数"}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20028
|
|||
|
|
,log_title = "重连准备好了"
|
|||
|
|
,req_desc = "重连准备好了"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "如果有剧情,则返回剧情id,如果没有剧情,则返回20027 "
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20029
|
|||
|
|
,log_title = "观看战斗录像"
|
|||
|
|
,req_desc = "观看战斗录像"
|
|||
|
|
,req = [
|
|||
|
|
{uint32, replay_id, "录像Id"}
|
|||
|
|
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20030
|
|||
|
|
,log_title = "请求战斗状态"
|
|||
|
|
,req_desc = "请求战斗状态"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, is_in_combat, "0 不在战斗中, 1 在战斗中"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20033
|
|||
|
|
,log_title = "切磋的结算"
|
|||
|
|
,req_desc = ""
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, result, "战斗结果 1 : 胜利 2:失败"}
|
|||
|
|
,{string, def_name, "敌方角色名"}
|
|||
|
|
,{string, def_guild_name, "敌方联盟名"}
|
|||
|
|
,{uint32, def_lev, "敌方等级"}
|
|||
|
|
,{uint32, def_face_id, "敌方头像"}
|
|||
|
|
,{uint32, face_update_time, "被请求的自定义角色头像"}
|
|||
|
|
,{string, face_file, "被请求的自定义角色头像"}
|
|||
|
|
,{uint32, replay_id, "录像ID"}
|
|||
|
|
,{uint8, is_province, "是否同省频道"}
|
|||
|
|
,{array, tuple, hurt_statistics, "伤害统计", [
|
|||
|
|
{uint8, type, "1:进攻方 2:被攻击方"}
|
|||
|
|
,{array, partner_hurt, partner_hurts, "伤害统计", [
|
|||
|
|
{tuple, master_id, [
|
|||
|
|
{uint32, rid, "盟主ID"}
|
|||
|
|
,{string, srvid, "盟主服务器ID"}
|
|||
|
|
]}
|
|||
|
|
,{uint32, id, id, "英雄bid"}
|
|||
|
|
,{uint32, bid, bid, "英雄bid"}
|
|||
|
|
,{uint32, star, star, "星级"}
|
|||
|
|
,{uint32, lev, lev, "等级"}
|
|||
|
|
,{uint32, camp_type, camp_type, "英雄阵营"}
|
|||
|
|
,{uint32, dps, dps, "英雄伤害"}
|
|||
|
|
,{uint32, cure, cure, "英雄治疗量"}
|
|||
|
|
,{array, tuple, ext_data, "额外参数", [
|
|||
|
|
{uint32, key, "键(5:皮肤id)"}
|
|||
|
|
,{uint32, val, "值"}
|
|||
|
|
]}
|
|||
|
|
,{uint32, be_hurt, be_hurt, "英雄承受伤害"}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20034
|
|||
|
|
,log_title = "录像分享"
|
|||
|
|
,req_desc = ""
|
|||
|
|
,req = [
|
|||
|
|
{uint32, replay_id, "录像ID"}
|
|||
|
|
,{uint16, channel, "频道;1:世界;2:场景;4:帮派;8;队伍;16:传闻;32:顶部传闻;64:系统;128:顶部系统;256:系统帮派;512:系统组队"}
|
|||
|
|
,{string, target_name, "敌方角色名"}
|
|||
|
|
,{uint8, share_type, "分享类型"}
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, result, "1 成功 0 成功"}
|
|||
|
|
,{string, msg, "消息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20036
|
|||
|
|
,log_title = "跨服查看录像的协议"
|
|||
|
|
,req_desc = ""
|
|||
|
|
,req = [
|
|||
|
|
{uint32, replay_id, "录像Id"}
|
|||
|
|
,{string, replay_srv_id, "录像的srv_id"}
|
|||
|
|
]
|
|||
|
|
,reply_desc = ""
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
%% ,#rpc{
|
|||
|
|
%% code = 20037
|
|||
|
|
%% ,log_title = "观战"
|
|||
|
|
%% ,req_desc = ""
|
|||
|
|
%% ,req = [
|
|||
|
|
%% {uint32, target_id, "录像Id"}
|
|||
|
|
%% ,{string, target_srv_id, "录像的srv_id"}
|
|||
|
|
%% ]
|
|||
|
|
%% ,reply_desc = ""
|
|||
|
|
%% ,reply = [
|
|||
|
|
%% {uint8, code, "是否成功"}
|
|||
|
|
%% ,{string, msg, "附加信息"}
|
|||
|
|
%% ]
|
|||
|
|
%% }
|
|||
|
|
%% ,#rpc{
|
|||
|
|
%% code = 20038
|
|||
|
|
%% ,log_title = "退出观战"
|
|||
|
|
%% ,req_desc = ""
|
|||
|
|
%% ,req = [
|
|||
|
|
%% ]
|
|||
|
|
%% ,reply_desc = ""
|
|||
|
|
%% ,reply = [
|
|||
|
|
%% {uint8, code, "是否成功"}
|
|||
|
|
%% ,{string, msg, "附加信息"}
|
|||
|
|
%% ]
|
|||
|
|
%% }
|
|||
|
|
%% ,#rpc{
|
|||
|
|
%% code = 20039
|
|||
|
|
%% ,log_title = "观战初始化"
|
|||
|
|
%% ,req_desc = ""
|
|||
|
|
%% ,req = [
|
|||
|
|
%% ]
|
|||
|
|
%% ,reply_desc = ""
|
|||
|
|
%% ,reply = [
|
|||
|
|
%% {uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
%% ,{array, tuple, formation, "两边阵法信息", [
|
|||
|
|
%% {uint8, group, "分组"}
|
|||
|
|
%% ,{uint8, formation_type, "阵法类型"}
|
|||
|
|
%% ,{uint8, formation_lev, "阵法等级"}
|
|||
|
|
%% ]}
|
|||
|
|
%% ,{array, fight_object_p, objects, "双方战斗单位", ?p_g_get(fight_object_p)}
|
|||
|
|
%% ,{uint8, is_auto, "是否自动 1:自动 0:手动"}
|
|||
|
|
%% ,{array, buff_play, buffs, "拥有的buff", ?p_g_get(buff_play)}
|
|||
|
|
%% ,{uint8, current_wave, "当前波数"}
|
|||
|
|
%% ,{uint16, total_wave, "总的波数"}
|
|||
|
|
%% ,{uint8, play_speed, "播放速度"}
|
|||
|
|
%% ,{uint32, combat_map, "战斗地图"}
|
|||
|
|
%% ,{array, single, extra_args, "战斗的额外参数,比如当前副本id,具体值跟战斗类型有关系", [
|
|||
|
|
%% {uint32, param, "参数"}
|
|||
|
|
%% ]}
|
|||
|
|
%% ,{uint8, pause, "1 暂停 , 0 取消暂停"}
|
|||
|
|
%% ,{uint8, dragon_difficulty, "如果是巨龙副本,这个表示巨龙副本的难度"}
|
|||
|
|
%% ,{uint32, wave_time, "如果是巨龙副本,这个表示巨龙这一波已经用的时间 秒"}
|
|||
|
|
%% ,{uint32, action_count, "当前出手总次数"}
|
|||
|
|
%% ,{array, tuple, star_list, "剧情副本星星的状态", [
|
|||
|
|
%% {uint8, star_id, "1 2 3"}
|
|||
|
|
%% ,{uint8, star_state, "星星的状态 1 满足的,亮 0 不亮"}
|
|||
|
|
%% ]}
|
|||
|
|
%% ,{uint8, a_object_num, "objects 中 group == 1 的单位个数"}
|
|||
|
|
%% ,{string, target_role_name, "如果对方是玩家,则是对方的角色名"}
|
|||
|
|
%% ,{string, actor_role_name, "发起方的玩家名字,用于看录像"}
|
|||
|
|
%% ,{uint32, begin_time, "战斗的开始时间"}
|
|||
|
|
%% ,{uint8, suppress, "压制图标显示(1:显示)"}
|
|||
|
|
%% ,{uint8, flag, "标识(1:断线重连 2:切入观战)"}
|
|||
|
|
%% ]
|
|||
|
|
%% }
|
|||
|
|
%% ,#rpc{
|
|||
|
|
%% code = 20040
|
|||
|
|
%% ,log_title = "退出观战的通知协议"
|
|||
|
|
%% ,reply_desc = ""
|
|||
|
|
%% ,reply = [
|
|||
|
|
%% ]
|
|||
|
|
%% }
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20060
|
|||
|
|
,log_title = "请求指定战斗类型"
|
|||
|
|
,req_desc = "请求指定战斗类型"
|
|||
|
|
,req = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
]
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{uint8, type, "0:不存在战斗 1:存在战斗"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20061
|
|||
|
|
,log_title = "进入指定战斗类型假战斗"
|
|||
|
|
,req_desc = "进入指定战斗类型假战斗"
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
,{uint32, bid, "主单位基础ID"}
|
|||
|
|
,{array, tuple, partner_list, "伙伴信息", [
|
|||
|
|
{uint8, pos, "站位"}
|
|||
|
|
,{uint16, speed, "速度"}
|
|||
|
|
,{uint32, bid, "伙伴基础ID"}
|
|||
|
|
,{uint8, lev, "伙伴等级"}
|
|||
|
|
,{uint8, star, "伙伴星数"}
|
|||
|
|
,{uint8, quality, "伙伴品质"}
|
|||
|
|
,{uint32, hp, "血量"}
|
|||
|
|
,{uint16, crit, "暴击率"}
|
|||
|
|
,{array, tuple, skill_list, "主动攻击技能", [
|
|||
|
|
{uint32, sid, "技能id"}
|
|||
|
|
,{array, tuple, effect_list, "攻击类型效果列表", [
|
|||
|
|
{uint32, eid, "效果id"}
|
|||
|
|
,{uint8, num, "目标数量"}
|
|||
|
|
,{uint32, min_hurt, "最小伤害值"}
|
|||
|
|
,{uint32, max_hurt, "最大伤害值"}
|
|||
|
|
]}
|
|||
|
|
,{uint8, rand, "使用概率"}
|
|||
|
|
]}
|
|||
|
|
,{uint32, use_skin, "使用中的皮肤id"}
|
|||
|
|
]}
|
|||
|
|
,{array, tuple, wave_list, "怪物波数信息", [
|
|||
|
|
{array, tuple, unit_list, "怪物信息", [
|
|||
|
|
{uint8, pos, "站位"}
|
|||
|
|
,{uint32, bid, "单位基础ID"}
|
|||
|
|
,{uint16, speed, "速度"}
|
|||
|
|
,{uint32, hp, "血量"}
|
|||
|
|
,{uint16, crit, "暴击率"}
|
|||
|
|
,{array, tuple, skill_list, "主动攻击技能", [
|
|||
|
|
{uint32, sid, "技能id"}
|
|||
|
|
,{array, tuple, effect_list, "攻击类型效果列表", [
|
|||
|
|
{uint32, eid, "效果id"}
|
|||
|
|
,{uint8, num, "目标数量"}
|
|||
|
|
,{uint32, min_hurt, "最小伤害值"}
|
|||
|
|
,{uint32, max_hurt, "最大伤害值"}
|
|||
|
|
]}
|
|||
|
|
,{uint8, rand, "使用概率"}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
]}
|
|||
|
|
,{uint32, dun_bid, "副本基础ID"}
|
|||
|
|
,{uint8, b_formation_type, "目标阵法"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20062
|
|||
|
|
,log_title = "跳过战斗"
|
|||
|
|
,reply_desc = "跳过战斗"
|
|||
|
|
,req = []
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20063
|
|||
|
|
,log_title = "当前所有战斗类型"
|
|||
|
|
,req_desc = "当前所有战斗类型"
|
|||
|
|
,req = []
|
|||
|
|
,reply = [
|
|||
|
|
{array, single, type_list, "当前所有正在进行战斗类型信息", [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗"}
|
|||
|
|
]}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20064
|
|||
|
|
,log_title = "请求通过指定战斗类型(fake)"
|
|||
|
|
,req_desc = "请求通过指定战斗类型(fake)"
|
|||
|
|
,req = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗=3"}
|
|||
|
|
]
|
|||
|
|
,reply = [
|
|||
|
|
{uint16, combat_type, "什么类型的战斗=3"}
|
|||
|
|
,{uint8, type, "0:失败 1:成功"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20065
|
|||
|
|
,log_title = "完整的战斗结束"
|
|||
|
|
,req_desc = "完整的战斗结束"
|
|||
|
|
,req = []
|
|||
|
|
,reply = [
|
|||
|
|
{uint32, total_round, "总的回合数"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20066
|
|||
|
|
,log_title = "无尽模式,波次结束"
|
|||
|
|
,req_desc = "无尽模式,波次结束"
|
|||
|
|
,req = [{uint32, wave, "波次"}]
|
|||
|
|
,reply = []
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20070
|
|||
|
|
,log_title = "假战斗"
|
|||
|
|
,reply_desc = "假战斗"
|
|||
|
|
,req = [{uint32, id, "假战斗id"}]
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
,{uint32, id, "假战斗id"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
,#rpc{
|
|||
|
|
code = 20080
|
|||
|
|
,log_title = "退出战斗"
|
|||
|
|
,req_desc = "退出战斗"
|
|||
|
|
,req = [
|
|||
|
|
]
|
|||
|
|
,reply_desc = "退出战斗"
|
|||
|
|
,reply = [
|
|||
|
|
{uint8, code, "是否成功"}
|
|||
|
|
,{string, msg, "附加信息"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
].
|