diff --git a/worlds/_sc2common/bot/bot_ai_internal.py b/worlds/_sc2common/bot/bot_ai_internal.py index 583c491dc2..1cdd3bda06 100644 --- a/worlds/_sc2common/bot/bot_ai_internal.py +++ b/worlds/_sc2common/bot/bot_ai_internal.py @@ -9,7 +9,7 @@ from collections import Counter from typing import TYPE_CHECKING, Any from typing import Dict, Generator, Iterable, List, Set, Tuple, Union, final -from s2clientprotocol import sc2api_pb2 as sc_pb +from .proto import sc2api_pb2 as sc_pb from .constants import ( IS_PLACEHOLDER, diff --git a/worlds/_sc2common/bot/client.py b/worlds/_sc2common/bot/client.py index a902c99d55..bb4bc4c866 100644 --- a/worlds/_sc2common/bot/client.py +++ b/worlds/_sc2common/bot/client.py @@ -4,11 +4,11 @@ from typing import Dict, Iterable, List, Optional, Set, Tuple, Union from worlds._sc2common.bot import logger -from s2clientprotocol import debug_pb2 as debug_pb -from s2clientprotocol import query_pb2 as query_pb -from s2clientprotocol import raw_pb2 as raw_pb -from s2clientprotocol import sc2api_pb2 as sc_pb -from s2clientprotocol import spatial_pb2 as spatial_pb +from .proto import debug_pb2 as debug_pb +from .proto import query_pb2 as query_pb +from .proto import raw_pb2 as raw_pb +from .proto import sc2api_pb2 as sc_pb +from .proto import spatial_pb2 as spatial_pb from .data import ActionResult, ChatChannel, Race, Result, Status from .game_data import AbilityData, GameData diff --git a/worlds/_sc2common/bot/controller.py b/worlds/_sc2common/bot/controller.py index abb26ef8a9..8ddb6131e2 100644 --- a/worlds/_sc2common/bot/controller.py +++ b/worlds/_sc2common/bot/controller.py @@ -2,7 +2,7 @@ import platform from pathlib import Path from worlds._sc2common.bot import logger -from s2clientprotocol import sc2api_pb2 as sc_pb +from .proto import sc2api_pb2 as sc_pb from .player import Computer from .protocol import Protocol diff --git a/worlds/_sc2common/bot/data.py b/worlds/_sc2common/bot/data.py index 4c9b3b94a0..36681a5b87 100644 --- a/worlds/_sc2common/bot/data.py +++ b/worlds/_sc2common/bot/data.py @@ -7,11 +7,11 @@ https://github.com/Blizzard/s2client-api/blob/d9ba0a33d6ce9d233c2a4ee988360c188f """ import enum -from s2clientprotocol import common_pb2 as common_pb -from s2clientprotocol import data_pb2 as data_pb -from s2clientprotocol import error_pb2 as error_pb -from s2clientprotocol import raw_pb2 as raw_pb -from s2clientprotocol import sc2api_pb2 as sc_pb +from .proto import common_pb2 as common_pb +from .proto import data_pb2 as data_pb +from .proto import error_pb2 as error_pb +from .proto import raw_pb2 as raw_pb +from .proto import sc2api_pb2 as sc_pb CreateGameError = enum.Enum("CreateGameError", sc_pb.ResponseCreateGame.Error.items()) diff --git a/worlds/_sc2common/bot/main.py b/worlds/_sc2common/bot/main.py index f18c568361..5d40269ed3 100644 --- a/worlds/_sc2common/bot/main.py +++ b/worlds/_sc2common/bot/main.py @@ -15,7 +15,7 @@ import mpyq import portpicker from aiohttp import ClientSession, ClientWebSocketResponse from worlds._sc2common.bot import logger -from s2clientprotocol import sc2api_pb2 as sc_pb +from .proto import sc2api_pb2 as sc_pb from .bot_ai import BotAI from .client import Client diff --git a/worlds/_sc2common/bot/position.py b/worlds/_sc2common/bot/position.py index aca9a5105c..bde21b15c3 100644 --- a/worlds/_sc2common/bot/position.py +++ b/worlds/_sc2common/bot/position.py @@ -5,7 +5,7 @@ import math import random from typing import TYPE_CHECKING, Iterable, List, Set, Tuple, Union -from s2clientprotocol import common_pb2 as common_pb +from .proto import common_pb2 as common_pb if TYPE_CHECKING: from .unit import Unit diff --git a/worlds/_sc2common/bot/proto/common_pb2.py b/worlds/_sc2common/bot/proto/common_pb2.py new file mode 100644 index 0000000000..f84ad4d9ee --- /dev/null +++ b/worlds/_sc2common/bot/proto/common_pb2.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/common.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/common.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ds2clientprotocol/common.proto\x12\x0eSC2APIProtocol\">\n\x10\x41vailableAbility\x12\x12\n\nability_id\x18\x01 \x01(\x05\x12\x16\n\x0erequires_point\x18\x02 \x01(\x08\"X\n\tImageData\x12\x16\n\x0e\x62its_per_pixel\x18\x01 \x01(\x05\x12%\n\x04size\x18\x02 \x01(\x0b\x32\x17.SC2APIProtocol.Size2DI\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\x1e\n\x06PointI\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x05\"T\n\nRectangleI\x12\"\n\x02p0\x18\x01 \x01(\x0b\x32\x16.SC2APIProtocol.PointI\x12\"\n\x02p1\x18\x02 \x01(\x0b\x32\x16.SC2APIProtocol.PointI\"\x1f\n\x07Point2D\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"(\n\x05Point\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"\x1f\n\x07Size2DI\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x05*A\n\x04Race\x12\n\n\x06NoRace\x10\x00\x12\n\n\x06Terran\x10\x01\x12\x08\n\x04Zerg\x10\x02\x12\x0b\n\x07Protoss\x10\x03\x12\n\n\x06Random\x10\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.common_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_RACE']._serialized_start=429 + _globals['_RACE']._serialized_end=494 + _globals['_AVAILABLEABILITY']._serialized_start=49 + _globals['_AVAILABLEABILITY']._serialized_end=111 + _globals['_IMAGEDATA']._serialized_start=113 + _globals['_IMAGEDATA']._serialized_end=201 + _globals['_POINTI']._serialized_start=203 + _globals['_POINTI']._serialized_end=233 + _globals['_RECTANGLEI']._serialized_start=235 + _globals['_RECTANGLEI']._serialized_end=319 + _globals['_POINT2D']._serialized_start=321 + _globals['_POINT2D']._serialized_end=352 + _globals['_POINT']._serialized_start=354 + _globals['_POINT']._serialized_end=394 + _globals['_SIZE2DI']._serialized_start=396 + _globals['_SIZE2DI']._serialized_end=427 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/data_pb2.py b/worlds/_sc2common/bot/proto/data_pb2.py new file mode 100644 index 0000000000..6785ea3ed7 --- /dev/null +++ b/worlds/_sc2common/bot/proto/data_pb2.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/data.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/data.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import common_pb2 as s2clientprotocol_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bs2clientprotocol/data.proto\x12\x0eSC2APIProtocol\x1a\x1ds2clientprotocol/common.proto\"\xc4\x03\n\x0b\x41\x62ilityData\x12\x12\n\nability_id\x18\x01 \x01(\r\x12\x11\n\tlink_name\x18\x02 \x01(\t\x12\x12\n\nlink_index\x18\x03 \x01(\r\x12\x13\n\x0b\x62utton_name\x18\x04 \x01(\t\x12\x15\n\rfriendly_name\x18\x05 \x01(\t\x12\x0e\n\x06hotkey\x18\x06 \x01(\t\x12\x1c\n\x14remaps_to_ability_id\x18\x07 \x01(\r\x12\x11\n\tavailable\x18\x08 \x01(\x08\x12\x32\n\x06target\x18\t \x01(\x0e\x32\".SC2APIProtocol.AbilityData.Target\x12\x15\n\rallow_minimap\x18\n \x01(\x08\x12\x16\n\x0e\x61llow_autocast\x18\x0b \x01(\x08\x12\x13\n\x0bis_building\x18\x0c \x01(\x08\x12\x18\n\x10\x66ootprint_radius\x18\r \x01(\x02\x12\x1c\n\x14is_instant_placement\x18\x0e \x01(\x08\x12\x12\n\ncast_range\x18\x0f \x01(\x02\"I\n\x06Target\x12\x08\n\x04None\x10\x01\x12\t\n\x05Point\x10\x02\x12\x08\n\x04Unit\x10\x03\x12\x0f\n\x0bPointOrUnit\x10\x04\x12\x0f\n\x0bPointOrNone\x10\x05\"J\n\x0b\x44\x61mageBonus\x12,\n\tattribute\x18\x01 \x01(\x0e\x32\x19.SC2APIProtocol.Attribute\x12\r\n\x05\x62onus\x18\x02 \x01(\x02\"\xd7\x01\n\x06Weapon\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.SC2APIProtocol.Weapon.TargetType\x12\x0e\n\x06\x64\x61mage\x18\x02 \x01(\x02\x12\x31\n\x0c\x64\x61mage_bonus\x18\x03 \x03(\x0b\x32\x1b.SC2APIProtocol.DamageBonus\x12\x0f\n\x07\x61ttacks\x18\x04 \x01(\r\x12\r\n\x05range\x18\x05 \x01(\x02\x12\r\n\x05speed\x18\x06 \x01(\x02\"*\n\nTargetType\x12\n\n\x06Ground\x10\x01\x12\x07\n\x03\x41ir\x10\x02\x12\x07\n\x03\x41ny\x10\x03\"\x95\x04\n\x0cUnitTypeData\x12\x0f\n\x07unit_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tavailable\x18\x03 \x01(\x08\x12\x12\n\ncargo_size\x18\x04 \x01(\r\x12\x14\n\x0cmineral_cost\x18\x0c \x01(\r\x12\x14\n\x0cvespene_cost\x18\r \x01(\r\x12\x15\n\rfood_required\x18\x0e \x01(\x02\x12\x15\n\rfood_provided\x18\x12 \x01(\x02\x12\x12\n\nability_id\x18\x0f \x01(\r\x12\"\n\x04race\x18\x10 \x01(\x0e\x32\x14.SC2APIProtocol.Race\x12\x12\n\nbuild_time\x18\x11 \x01(\x02\x12\x13\n\x0bhas_vespene\x18\x13 \x01(\x08\x12\x14\n\x0chas_minerals\x18\x14 \x01(\x08\x12\x13\n\x0bsight_range\x18\x19 \x01(\x02\x12\x12\n\ntech_alias\x18\x15 \x03(\r\x12\x12\n\nunit_alias\x18\x16 \x01(\r\x12\x18\n\x10tech_requirement\x18\x17 \x01(\r\x12\x18\n\x10require_attached\x18\x18 \x01(\x08\x12-\n\nattributes\x18\x08 \x03(\x0e\x32\x19.SC2APIProtocol.Attribute\x12\x16\n\x0emovement_speed\x18\t \x01(\x02\x12\r\n\x05\x61rmor\x18\n \x01(\x02\x12\'\n\x07weapons\x18\x0b \x03(\x0b\x32\x16.SC2APIProtocol.Weapon\"\x86\x01\n\x0bUpgradeData\x12\x12\n\nupgrade_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0cmineral_cost\x18\x03 \x01(\r\x12\x14\n\x0cvespene_cost\x18\x04 \x01(\r\x12\x15\n\rresearch_time\x18\x05 \x01(\x02\x12\x12\n\nability_id\x18\x06 \x01(\r\")\n\x08\x42uffData\x12\x0f\n\x07\x62uff_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\"T\n\nEffectData\x12\x11\n\teffect_id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rfriendly_name\x18\x03 \x01(\t\x12\x0e\n\x06radius\x18\x04 \x01(\x02*\x9e\x01\n\tAttribute\x12\t\n\x05Light\x10\x01\x12\x0b\n\x07\x41rmored\x10\x02\x12\x0e\n\nBiological\x10\x03\x12\x0e\n\nMechanical\x10\x04\x12\x0b\n\x07Robotic\x10\x05\x12\x0b\n\x07Psionic\x10\x06\x12\x0b\n\x07Massive\x10\x07\x12\r\n\tStructure\x10\x08\x12\t\n\x05Hover\x10\t\x12\n\n\x06Heroic\x10\n\x12\x0c\n\x08Summoned\x10\x0b') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.data_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ATTRIBUTE']._serialized_start=1630 + _globals['_ATTRIBUTE']._serialized_end=1788 + _globals['_ABILITYDATA']._serialized_start=79 + _globals['_ABILITYDATA']._serialized_end=531 + _globals['_ABILITYDATA_TARGET']._serialized_start=458 + _globals['_ABILITYDATA_TARGET']._serialized_end=531 + _globals['_DAMAGEBONUS']._serialized_start=533 + _globals['_DAMAGEBONUS']._serialized_end=607 + _globals['_WEAPON']._serialized_start=610 + _globals['_WEAPON']._serialized_end=825 + _globals['_WEAPON_TARGETTYPE']._serialized_start=783 + _globals['_WEAPON_TARGETTYPE']._serialized_end=825 + _globals['_UNITTYPEDATA']._serialized_start=828 + _globals['_UNITTYPEDATA']._serialized_end=1361 + _globals['_UPGRADEDATA']._serialized_start=1364 + _globals['_UPGRADEDATA']._serialized_end=1498 + _globals['_BUFFDATA']._serialized_start=1500 + _globals['_BUFFDATA']._serialized_end=1541 + _globals['_EFFECTDATA']._serialized_start=1543 + _globals['_EFFECTDATA']._serialized_end=1627 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/debug_pb2.py b/worlds/_sc2common/bot/proto/debug_pb2.py new file mode 100644 index 0000000000..6715c8b0f2 --- /dev/null +++ b/worlds/_sc2common/bot/proto/debug_pb2.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/debug.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/debug.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import common_pb2 as s2clientprotocol_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cs2clientprotocol/debug.proto\x12\x0eSC2APIProtocol\x1a\x1ds2clientprotocol/common.proto\"\xbb\x03\n\x0c\x44\x65\x62ugCommand\x12)\n\x04\x64raw\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.DebugDrawH\x00\x12\x34\n\ngame_state\x18\x02 \x01(\x0e\x32\x1e.SC2APIProtocol.DebugGameStateH\x00\x12\x36\n\x0b\x63reate_unit\x18\x03 \x01(\x0b\x32\x1f.SC2APIProtocol.DebugCreateUnitH\x00\x12\x32\n\tkill_unit\x18\x04 \x01(\x0b\x32\x1d.SC2APIProtocol.DebugKillUnitH\x00\x12\x38\n\x0ctest_process\x18\x05 \x01(\x0b\x32 .SC2APIProtocol.DebugTestProcessH\x00\x12.\n\x05score\x18\x06 \x01(\x0b\x32\x1d.SC2APIProtocol.DebugSetScoreH\x00\x12\x30\n\x08\x65nd_game\x18\x07 \x01(\x0b\x32\x1c.SC2APIProtocol.DebugEndGameH\x00\x12\x37\n\nunit_value\x18\x08 \x01(\x0b\x32!.SC2APIProtocol.DebugSetUnitValueH\x00\x42\t\n\x07\x63ommand\"\xb5\x01\n\tDebugDraw\x12\'\n\x04text\x18\x01 \x03(\x0b\x32\x19.SC2APIProtocol.DebugText\x12(\n\x05lines\x18\x02 \x03(\x0b\x32\x19.SC2APIProtocol.DebugLine\x12\'\n\x05\x62oxes\x18\x03 \x03(\x0b\x32\x18.SC2APIProtocol.DebugBox\x12,\n\x07spheres\x18\x04 \x03(\x0b\x32\x1b.SC2APIProtocol.DebugSphere\"L\n\x04Line\x12!\n\x02p0\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12!\n\x02p1\x18\x02 \x01(\x0b\x32\x15.SC2APIProtocol.Point\"(\n\x05\x43olor\x12\t\n\x01r\x18\x01 \x01(\r\x12\t\n\x01g\x18\x02 \x01(\r\x12\t\n\x01\x62\x18\x03 \x01(\r\"\xa3\x01\n\tDebugText\x12$\n\x05\x63olor\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Color\x12\x0c\n\x04text\x18\x02 \x01(\t\x12*\n\x0bvirtual_pos\x18\x03 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12(\n\tworld_pos\x18\x04 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\x0c\n\x04size\x18\x05 \x01(\r\"U\n\tDebugLine\x12$\n\x05\x63olor\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Color\x12\"\n\x04line\x18\x02 \x01(\x0b\x32\x14.SC2APIProtocol.Line\"x\n\x08\x44\x65\x62ugBox\x12$\n\x05\x63olor\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Color\x12\"\n\x03min\x18\x02 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\"\n\x03max\x18\x03 \x01(\x0b\x32\x15.SC2APIProtocol.Point\"`\n\x0b\x44\x65\x62ugSphere\x12$\n\x05\x63olor\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Color\x12 \n\x01p\x18\x02 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\t\n\x01r\x18\x03 \x01(\x02\"k\n\x0f\x44\x65\x62ugCreateUnit\x12\x11\n\tunit_type\x18\x01 \x01(\r\x12\r\n\x05owner\x18\x02 \x01(\x05\x12$\n\x03pos\x18\x03 \x01(\x0b\x32\x17.SC2APIProtocol.Point2D\x12\x10\n\x08quantity\x18\x04 \x01(\r\"\x1c\n\rDebugKillUnit\x12\x0b\n\x03tag\x18\x01 \x03(\x04\"\x80\x01\n\x10\x44\x65\x62ugTestProcess\x12\x33\n\x04test\x18\x01 \x01(\x0e\x32%.SC2APIProtocol.DebugTestProcess.Test\x12\x10\n\x08\x64\x65lay_ms\x18\x02 \x01(\x05\"%\n\x04Test\x12\x08\n\x04hang\x10\x01\x12\t\n\x05\x63rash\x10\x02\x12\x08\n\x04\x65xit\x10\x03\"\x1e\n\rDebugSetScore\x12\r\n\x05score\x18\x01 \x01(\x02\"z\n\x0c\x44\x65\x62ugEndGame\x12:\n\nend_result\x18\x01 \x01(\x0e\x32&.SC2APIProtocol.DebugEndGame.EndResult\".\n\tEndResult\x12\r\n\tSurrender\x10\x01\x12\x12\n\x0e\x44\x65\x63lareVictory\x10\x02\"\xa5\x01\n\x11\x44\x65\x62ugSetUnitValue\x12?\n\nunit_value\x18\x01 \x01(\x0e\x32+.SC2APIProtocol.DebugSetUnitValue.UnitValue\x12\r\n\x05value\x18\x02 \x01(\x02\x12\x10\n\x08unit_tag\x18\x03 \x01(\x04\".\n\tUnitValue\x12\n\n\x06\x45nergy\x10\x01\x12\x08\n\x04Life\x10\x02\x12\x0b\n\x07Shields\x10\x03*\xb2\x01\n\x0e\x44\x65\x62ugGameState\x12\x0c\n\x08show_map\x10\x01\x12\x11\n\rcontrol_enemy\x10\x02\x12\x08\n\x04\x66ood\x10\x03\x12\x08\n\x04\x66ree\x10\x04\x12\x11\n\rall_resources\x10\x05\x12\x07\n\x03god\x10\x06\x12\x0c\n\x08minerals\x10\x07\x12\x07\n\x03gas\x10\x08\x12\x0c\n\x08\x63ooldown\x10\t\x12\r\n\ttech_tree\x10\n\x12\x0b\n\x07upgrade\x10\x0b\x12\x0e\n\nfast_build\x10\x0c') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.debug_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DEBUGGAMESTATE']._serialized_start=1897 + _globals['_DEBUGGAMESTATE']._serialized_end=2075 + _globals['_DEBUGCOMMAND']._serialized_start=80 + _globals['_DEBUGCOMMAND']._serialized_end=523 + _globals['_DEBUGDRAW']._serialized_start=526 + _globals['_DEBUGDRAW']._serialized_end=707 + _globals['_LINE']._serialized_start=709 + _globals['_LINE']._serialized_end=785 + _globals['_COLOR']._serialized_start=787 + _globals['_COLOR']._serialized_end=827 + _globals['_DEBUGTEXT']._serialized_start=830 + _globals['_DEBUGTEXT']._serialized_end=993 + _globals['_DEBUGLINE']._serialized_start=995 + _globals['_DEBUGLINE']._serialized_end=1080 + _globals['_DEBUGBOX']._serialized_start=1082 + _globals['_DEBUGBOX']._serialized_end=1202 + _globals['_DEBUGSPHERE']._serialized_start=1204 + _globals['_DEBUGSPHERE']._serialized_end=1300 + _globals['_DEBUGCREATEUNIT']._serialized_start=1302 + _globals['_DEBUGCREATEUNIT']._serialized_end=1409 + _globals['_DEBUGKILLUNIT']._serialized_start=1411 + _globals['_DEBUGKILLUNIT']._serialized_end=1439 + _globals['_DEBUGTESTPROCESS']._serialized_start=1442 + _globals['_DEBUGTESTPROCESS']._serialized_end=1570 + _globals['_DEBUGTESTPROCESS_TEST']._serialized_start=1533 + _globals['_DEBUGTESTPROCESS_TEST']._serialized_end=1570 + _globals['_DEBUGSETSCORE']._serialized_start=1572 + _globals['_DEBUGSETSCORE']._serialized_end=1602 + _globals['_DEBUGENDGAME']._serialized_start=1604 + _globals['_DEBUGENDGAME']._serialized_end=1726 + _globals['_DEBUGENDGAME_ENDRESULT']._serialized_start=1680 + _globals['_DEBUGENDGAME_ENDRESULT']._serialized_end=1726 + _globals['_DEBUGSETUNITVALUE']._serialized_start=1729 + _globals['_DEBUGSETUNITVALUE']._serialized_end=1894 + _globals['_DEBUGSETUNITVALUE_UNITVALUE']._serialized_start=1848 + _globals['_DEBUGSETUNITVALUE_UNITVALUE']._serialized_end=1894 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/error_pb2.py b/worlds/_sc2common/bot/proto/error_pb2.py new file mode 100644 index 0000000000..d9c5709d74 --- /dev/null +++ b/worlds/_sc2common/bot/proto/error_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/error.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/error.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cs2clientprotocol/error.proto\x12\x0eSC2APIProtocol*\xa8-\n\x0c\x41\x63tionResult\x12\x0b\n\x07Success\x10\x01\x12\x10\n\x0cNotSupported\x10\x02\x12\t\n\x05\x45rror\x10\x03\x12\x16\n\x12\x43\x61ntQueueThatOrder\x10\x04\x12\t\n\x05Retry\x10\x05\x12\x0c\n\x08\x43ooldown\x10\x06\x12\x0f\n\x0bQueueIsFull\x10\x07\x12\x14\n\x10RallyQueueIsFull\x10\x08\x12\x15\n\x11NotEnoughMinerals\x10\t\x12\x14\n\x10NotEnoughVespene\x10\n\x12\x16\n\x12NotEnoughTerrazine\x10\x0b\x12\x13\n\x0fNotEnoughCustom\x10\x0c\x12\x11\n\rNotEnoughFood\x10\r\x12\x17\n\x13\x46oodUsageImpossible\x10\x0e\x12\x11\n\rNotEnoughLife\x10\x0f\x12\x14\n\x10NotEnoughShields\x10\x10\x12\x13\n\x0fNotEnoughEnergy\x10\x11\x12\x12\n\x0eLifeSuppressed\x10\x12\x12\x15\n\x11ShieldsSuppressed\x10\x13\x12\x14\n\x10\x45nergySuppressed\x10\x14\x12\x14\n\x10NotEnoughCharges\x10\x15\x12\x16\n\x12\x43\x61ntAddMoreCharges\x10\x16\x12\x13\n\x0fTooMuchMinerals\x10\x17\x12\x12\n\x0eTooMuchVespene\x10\x18\x12\x14\n\x10TooMuchTerrazine\x10\x19\x12\x11\n\rTooMuchCustom\x10\x1a\x12\x0f\n\x0bTooMuchFood\x10\x1b\x12\x0f\n\x0bTooMuchLife\x10\x1c\x12\x12\n\x0eTooMuchShields\x10\x1d\x12\x11\n\rTooMuchEnergy\x10\x1e\x12\x1a\n\x16MustTargetUnitWithLife\x10\x1f\x12\x1d\n\x19MustTargetUnitWithShields\x10 \x12\x1c\n\x18MustTargetUnitWithEnergy\x10!\x12\r\n\tCantTrade\x10\"\x12\r\n\tCantSpend\x10#\x12\x16\n\x12\x43\x61ntTargetThatUnit\x10$\x12\x17\n\x13\x43ouldntAllocateUnit\x10%\x12\x10\n\x0cUnitCantMove\x10&\x12\x1e\n\x1aTransportIsHoldingPosition\x10\'\x12\x1f\n\x1b\x42uildTechRequirementsNotMet\x10(\x12\x1d\n\x19\x43\x61ntFindPlacementLocation\x10)\x12\x13\n\x0f\x43\x61ntBuildOnThat\x10*\x12\x1e\n\x1a\x43\x61ntBuildTooCloseToDropOff\x10+\x12\x1c\n\x18\x43\x61ntBuildLocationInvalid\x10,\x12\x18\n\x14\x43\x61ntSeeBuildLocation\x10-\x12\"\n\x1e\x43\x61ntBuildTooCloseToCreepSource\x10.\x12 \n\x1c\x43\x61ntBuildTooCloseToResources\x10/\x12\x1c\n\x18\x43\x61ntBuildTooFarFromWater\x10\x30\x12\"\n\x1e\x43\x61ntBuildTooFarFromCreepSource\x10\x31\x12\'\n#CantBuildTooFarFromBuildPowerSource\x10\x32\x12\x1b\n\x17\x43\x61ntBuildOnDenseTerrain\x10\x33\x12\'\n#CantTrainTooFarFromTrainPowerSource\x10\x34\x12\x1b\n\x17\x43\x61ntLandLocationInvalid\x10\x35\x12\x17\n\x13\x43\x61ntSeeLandLocation\x10\x36\x12!\n\x1d\x43\x61ntLandTooCloseToCreepSource\x10\x37\x12\x1f\n\x1b\x43\x61ntLandTooCloseToResources\x10\x38\x12\x1b\n\x17\x43\x61ntLandTooFarFromWater\x10\x39\x12!\n\x1d\x43\x61ntLandTooFarFromCreepSource\x10:\x12&\n\"CantLandTooFarFromBuildPowerSource\x10;\x12&\n\"CantLandTooFarFromTrainPowerSource\x10<\x12\x1a\n\x16\x43\x61ntLandOnDenseTerrain\x10=\x12\x1b\n\x17\x41\x64\x64OnTooFarFromBuilding\x10>\x12\x1a\n\x16MustBuildRefineryFirst\x10?\x12\x1f\n\x1b\x42uildingIsUnderConstruction\x10@\x12\x13\n\x0f\x43\x61ntFindDropOff\x10\x41\x12\x1d\n\x19\x43\x61ntLoadOtherPlayersUnits\x10\x42\x12\x1b\n\x17NotEnoughRoomToLoadUnit\x10\x43\x12\x18\n\x14\x43\x61ntUnloadUnitsThere\x10\x44\x12\x18\n\x14\x43\x61ntWarpInUnitsThere\x10\x45\x12\x19\n\x15\x43\x61ntLoadImmobileUnits\x10\x46\x12\x1d\n\x19\x43\x61ntRechargeImmobileUnits\x10G\x12&\n\"CantRechargeUnderConstructionUnits\x10H\x12\x14\n\x10\x43\x61ntLoadThatUnit\x10I\x12\x13\n\x0fNoCargoToUnload\x10J\x12\x19\n\x15LoadAllNoTargetsFound\x10K\x12\x14\n\x10NotWhileOccupied\x10L\x12\x19\n\x15\x43\x61ntAttackWithoutAmmo\x10M\x12\x17\n\x13\x43\x61ntHoldAnyMoreAmmo\x10N\x12\x1a\n\x16TechRequirementsNotMet\x10O\x12\x19\n\x15MustLockdownUnitFirst\x10P\x12\x12\n\x0eMustTargetUnit\x10Q\x12\x17\n\x13MustTargetInventory\x10R\x12\x19\n\x15MustTargetVisibleUnit\x10S\x12\x1d\n\x19MustTargetVisibleLocation\x10T\x12\x1e\n\x1aMustTargetWalkableLocation\x10U\x12\x1a\n\x16MustTargetPawnableUnit\x10V\x12\x1a\n\x16YouCantControlThatUnit\x10W\x12\"\n\x1eYouCantIssueCommandsToThatUnit\x10X\x12\x17\n\x13MustTargetResources\x10Y\x12\x16\n\x12RequiresHealTarget\x10Z\x12\x18\n\x14RequiresRepairTarget\x10[\x12\x11\n\rNoItemsToDrop\x10\\\x12\x18\n\x14\x43\x61ntHoldAnyMoreItems\x10]\x12\x10\n\x0c\x43\x61ntHoldThat\x10^\x12\x18\n\x14TargetHasNoInventory\x10_\x12\x14\n\x10\x43\x61ntDropThisItem\x10`\x12\x14\n\x10\x43\x61ntMoveThisItem\x10\x61\x12\x14\n\x10\x43\x61ntPawnThisUnit\x10\x62\x12\x14\n\x10MustTargetCaster\x10\x63\x12\x14\n\x10\x43\x61ntTargetCaster\x10\x64\x12\x13\n\x0fMustTargetOuter\x10\x65\x12\x13\n\x0f\x43\x61ntTargetOuter\x10\x66\x12\x1a\n\x16MustTargetYourOwnUnits\x10g\x12\x1a\n\x16\x43\x61ntTargetYourOwnUnits\x10h\x12\x1b\n\x17MustTargetFriendlyUnits\x10i\x12\x1b\n\x17\x43\x61ntTargetFriendlyUnits\x10j\x12\x1a\n\x16MustTargetNeutralUnits\x10k\x12\x1a\n\x16\x43\x61ntTargetNeutralUnits\x10l\x12\x18\n\x14MustTargetEnemyUnits\x10m\x12\x18\n\x14\x43\x61ntTargetEnemyUnits\x10n\x12\x16\n\x12MustTargetAirUnits\x10o\x12\x16\n\x12\x43\x61ntTargetAirUnits\x10p\x12\x19\n\x15MustTargetGroundUnits\x10q\x12\x19\n\x15\x43\x61ntTargetGroundUnits\x10r\x12\x18\n\x14MustTargetStructures\x10s\x12\x18\n\x14\x43\x61ntTargetStructures\x10t\x12\x18\n\x14MustTargetLightUnits\x10u\x12\x18\n\x14\x43\x61ntTargetLightUnits\x10v\x12\x1a\n\x16MustTargetArmoredUnits\x10w\x12\x1a\n\x16\x43\x61ntTargetArmoredUnits\x10x\x12\x1d\n\x19MustTargetBiologicalUnits\x10y\x12\x1d\n\x19\x43\x61ntTargetBiologicalUnits\x10z\x12\x19\n\x15MustTargetHeroicUnits\x10{\x12\x19\n\x15\x43\x61ntTargetHeroicUnits\x10|\x12\x1a\n\x16MustTargetRoboticUnits\x10}\x12\x1a\n\x16\x43\x61ntTargetRoboticUnits\x10~\x12\x1d\n\x19MustTargetMechanicalUnits\x10\x7f\x12\x1e\n\x19\x43\x61ntTargetMechanicalUnits\x10\x80\x01\x12\x1b\n\x16MustTargetPsionicUnits\x10\x81\x01\x12\x1b\n\x16\x43\x61ntTargetPsionicUnits\x10\x82\x01\x12\x1b\n\x16MustTargetMassiveUnits\x10\x83\x01\x12\x1b\n\x16\x43\x61ntTargetMassiveUnits\x10\x84\x01\x12\x16\n\x11MustTargetMissile\x10\x85\x01\x12\x16\n\x11\x43\x61ntTargetMissile\x10\x86\x01\x12\x1a\n\x15MustTargetWorkerUnits\x10\x87\x01\x12\x1a\n\x15\x43\x61ntTargetWorkerUnits\x10\x88\x01\x12!\n\x1cMustTargetEnergyCapableUnits\x10\x89\x01\x12!\n\x1c\x43\x61ntTargetEnergyCapableUnits\x10\x8a\x01\x12!\n\x1cMustTargetShieldCapableUnits\x10\x8b\x01\x12!\n\x1c\x43\x61ntTargetShieldCapableUnits\x10\x8c\x01\x12\x15\n\x10MustTargetFlyers\x10\x8d\x01\x12\x15\n\x10\x43\x61ntTargetFlyers\x10\x8e\x01\x12\x1a\n\x15MustTargetBuriedUnits\x10\x8f\x01\x12\x1a\n\x15\x43\x61ntTargetBuriedUnits\x10\x90\x01\x12\x1b\n\x16MustTargetCloakedUnits\x10\x91\x01\x12\x1b\n\x16\x43\x61ntTargetCloakedUnits\x10\x92\x01\x12\"\n\x1dMustTargetUnitsInAStasisField\x10\x93\x01\x12\"\n\x1d\x43\x61ntTargetUnitsInAStasisField\x10\x94\x01\x12%\n MustTargetUnderConstructionUnits\x10\x95\x01\x12%\n CantTargetUnderConstructionUnits\x10\x96\x01\x12\x18\n\x13MustTargetDeadUnits\x10\x97\x01\x12\x18\n\x13\x43\x61ntTargetDeadUnits\x10\x98\x01\x12\x1d\n\x18MustTargetRevivableUnits\x10\x99\x01\x12\x1d\n\x18\x43\x61ntTargetRevivableUnits\x10\x9a\x01\x12\x1a\n\x15MustTargetHiddenUnits\x10\x9b\x01\x12\x1a\n\x15\x43\x61ntTargetHiddenUnits\x10\x9c\x01\x12\"\n\x1d\x43\x61ntRechargeOtherPlayersUnits\x10\x9d\x01\x12\x1d\n\x18MustTargetHallucinations\x10\x9e\x01\x12\x1d\n\x18\x43\x61ntTargetHallucinations\x10\x9f\x01\x12 \n\x1bMustTargetInvulnerableUnits\x10\xa0\x01\x12 \n\x1b\x43\x61ntTargetInvulnerableUnits\x10\xa1\x01\x12\x1c\n\x17MustTargetDetectedUnits\x10\xa2\x01\x12\x1c\n\x17\x43\x61ntTargetDetectedUnits\x10\xa3\x01\x12\x1d\n\x18\x43\x61ntTargetUnitWithEnergy\x10\xa4\x01\x12\x1e\n\x19\x43\x61ntTargetUnitWithShields\x10\xa5\x01\x12!\n\x1cMustTargetUncommandableUnits\x10\xa6\x01\x12!\n\x1c\x43\x61ntTargetUncommandableUnits\x10\xa7\x01\x12!\n\x1cMustTargetPreventDefeatUnits\x10\xa8\x01\x12!\n\x1c\x43\x61ntTargetPreventDefeatUnits\x10\xa9\x01\x12!\n\x1cMustTargetPreventRevealUnits\x10\xaa\x01\x12!\n\x1c\x43\x61ntTargetPreventRevealUnits\x10\xab\x01\x12\x1b\n\x16MustTargetPassiveUnits\x10\xac\x01\x12\x1b\n\x16\x43\x61ntTargetPassiveUnits\x10\xad\x01\x12\x1b\n\x16MustTargetStunnedUnits\x10\xae\x01\x12\x1b\n\x16\x43\x61ntTargetStunnedUnits\x10\xaf\x01\x12\x1c\n\x17MustTargetSummonedUnits\x10\xb0\x01\x12\x1c\n\x17\x43\x61ntTargetSummonedUnits\x10\xb1\x01\x12\x14\n\x0fMustTargetUser1\x10\xb2\x01\x12\x14\n\x0f\x43\x61ntTargetUser1\x10\xb3\x01\x12\x1f\n\x1aMustTargetUnstoppableUnits\x10\xb4\x01\x12\x1f\n\x1a\x43\x61ntTargetUnstoppableUnits\x10\xb5\x01\x12\x1d\n\x18MustTargetResistantUnits\x10\xb6\x01\x12\x1d\n\x18\x43\x61ntTargetResistantUnits\x10\xb7\x01\x12\x19\n\x14MustTargetDazedUnits\x10\xb8\x01\x12\x19\n\x14\x43\x61ntTargetDazedUnits\x10\xb9\x01\x12\x11\n\x0c\x43\x61ntLockdown\x10\xba\x01\x12\x14\n\x0f\x43\x61ntMindControl\x10\xbb\x01\x12\x1c\n\x17MustTargetDestructibles\x10\xbc\x01\x12\x1c\n\x17\x43\x61ntTargetDestructibles\x10\xbd\x01\x12\x14\n\x0fMustTargetItems\x10\xbe\x01\x12\x14\n\x0f\x43\x61ntTargetItems\x10\xbf\x01\x12\x18\n\x13NoCalldownAvailable\x10\xc0\x01\x12\x15\n\x10WaypointListFull\x10\xc1\x01\x12\x13\n\x0eMustTargetRace\x10\xc2\x01\x12\x13\n\x0e\x43\x61ntTargetRace\x10\xc3\x01\x12\x1b\n\x16MustTargetSimilarUnits\x10\xc4\x01\x12\x1b\n\x16\x43\x61ntTargetSimilarUnits\x10\xc5\x01\x12\x1a\n\x15\x43\x61ntFindEnoughTargets\x10\xc6\x01\x12\x19\n\x14\x41lreadySpawningLarva\x10\xc7\x01\x12!\n\x1c\x43\x61ntTargetExhaustedResources\x10\xc8\x01\x12\x13\n\x0e\x43\x61ntUseMinimap\x10\xc9\x01\x12\x15\n\x10\x43\x61ntUseInfoPanel\x10\xca\x01\x12\x15\n\x10OrderQueueIsFull\x10\xcb\x01\x12\x1c\n\x17\x43\x61ntHarvestThatResource\x10\xcc\x01\x12\x1a\n\x15HarvestersNotRequired\x10\xcd\x01\x12\x14\n\x0f\x41lreadyTargeted\x10\xce\x01\x12\x1e\n\x19\x43\x61ntAttackWeaponsDisabled\x10\xcf\x01\x12\x17\n\x12\x43ouldntReachTarget\x10\xd0\x01\x12\x17\n\x12TargetIsOutOfRange\x10\xd1\x01\x12\x15\n\x10TargetIsTooClose\x10\xd2\x01\x12\x15\n\x10TargetIsOutOfArc\x10\xd3\x01\x12\x1d\n\x18\x43\x61ntFindTeleportLocation\x10\xd4\x01\x12\x15\n\x10InvalidItemClass\x10\xd5\x01\x12\x18\n\x13\x43\x61ntFindCancelOrder\x10\xd6\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.error_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ACTIONRESULT']._serialized_start=49 + _globals['_ACTIONRESULT']._serialized_end=5849 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/query_pb2.py b/worlds/_sc2common/bot/proto/query_pb2.py new file mode 100644 index 0000000000..40d09ecce1 --- /dev/null +++ b/worlds/_sc2common/bot/proto/query_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/query.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/query.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import common_pb2 as s2clientprotocol_dot_common__pb2 +from . import error_pb2 as s2clientprotocol_dot_error__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cs2clientprotocol/query.proto\x12\x0eSC2APIProtocol\x1a\x1ds2clientprotocol/common.proto\x1a\x1cs2clientprotocol/error.proto\"\xf0\x01\n\x0cRequestQuery\x12\x34\n\x07pathing\x18\x01 \x03(\x0b\x32#.SC2APIProtocol.RequestQueryPathing\x12\x41\n\tabilities\x18\x02 \x03(\x0b\x32..SC2APIProtocol.RequestQueryAvailableAbilities\x12\x41\n\nplacements\x18\x03 \x03(\x0b\x32-.SC2APIProtocol.RequestQueryBuildingPlacement\x12$\n\x1cignore_resource_requirements\x18\x04 \x01(\x08\"\xce\x01\n\rResponseQuery\x12\x35\n\x07pathing\x18\x01 \x03(\x0b\x32$.SC2APIProtocol.ResponseQueryPathing\x12\x42\n\tabilities\x18\x02 \x03(\x0b\x32/.SC2APIProtocol.ResponseQueryAvailableAbilities\x12\x42\n\nplacements\x18\x03 \x03(\x0b\x32..SC2APIProtocol.ResponseQueryBuildingPlacement\"\x8a\x01\n\x13RequestQueryPathing\x12,\n\tstart_pos\x18\x01 \x01(\x0b\x32\x17.SC2APIProtocol.Point2DH\x00\x12\x12\n\x08unit_tag\x18\x02 \x01(\x04H\x00\x12(\n\x07\x65nd_pos\x18\x03 \x01(\x0b\x32\x17.SC2APIProtocol.Point2DB\x07\n\x05start\"(\n\x14ResponseQueryPathing\x12\x10\n\x08\x64istance\x18\x01 \x01(\x02\"2\n\x1eRequestQueryAvailableAbilities\x12\x10\n\x08unit_tag\x18\x01 \x01(\x04\"~\n\x1fResponseQueryAvailableAbilities\x12\x33\n\tabilities\x18\x01 \x03(\x0b\x32 .SC2APIProtocol.AvailableAbility\x12\x10\n\x08unit_tag\x18\x02 \x01(\x04\x12\x14\n\x0cunit_type_id\x18\x03 \x01(\r\"z\n\x1dRequestQueryBuildingPlacement\x12\x12\n\nability_id\x18\x01 \x01(\x05\x12+\n\ntarget_pos\x18\x02 \x01(\x0b\x32\x17.SC2APIProtocol.Point2D\x12\x18\n\x10placing_unit_tag\x18\x03 \x01(\x04\"N\n\x1eResponseQueryBuildingPlacement\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.SC2APIProtocol.ActionResult') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.query_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_REQUESTQUERY']._serialized_start=110 + _globals['_REQUESTQUERY']._serialized_end=350 + _globals['_RESPONSEQUERY']._serialized_start=353 + _globals['_RESPONSEQUERY']._serialized_end=559 + _globals['_REQUESTQUERYPATHING']._serialized_start=562 + _globals['_REQUESTQUERYPATHING']._serialized_end=700 + _globals['_RESPONSEQUERYPATHING']._serialized_start=702 + _globals['_RESPONSEQUERYPATHING']._serialized_end=742 + _globals['_REQUESTQUERYAVAILABLEABILITIES']._serialized_start=744 + _globals['_REQUESTQUERYAVAILABLEABILITIES']._serialized_end=794 + _globals['_RESPONSEQUERYAVAILABLEABILITIES']._serialized_start=796 + _globals['_RESPONSEQUERYAVAILABLEABILITIES']._serialized_end=922 + _globals['_REQUESTQUERYBUILDINGPLACEMENT']._serialized_start=924 + _globals['_REQUESTQUERYBUILDINGPLACEMENT']._serialized_end=1046 + _globals['_RESPONSEQUERYBUILDINGPLACEMENT']._serialized_start=1048 + _globals['_RESPONSEQUERYBUILDINGPLACEMENT']._serialized_end=1126 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/raw_pb2.py b/worlds/_sc2common/bot/proto/raw_pb2.py new file mode 100644 index 0000000000..3eb9ea182c --- /dev/null +++ b/worlds/_sc2common/bot/proto/raw_pb2.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/raw.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/raw.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import common_pb2 as s2clientprotocol_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1as2clientprotocol/raw.proto\x12\x0eSC2APIProtocol\x1a\x1ds2clientprotocol/common.proto\"\xb1\x02\n\x08StartRaw\x12)\n\x08map_size\x18\x01 \x01(\x0b\x32\x17.SC2APIProtocol.Size2DI\x12/\n\x0cpathing_grid\x18\x02 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\x0eterrain_height\x18\x03 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\x0eplacement_grid\x18\x04 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\rplayable_area\x18\x05 \x01(\x0b\x32\x1a.SC2APIProtocol.RectangleI\x12\x30\n\x0fstart_locations\x18\x06 \x03(\x0b\x32\x17.SC2APIProtocol.Point2D\"\x86\x02\n\x0eObservationRaw\x12)\n\x06player\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.PlayerRaw\x12#\n\x05units\x18\x02 \x03(\x0b\x32\x14.SC2APIProtocol.Unit\x12+\n\tmap_state\x18\x03 \x01(\x0b\x32\x18.SC2APIProtocol.MapState\x12$\n\x05\x65vent\x18\x04 \x01(\x0b\x32\x15.SC2APIProtocol.Event\x12\'\n\x07\x65\x66\x66\x65\x63ts\x18\x05 \x03(\x0b\x32\x16.SC2APIProtocol.Effect\x12(\n\x05radar\x18\x06 \x03(\x0b\x32\x19.SC2APIProtocol.RadarRing\"?\n\tRadarRing\x12\"\n\x03pos\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\x0e\n\x06radius\x18\x02 \x01(\x02\"N\n\x0bPowerSource\x12\"\n\x03pos\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\x0e\n\x06radius\x18\x02 \x01(\x02\x12\x0b\n\x03tag\x18\x03 \x01(\x04\"{\n\tPlayerRaw\x12\x32\n\rpower_sources\x18\x01 \x03(\x0b\x32\x1b.SC2APIProtocol.PowerSource\x12%\n\x06\x63\x61mera\x18\x02 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\x13\n\x0bupgrade_ids\x18\x03 \x03(\r\"\x8f\x01\n\tUnitOrder\x12\x12\n\nability_id\x18\x01 \x01(\r\x12\x37\n\x16target_world_space_pos\x18\x02 \x01(\x0b\x32\x15.SC2APIProtocol.PointH\x00\x12\x19\n\x0ftarget_unit_tag\x18\x03 \x01(\x04H\x00\x12\x10\n\x08progress\x18\x04 \x01(\x02\x42\x08\n\x06target\"\x9b\x01\n\rPassengerUnit\x12\x0b\n\x03tag\x18\x01 \x01(\x04\x12\x0e\n\x06health\x18\x02 \x01(\x02\x12\x12\n\nhealth_max\x18\x03 \x01(\x02\x12\x0e\n\x06shield\x18\x04 \x01(\x02\x12\x12\n\nshield_max\x18\x07 \x01(\x02\x12\x0e\n\x06\x65nergy\x18\x05 \x01(\x02\x12\x12\n\nenergy_max\x18\x08 \x01(\x02\x12\x11\n\tunit_type\x18\x06 \x01(\r\"@\n\x0bRallyTarget\x12$\n\x05point\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\x0b\n\x03tag\x18\x02 \x01(\x04\"\xf5\x08\n\x04Unit\x12\x31\n\x0c\x64isplay_type\x18\x01 \x01(\x0e\x32\x1b.SC2APIProtocol.DisplayType\x12*\n\x08\x61lliance\x18\x02 \x01(\x0e\x32\x18.SC2APIProtocol.Alliance\x12\x0b\n\x03tag\x18\x03 \x01(\x04\x12\x11\n\tunit_type\x18\x04 \x01(\r\x12\r\n\x05owner\x18\x05 \x01(\x05\x12\"\n\x03pos\x18\x06 \x01(\x0b\x32\x15.SC2APIProtocol.Point\x12\x0e\n\x06\x66\x61\x63ing\x18\x07 \x01(\x02\x12\x0e\n\x06radius\x18\x08 \x01(\x02\x12\x16\n\x0e\x62uild_progress\x18\t \x01(\x02\x12)\n\x05\x63loak\x18\n \x01(\x0e\x32\x1a.SC2APIProtocol.CloakState\x12\x10\n\x08\x62uff_ids\x18\x1b \x03(\r\x12\x14\n\x0c\x64\x65tect_range\x18\x1f \x01(\x02\x12\x13\n\x0bradar_range\x18 \x01(\x02\x12\x13\n\x0bis_selected\x18\x0b \x01(\x08\x12\x14\n\x0cis_on_screen\x18\x0c \x01(\x08\x12\x0f\n\x07is_blip\x18\r \x01(\x08\x12\x12\n\nis_powered\x18# \x01(\x08\x12\x11\n\tis_active\x18\' \x01(\x08\x12\x1c\n\x14\x61ttack_upgrade_level\x18( \x01(\x05\x12\x1b\n\x13\x61rmor_upgrade_level\x18) \x01(\x05\x12\x1c\n\x14shield_upgrade_level\x18* \x01(\x05\x12\x0e\n\x06health\x18\x0e \x01(\x02\x12\x12\n\nhealth_max\x18\x0f \x01(\x02\x12\x0e\n\x06shield\x18\x10 \x01(\x02\x12\x12\n\nshield_max\x18$ \x01(\x02\x12\x0e\n\x06\x65nergy\x18\x11 \x01(\x02\x12\x12\n\nenergy_max\x18% \x01(\x02\x12\x18\n\x10mineral_contents\x18\x12 \x01(\x05\x12\x18\n\x10vespene_contents\x18\x13 \x01(\x05\x12\x11\n\tis_flying\x18\x14 \x01(\x08\x12\x13\n\x0bis_burrowed\x18\x15 \x01(\x08\x12\x18\n\x10is_hallucination\x18& \x01(\x08\x12)\n\x06orders\x18\x16 \x03(\x0b\x32\x19.SC2APIProtocol.UnitOrder\x12\x12\n\nadd_on_tag\x18\x17 \x01(\x04\x12\x31\n\npassengers\x18\x18 \x03(\x0b\x32\x1d.SC2APIProtocol.PassengerUnit\x12\x19\n\x11\x63\x61rgo_space_taken\x18\x19 \x01(\x05\x12\x17\n\x0f\x63\x61rgo_space_max\x18\x1a \x01(\x05\x12\x1b\n\x13\x61ssigned_harvesters\x18\x1c \x01(\x05\x12\x18\n\x10ideal_harvesters\x18\x1d \x01(\x05\x12\x17\n\x0fweapon_cooldown\x18\x1e \x01(\x02\x12\x1a\n\x12\x65ngaged_target_tag\x18\" \x01(\x04\x12\x1c\n\x14\x62uff_duration_remain\x18+ \x01(\x05\x12\x19\n\x11\x62uff_duration_max\x18, \x01(\x05\x12\x32\n\rrally_targets\x18- \x03(\x0b\x32\x1b.SC2APIProtocol.RallyTarget\"c\n\x08MapState\x12-\n\nvisibility\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12(\n\x05\x63reep\x18\x02 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\"\x1b\n\x05\x45vent\x12\x12\n\ndead_units\x18\x01 \x03(\x04\"\x8c\x01\n\x06\x45\x66\x66\x65\x63t\x12\x11\n\teffect_id\x18\x01 \x01(\r\x12$\n\x03pos\x18\x02 \x03(\x0b\x32\x17.SC2APIProtocol.Point2D\x12*\n\x08\x61lliance\x18\x03 \x01(\x0e\x32\x18.SC2APIProtocol.Alliance\x12\r\n\x05owner\x18\x04 \x01(\x05\x12\x0e\n\x06radius\x18\x05 \x01(\x02\"\xd3\x01\n\tActionRaw\x12<\n\x0cunit_command\x18\x01 \x01(\x0b\x32$.SC2APIProtocol.ActionRawUnitCommandH\x00\x12:\n\x0b\x63\x61mera_move\x18\x02 \x01(\x0b\x32#.SC2APIProtocol.ActionRawCameraMoveH\x00\x12\x42\n\x0ftoggle_autocast\x18\x03 \x01(\x0b\x32\'.SC2APIProtocol.ActionRawToggleAutocastH\x00\x42\x08\n\x06\x61\x63tion\"\xb4\x01\n\x14\x41\x63tionRawUnitCommand\x12\x12\n\nability_id\x18\x01 \x01(\x05\x12\x39\n\x16target_world_space_pos\x18\x02 \x01(\x0b\x32\x17.SC2APIProtocol.Point2DH\x00\x12\x19\n\x0ftarget_unit_tag\x18\x03 \x01(\x04H\x00\x12\x11\n\tunit_tags\x18\x04 \x03(\x04\x12\x15\n\rqueue_command\x18\x05 \x01(\x08\x42\x08\n\x06target\"H\n\x13\x41\x63tionRawCameraMove\x12\x31\n\x12\x63\x65nter_world_space\x18\x01 \x01(\x0b\x32\x15.SC2APIProtocol.Point\"@\n\x17\x41\x63tionRawToggleAutocast\x12\x12\n\nability_id\x18\x01 \x01(\x05\x12\x11\n\tunit_tags\x18\x02 \x03(\x04*E\n\x0b\x44isplayType\x12\x0b\n\x07Visible\x10\x01\x12\x0c\n\x08Snapshot\x10\x02\x12\n\n\x06Hidden\x10\x03\x12\x0f\n\x0bPlaceholder\x10\x04*6\n\x08\x41lliance\x12\x08\n\x04Self\x10\x01\x12\x08\n\x04\x41lly\x10\x02\x12\x0b\n\x07Neutral\x10\x03\x12\t\n\x05\x45nemy\x10\x04*e\n\nCloakState\x12\x12\n\x0e\x43loakedUnknown\x10\x00\x12\x0b\n\x07\x43loaked\x10\x01\x12\x13\n\x0f\x43loakedDetected\x10\x02\x12\x0e\n\nNotCloaked\x10\x03\x12\x11\n\rCloakedAllied\x10\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.raw_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DISPLAYTYPE']._serialized_start=3244 + _globals['_DISPLAYTYPE']._serialized_end=3313 + _globals['_ALLIANCE']._serialized_start=3315 + _globals['_ALLIANCE']._serialized_end=3369 + _globals['_CLOAKSTATE']._serialized_start=3371 + _globals['_CLOAKSTATE']._serialized_end=3472 + _globals['_STARTRAW']._serialized_start=78 + _globals['_STARTRAW']._serialized_end=383 + _globals['_OBSERVATIONRAW']._serialized_start=386 + _globals['_OBSERVATIONRAW']._serialized_end=648 + _globals['_RADARRING']._serialized_start=650 + _globals['_RADARRING']._serialized_end=713 + _globals['_POWERSOURCE']._serialized_start=715 + _globals['_POWERSOURCE']._serialized_end=793 + _globals['_PLAYERRAW']._serialized_start=795 + _globals['_PLAYERRAW']._serialized_end=918 + _globals['_UNITORDER']._serialized_start=921 + _globals['_UNITORDER']._serialized_end=1064 + _globals['_PASSENGERUNIT']._serialized_start=1067 + _globals['_PASSENGERUNIT']._serialized_end=1222 + _globals['_RALLYTARGET']._serialized_start=1224 + _globals['_RALLYTARGET']._serialized_end=1288 + _globals['_UNIT']._serialized_start=1291 + _globals['_UNIT']._serialized_end=2432 + _globals['_MAPSTATE']._serialized_start=2434 + _globals['_MAPSTATE']._serialized_end=2533 + _globals['_EVENT']._serialized_start=2535 + _globals['_EVENT']._serialized_end=2562 + _globals['_EFFECT']._serialized_start=2565 + _globals['_EFFECT']._serialized_end=2705 + _globals['_ACTIONRAW']._serialized_start=2708 + _globals['_ACTIONRAW']._serialized_end=2919 + _globals['_ACTIONRAWUNITCOMMAND']._serialized_start=2922 + _globals['_ACTIONRAWUNITCOMMAND']._serialized_end=3102 + _globals['_ACTIONRAWCAMERAMOVE']._serialized_start=3104 + _globals['_ACTIONRAWCAMERAMOVE']._serialized_end=3176 + _globals['_ACTIONRAWTOGGLEAUTOCAST']._serialized_start=3178 + _globals['_ACTIONRAWTOGGLEAUTOCAST']._serialized_end=3242 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/sc2api_pb2.py b/worlds/_sc2common/bot/proto/sc2api_pb2.py new file mode 100644 index 0000000000..55a4d01008 --- /dev/null +++ b/worlds/_sc2common/bot/proto/sc2api_pb2.py @@ -0,0 +1,197 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/sc2api.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/sc2api.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import common_pb2 as s2clientprotocol_dot_common__pb2 +from . import data_pb2 as s2clientprotocol_dot_data__pb2 +from . import debug_pb2 as s2clientprotocol_dot_debug__pb2 +from . import error_pb2 as s2clientprotocol_dot_error__pb2 +from . import query_pb2 as s2clientprotocol_dot_query__pb2 +from . import raw_pb2 as s2clientprotocol_dot_raw__pb2 +from . import score_pb2 as s2clientprotocol_dot_score__pb2 +from . import spatial_pb2 as s2clientprotocol_dot_spatial__pb2 +from . import ui_pb2 as s2clientprotocol_dot_ui__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ds2clientprotocol/sc2api.proto\x12\x0eSC2APIProtocol\x1a\x1ds2clientprotocol/common.proto\x1a\x1bs2clientprotocol/data.proto\x1a\x1cs2clientprotocol/debug.proto\x1a\x1cs2clientprotocol/error.proto\x1a\x1cs2clientprotocol/query.proto\x1a\x1as2clientprotocol/raw.proto\x1a\x1cs2clientprotocol/score.proto\x1a\x1es2clientprotocol/spatial.proto\x1a\x19s2clientprotocol/ui.proto\"\xc3\t\n\x07Request\x12\x38\n\x0b\x63reate_game\x18\x01 \x01(\x0b\x32!.SC2APIProtocol.RequestCreateGameH\x00\x12\x34\n\tjoin_game\x18\x02 \x01(\x0b\x32\x1f.SC2APIProtocol.RequestJoinGameH\x00\x12:\n\x0crestart_game\x18\x03 \x01(\x0b\x32\".SC2APIProtocol.RequestRestartGameH\x00\x12:\n\x0cstart_replay\x18\x04 \x01(\x0b\x32\".SC2APIProtocol.RequestStartReplayH\x00\x12\x36\n\nleave_game\x18\x05 \x01(\x0b\x32 .SC2APIProtocol.RequestLeaveGameH\x00\x12\x36\n\nquick_save\x18\x06 \x01(\x0b\x32 .SC2APIProtocol.RequestQuickSaveH\x00\x12\x36\n\nquick_load\x18\x07 \x01(\x0b\x32 .SC2APIProtocol.RequestQuickLoadH\x00\x12+\n\x04quit\x18\x08 \x01(\x0b\x32\x1b.SC2APIProtocol.RequestQuitH\x00\x12\x34\n\tgame_info\x18\t \x01(\x0b\x32\x1f.SC2APIProtocol.RequestGameInfoH\x00\x12\x39\n\x0bobservation\x18\n \x01(\x0b\x32\".SC2APIProtocol.RequestObservationH\x00\x12/\n\x06\x61\x63tion\x18\x0b \x01(\x0b\x32\x1d.SC2APIProtocol.RequestActionH\x00\x12;\n\nobs_action\x18\x15 \x01(\x0b\x32%.SC2APIProtocol.RequestObserverActionH\x00\x12+\n\x04step\x18\x0c \x01(\x0b\x32\x1b.SC2APIProtocol.RequestStepH\x00\x12+\n\x04\x64\x61ta\x18\r \x01(\x0b\x32\x1b.SC2APIProtocol.RequestDataH\x00\x12-\n\x05query\x18\x0e \x01(\x0b\x32\x1c.SC2APIProtocol.RequestQueryH\x00\x12\x38\n\x0bsave_replay\x18\x0f \x01(\x0b\x32!.SC2APIProtocol.RequestSaveReplayH\x00\x12\x38\n\x0bmap_command\x18\x16 \x01(\x0b\x32!.SC2APIProtocol.RequestMapCommandH\x00\x12\x38\n\x0breplay_info\x18\x10 \x01(\x0b\x32!.SC2APIProtocol.RequestReplayInfoH\x00\x12>\n\x0e\x61vailable_maps\x18\x11 \x01(\x0b\x32$.SC2APIProtocol.RequestAvailableMapsH\x00\x12\x32\n\x08save_map\x18\x12 \x01(\x0b\x32\x1e.SC2APIProtocol.RequestSaveMapH\x00\x12+\n\x04ping\x18\x13 \x01(\x0b\x32\x1b.SC2APIProtocol.RequestPingH\x00\x12-\n\x05\x64\x65\x62ug\x18\x14 \x01(\x0b\x32\x1c.SC2APIProtocol.RequestDebugH\x00\x12\n\n\x02id\x18\x61 \x01(\rB\t\n\x07request\"\x92\n\n\x08Response\x12\x39\n\x0b\x63reate_game\x18\x01 \x01(\x0b\x32\".SC2APIProtocol.ResponseCreateGameH\x00\x12\x35\n\tjoin_game\x18\x02 \x01(\x0b\x32 .SC2APIProtocol.ResponseJoinGameH\x00\x12;\n\x0crestart_game\x18\x03 \x01(\x0b\x32#.SC2APIProtocol.ResponseRestartGameH\x00\x12;\n\x0cstart_replay\x18\x04 \x01(\x0b\x32#.SC2APIProtocol.ResponseStartReplayH\x00\x12\x37\n\nleave_game\x18\x05 \x01(\x0b\x32!.SC2APIProtocol.ResponseLeaveGameH\x00\x12\x37\n\nquick_save\x18\x06 \x01(\x0b\x32!.SC2APIProtocol.ResponseQuickSaveH\x00\x12\x37\n\nquick_load\x18\x07 \x01(\x0b\x32!.SC2APIProtocol.ResponseQuickLoadH\x00\x12,\n\x04quit\x18\x08 \x01(\x0b\x32\x1c.SC2APIProtocol.ResponseQuitH\x00\x12\x35\n\tgame_info\x18\t \x01(\x0b\x32 .SC2APIProtocol.ResponseGameInfoH\x00\x12:\n\x0bobservation\x18\n \x01(\x0b\x32#.SC2APIProtocol.ResponseObservationH\x00\x12\x30\n\x06\x61\x63tion\x18\x0b \x01(\x0b\x32\x1e.SC2APIProtocol.ResponseActionH\x00\x12<\n\nobs_action\x18\x15 \x01(\x0b\x32&.SC2APIProtocol.ResponseObserverActionH\x00\x12,\n\x04step\x18\x0c \x01(\x0b\x32\x1c.SC2APIProtocol.ResponseStepH\x00\x12,\n\x04\x64\x61ta\x18\r \x01(\x0b\x32\x1c.SC2APIProtocol.ResponseDataH\x00\x12.\n\x05query\x18\x0e \x01(\x0b\x32\x1d.SC2APIProtocol.ResponseQueryH\x00\x12\x39\n\x0bsave_replay\x18\x0f \x01(\x0b\x32\".SC2APIProtocol.ResponseSaveReplayH\x00\x12\x39\n\x0breplay_info\x18\x10 \x01(\x0b\x32\".SC2APIProtocol.ResponseReplayInfoH\x00\x12?\n\x0e\x61vailable_maps\x18\x11 \x01(\x0b\x32%.SC2APIProtocol.ResponseAvailableMapsH\x00\x12\x33\n\x08save_map\x18\x12 \x01(\x0b\x32\x1f.SC2APIProtocol.ResponseSaveMapH\x00\x12\x39\n\x0bmap_command\x18\x16 \x01(\x0b\x32\".SC2APIProtocol.ResponseMapCommandH\x00\x12,\n\x04ping\x18\x13 \x01(\x0b\x32\x1c.SC2APIProtocol.ResponsePingH\x00\x12.\n\x05\x64\x65\x62ug\x18\x14 \x01(\x0b\x32\x1d.SC2APIProtocol.ResponseDebugH\x00\x12\n\n\x02id\x18\x61 \x01(\r\x12\r\n\x05\x65rror\x18\x62 \x03(\t\x12&\n\x06status\x18\x63 \x01(\x0e\x32\x16.SC2APIProtocol.StatusB\n\n\x08response\"\xd6\x01\n\x11RequestCreateGame\x12-\n\tlocal_map\x18\x01 \x01(\x0b\x32\x18.SC2APIProtocol.LocalMapH\x00\x12\x1c\n\x12\x62\x61ttlenet_map_name\x18\x02 \x01(\tH\x00\x12\x31\n\x0cplayer_setup\x18\x03 \x03(\x0b\x32\x1b.SC2APIProtocol.PlayerSetup\x12\x13\n\x0b\x64isable_fog\x18\x04 \x01(\x08\x12\x13\n\x0brandom_seed\x18\x05 \x01(\r\x12\x10\n\x08realtime\x18\x06 \x01(\x08\x42\x05\n\x03Map\".\n\x08LocalMap\x12\x10\n\x08map_path\x18\x01 \x01(\t\x12\x10\n\x08map_data\x18\x07 \x01(\x0c\"\x9c\x02\n\x12ResponseCreateGame\x12\x37\n\x05\x65rror\x18\x01 \x01(\x0e\x32(.SC2APIProtocol.ResponseCreateGame.Error\x12\x15\n\rerror_details\x18\x02 \x01(\t\"\xb5\x01\n\x05\x45rror\x12\x0e\n\nMissingMap\x10\x01\x12\x12\n\x0eInvalidMapPath\x10\x02\x12\x12\n\x0eInvalidMapData\x10\x03\x12\x12\n\x0eInvalidMapName\x10\x04\x12\x14\n\x10InvalidMapHandle\x10\x05\x12\x16\n\x12MissingPlayerSetup\x10\x06\x12\x16\n\x12InvalidPlayerSetup\x10\x07\x12\x1a\n\x16MultiplayerUnsupported\x10\x08\"\xb2\x02\n\x0fRequestJoinGame\x12$\n\x04race\x18\x01 \x01(\x0e\x32\x14.SC2APIProtocol.RaceH\x00\x12\x1c\n\x12observed_player_id\x18\x02 \x01(\rH\x00\x12\x31\n\x07options\x18\x03 \x01(\x0b\x32 .SC2APIProtocol.InterfaceOptions\x12-\n\x0cserver_ports\x18\x04 \x01(\x0b\x32\x17.SC2APIProtocol.PortSet\x12-\n\x0c\x63lient_ports\x18\x05 \x03(\x0b\x32\x17.SC2APIProtocol.PortSet\x12\x13\n\x0bshared_port\x18\x06 \x01(\x05\x12\x13\n\x0bplayer_name\x18\x07 \x01(\t\x12\x0f\n\x07host_ip\x18\x08 \x01(\tB\x0f\n\rparticipation\"/\n\x07PortSet\x12\x11\n\tgame_port\x18\x01 \x01(\x05\x12\x11\n\tbase_port\x18\x02 \x01(\x05\"\x82\x03\n\x10ResponseJoinGame\x12\x11\n\tplayer_id\x18\x01 \x01(\r\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0e\x32&.SC2APIProtocol.ResponseJoinGame.Error\x12\x15\n\rerror_details\x18\x03 \x01(\t\"\x8c\x02\n\x05\x45rror\x12\x18\n\x14MissingParticipation\x10\x01\x12\x1b\n\x17InvalidObservedPlayerId\x10\x02\x12\x12\n\x0eMissingOptions\x10\x03\x12\x10\n\x0cMissingPorts\x10\x04\x12\x0c\n\x08GameFull\x10\x05\x12\x0f\n\x0bLaunchError\x10\x06\x12\x16\n\x12\x46\x65\x61tureUnsupported\x10\x07\x12\x12\n\x0eNoSpaceForUser\x10\x08\x12\x13\n\x0fMapDoesNotExist\x10\t\x12\x11\n\rCannotOpenMap\x10\n\x12\x11\n\rChecksumError\x10\x0b\x12\x10\n\x0cNetworkError\x10\x0c\x12\x0e\n\nOtherError\x10\r\"\x14\n\x12RequestRestartGame\"\x99\x01\n\x13ResponseRestartGame\x12\x38\n\x05\x65rror\x18\x01 \x01(\x0e\x32).SC2APIProtocol.ResponseRestartGame.Error\x12\x15\n\rerror_details\x18\x02 \x01(\t\x12\x17\n\x0fneed_hard_reset\x18\x03 \x01(\x08\"\x18\n\x05\x45rror\x12\x0f\n\x0bLaunchError\x10\x01\"\xeb\x01\n\x12RequestStartReplay\x12\x15\n\x0breplay_path\x18\x01 \x01(\tH\x00\x12\x15\n\x0breplay_data\x18\x05 \x01(\x0cH\x00\x12\x10\n\x08map_data\x18\x06 \x01(\x0c\x12\x1a\n\x12observed_player_id\x18\x02 \x01(\x05\x12\x31\n\x07options\x18\x03 \x01(\x0b\x32 .SC2APIProtocol.InterfaceOptions\x12\x13\n\x0b\x64isable_fog\x18\x04 \x01(\x08\x12\x10\n\x08realtime\x18\x07 \x01(\x08\x12\x15\n\rrecord_replay\x18\x08 \x01(\x08\x42\x08\n\x06replay\"\x87\x02\n\x13ResponseStartReplay\x12\x38\n\x05\x65rror\x18\x01 \x01(\x0e\x32).SC2APIProtocol.ResponseStartReplay.Error\x12\x15\n\rerror_details\x18\x02 \x01(\t\"\x9e\x01\n\x05\x45rror\x12\x11\n\rMissingReplay\x10\x01\x12\x15\n\x11InvalidReplayPath\x10\x02\x12\x15\n\x11InvalidReplayData\x10\x03\x12\x12\n\x0eInvalidMapData\x10\x04\x12\x1b\n\x17InvalidObservedPlayerId\x10\x05\x12\x12\n\x0eMissingOptions\x10\x06\x12\x0f\n\x0bLaunchError\x10\x07\"(\n\x11RequestMapCommand\x12\x13\n\x0btrigger_cmd\x18\x01 \x01(\t\"\x81\x01\n\x12ResponseMapCommand\x12\x37\n\x05\x65rror\x18\x01 \x01(\x0e\x32(.SC2APIProtocol.ResponseMapCommand.Error\x12\x15\n\rerror_details\x18\x02 \x01(\t\"\x1b\n\x05\x45rror\x12\x12\n\x0eNoTriggerError\x10\x01\"\x12\n\x10RequestLeaveGame\"\x13\n\x11ResponseLeaveGame\"\x12\n\x10RequestQuickSave\"\x13\n\x11ResponseQuickSave\"\x12\n\x10RequestQuickLoad\"\x13\n\x11ResponseQuickLoad\"\r\n\x0bRequestQuit\"\x0e\n\x0cResponseQuit\"\x11\n\x0fRequestGameInfo\"\xe0\x01\n\x10ResponseGameInfo\x12\x10\n\x08map_name\x18\x01 \x01(\t\x12\x11\n\tmod_names\x18\x06 \x03(\t\x12\x16\n\x0elocal_map_path\x18\x02 \x01(\t\x12/\n\x0bplayer_info\x18\x03 \x03(\x0b\x32\x1a.SC2APIProtocol.PlayerInfo\x12+\n\tstart_raw\x18\x04 \x01(\x0b\x32\x18.SC2APIProtocol.StartRaw\x12\x31\n\x07options\x18\x05 \x01(\x0b\x32 .SC2APIProtocol.InterfaceOptions\"<\n\x12RequestObservation\x12\x13\n\x0b\x64isable_fog\x18\x01 \x01(\x08\x12\x11\n\tgame_loop\x18\x02 \x01(\r\"\x85\x02\n\x13ResponseObservation\x12\'\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x16.SC2APIProtocol.Action\x12\x32\n\raction_errors\x18\x02 \x03(\x0b\x32\x1b.SC2APIProtocol.ActionError\x12\x30\n\x0bobservation\x18\x03 \x01(\x0b\x32\x1b.SC2APIProtocol.Observation\x12\x33\n\rplayer_result\x18\x04 \x03(\x0b\x32\x1c.SC2APIProtocol.PlayerResult\x12*\n\x04\x63hat\x18\x05 \x03(\x0b\x32\x1c.SC2APIProtocol.ChatReceived\"2\n\x0c\x43hatReceived\x12\x11\n\tplayer_id\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\"8\n\rRequestAction\x12\'\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x16.SC2APIProtocol.Action\">\n\x0eResponseAction\x12,\n\x06result\x18\x01 \x03(\x0e\x32\x1c.SC2APIProtocol.ActionResult\"H\n\x15RequestObserverAction\x12/\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x1e.SC2APIProtocol.ObserverAction\"\x18\n\x16ResponseObserverAction\"\x1c\n\x0bRequestStep\x12\r\n\x05\x63ount\x18\x01 \x01(\r\"\'\n\x0cResponseStep\x12\x17\n\x0fsimulation_loop\x18\x01 \x01(\r\"o\n\x0bRequestData\x12\x12\n\nability_id\x18\x01 \x01(\x08\x12\x14\n\x0cunit_type_id\x18\x02 \x01(\x08\x12\x12\n\nupgrade_id\x18\x03 \x01(\x08\x12\x0f\n\x07\x62uff_id\x18\x04 \x01(\x08\x12\x11\n\teffect_id\x18\x05 \x01(\x08\"\xf0\x01\n\x0cResponseData\x12.\n\tabilities\x18\x01 \x03(\x0b\x32\x1b.SC2APIProtocol.AbilityData\x12+\n\x05units\x18\x02 \x03(\x0b\x32\x1c.SC2APIProtocol.UnitTypeData\x12-\n\x08upgrades\x18\x03 \x03(\x0b\x32\x1b.SC2APIProtocol.UpgradeData\x12\'\n\x05\x62uffs\x18\x04 \x03(\x0b\x32\x18.SC2APIProtocol.BuffData\x12+\n\x07\x65\x66\x66\x65\x63ts\x18\x05 \x03(\x0b\x32\x1a.SC2APIProtocol.EffectData\"\x13\n\x11RequestSaveReplay\"\"\n\x12ResponseSaveReplay\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"b\n\x11RequestReplayInfo\x12\x15\n\x0breplay_path\x18\x01 \x01(\tH\x00\x12\x15\n\x0breplay_data\x18\x02 \x01(\x0cH\x00\x12\x15\n\rdownload_data\x18\x03 \x01(\x08\x42\x08\n\x06replay\"\x9f\x01\n\x0fPlayerInfoExtra\x12/\n\x0bplayer_info\x18\x01 \x01(\x0b\x32\x1a.SC2APIProtocol.PlayerInfo\x12\x33\n\rplayer_result\x18\x02 \x01(\x0b\x32\x1c.SC2APIProtocol.PlayerResult\x12\x12\n\nplayer_mmr\x18\x03 \x01(\x05\x12\x12\n\nplayer_apm\x18\x04 \x01(\x05\"\xc3\x03\n\x12ResponseReplayInfo\x12\x10\n\x08map_name\x18\x01 \x01(\t\x12\x16\n\x0elocal_map_path\x18\x02 \x01(\t\x12\x34\n\x0bplayer_info\x18\x03 \x03(\x0b\x32\x1f.SC2APIProtocol.PlayerInfoExtra\x12\x1b\n\x13game_duration_loops\x18\x04 \x01(\r\x12\x1d\n\x15game_duration_seconds\x18\x05 \x01(\x02\x12\x14\n\x0cgame_version\x18\x06 \x01(\t\x12\x14\n\x0c\x64\x61ta_version\x18\x0b \x01(\t\x12\x12\n\ndata_build\x18\x07 \x01(\r\x12\x12\n\nbase_build\x18\x08 \x01(\r\x12\x37\n\x05\x65rror\x18\t \x01(\x0e\x32(.SC2APIProtocol.ResponseReplayInfo.Error\x12\x15\n\rerror_details\x18\n \x01(\t\"m\n\x05\x45rror\x12\x11\n\rMissingReplay\x10\x01\x12\x15\n\x11InvalidReplayPath\x10\x02\x12\x15\n\x11InvalidReplayData\x10\x03\x12\x10\n\x0cParsingError\x10\x04\x12\x11\n\rDownloadError\x10\x05\"\x16\n\x14RequestAvailableMaps\"M\n\x15ResponseAvailableMaps\x12\x17\n\x0flocal_map_paths\x18\x01 \x03(\t\x12\x1b\n\x13\x62\x61ttlenet_map_names\x18\x02 \x03(\t\"4\n\x0eRequestSaveMap\x12\x10\n\x08map_path\x18\x01 \x01(\t\x12\x10\n\x08map_data\x18\x02 \x01(\x0c\"d\n\x0fResponseSaveMap\x12\x34\n\x05\x65rror\x18\x01 \x01(\x0e\x32%.SC2APIProtocol.ResponseSaveMap.Error\"\x1b\n\x05\x45rror\x12\x12\n\x0eInvalidMapData\x10\x01\"\r\n\x0bRequestPing\"b\n\x0cResponsePing\x12\x14\n\x0cgame_version\x18\x01 \x01(\t\x12\x14\n\x0c\x64\x61ta_version\x18\x02 \x01(\t\x12\x12\n\ndata_build\x18\x03 \x01(\r\x12\x12\n\nbase_build\x18\x04 \x01(\r\";\n\x0cRequestDebug\x12+\n\x05\x64\x65\x62ug\x18\x01 \x03(\x0b\x32\x1c.SC2APIProtocol.DebugCommand\"\x0f\n\rResponseDebug\"\xcb\x01\n\x0bPlayerSetup\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.SC2APIProtocol.PlayerType\x12\"\n\x04race\x18\x02 \x01(\x0e\x32\x14.SC2APIProtocol.Race\x12.\n\ndifficulty\x18\x03 \x01(\x0e\x32\x1a.SC2APIProtocol.Difficulty\x12\x13\n\x0bplayer_name\x18\x04 \x01(\t\x12)\n\x08\x61i_build\x18\x05 \x01(\x0e\x32\x17.SC2APIProtocol.AIBuild\"\xc3\x01\n\x12SpatialCameraSetup\x12+\n\nresolution\x18\x02 \x01(\x0b\x32\x17.SC2APIProtocol.Size2DI\x12\x33\n\x12minimap_resolution\x18\x03 \x01(\x0b\x32\x17.SC2APIProtocol.Size2DI\x12\r\n\x05width\x18\x01 \x01(\x02\x12\x1d\n\x15\x63rop_to_playable_area\x18\x04 \x01(\x08\x12\x1d\n\x15\x61llow_cheating_layers\x18\x05 \x01(\x08\"\xaf\x02\n\x10InterfaceOptions\x12\x0b\n\x03raw\x18\x01 \x01(\x08\x12\r\n\x05score\x18\x02 \x01(\x08\x12\x39\n\rfeature_layer\x18\x03 \x01(\x0b\x32\".SC2APIProtocol.SpatialCameraSetup\x12\x32\n\x06render\x18\x04 \x01(\x0b\x32\".SC2APIProtocol.SpatialCameraSetup\x12\x14\n\x0cshow_cloaked\x18\x05 \x01(\x08\x12\x1d\n\x15show_burrowed_shadows\x18\t \x01(\x08\x12\x19\n\x11show_placeholders\x18\x08 \x01(\x08\x12\x1d\n\x15raw_affects_selection\x18\x06 \x01(\x08\x12!\n\x19raw_crop_to_playable_area\x18\x07 \x01(\x08\"\x92\x02\n\nPlayerInfo\x12\x11\n\tplayer_id\x18\x01 \x01(\r\x12(\n\x04type\x18\x02 \x01(\x0e\x32\x1a.SC2APIProtocol.PlayerType\x12,\n\x0erace_requested\x18\x03 \x01(\x0e\x32\x14.SC2APIProtocol.Race\x12)\n\x0brace_actual\x18\x04 \x01(\x0e\x32\x14.SC2APIProtocol.Race\x12.\n\ndifficulty\x18\x05 \x01(\x0e\x32\x1a.SC2APIProtocol.Difficulty\x12)\n\x08\x61i_build\x18\x07 \x01(\x0e\x32\x17.SC2APIProtocol.AIBuild\x12\x13\n\x0bplayer_name\x18\x06 \x01(\t\"\xef\x01\n\x0cPlayerCommon\x12\x11\n\tplayer_id\x18\x01 \x01(\r\x12\x10\n\x08minerals\x18\x02 \x01(\r\x12\x0f\n\x07vespene\x18\x03 \x01(\r\x12\x10\n\x08\x66ood_cap\x18\x04 \x01(\r\x12\x11\n\tfood_used\x18\x05 \x01(\r\x12\x11\n\tfood_army\x18\x06 \x01(\r\x12\x14\n\x0c\x66ood_workers\x18\x07 \x01(\r\x12\x19\n\x11idle_worker_count\x18\x08 \x01(\r\x12\x12\n\narmy_count\x18\t \x01(\r\x12\x17\n\x0fwarp_gate_count\x18\n \x01(\r\x12\x13\n\x0blarva_count\x18\x0b \x01(\r\"\xb6\x03\n\x0bObservation\x12\x11\n\tgame_loop\x18\t \x01(\r\x12\x33\n\rplayer_common\x18\x01 \x01(\x0b\x32\x1c.SC2APIProtocol.PlayerCommon\x12%\n\x06\x61lerts\x18\n \x03(\x0e\x32\x15.SC2APIProtocol.Alert\x12\x33\n\tabilities\x18\x03 \x03(\x0b\x32 .SC2APIProtocol.AvailableAbility\x12$\n\x05score\x18\x04 \x01(\x0b\x32\x15.SC2APIProtocol.Score\x12\x30\n\x08raw_data\x18\x05 \x01(\x0b\x32\x1e.SC2APIProtocol.ObservationRaw\x12\x43\n\x12\x66\x65\x61ture_layer_data\x18\x06 \x01(\x0b\x32\'.SC2APIProtocol.ObservationFeatureLayer\x12\x36\n\x0brender_data\x18\x07 \x01(\x0b\x32!.SC2APIProtocol.ObservationRender\x12.\n\x07ui_data\x18\x08 \x01(\x0b\x32\x1d.SC2APIProtocol.ObservationUI\"\x9b\x02\n\x06\x41\x63tion\x12-\n\naction_raw\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.ActionRaw\x12;\n\x14\x61\x63tion_feature_layer\x18\x02 \x01(\x0b\x32\x1d.SC2APIProtocol.ActionSpatial\x12\x34\n\raction_render\x18\x03 \x01(\x0b\x32\x1d.SC2APIProtocol.ActionSpatial\x12+\n\taction_ui\x18\x04 \x01(\x0b\x32\x18.SC2APIProtocol.ActionUI\x12/\n\x0b\x61\x63tion_chat\x18\x06 \x01(\x0b\x32\x1a.SC2APIProtocol.ActionChat\x12\x11\n\tgame_loop\x18\x07 \x01(\r\"v\n\nActionChat\x12\x33\n\x07\x63hannel\x18\x01 \x01(\x0e\x32\".SC2APIProtocol.ActionChat.Channel\x12\x0f\n\x07message\x18\x02 \x01(\t\"\"\n\x07\x43hannel\x12\r\n\tBroadcast\x10\x01\x12\x08\n\x04Team\x10\x02\"a\n\x0b\x41\x63tionError\x12\x10\n\x08unit_tag\x18\x01 \x01(\x04\x12\x12\n\nability_id\x18\x02 \x01(\x04\x12,\n\x06result\x18\x03 \x01(\x0e\x32\x1c.SC2APIProtocol.ActionResult\"\xcc\x02\n\x0eObserverAction\x12M\n\x12player_perspective\x18\x01 \x01(\x0b\x32/.SC2APIProtocol.ActionObserverPlayerPerspectiveH\x00\x12?\n\x0b\x63\x61mera_move\x18\x02 \x01(\x0b\x32(.SC2APIProtocol.ActionObserverCameraMoveH\x00\x12P\n\x14\x63\x61mera_follow_player\x18\x03 \x01(\x0b\x32\x30.SC2APIProtocol.ActionObserverCameraFollowPlayerH\x00\x12N\n\x13\x63\x61mera_follow_units\x18\x04 \x01(\x0b\x32/.SC2APIProtocol.ActionObserverCameraFollowUnitsH\x00\x42\x08\n\x06\x61\x63tion\"4\n\x1f\x41\x63tionObserverPlayerPerspective\x12\x11\n\tplayer_id\x18\x01 \x01(\r\"X\n\x18\x41\x63tionObserverCameraMove\x12*\n\tworld_pos\x18\x01 \x01(\x0b\x32\x17.SC2APIProtocol.Point2D\x12\x10\n\x08\x64istance\x18\x02 \x01(\x02\"5\n ActionObserverCameraFollowPlayer\x12\x11\n\tplayer_id\x18\x01 \x01(\r\"4\n\x1f\x41\x63tionObserverCameraFollowUnits\x12\x11\n\tunit_tags\x18\x01 \x03(\x04\"I\n\x0cPlayerResult\x12\x11\n\tplayer_id\x18\x01 \x01(\r\x12&\n\x06result\x18\x02 \x01(\x0e\x32\x16.SC2APIProtocol.Result*c\n\x06Status\x12\x0c\n\x08launched\x10\x01\x12\r\n\tinit_game\x10\x02\x12\x0b\n\x07in_game\x10\x03\x12\r\n\tin_replay\x10\x04\x12\t\n\x05\x65nded\x10\x05\x12\x08\n\x04quit\x10\x06\x12\x0b\n\x07unknown\x10\x63*\x96\x01\n\nDifficulty\x12\x0c\n\x08VeryEasy\x10\x01\x12\x08\n\x04\x45\x61sy\x10\x02\x12\n\n\x06Medium\x10\x03\x12\x0e\n\nMediumHard\x10\x04\x12\x08\n\x04Hard\x10\x05\x12\n\n\x06Harder\x10\x06\x12\x0c\n\x08VeryHard\x10\x07\x12\x0f\n\x0b\x43heatVision\x10\x08\x12\x0e\n\nCheatMoney\x10\t\x12\x0f\n\x0b\x43heatInsane\x10\n*9\n\nPlayerType\x12\x0f\n\x0bParticipant\x10\x01\x12\x0c\n\x08\x43omputer\x10\x02\x12\x0c\n\x08Observer\x10\x03*O\n\x07\x41IBuild\x12\x0f\n\x0bRandomBuild\x10\x01\x12\x08\n\x04Rush\x10\x02\x12\n\n\x06Timing\x10\x03\x12\t\n\x05Power\x10\x04\x12\t\n\x05Macro\x10\x05\x12\x07\n\x03\x41ir\x10\x06*\xdb\x03\n\x05\x41lert\x12\x0e\n\nAlertError\x10\x03\x12\x11\n\rAddOnComplete\x10\x04\x12\x14\n\x10\x42uildingComplete\x10\x05\x12\x17\n\x13\x42uildingUnderAttack\x10\x06\x12\x10\n\x0cLarvaHatched\x10\x07\x12\x11\n\rMergeComplete\x10\x08\x12\x15\n\x11MineralsExhausted\x10\t\x12\x11\n\rMorphComplete\x10\n\x12\x16\n\x12MothershipComplete\x10\x0b\x12\x0f\n\x0bMULEExpired\x10\x0c\x12\x19\n\x15NuclearLaunchDetected\x10\x01\x12\x10\n\x0cNukeComplete\x10\r\x12\x15\n\x11NydusWormDetected\x10\x02\x12\x14\n\x10ResearchComplete\x10\x0e\x12\x0e\n\nTrainError\x10\x0f\x12\x15\n\x11TrainUnitComplete\x10\x10\x12\x17\n\x13TrainWorkerComplete\x10\x11\x12\x1a\n\x16TransformationComplete\x10\x12\x12\x13\n\x0fUnitUnderAttack\x10\x13\x12\x13\n\x0fUpgradeComplete\x10\x14\x12\x14\n\x10VespeneExhausted\x10\x15\x12\x12\n\x0eWarpInComplete\x10\x16*9\n\x06Result\x12\x0b\n\x07Victory\x10\x01\x12\n\n\x06\x44\x65\x66\x65\x61t\x10\x02\x12\x07\n\x03Tie\x10\x03\x12\r\n\tUndecided\x10\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.sc2api_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_STATUS']._serialized_start=10484 + _globals['_STATUS']._serialized_end=10583 + _globals['_DIFFICULTY']._serialized_start=10586 + _globals['_DIFFICULTY']._serialized_end=10736 + _globals['_PLAYERTYPE']._serialized_start=10738 + _globals['_PLAYERTYPE']._serialized_end=10795 + _globals['_AIBUILD']._serialized_start=10797 + _globals['_AIBUILD']._serialized_end=10876 + _globals['_ALERT']._serialized_start=10879 + _globals['_ALERT']._serialized_end=11354 + _globals['_RESULT']._serialized_start=11356 + _globals['_RESULT']._serialized_end=11413 + _globals['_REQUEST']._serialized_start=317 + _globals['_REQUEST']._serialized_end=1536 + _globals['_RESPONSE']._serialized_start=1539 + _globals['_RESPONSE']._serialized_end=2837 + _globals['_REQUESTCREATEGAME']._serialized_start=2840 + _globals['_REQUESTCREATEGAME']._serialized_end=3054 + _globals['_LOCALMAP']._serialized_start=3056 + _globals['_LOCALMAP']._serialized_end=3102 + _globals['_RESPONSECREATEGAME']._serialized_start=3105 + _globals['_RESPONSECREATEGAME']._serialized_end=3389 + _globals['_RESPONSECREATEGAME_ERROR']._serialized_start=3208 + _globals['_RESPONSECREATEGAME_ERROR']._serialized_end=3389 + _globals['_REQUESTJOINGAME']._serialized_start=3392 + _globals['_REQUESTJOINGAME']._serialized_end=3698 + _globals['_PORTSET']._serialized_start=3700 + _globals['_PORTSET']._serialized_end=3747 + _globals['_RESPONSEJOINGAME']._serialized_start=3750 + _globals['_RESPONSEJOINGAME']._serialized_end=4136 + _globals['_RESPONSEJOINGAME_ERROR']._serialized_start=3868 + _globals['_RESPONSEJOINGAME_ERROR']._serialized_end=4136 + _globals['_REQUESTRESTARTGAME']._serialized_start=4138 + _globals['_REQUESTRESTARTGAME']._serialized_end=4158 + _globals['_RESPONSERESTARTGAME']._serialized_start=4161 + _globals['_RESPONSERESTARTGAME']._serialized_end=4314 + _globals['_RESPONSERESTARTGAME_ERROR']._serialized_start=4290 + _globals['_RESPONSERESTARTGAME_ERROR']._serialized_end=4314 + _globals['_REQUESTSTARTREPLAY']._serialized_start=4317 + _globals['_REQUESTSTARTREPLAY']._serialized_end=4552 + _globals['_RESPONSESTARTREPLAY']._serialized_start=4555 + _globals['_RESPONSESTARTREPLAY']._serialized_end=4818 + _globals['_RESPONSESTARTREPLAY_ERROR']._serialized_start=4660 + _globals['_RESPONSESTARTREPLAY_ERROR']._serialized_end=4818 + _globals['_REQUESTMAPCOMMAND']._serialized_start=4820 + _globals['_REQUESTMAPCOMMAND']._serialized_end=4860 + _globals['_RESPONSEMAPCOMMAND']._serialized_start=4863 + _globals['_RESPONSEMAPCOMMAND']._serialized_end=4992 + _globals['_RESPONSEMAPCOMMAND_ERROR']._serialized_start=4965 + _globals['_RESPONSEMAPCOMMAND_ERROR']._serialized_end=4992 + _globals['_REQUESTLEAVEGAME']._serialized_start=4994 + _globals['_REQUESTLEAVEGAME']._serialized_end=5012 + _globals['_RESPONSELEAVEGAME']._serialized_start=5014 + _globals['_RESPONSELEAVEGAME']._serialized_end=5033 + _globals['_REQUESTQUICKSAVE']._serialized_start=5035 + _globals['_REQUESTQUICKSAVE']._serialized_end=5053 + _globals['_RESPONSEQUICKSAVE']._serialized_start=5055 + _globals['_RESPONSEQUICKSAVE']._serialized_end=5074 + _globals['_REQUESTQUICKLOAD']._serialized_start=5076 + _globals['_REQUESTQUICKLOAD']._serialized_end=5094 + _globals['_RESPONSEQUICKLOAD']._serialized_start=5096 + _globals['_RESPONSEQUICKLOAD']._serialized_end=5115 + _globals['_REQUESTQUIT']._serialized_start=5117 + _globals['_REQUESTQUIT']._serialized_end=5130 + _globals['_RESPONSEQUIT']._serialized_start=5132 + _globals['_RESPONSEQUIT']._serialized_end=5146 + _globals['_REQUESTGAMEINFO']._serialized_start=5148 + _globals['_REQUESTGAMEINFO']._serialized_end=5165 + _globals['_RESPONSEGAMEINFO']._serialized_start=5168 + _globals['_RESPONSEGAMEINFO']._serialized_end=5392 + _globals['_REQUESTOBSERVATION']._serialized_start=5394 + _globals['_REQUESTOBSERVATION']._serialized_end=5454 + _globals['_RESPONSEOBSERVATION']._serialized_start=5457 + _globals['_RESPONSEOBSERVATION']._serialized_end=5718 + _globals['_CHATRECEIVED']._serialized_start=5720 + _globals['_CHATRECEIVED']._serialized_end=5770 + _globals['_REQUESTACTION']._serialized_start=5772 + _globals['_REQUESTACTION']._serialized_end=5828 + _globals['_RESPONSEACTION']._serialized_start=5830 + _globals['_RESPONSEACTION']._serialized_end=5892 + _globals['_REQUESTOBSERVERACTION']._serialized_start=5894 + _globals['_REQUESTOBSERVERACTION']._serialized_end=5966 + _globals['_RESPONSEOBSERVERACTION']._serialized_start=5968 + _globals['_RESPONSEOBSERVERACTION']._serialized_end=5992 + _globals['_REQUESTSTEP']._serialized_start=5994 + _globals['_REQUESTSTEP']._serialized_end=6022 + _globals['_RESPONSESTEP']._serialized_start=6024 + _globals['_RESPONSESTEP']._serialized_end=6063 + _globals['_REQUESTDATA']._serialized_start=6065 + _globals['_REQUESTDATA']._serialized_end=6176 + _globals['_RESPONSEDATA']._serialized_start=6179 + _globals['_RESPONSEDATA']._serialized_end=6419 + _globals['_REQUESTSAVEREPLAY']._serialized_start=6421 + _globals['_REQUESTSAVEREPLAY']._serialized_end=6440 + _globals['_RESPONSESAVEREPLAY']._serialized_start=6442 + _globals['_RESPONSESAVEREPLAY']._serialized_end=6476 + _globals['_REQUESTREPLAYINFO']._serialized_start=6478 + _globals['_REQUESTREPLAYINFO']._serialized_end=6576 + _globals['_PLAYERINFOEXTRA']._serialized_start=6579 + _globals['_PLAYERINFOEXTRA']._serialized_end=6738 + _globals['_RESPONSEREPLAYINFO']._serialized_start=6741 + _globals['_RESPONSEREPLAYINFO']._serialized_end=7192 + _globals['_RESPONSEREPLAYINFO_ERROR']._serialized_start=7083 + _globals['_RESPONSEREPLAYINFO_ERROR']._serialized_end=7192 + _globals['_REQUESTAVAILABLEMAPS']._serialized_start=7194 + _globals['_REQUESTAVAILABLEMAPS']._serialized_end=7216 + _globals['_RESPONSEAVAILABLEMAPS']._serialized_start=7218 + _globals['_RESPONSEAVAILABLEMAPS']._serialized_end=7295 + _globals['_REQUESTSAVEMAP']._serialized_start=7297 + _globals['_REQUESTSAVEMAP']._serialized_end=7349 + _globals['_RESPONSESAVEMAP']._serialized_start=7351 + _globals['_RESPONSESAVEMAP']._serialized_end=7451 + _globals['_RESPONSESAVEMAP_ERROR']._serialized_start=7424 + _globals['_RESPONSESAVEMAP_ERROR']._serialized_end=7451 + _globals['_REQUESTPING']._serialized_start=7453 + _globals['_REQUESTPING']._serialized_end=7466 + _globals['_RESPONSEPING']._serialized_start=7468 + _globals['_RESPONSEPING']._serialized_end=7566 + _globals['_REQUESTDEBUG']._serialized_start=7568 + _globals['_REQUESTDEBUG']._serialized_end=7627 + _globals['_RESPONSEDEBUG']._serialized_start=7629 + _globals['_RESPONSEDEBUG']._serialized_end=7644 + _globals['_PLAYERSETUP']._serialized_start=7647 + _globals['_PLAYERSETUP']._serialized_end=7850 + _globals['_SPATIALCAMERASETUP']._serialized_start=7853 + _globals['_SPATIALCAMERASETUP']._serialized_end=8048 + _globals['_INTERFACEOPTIONS']._serialized_start=8051 + _globals['_INTERFACEOPTIONS']._serialized_end=8354 + _globals['_PLAYERINFO']._serialized_start=8357 + _globals['_PLAYERINFO']._serialized_end=8631 + _globals['_PLAYERCOMMON']._serialized_start=8634 + _globals['_PLAYERCOMMON']._serialized_end=8873 + _globals['_OBSERVATION']._serialized_start=8876 + _globals['_OBSERVATION']._serialized_end=9314 + _globals['_ACTION']._serialized_start=9317 + _globals['_ACTION']._serialized_end=9600 + _globals['_ACTIONCHAT']._serialized_start=9602 + _globals['_ACTIONCHAT']._serialized_end=9720 + _globals['_ACTIONCHAT_CHANNEL']._serialized_start=9686 + _globals['_ACTIONCHAT_CHANNEL']._serialized_end=9720 + _globals['_ACTIONERROR']._serialized_start=9722 + _globals['_ACTIONERROR']._serialized_end=9819 + _globals['_OBSERVERACTION']._serialized_start=9822 + _globals['_OBSERVERACTION']._serialized_end=10154 + _globals['_ACTIONOBSERVERPLAYERPERSPECTIVE']._serialized_start=10156 + _globals['_ACTIONOBSERVERPLAYERPERSPECTIVE']._serialized_end=10208 + _globals['_ACTIONOBSERVERCAMERAMOVE']._serialized_start=10210 + _globals['_ACTIONOBSERVERCAMERAMOVE']._serialized_end=10298 + _globals['_ACTIONOBSERVERCAMERAFOLLOWPLAYER']._serialized_start=10300 + _globals['_ACTIONOBSERVERCAMERAFOLLOWPLAYER']._serialized_end=10353 + _globals['_ACTIONOBSERVERCAMERAFOLLOWUNITS']._serialized_start=10355 + _globals['_ACTIONOBSERVERCAMERAFOLLOWUNITS']._serialized_end=10407 + _globals['_PLAYERRESULT']._serialized_start=10409 + _globals['_PLAYERRESULT']._serialized_end=10482 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/score_pb2.py b/worlds/_sc2common/bot/proto/score_pb2.py new file mode 100644 index 0000000000..9045516475 --- /dev/null +++ b/worlds/_sc2common/bot/proto/score_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/score.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/score.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cs2clientprotocol/score.proto\x12\x0eSC2APIProtocol\"\xa8\x01\n\x05Score\x12\x33\n\nscore_type\x18\x06 \x01(\x0e\x32\x1f.SC2APIProtocol.Score.ScoreType\x12\r\n\x05score\x18\x07 \x01(\x05\x12\x33\n\rscore_details\x18\x08 \x01(\x0b\x32\x1c.SC2APIProtocol.ScoreDetails\"&\n\tScoreType\x12\x0e\n\nCurriculum\x10\x01\x12\t\n\x05Melee\x10\x02\"h\n\x14\x43\x61tegoryScoreDetails\x12\x0c\n\x04none\x18\x01 \x01(\x02\x12\x0c\n\x04\x61rmy\x18\x02 \x01(\x02\x12\x0f\n\x07\x65\x63onomy\x18\x03 \x01(\x02\x12\x12\n\ntechnology\x18\x04 \x01(\x02\x12\x0f\n\x07upgrade\x18\x05 \x01(\x02\"B\n\x11VitalScoreDetails\x12\x0c\n\x04life\x18\x01 \x01(\x02\x12\x0f\n\x07shields\x18\x02 \x01(\x02\x12\x0e\n\x06\x65nergy\x18\x03 \x01(\x02\"\x8a\n\n\x0cScoreDetails\x12\x1c\n\x14idle_production_time\x18\x01 \x01(\x02\x12\x18\n\x10idle_worker_time\x18\x02 \x01(\x02\x12\x19\n\x11total_value_units\x18\x03 \x01(\x02\x12\x1e\n\x16total_value_structures\x18\x04 \x01(\x02\x12\x1a\n\x12killed_value_units\x18\x05 \x01(\x02\x12\x1f\n\x17killed_value_structures\x18\x06 \x01(\x02\x12\x1a\n\x12\x63ollected_minerals\x18\x07 \x01(\x02\x12\x19\n\x11\x63ollected_vespene\x18\x08 \x01(\x02\x12 \n\x18\x63ollection_rate_minerals\x18\t \x01(\x02\x12\x1f\n\x17\x63ollection_rate_vespene\x18\n \x01(\x02\x12\x16\n\x0espent_minerals\x18\x0b \x01(\x02\x12\x15\n\rspent_vespene\x18\x0c \x01(\x02\x12\x37\n\tfood_used\x18\r \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12=\n\x0fkilled_minerals\x18\x0e \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12<\n\x0ekilled_vespene\x18\x0f \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12;\n\rlost_minerals\x18\x10 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12:\n\x0clost_vespene\x18\x11 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12\x44\n\x16\x66riendly_fire_minerals\x18\x12 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12\x43\n\x15\x66riendly_fire_vespene\x18\x13 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12;\n\rused_minerals\x18\x14 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12:\n\x0cused_vespene\x18\x15 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12\x41\n\x13total_used_minerals\x18\x16 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12@\n\x12total_used_vespene\x18\x17 \x01(\x0b\x32$.SC2APIProtocol.CategoryScoreDetails\x12=\n\x12total_damage_dealt\x18\x18 \x01(\x0b\x32!.SC2APIProtocol.VitalScoreDetails\x12=\n\x12total_damage_taken\x18\x19 \x01(\x0b\x32!.SC2APIProtocol.VitalScoreDetails\x12\x37\n\x0ctotal_healed\x18\x1a \x01(\x0b\x32!.SC2APIProtocol.VitalScoreDetails\x12\x13\n\x0b\x63urrent_apm\x18\x1b \x01(\x02\x12\x1d\n\x15\x63urrent_effective_apm\x18\x1c \x01(\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.score_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SCORE']._serialized_start=49 + _globals['_SCORE']._serialized_end=217 + _globals['_SCORE_SCORETYPE']._serialized_start=179 + _globals['_SCORE_SCORETYPE']._serialized_end=217 + _globals['_CATEGORYSCOREDETAILS']._serialized_start=219 + _globals['_CATEGORYSCOREDETAILS']._serialized_end=323 + _globals['_VITALSCOREDETAILS']._serialized_start=325 + _globals['_VITALSCOREDETAILS']._serialized_end=391 + _globals['_SCOREDETAILS']._serialized_start=394 + _globals['_SCOREDETAILS']._serialized_end=1684 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/spatial_pb2.py b/worlds/_sc2common/bot/proto/spatial_pb2.py new file mode 100644 index 0000000000..e570ab210f --- /dev/null +++ b/worlds/_sc2common/bot/proto/spatial_pb2.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/spatial.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/spatial.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import common_pb2 as s2clientprotocol_dot_common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1es2clientprotocol/spatial.proto\x12\x0eSC2APIProtocol\x1a\x1ds2clientprotocol/common.proto\"\x88\x01\n\x17ObservationFeatureLayer\x12.\n\x07renders\x18\x01 \x01(\x0b\x32\x1d.SC2APIProtocol.FeatureLayers\x12=\n\x0fminimap_renders\x18\x02 \x01(\x0b\x32$.SC2APIProtocol.FeatureLayersMinimap\"\x9c\n\n\rFeatureLayers\x12-\n\nheight_map\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\x0evisibility_map\x18\x02 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12(\n\x05\x63reep\x18\x03 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12(\n\x05power\x18\x04 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12,\n\tplayer_id\x18\x05 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12,\n\tunit_type\x18\x06 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12+\n\x08selected\x18\x07 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x32\n\x0funit_hit_points\x18\x08 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x38\n\x15unit_hit_points_ratio\x18\x11 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12.\n\x0bunit_energy\x18\t \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x34\n\x11unit_energy_ratio\x18\x12 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12/\n\x0cunit_shields\x18\n \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x35\n\x12unit_shields_ratio\x18\x13 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x32\n\x0fplayer_relative\x18\x0b \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x32\n\x0funit_density_aa\x18\x0e \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12/\n\x0cunit_density\x18\x0f \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12*\n\x07\x65\x66\x66\x65\x63ts\x18\x14 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\x0ehallucinations\x18\x15 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12*\n\x07\x63loaked\x18\x16 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\'\n\x04\x62lip\x18\x17 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12(\n\x05\x62uffs\x18\x18 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x30\n\rbuff_duration\x18\x1a \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12)\n\x06\x61\x63tive\x18\x19 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\x0e\x62uild_progress\x18\x1b \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12,\n\tbuildable\x18\x1c \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12+\n\x08pathable\x18\x1d \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12.\n\x0bplaceholder\x18\x1e \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\"\x90\x04\n\x14\x46\x65\x61tureLayersMinimap\x12-\n\nheight_map\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x31\n\x0evisibility_map\x18\x02 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12(\n\x05\x63reep\x18\x03 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12)\n\x06\x63\x61mera\x18\x04 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12,\n\tplayer_id\x18\x05 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12\x32\n\x0fplayer_relative\x18\x06 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12+\n\x08selected\x18\x07 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12)\n\x06\x61lerts\x18\t \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12,\n\tbuildable\x18\n \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12+\n\x08pathable\x18\x0b \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12,\n\tunit_type\x18\x08 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\"g\n\x11ObservationRender\x12&\n\x03map\x18\x01 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\x12*\n\x07minimap\x18\x02 \x01(\x0b\x32\x19.SC2APIProtocol.ImageData\"\xbb\x02\n\rActionSpatial\x12@\n\x0cunit_command\x18\x01 \x01(\x0b\x32(.SC2APIProtocol.ActionSpatialUnitCommandH\x00\x12>\n\x0b\x63\x61mera_move\x18\x02 \x01(\x0b\x32\'.SC2APIProtocol.ActionSpatialCameraMoveH\x00\x12O\n\x14unit_selection_point\x18\x03 \x01(\x0b\x32/.SC2APIProtocol.ActionSpatialUnitSelectionPointH\x00\x12M\n\x13unit_selection_rect\x18\x04 \x01(\x0b\x32..SC2APIProtocol.ActionSpatialUnitSelectionRectH\x00\x42\x08\n\x06\x61\x63tion\"\xbe\x01\n\x18\x41\x63tionSpatialUnitCommand\x12\x12\n\nability_id\x18\x01 \x01(\x05\x12\x35\n\x13target_screen_coord\x18\x02 \x01(\x0b\x32\x16.SC2APIProtocol.PointIH\x00\x12\x36\n\x14target_minimap_coord\x18\x03 \x01(\x0b\x32\x16.SC2APIProtocol.PointIH\x00\x12\x15\n\rqueue_command\x18\x04 \x01(\x08\x42\x08\n\x06target\"I\n\x17\x41\x63tionSpatialCameraMove\x12.\n\x0e\x63\x65nter_minimap\x18\x01 \x01(\x0b\x32\x16.SC2APIProtocol.PointI\"\xda\x01\n\x1f\x41\x63tionSpatialUnitSelectionPoint\x12\x36\n\x16selection_screen_coord\x18\x01 \x01(\x0b\x32\x16.SC2APIProtocol.PointI\x12\x42\n\x04type\x18\x02 \x01(\x0e\x32\x34.SC2APIProtocol.ActionSpatialUnitSelectionPoint.Type\";\n\x04Type\x12\n\n\x06Select\x10\x01\x12\n\n\x06Toggle\x10\x02\x12\x0b\n\x07\x41llType\x10\x03\x12\x0e\n\nAddAllType\x10\x04\"s\n\x1e\x41\x63tionSpatialUnitSelectionRect\x12:\n\x16selection_screen_coord\x18\x01 \x03(\x0b\x32\x1a.SC2APIProtocol.RectangleI\x12\x15\n\rselection_add\x18\x02 \x01(\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.spatial_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_OBSERVATIONFEATURELAYER']._serialized_start=82 + _globals['_OBSERVATIONFEATURELAYER']._serialized_end=218 + _globals['_FEATURELAYERS']._serialized_start=221 + _globals['_FEATURELAYERS']._serialized_end=1529 + _globals['_FEATURELAYERSMINIMAP']._serialized_start=1532 + _globals['_FEATURELAYERSMINIMAP']._serialized_end=2060 + _globals['_OBSERVATIONRENDER']._serialized_start=2062 + _globals['_OBSERVATIONRENDER']._serialized_end=2165 + _globals['_ACTIONSPATIAL']._serialized_start=2168 + _globals['_ACTIONSPATIAL']._serialized_end=2483 + _globals['_ACTIONSPATIALUNITCOMMAND']._serialized_start=2486 + _globals['_ACTIONSPATIALUNITCOMMAND']._serialized_end=2676 + _globals['_ACTIONSPATIALCAMERAMOVE']._serialized_start=2678 + _globals['_ACTIONSPATIALCAMERAMOVE']._serialized_end=2751 + _globals['_ACTIONSPATIALUNITSELECTIONPOINT']._serialized_start=2754 + _globals['_ACTIONSPATIALUNITSELECTIONPOINT']._serialized_end=2972 + _globals['_ACTIONSPATIALUNITSELECTIONPOINT_TYPE']._serialized_start=2913 + _globals['_ACTIONSPATIALUNITSELECTIONPOINT_TYPE']._serialized_end=2972 + _globals['_ACTIONSPATIALUNITSELECTIONRECT']._serialized_start=2974 + _globals['_ACTIONSPATIALUNITSELECTIONRECT']._serialized_end=3089 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/proto/ui_pb2.py b/worlds/_sc2common/bot/proto/ui_pb2.py new file mode 100644 index 0000000000..c905b77db1 --- /dev/null +++ b/worlds/_sc2common/bot/proto/ui_pb2.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: s2clientprotocol/ui.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 's2clientprotocol/ui.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19s2clientprotocol/ui.proto\x12\x0eSC2APIProtocol\"\x86\x02\n\rObservationUI\x12,\n\x06groups\x18\x01 \x03(\x0b\x32\x1c.SC2APIProtocol.ControlGroup\x12-\n\x06single\x18\x02 \x01(\x0b\x32\x1b.SC2APIProtocol.SinglePanelH\x00\x12+\n\x05multi\x18\x03 \x01(\x0b\x32\x1a.SC2APIProtocol.MultiPanelH\x00\x12+\n\x05\x63\x61rgo\x18\x04 \x01(\x0b\x32\x1a.SC2APIProtocol.CargoPanelH\x00\x12\x35\n\nproduction\x18\x05 \x01(\x0b\x32\x1f.SC2APIProtocol.ProductionPanelH\x00\x42\x07\n\x05panel\"T\n\x0c\x43ontrolGroup\x12\x1b\n\x13\x63ontrol_group_index\x18\x01 \x01(\r\x12\x18\n\x10leader_unit_type\x18\x02 \x01(\r\x12\r\n\x05\x63ount\x18\x03 \x01(\r\"\x85\x02\n\x08UnitInfo\x12\x11\n\tunit_type\x18\x01 \x01(\r\x12\x17\n\x0fplayer_relative\x18\x02 \x01(\r\x12\x0e\n\x06health\x18\x03 \x01(\x05\x12\x0f\n\x07shields\x18\x04 \x01(\x05\x12\x0e\n\x06\x65nergy\x18\x05 \x01(\x05\x12\x1d\n\x15transport_slots_taken\x18\x06 \x01(\x05\x12\x16\n\x0e\x62uild_progress\x18\x07 \x01(\x02\x12(\n\x06\x61\x64\x64_on\x18\x08 \x01(\x0b\x32\x18.SC2APIProtocol.UnitInfo\x12\x12\n\nmax_health\x18\t \x01(\x05\x12\x13\n\x0bmax_shields\x18\n \x01(\x05\x12\x12\n\nmax_energy\x18\x0b \x01(\x05\"\x9d\x01\n\x0bSinglePanel\x12&\n\x04unit\x18\x01 \x01(\x0b\x32\x18.SC2APIProtocol.UnitInfo\x12\x1c\n\x14\x61ttack_upgrade_level\x18\x02 \x01(\x05\x12\x1b\n\x13\x61rmor_upgrade_level\x18\x03 \x01(\x05\x12\x1c\n\x14shield_upgrade_level\x18\x04 \x01(\x05\x12\r\n\x05\x62uffs\x18\x05 \x03(\x05\"5\n\nMultiPanel\x12\'\n\x05units\x18\x01 \x03(\x0b\x32\x18.SC2APIProtocol.UnitInfo\"{\n\nCargoPanel\x12&\n\x04unit\x18\x01 \x01(\x0b\x32\x18.SC2APIProtocol.UnitInfo\x12,\n\npassengers\x18\x02 \x03(\x0b\x32\x18.SC2APIProtocol.UnitInfo\x12\x17\n\x0fslots_available\x18\x03 \x01(\x05\"7\n\tBuildItem\x12\x12\n\nability_id\x18\x01 \x01(\r\x12\x16\n\x0e\x62uild_progress\x18\x02 \x01(\x02\"\x9d\x01\n\x0fProductionPanel\x12&\n\x04unit\x18\x01 \x01(\x0b\x32\x18.SC2APIProtocol.UnitInfo\x12-\n\x0b\x62uild_queue\x18\x02 \x03(\x0b\x32\x18.SC2APIProtocol.UnitInfo\x12\x33\n\x10production_queue\x18\x03 \x03(\x0b\x32\x19.SC2APIProtocol.BuildItem\"\xda\x04\n\x08\x41\x63tionUI\x12;\n\rcontrol_group\x18\x01 \x01(\x0b\x32\".SC2APIProtocol.ActionControlGroupH\x00\x12\x37\n\x0bselect_army\x18\x02 \x01(\x0b\x32 .SC2APIProtocol.ActionSelectArmyH\x00\x12\x42\n\x11select_warp_gates\x18\x03 \x01(\x0b\x32%.SC2APIProtocol.ActionSelectWarpGatesH\x00\x12\x39\n\x0cselect_larva\x18\x04 \x01(\x0b\x32!.SC2APIProtocol.ActionSelectLarvaH\x00\x12\x44\n\x12select_idle_worker\x18\x05 \x01(\x0b\x32&.SC2APIProtocol.ActionSelectIdleWorkerH\x00\x12\x37\n\x0bmulti_panel\x18\x06 \x01(\x0b\x32 .SC2APIProtocol.ActionMultiPanelH\x00\x12=\n\x0b\x63\x61rgo_panel\x18\x07 \x01(\x0b\x32&.SC2APIProtocol.ActionCargoPanelUnloadH\x00\x12P\n\x10production_panel\x18\x08 \x01(\x0b\x32\x34.SC2APIProtocol.ActionProductionPanelRemoveFromQueueH\x00\x12?\n\x0ftoggle_autocast\x18\t \x01(\x0b\x32$.SC2APIProtocol.ActionToggleAutocastH\x00\x42\x08\n\x06\x61\x63tion\"\xd4\x01\n\x12\x41\x63tionControlGroup\x12\x45\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32\x35.SC2APIProtocol.ActionControlGroup.ControlGroupAction\x12\x1b\n\x13\x63ontrol_group_index\x18\x02 \x01(\r\"Z\n\x12\x43ontrolGroupAction\x12\n\n\x06Recall\x10\x01\x12\x07\n\x03Set\x10\x02\x12\n\n\x06\x41ppend\x10\x03\x12\x0f\n\x0bSetAndSteal\x10\x04\x12\x12\n\x0e\x41ppendAndSteal\x10\x05\")\n\x10\x41\x63tionSelectArmy\x12\x15\n\rselection_add\x18\x01 \x01(\x08\".\n\x15\x41\x63tionSelectWarpGates\x12\x15\n\rselection_add\x18\x01 \x01(\x08\"\x13\n\x11\x41\x63tionSelectLarva\"\x82\x01\n\x16\x41\x63tionSelectIdleWorker\x12\x39\n\x04type\x18\x01 \x01(\x0e\x32+.SC2APIProtocol.ActionSelectIdleWorker.Type\"-\n\x04Type\x12\x07\n\x03Set\x10\x01\x12\x07\n\x03\x41\x64\x64\x10\x02\x12\x07\n\x03\x41ll\x10\x03\x12\n\n\x06\x41\x64\x64\x41ll\x10\x04\"\xb3\x01\n\x10\x41\x63tionMultiPanel\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.SC2APIProtocol.ActionMultiPanel.Type\x12\x12\n\nunit_index\x18\x02 \x01(\x05\"V\n\x04Type\x12\x10\n\x0cSingleSelect\x10\x01\x12\x10\n\x0c\x44\x65selectUnit\x10\x02\x12\x13\n\x0fSelectAllOfType\x10\x03\x12\x15\n\x11\x44\x65selectAllOfType\x10\x04\",\n\x16\x41\x63tionCargoPanelUnload\x12\x12\n\nunit_index\x18\x01 \x01(\x05\":\n$ActionProductionPanelRemoveFromQueue\x12\x12\n\nunit_index\x18\x01 \x01(\x05\"*\n\x14\x41\x63tionToggleAutocast\x12\x12\n\nability_id\x18\x01 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 's2clientprotocol.ui_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_OBSERVATIONUI']._serialized_start=46 + _globals['_OBSERVATIONUI']._serialized_end=308 + _globals['_CONTROLGROUP']._serialized_start=310 + _globals['_CONTROLGROUP']._serialized_end=394 + _globals['_UNITINFO']._serialized_start=397 + _globals['_UNITINFO']._serialized_end=658 + _globals['_SINGLEPANEL']._serialized_start=661 + _globals['_SINGLEPANEL']._serialized_end=818 + _globals['_MULTIPANEL']._serialized_start=820 + _globals['_MULTIPANEL']._serialized_end=873 + _globals['_CARGOPANEL']._serialized_start=875 + _globals['_CARGOPANEL']._serialized_end=998 + _globals['_BUILDITEM']._serialized_start=1000 + _globals['_BUILDITEM']._serialized_end=1055 + _globals['_PRODUCTIONPANEL']._serialized_start=1058 + _globals['_PRODUCTIONPANEL']._serialized_end=1215 + _globals['_ACTIONUI']._serialized_start=1218 + _globals['_ACTIONUI']._serialized_end=1820 + _globals['_ACTIONCONTROLGROUP']._serialized_start=1823 + _globals['_ACTIONCONTROLGROUP']._serialized_end=2035 + _globals['_ACTIONCONTROLGROUP_CONTROLGROUPACTION']._serialized_start=1945 + _globals['_ACTIONCONTROLGROUP_CONTROLGROUPACTION']._serialized_end=2035 + _globals['_ACTIONSELECTARMY']._serialized_start=2037 + _globals['_ACTIONSELECTARMY']._serialized_end=2078 + _globals['_ACTIONSELECTWARPGATES']._serialized_start=2080 + _globals['_ACTIONSELECTWARPGATES']._serialized_end=2126 + _globals['_ACTIONSELECTLARVA']._serialized_start=2128 + _globals['_ACTIONSELECTLARVA']._serialized_end=2147 + _globals['_ACTIONSELECTIDLEWORKER']._serialized_start=2150 + _globals['_ACTIONSELECTIDLEWORKER']._serialized_end=2280 + _globals['_ACTIONSELECTIDLEWORKER_TYPE']._serialized_start=2235 + _globals['_ACTIONSELECTIDLEWORKER_TYPE']._serialized_end=2280 + _globals['_ACTIONMULTIPANEL']._serialized_start=2283 + _globals['_ACTIONMULTIPANEL']._serialized_end=2462 + _globals['_ACTIONMULTIPANEL_TYPE']._serialized_start=2376 + _globals['_ACTIONMULTIPANEL_TYPE']._serialized_end=2462 + _globals['_ACTIONCARGOPANELUNLOAD']._serialized_start=2464 + _globals['_ACTIONCARGOPANELUNLOAD']._serialized_end=2508 + _globals['_ACTIONPRODUCTIONPANELREMOVEFROMQUEUE']._serialized_start=2510 + _globals['_ACTIONPRODUCTIONPANELREMOVEFROMQUEUE']._serialized_end=2568 + _globals['_ACTIONTOGGLEAUTOCAST']._serialized_start=2570 + _globals['_ACTIONTOGGLEAUTOCAST']._serialized_end=2612 +# @@protoc_insertion_point(module_scope) diff --git a/worlds/_sc2common/bot/protocol.py b/worlds/_sc2common/bot/protocol.py index d2c48facb5..46a7d59adc 100644 --- a/worlds/_sc2common/bot/protocol.py +++ b/worlds/_sc2common/bot/protocol.py @@ -4,7 +4,7 @@ from contextlib import suppress from aiohttp import ClientWebSocketResponse from worlds._sc2common.bot import logger -from s2clientprotocol import sc2api_pb2 as sc_pb +from .proto import sc2api_pb2 as sc_pb from .data import Status diff --git a/worlds/_sc2common/bot/proxy.py b/worlds/_sc2common/bot/proxy.py index fa9f8537af..0e389fbe17 100644 --- a/worlds/_sc2common/bot/proxy.py +++ b/worlds/_sc2common/bot/proxy.py @@ -8,7 +8,7 @@ import traceback from aiohttp import WSMsgType, web from worlds._sc2common.bot import logger -from s2clientprotocol import sc2api_pb2 as sc_pb +from .proto import sc2api_pb2 as sc_pb from .controller import Controller from .data import Result, Status diff --git a/worlds/_sc2common/bot/renderer.py b/worlds/_sc2common/bot/renderer.py index 2edc75d844..2211fcb10c 100644 --- a/worlds/_sc2common/bot/renderer.py +++ b/worlds/_sc2common/bot/renderer.py @@ -1,6 +1,6 @@ import datetime -from s2clientprotocol import score_pb2 as score_pb +from .proto import score_pb2 as score_pb from .position import Point2 diff --git a/worlds/_sc2common/requirements.txt b/worlds/_sc2common/requirements.txt index 1ec405a4ab..e8499aa7db 100644 --- a/worlds/_sc2common/requirements.txt +++ b/worlds/_sc2common/requirements.txt @@ -1,6 +1,5 @@ -s2clientprotocol>=5.0.11.90136.0 mpyq>=0.2.5 portpicker>=1.5.2 aiohttp>=3.8.4 loguru>=0.7.0 -protobuf==3.20.3 +protobuf==6.31.1