ecs/proto/idl/mod_battle.proto

52 lines
1.7 KiB
Protocol Buffer
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.

syntax = "proto3";
package Pb;
option go_package = "pb/";
import "mod_item.proto";
// ModId.ModuleBattle = 4000;
// 战斗模块消息定义
// 如果定义的消息内没有字段或者消息被注释掉了,说明该请求不需要参数,发送消息时仅发送包头即可,包体可为空, 返回的消息亦是如此。
//战斗单位
message BattleEntity {
uint32 Type = 1; //目标类型, 1.英雄自己人2.怪物(敌人)
uint32 Id = 2; //目标ID
uint64 HpMax = 3; //最大血量
uint32 Rage = 4; //当前怒气
repeated uint32 Status = 5; //目标状态(待定,如眩晕、击飞等)
repeated uint64 Value = 6; //数值集合,可以是伤害,回血等
repeated uint64 Hp = 7; //元素个数与上面的数值元素个数一致,元素值为受每个数值影响后的当前血量
}
//战斗动作
message BattleAction {
BattleEntity Caster = 1; //投手(动作发出者)
uint32 Type = 2; //类型
uint32 SkillId = 3; //技能ID
repeated BattleEntity TargetList = 4; //动作目标
}
//战斗回合
message BattleRound {
uint32 BattleRound = 1; //战斗当前回合
repeated BattleAction ActionList = 2; //动作列表
}
// MsgId.ModBattleEnter = 4001;
//进入战斗结果返回
message BattleEnterAck {
uint32 SceneId = 1; //战斗场景ID
bool Succeed = 2; //挑战成功
int32 Score = 3; //战斗分数(星数)
repeated int32 Heroes = 4; //英雄阵容
repeated int32 Enemies = 5; //敌人阵容
uint32 BattleRounds = 6; //战斗总回合数
repeated BattleRound RoundList = 7;
repeated Item RewardList = 8; //奖励列表(掉落物品列表)
}
// MsgId.ModBattleEnd = 4002;
// 战斗结束请求,退出战斗场景
message BattleEndReq {
}