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