Files
fc/server/tools/gen_proto/cfg/proto_200.erl
T
2026-05-23 22:10:14 +08:00

791 lines
34 KiB
Erlang
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
%%%-------------------------------------------------------------------
%%% 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, "附加信息"}
]
}
].