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