import "dota_gcmessages_common_bot_script.proto"; import "dota_commonmessages.proto"; import "dota_shared_enums.proto"; enum MLBot_MessageId { mlbot_MatchMetadata = 1; mlbot_TickBoundary = 2; mlbot_TeamState_Radiant = 3; mlbot_TeamState_Radiant_Delta = 4; mlbot_TeamState_Dire = 5; mlbot_TeamState_Dire_Delta = 6; mlbot_PlayerCommand = 7; mlbot_PlayerOrder = 8; } message CMsgMLBotMatchMetadata { message Player { optional int32 player_id = 1 [default = -1]; optional int32 team_id = 2; optional int32 hero_id = 3; optional int32 rank = 4; } optional uint64 match_id = 1; optional uint64 lobby_id = 2; optional int32 lobby_type = 3 [default = -1]; optional uint32 game_mode = 4; repeated .CMsgMLBotMatchMetadata.Player players = 5; } message CMsgMLBotTickBoundary { optional uint32 tick_number = 1; } message CMsgMLBot_PlayerOrder { optional int32 player_id = 1 [default = -1]; optional int32 team_id = 2; optional int32 order_type = 3; repeated uint32 selected_unit_handles = 4; optional int32 target_index = 5 [default = -1]; optional uint32 target_handle = 6 [default = 4294967295]; optional int32 ability_index = 7 [default = -1]; optional uint32 ability_handle = 8 [default = 4294967295]; optional float pos_x = 9; optional float pos_y = 10; optional float pos_z = 11; optional bool queue = 12; } message CMsgMLBot_TeamInference { optional int32 team_id = 1; repeated int32 bot_player_ids = 2; optional .CMsgBotWorldState world_state = 3; } message CMsgMLBot_TeamInferenceResponse { repeated .CMsgMLBot_PlayerOrder orders = 1; } message CMsgMLBot_TeamInferenceList { repeated .CMsgMLBot_TeamInference messages = 1; }