THUAI8/dependency/proto/Message2Clients.proto

245 lines
4.6 KiB
Protocol Buffer

// Message2Client
syntax = "proto3";
package protobuf;
import "MessageType.proto";
message MessageOfMonkeySkill
{
int64 team_id = 1;
int64 player_id = 2;
double angle = 3;
}
message MessageOfCharacter
{
int64 guid = 1;
int64 team_id = 2;
int64 player_id = 3;
CharacterType character_type = 4;
// 主动状态
CharacterState character_active_state = 5;
// 被动状态
bool is_blind = 6;
int64 blind_time = 7;
bool is_stunned = 8;
int64 stunned_time = 9;
bool is_invisible = 10;
int64 invisible_time = 11;
bool is_burned = 12;
int64 burned_time = 13;
double harm_cut = 14;
int64 harm_cut_time = 15;
CharacterState character_passive_state = 16; // 最新被动状态状态
int32 x = 17;
int32 y = 18;
double facing_direction = 19;
int32 speed = 20;
int32 view_range = 21;
int32 common_attack = 22;
int64 common_attack_cd = 23;
int32 common_attack_range = 24;
int64 skill_attack_cd = 25;
int32 economy_depletion = 26; // 经济资源消耗
int32 kill_score = 27; // 击杀得分
int32 hp = 28;
// 其它装备都是直接消耗,不需要记录
int32 shield_equipment = 29; // 装备护盾剩余值?
int32 shoes_equipment = 30;
int64 shoes_time = 31;
bool is_purified = 32;
int64 purified_time = 33;
bool is_berserk = 34;
int64 berserk_time = 35;
// 加成资源的Buff
int32 attack_buff_num = 36;
int64 attack_buff_time = 37;
int64 speed_buff_time = 38;
int64 vision_buff_time = 39;
}
message MessageOfBarracks
{
int32 x = 1;
int32 y = 2;
int32 hp = 3; // 剩余的血量
int64 team_id = 4;
int32 id = 5;
}
message MessageOfSpring
{
int32 x = 1;
int32 y = 2;
int32 hp = 3; // 剩余的血量
int64 team_id = 4;
int32 id = 5;
}
message MessageOfFarm
{
int32 x = 1;
int32 y = 2;
int32 hp = 3; // 剩余的血量
int64 team_id = 4;
int32 id = 5;
}
message MessageOfTrap
{
TrapType trap_type = 1;
int32 x = 2;
int32 y = 3;
int64 team_id = 4;
int32 id = 5;
}
message MessageOfEconomyResource
{
EconomyResourceType economy_resource_type = 1;
EconomyResourceState economy_resource_state = 2;
int32 x = 3;
int32 y = 4;
int32 process = 5; // 采集进度 等价于血量
int32 id = 6;
}
message MessageOfAdditionResource
{
AdditionResourceType addition_resource_type = 1;
AdditionResourceState addition_resource_state = 2;
int32 x = 3;
int32 y = 4;
int32 hp = 5;
int32 id = 6;
}
message MessageOfMap
{
uint32 height = 1;
uint32 width = 2;
message Row
{
repeated PlaceType cols = 1;
}
repeated Row rows = 3;
}
message MessageOfTeam
{
int64 team_id = 1;
int64 player_id = 2;
int64 score = 3;
int64 energy = 4;
// int64 guid=5;
}
message MessageOfObj
{
oneof message_of_obj
{
MessageOfCharacter character_message = 1;
MessageOfBarracks barracks_message = 2;
MessageOfSpring spring_message = 3;
MessageOfFarm farm_message = 4;
MessageOfTrap trap_message = 5;
MessageOfEconomyResource economy_resource_message = 6;
MessageOfAdditionResource addition_resource_message = 7;
MessageOfMap map_message = 8;
MessageOfNews news_message = 9;
MessageOfTeam team_message = 10;
}
}
message MessageOfAll
{
int32 game_time = 1;
int32 buddhists_team_score=2;
int32 monsters_team_score=3;
int32 buddhists_team_economy=4;
int32 monsters_team_economy=5;
int32 buddhists_hero_hp=6;
int32 monsters_hero_hp=7;
}
message MessageToClient
{
repeated MessageOfObj obj_message = 1;
GameState game_state = 2;
MessageOfAll all_message = 3;
}
message MoveRes // 如果打算设计撞墙保留平行速度分量,且需要返回值则可用这个(大概没啥用)
{
int64 actual_speed = 1;
double actual_angle = 2;
bool act_success = 3;
}
message CreatCharacterRes
{
bool act_success = 1;
int64 player_id = 2;
}
message BoolRes
{
bool act_success = 1;
}
message CharacterInfoRes
{
repeated MessageOfCharacter Character_info = 1;
}
message EcoRes
{
int64 economy = 1;
}
message MessageOfNews
{
oneof news // 一条新闻
{
string text_message = 1;
bytes binary_message = 2;
}
int64 from_id = 3;
int64 to_id = 4;
int64 team_id = 5;
}
// message MsgRes // 用于获取队友发来的消息
// {
// bool have_message = 1; // 是否有待接收的消息
// int64 from_player_id = 2;
// string message_received = 3;
// }