// 如果使用此注释，则使用proto3; 否则使用proto2
syntax = "proto3";

// 生成包名（服务器用）
option java_package = "com.game.boss.proto";
// 生成类名（服务器用）
option java_outer_classname = "BossProto";

// -------------------------------------Bean-------------------------------------

// 巨兽信息Bean
message BossInfo{
	int32 bossId = 1;// bossId
	int32 hp = 2;// 当前血量 0=表示已被击杀
}

// 巨兽伤害排行信息Bean
message BossRankInfo{
	string playerName = 1;// 角色名
	int32 force = 2;// 战力
	int32 damage = 3;// 总伤害
}

// -------------------------------------请求消息-------------------------------------

// 请求巨兽信息(新版改为主界面时显示所需数据) msgId=119101		-----返回消息  msgId=119201
message ReqBossListInfo{
	
}

// 请求巨兽信息 msgId=119102		-----返回消息  msgId=119202
message ReqBossInfo{
	int32 bossId = 1;// bossId
}

// 请求巨兽挑战 msgId=119103		-----返回消息  msgId=108201
message ReqBossChallenge{
	int32 bossId = 1;// bossId
}

// 请求巨兽排行榜 msgId=119104		-----返回消息  msgId=119203
message ReqBossRank{
	int32 bossId = 1;// bossId
}

// 请求立即冷却 msgId=119105		-----返回消息 msgId=119204
message ReqBossResetCoolDown{
	int32 bossId = 1;// bossId
}

// -------------------------------------返回消息-------------------------------------

// 返回巨兽信息(新版改为主界面时显示所需数据) msgId=119201
message ResBossListInfo{
	bool isStart = 1;// 是否已开始boss
	int32 time = 2;// 倒计时（秒）
	int32 bossId = 3;// bossId
}

// 返回巨兽信息 msgId=119202
message ResBossInfo{
	int32 bossId = 1;// bossId
	int32 cdTime = 2;// 剩余挑战冷却时间（秒）
	int32 hp = 3;// 当前血量
	bool isFightEnd = 4;// 是否战斗结束返回 true=战斗返回
	int32 image = 5;// 宠物形象参数
	int32 cdNum = 6;//已立即冷却次数
	string lastHitPlayerName = 7;//最后一击玩家名字
}

// 返回巨兽排行榜 msgId=119203
message ResBossRank{
	int32 rank = 1;// 自己的排名（返回-1表示未加入排行）
	int32 damage = 2;// 自己的总伤害（返回-1表示未加入排行）
	repeated BossRankInfo rankList = 3;// 巨兽伤害排行列表
}

//返回立即冷却 msgId=119204
message ResBossResetCoolDown{
	int32 cdNum = 1;//已立即冷却次数
}

//返回其他玩家造成的伤害msgId=119205
message ResBossDamage{
	string playerName = 1;//玩家角色名称
	int32 damage = 2; //造成的伤害
	bool isLastHit = 3; //是否为最后一击
}

