diff --git a/idl/service.proto b/idl/service.proto index e67c939..bc31cc3 100644 --- a/idl/service.proto +++ b/idl/service.proto @@ -1,4 +1,4 @@ -// version 1 +// version 1.1 syntax = "proto3"; @@ -175,6 +175,7 @@ message Self { float recovery = 37; float stamina_capacity = 38; CardType card = 39; + int32 catch_time = 40; } enum InterceptActionType { diff --git a/service_pb2.py b/service_pb2.py index 775f543..45da28e 100644 --- a/service_pb2.py +++ b/service_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x12\x06protos\"@\n\x0bRpcVector2D\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0c\n\x04\x64ist\x18\x03 \x01(\x02\x12\r\n\x05\x61ngle\x18\x04 \x01(\x02\"x\n\x0fRegisterRequest\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\x11\n\tteam_name\x18\x02 \x01(\t\x12\x16\n\x0euniform_number\x18\x03 \x01(\x05\x12\x13\n\x0brpc_version\x18\x04 \x01(\x05\"\xb8\x01\n\x10RegisterResponse\x12\x11\n\tclient_id\x18\x01 \x01(\x05\x12%\n\nagent_type\x18\x02 \x01(\x0e\x32\x11.protos.AgentType\x12\x11\n\tteam_name\x18\x03 \x01(\t\x12\x16\n\x0euniform_number\x18\x04 \x01(\x05\x12?\n\x18rpc_server_language_type\x18\x05 \x01(\x0e\x32\x1d.protos.RpcServerLanguageType\"\x98\x04\n\x04\x42\x61ll\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12.\n\x11relative_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_velocity\x18\x06 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_velocity\x18\x07 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tpos_count\x18\x08 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\t \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\n \x01(\x05\x12\x11\n\tvel_count\x18\x0b \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\x0c \x01(\x05\x12\x17\n\x0fheard_vel_count\x18\r \x01(\x05\x12\x12\n\nlost_count\x18\x0e \x01(\x05\x12\x13\n\x0bghost_count\x18\x0f \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x10 \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\x11 \x01(\x02\"\xb0\x06\n\x06Player\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x0c \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\r \x01(\x02\x12\n\n\x02id\x18\x0e \x01(\x05\x12\x1a\n\x04side\x18\x0f \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x10 \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x11 \x01(\x05\x12\x11\n\tis_goalie\x18\x12 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x14 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x15 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x16 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x17 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x18 \x01(\x05\x12\x12\n\nis_kicking\x18\x19 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x1a \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x1b \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1c \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1d \x01(\x08\x12\x0f\n\x07type_id\x18\x1e \x01(\x05\"\x9b\x08\n\x04Self\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\n\n\x02id\x18\x0c \x01(\x05\x12\x1a\n\x04side\x18\r \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x0e \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x0f \x01(\x05\x12\x11\n\tis_goalie\x18\x10 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x11 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x12 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x14 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x15 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x16 \x01(\x05\x12\x12\n\nis_kicking\x18\x17 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x18 \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x19 \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1a \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1b \x01(\x08\x12\x1f\n\x17relative_neck_direction\x18\x1c \x01(\x02\x12\x0f\n\x07stamina\x18\x1d \x01(\x02\x12\x13\n\x0bis_kickable\x18\x1e \x01(\x08\x12\x19\n\x11\x63\x61tch_probability\x18\x1f \x01(\x02\x12\x1a\n\x12tackle_probability\x18 \x01(\x02\x12\x18\n\x10\x66oul_probability\x18! \x01(\x02\x12%\n\nview_width\x18\" \x01(\x0e\x32\x11.protos.ViewWidth\x12\x0f\n\x07type_id\x18# \x01(\x05\x12\x11\n\tkick_rate\x18$ \x01(\x02\x12\x10\n\x08recovery\x18% \x01(\x02\x12\x18\n\x10stamina_capacity\x18& \x01(\x02\x12\x1e\n\x04\x63\x61rd\x18\' \x01(\x0e\x32\x10.protos.CardType\"\x94\x02\n\rInterceptInfo\x12\x30\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32\x1b.protos.InterceptActionType\x12\x12\n\nturn_steps\x18\x02 \x01(\x05\x12\x12\n\nturn_angle\x18\x03 \x01(\x02\x12\x12\n\ndash_steps\x18\x04 \x01(\x05\x12\x12\n\ndash_power\x18\x05 \x01(\x02\x12\x10\n\x08\x64\x61sh_dir\x18\x06 \x01(\x02\x12\x30\n\x13\x66inal_self_position\x18\x07 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x17\n\x0f\x66inal_ball_dist\x18\x08 \x01(\x02\x12\x15\n\rfinal_stamina\x18\t \x01(\x02\x12\r\n\x05value\x18\n \x01(\x02\"\xde\x02\n\x0eInterceptTable\x12\x18\n\x10self_reach_steps\x18\x01 \x01(\x05\x12\"\n\x1a\x66irst_teammate_reach_steps\x18\x02 \x01(\x05\x12#\n\x1bsecond_teammate_reach_steps\x18\x03 \x01(\x05\x12\"\n\x1a\x66irst_opponent_reach_steps\x18\x04 \x01(\x05\x12#\n\x1bsecond_opponent_reach_steps\x18\x05 \x01(\x05\x12\x19\n\x11\x66irst_teammate_id\x18\x06 \x01(\x05\x12\x1a\n\x12second_teammate_id\x18\x07 \x01(\x05\x12\x19\n\x11\x66irst_opponent_id\x18\x08 \x01(\x05\x12\x1a\n\x12second_opponent_id\x18\t \x01(\x05\x12\x32\n\x13self_intercept_info\x18\n \x03(\x0b\x32\x15.protos.InterceptInfo\"\x93\x0b\n\nWorldModel\x12/\n\x0fintercept_table\x18\x01 \x01(\x0b\x32\x16.protos.InterceptTable\x12\x15\n\rour_team_name\x18\x02 \x01(\t\x12\x17\n\x0ftheir_team_name\x18\x03 \x01(\t\x12\x1e\n\x08our_side\x18\x04 \x01(\x0e\x32\x0c.protos.Side\x12 \n\x18last_set_play_start_time\x18\x05 \x01(\x05\x12\x1a\n\x04self\x18\x06 \x01(\x0b\x32\x0c.protos.Self\x12\x1a\n\x04\x62\x61ll\x18\x07 \x01(\x0b\x32\x0c.protos.Ball\x12!\n\tteammates\x18\x08 \x03(\x0b\x32\x0e.protos.Player\x12!\n\topponents\x18\t \x03(\x0b\x32\x0e.protos.Player\x12 \n\x08unknowns\x18\n \x03(\x0b\x32\x0e.protos.Player\x12@\n\x10our_players_dict\x18\x0b \x03(\x0b\x32&.protos.WorldModel.OurPlayersDictEntry\x12\x44\n\x12their_players_dict\x18\x0c \x03(\x0b\x32(.protos.WorldModel.TheirPlayersDictEntry\x12!\n\x19our_goalie_uniform_number\x18\r \x01(\x05\x12#\n\x1btheir_goalie_uniform_number\x18\x0e \x01(\x05\x12\x16\n\x0eoffside_line_x\x18\x0f \x01(\x02\x12\x1b\n\x13ofside_line_x_count\x18\x10 \x01(\x05\x12\x1c\n\x14kickable_teammate_id\x18\x11 \x01(\x05\x12\x1c\n\x14kickable_opponent_id\x18\x12 \x01(\x05\x12$\n\x0elast_kick_side\x18\x13 \x01(\x0e\x32\x0c.protos.Side\x12\"\n\x1alast_kicker_uniform_number\x18\x14 \x01(\x05\x12\r\n\x05\x63ycle\x18\x15 \x01(\x05\x12,\n\x0egame_mode_type\x18\x16 \x01(\x0e\x32\x14.protos.GameModeType\x12\x17\n\x0fleft_team_score\x18\x17 \x01(\x05\x12\x18\n\x10right_team_score\x18\x18 \x01(\x05\x12\x17\n\x0fis_our_set_play\x18\x19 \x01(\x08\x12\x19\n\x11is_their_set_play\x18\x1a \x01(\x08\x12\x14\n\x0cstoped_cycle\x18\x1b \x01(\x05\x12\x16\n\x0eour_team_score\x18\x1c \x01(\x05\x12\x18\n\x10their_team_score\x18\x1d \x01(\x05\x12\x1c\n\x14is_penalty_kick_mode\x18\x1e \x01(\x08\x12J\n\x15helios_home_positions\x18\x1f \x03(\x0b\x32+.protos.WorldModel.HeliosHomePositionsEntry\x12\x1a\n\x12our_defense_line_x\x18 \x01(\x01\x12\x1c\n\x14their_defense_line_x\x18! \x01(\x01\x12!\n\x19our_defense_player_line_x\x18\" \x01(\x01\x12#\n\x1btheir_defense_player_line_x\x18# \x01(\x01\x1a\x45\n\x13OurPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aG\n\x15TheirPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aO\n\x18HeliosHomePositionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D:\x02\x38\x01\"\xac\x01\n\x05State\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\'\n\x0bworld_model\x18\x02 \x01(\x0b\x32\x12.protos.WorldModel\x12,\n\x10\x66ull_world_model\x18\x03 \x01(\x0b\x32\x12.protos.WorldModel\x12\x17\n\x0fneed_preprocess\x18\x04 \x01(\x08\"V\n\x0bInitMessage\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\x12\n\ndebug_mode\x18\x02 \x01(\x08\"1\n\x04\x44\x61sh\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\"\"\n\x04Turn\x12\x1a\n\x12relative_direction\x18\x01 \x01(\x02\"1\n\x04Kick\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\",\n\x06Tackle\x12\x14\n\x0cpower_or_dir\x18\x01 \x01(\x02\x12\x0c\n\x04\x66oul\x18\x02 \x01(\x08\"\x07\n\x05\x43\x61tch\"\x1c\n\x04Move\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x1a\n\x08TurnNeck\x12\x0e\n\x06moment\x18\x01 \x01(\x02\"3\n\nChangeView\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"e\n\x0b\x42\x61llMessage\x12*\n\rball_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"\xb3\x01\n\x0bPassMessage\x12\x1f\n\x17receiver_uniform_number\x18\x01 \x01(\x05\x12+\n\x0ereceiver_point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\"F\n\x10InterceptMessage\x12\x0b\n\x03our\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\r\n\x05\x63ycle\x18\x03 \x01(\x05\"{\n\rGoalieMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12,\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\"\xd1\x01\n\x16GoalieAndPlayerMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12,\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\x12\x1d\n\x15player_uniform_number\x18\x04 \x01(\x05\x12,\n\x0fplayer_position\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\",\n\x12OffsideLineMessage\x12\x16\n\x0eoffside_line_x\x18\x01 \x01(\x02\",\n\x12\x44\x65\x66\x65nseLineMessage\x12\x16\n\x0e\x64\x65\x66\x65nse_line_x\x18\x01 \x01(\x02\"\x14\n\x12WaitRequestMessage\"#\n\x0eSetplayMessage\x12\x11\n\twait_step\x18\x01 \x01(\x05\"?\n\x12PassRequestMessage\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"!\n\x0eStaminaMessage\x12\x0f\n\x07stamina\x18\x01 \x01(\x02\"#\n\x0fRecoveryMessage\x12\x10\n\x08recovery\x18\x01 \x01(\x02\"2\n\x16StaminaCapacityMessage\x12\x18\n\x10stamina_capacity\x18\x01 \x01(\x02\"P\n\x0e\x44ribbleMessage\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x13\n\x0bqueue_count\x18\x02 \x01(\x05\"\xb8\x01\n\x11\x42\x61llGoalieMessage\x12*\n\rball_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12,\n\x0fgoalie_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15goalie_body_direction\x18\x04 \x01(\x02\"Q\n\x10OnePlayerMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"\xaa\x01\n\x10TwoPlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12+\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12,\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\"\xf7\x01\n\x12ThreePlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12+\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12,\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1c\n\x14third_uniform_number\x18\x05 \x01(\x05\x12+\n\x0ethird_position\x18\x06 \x01(\x0b\x32\x13.protos.RpcVector2D\"l\n\x0bSelfMessage\x12*\n\rself_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1b\n\x13self_body_direction\x18\x02 \x01(\x02\x12\x14\n\x0cself_stamina\x18\x03 \x01(\x02\"h\n\x0fTeammateMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"h\n\x0fOpponentMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"\xc9\x01\n\x11\x42\x61llPlayerMessage\x12*\n\rball_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0euniform_number\x18\x03 \x01(\x05\x12,\n\x0fplayer_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x05 \x01(\x02\"\xd0\t\n\x03Say\x12+\n\x0c\x62\x61ll_message\x18\x01 \x01(\x0b\x32\x13.protos.BallMessageH\x00\x12+\n\x0cpass_message\x18\x02 \x01(\x0b\x32\x13.protos.PassMessageH\x00\x12\x35\n\x11intercept_message\x18\x03 \x01(\x0b\x32\x18.protos.InterceptMessageH\x00\x12/\n\x0egoalie_message\x18\x04 \x01(\x0b\x32\x15.protos.GoalieMessageH\x00\x12\x43\n\x19goalie_and_player_message\x18\x05 \x01(\x0b\x32\x1e.protos.GoalieAndPlayerMessageH\x00\x12:\n\x14offside_line_message\x18\x06 \x01(\x0b\x32\x1a.protos.OffsideLineMessageH\x00\x12:\n\x14\x64\x65\x66\x65nse_line_message\x18\x07 \x01(\x0b\x32\x1a.protos.DefenseLineMessageH\x00\x12:\n\x14wait_request_message\x18\x08 \x01(\x0b\x32\x1a.protos.WaitRequestMessageH\x00\x12\x31\n\x0fsetplay_message\x18\t \x01(\x0b\x32\x16.protos.SetplayMessageH\x00\x12:\n\x14pass_request_message\x18\n \x01(\x0b\x32\x1a.protos.PassRequestMessageH\x00\x12\x31\n\x0fstamina_message\x18\x0b \x01(\x0b\x32\x16.protos.StaminaMessageH\x00\x12\x33\n\x10recovery_message\x18\x0c \x01(\x0b\x32\x17.protos.RecoveryMessageH\x00\x12\x42\n\x18stamina_capacity_message\x18\r \x01(\x0b\x32\x1e.protos.StaminaCapacityMessageH\x00\x12\x31\n\x0f\x64ribble_message\x18\x0e \x01(\x0b\x32\x16.protos.DribbleMessageH\x00\x12\x38\n\x13\x62\x61ll_goalie_message\x18\x0f \x01(\x0b\x32\x19.protos.BallGoalieMessageH\x00\x12\x36\n\x12one_player_message\x18\x10 \x01(\x0b\x32\x18.protos.OnePlayerMessageH\x00\x12\x36\n\x12two_player_message\x18\x11 \x01(\x0b\x32\x18.protos.TwoPlayerMessageH\x00\x12:\n\x14three_player_message\x18\x12 \x01(\x0b\x32\x1a.protos.ThreePlayerMessageH\x00\x12+\n\x0cself_message\x18\x13 \x01(\x0b\x32\x13.protos.SelfMessageH\x00\x12\x33\n\x10teammate_message\x18\x14 \x01(\x0b\x32\x17.protos.TeammateMessageH\x00\x12\x33\n\x10opponent_message\x18\x15 \x01(\x0b\x32\x17.protos.OpponentMessageH\x00\x12\x38\n\x13\x62\x61ll_player_message\x18\x16 \x01(\x0b\x32\x19.protos.BallPlayerMessageH\x00\x42\t\n\x07message\"\x1f\n\x07PointTo\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x0b\n\tPointToOf\"7\n\x0b\x41ttentionTo\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x0c\n\x04unum\x18\x02 \x01(\x05\"\x0f\n\rAttentionToOf\">\n\x07\x41\x64\x64Text\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0f\n\x07message\x18\x02 \x01(\t\"a\n\x08\x41\x64\x64Point\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\"\n\x05point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63olor\x18\x03 \x01(\t\"\x82\x01\n\x07\x41\x64\x64Line\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\"\n\x05start\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12 \n\x03\x65nd\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\x99\x01\n\x06\x41\x64\x64\x41rc\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x04 \x01(\x02\x12\x12\n\nspan_angel\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\"\x81\x01\n\tAddCircle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\x0c\n\x04\x66ill\x18\x05 \x01(\x08\"\xbd\x01\n\x0b\x41\x64\x64Triangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06point1\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12#\n\x06point2\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12#\n\x06point3\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63olor\x18\x05 \x01(\t\x12\x0c\n\x04\x66ill\x18\x06 \x01(\x08\"\x89\x01\n\x0c\x41\x64\x64Rectangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0c\n\x04left\x18\x02 \x01(\x02\x12\x0b\n\x03top\x18\x03 \x01(\x02\x12\x0e\n\x06length\x18\x04 \x01(\x02\x12\r\n\x05width\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\x12\x0c\n\x04\x66ill\x18\x07 \x01(\x08\"\xc2\x01\n\tAddSector\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x12\n\nmin_radius\x18\x03 \x01(\x02\x12\x12\n\nmax_radius\x18\x04 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x05 \x01(\x02\x12\x12\n\nspan_angel\x18\x06 \x01(\x02\x12\r\n\x05\x63olor\x18\x07 \x01(\t\x12\x0c\n\x04\x66ill\x18\x08 \x01(\x08\"w\n\nAddMessage\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\xf9\x02\n\x03Log\x12#\n\x08\x61\x64\x64_text\x18\x01 \x01(\x0b\x32\x0f.protos.AddTextH\x00\x12%\n\tadd_point\x18\x02 \x01(\x0b\x32\x10.protos.AddPointH\x00\x12#\n\x08\x61\x64\x64_line\x18\x03 \x01(\x0b\x32\x0f.protos.AddLineH\x00\x12!\n\x07\x61\x64\x64_arc\x18\x04 \x01(\x0b\x32\x0e.protos.AddArcH\x00\x12\'\n\nadd_circle\x18\x05 \x01(\x0b\x32\x11.protos.AddCircleH\x00\x12+\n\x0c\x61\x64\x64_triangle\x18\x06 \x01(\x0b\x32\x13.protos.AddTriangleH\x00\x12-\n\radd_rectangle\x18\x07 \x01(\x0b\x32\x14.protos.AddRectangleH\x00\x12\'\n\nadd_sector\x18\x08 \x01(\x0b\x32\x11.protos.AddSectorH\x00\x12)\n\x0b\x61\x64\x64_message\x18\t \x01(\x0b\x32\x12.protos.AddMessageH\x00\x42\x05\n\x03log\"\x1e\n\x0b\x44\x65\x62ugClient\x12\x0f\n\x07message\x18\x01 \x01(\t\"o\n\x0e\x42ody_GoToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\x82\x01\n\x0e\x42ody_SmartKick\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x1d\n\x15\x66irst_speed_threshold\x18\x03 \x01(\x02\x12\x11\n\tmax_steps\x18\x04 \x01(\x05\"7\n\x11\x42hv_BeforeKickOff\x12\"\n\x05point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"\x14\n\x12\x42hv_BodyNeckToBall\"9\n\x13\x42hv_BodyNeckToPoint\x12\"\n\x05point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"\x0f\n\rBhv_Emergency\"v\n\x15\x42hv_GoToPointLookBall\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\'\n\x12\x42hv_NeckBodyToBall\x12\x11\n\tangle_buf\x18\x01 \x01(\x02\"L\n\x13\x42hv_NeckBodyToPoint\x12\"\n\x05point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tangle_buf\x18\x02 \x01(\x02\"\x0f\n\rBhv_ScanField\"\x12\n\x10\x42ody_AdvanceBall\"\x10\n\x0e\x42ody_ClearBall\"\x8c\x01\n\x0c\x42ody_Dribble\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x12\n\ndash_power\x18\x03 \x01(\x02\x12\x12\n\ndash_count\x18\x04 \x01(\x05\x12\r\n\x05\x64odge\x18\x05 \x01(\x08\"T\n\x13\x42ody_GoToPointDodge\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x12\n\ndash_power\x18\x02 \x01(\x02\"\x80\x01\n\rBody_HoldBall\x12\x0f\n\x07\x64o_turn\x18\x01 \x01(\x08\x12.\n\x11turn_target_point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12.\n\x11kick_target_point\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\"P\n\x0e\x42ody_Intercept\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\x12\'\n\nface_point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"f\n\x10\x42ody_KickOneStep\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x12\n\nforce_mode\x18\x03 \x01(\x08\"\x0f\n\rBody_StopBall\"&\n\rBody_StopDash\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\"k\n\x12\x42ody_TackleToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x17\n\x0fmin_probability\x18\x02 \x01(\x02\x12\x11\n\tmin_speed\x18\x03 \x01(\x02\"!\n\x10\x42ody_TurnToAngle\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\" \n\x0f\x42ody_TurnToBall\x12\r\n\x05\x63ycle\x18\x01 \x01(\x05\"L\n\x10\x42ody_TurnToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63ycle\x18\x02 \x01(\x05\">\n\x11\x46ocus_MoveToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"\r\n\x0b\x46ocus_Reset\"\x10\n\x0eNeck_ScanField\"\x12\n\x10Neck_ScanPlayers\"g\n\x18Neck_TurnToBallAndPlayer\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\"0\n\x15Neck_TurnToBallOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x11\n\x0fNeck_TurnToBall\"2\n\x17Neck_TurnToGoalieOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x1c\n\x1aNeck_TurnToLowConfTeammate\"f\n\x17Neck_TurnToPlayerOrScan\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\"=\n\x10Neck_TurnToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"$\n\x13Neck_TurnToRelative\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\"9\n\x10View_ChangeWidth\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"\r\n\x0bView_Normal\"\x0c\n\nView_Synch\"\x0b\n\tView_Wide\"\x0e\n\x0cHeliosGoalie\"\x12\n\x10HeliosGoalieMove\"\x12\n\x10HeliosGoalieKick\"\r\n\x0bHeliosShoot\"\xf3\x01\n\x16HeliosOffensivePlanner\x12\x13\n\x0b\x64irect_pass\x18\x01 \x01(\x08\x12\x11\n\tlead_pass\x18\x02 \x01(\x08\x12\x14\n\x0cthrough_pass\x18\x03 \x01(\x08\x12\x15\n\rshort_dribble\x18\x04 \x01(\x08\x12\x14\n\x0clong_dribble\x18\x05 \x01(\x08\x12\r\n\x05\x63ross\x18\x06 \x01(\x08\x12\x13\n\x0bsimple_pass\x18\x07 \x01(\x08\x12\x16\n\x0esimple_dribble\x18\x08 \x01(\x08\x12\x14\n\x0csimple_shoot\x18\t \x01(\x08\x12\x1c\n\x14server_side_decision\x18\n \x01(\x08\"\x16\n\x14HeliosBasicOffensive\"\x11\n\x0fHeliosBasicMove\"\x0f\n\rHeliosSetPlay\"\x0f\n\rHeliosPenalty\"\x14\n\x12HeliosCommunicaion\"\xed\x19\n\x0cPlayerAction\x12\x1c\n\x04\x64\x61sh\x18\x01 \x01(\x0b\x32\x0c.protos.DashH\x00\x12\x1c\n\x04turn\x18\x02 \x01(\x0b\x32\x0c.protos.TurnH\x00\x12\x1c\n\x04kick\x18\x03 \x01(\x0b\x32\x0c.protos.KickH\x00\x12 \n\x06tackle\x18\x04 \x01(\x0b\x32\x0e.protos.TackleH\x00\x12\x1e\n\x05\x63\x61tch\x18\x05 \x01(\x0b\x32\r.protos.CatchH\x00\x12\x1c\n\x04move\x18\x06 \x01(\x0b\x32\x0c.protos.MoveH\x00\x12%\n\tturn_neck\x18\x07 \x01(\x0b\x32\x10.protos.TurnNeckH\x00\x12)\n\x0b\x63hange_view\x18\x08 \x01(\x0b\x32\x12.protos.ChangeViewH\x00\x12\x1a\n\x03say\x18\t \x01(\x0b\x32\x0b.protos.SayH\x00\x12#\n\x08point_to\x18\n \x01(\x0b\x32\x0f.protos.PointToH\x00\x12(\n\x0bpoint_to_of\x18\x0b \x01(\x0b\x32\x11.protos.PointToOfH\x00\x12+\n\x0c\x61ttention_to\x18\x0c \x01(\x0b\x32\x13.protos.AttentionToH\x00\x12\x30\n\x0f\x61ttention_to_of\x18\r \x01(\x0b\x32\x15.protos.AttentionToOfH\x00\x12\x1a\n\x03log\x18\x0e \x01(\x0b\x32\x0b.protos.LogH\x00\x12+\n\x0c\x64\x65\x62ug_client\x18\x0f \x01(\x0b\x32\x13.protos.DebugClientH\x00\x12\x32\n\x10\x62ody_go_to_point\x18\x10 \x01(\x0b\x32\x16.protos.Body_GoToPointH\x00\x12\x31\n\x0f\x62ody_smart_kick\x18\x11 \x01(\x0b\x32\x16.protos.Body_SmartKickH\x00\x12\x38\n\x13\x62hv_before_kick_off\x18\x12 \x01(\x0b\x32\x19.protos.Bhv_BeforeKickOffH\x00\x12;\n\x15\x62hv_body_neck_to_ball\x18\x13 \x01(\x0b\x32\x1a.protos.Bhv_BodyNeckToBallH\x00\x12=\n\x16\x62hv_body_neck_to_point\x18\x14 \x01(\x0b\x32\x1b.protos.Bhv_BodyNeckToPointH\x00\x12.\n\rbhv_emergency\x18\x15 \x01(\x0b\x32\x15.protos.Bhv_EmergencyH\x00\x12\x42\n\x19\x62hv_go_to_point_look_ball\x18\x16 \x01(\x0b\x32\x1d.protos.Bhv_GoToPointLookBallH\x00\x12;\n\x15\x62hv_neck_body_to_ball\x18\x17 \x01(\x0b\x32\x1a.protos.Bhv_NeckBodyToBallH\x00\x12=\n\x16\x62hv_neck_body_to_point\x18\x18 \x01(\x0b\x32\x1b.protos.Bhv_NeckBodyToPointH\x00\x12/\n\x0e\x62hv_scan_field\x18\x19 \x01(\x0b\x32\x15.protos.Bhv_ScanFieldH\x00\x12\x35\n\x11\x62ody_advance_ball\x18\x1a \x01(\x0b\x32\x18.protos.Body_AdvanceBallH\x00\x12\x31\n\x0f\x62ody_clear_ball\x18\x1b \x01(\x0b\x32\x16.protos.Body_ClearBallH\x00\x12,\n\x0c\x62ody_dribble\x18\x1c \x01(\x0b\x32\x14.protos.Body_DribbleH\x00\x12=\n\x16\x62ody_go_to_point_dodge\x18\x1d \x01(\x0b\x32\x1b.protos.Body_GoToPointDodgeH\x00\x12/\n\x0e\x62ody_hold_ball\x18\x1e \x01(\x0b\x32\x15.protos.Body_HoldBallH\x00\x12\x30\n\x0e\x62ody_intercept\x18\x1f \x01(\x0b\x32\x16.protos.Body_InterceptH\x00\x12\x36\n\x12\x62ody_kick_one_step\x18 \x01(\x0b\x32\x18.protos.Body_KickOneStepH\x00\x12/\n\x0e\x62ody_stop_ball\x18! \x01(\x0b\x32\x15.protos.Body_StopBallH\x00\x12/\n\x0e\x62ody_stop_dash\x18\" \x01(\x0b\x32\x15.protos.Body_StopDashH\x00\x12:\n\x14\x62ody_tackle_to_point\x18# \x01(\x0b\x32\x1a.protos.Body_TackleToPointH\x00\x12\x36\n\x12\x62ody_turn_to_angle\x18$ \x01(\x0b\x32\x18.protos.Body_TurnToAngleH\x00\x12\x34\n\x11\x62ody_turn_to_ball\x18% \x01(\x0b\x32\x17.protos.Body_TurnToBallH\x00\x12\x36\n\x12\x62ody_turn_to_point\x18& \x01(\x0b\x32\x18.protos.Body_TurnToPointH\x00\x12\x38\n\x13\x66ocus_move_to_point\x18\' \x01(\x0b\x32\x19.protos.Focus_MoveToPointH\x00\x12*\n\x0b\x66ocus_reset\x18( \x01(\x0b\x32\x13.protos.Focus_ResetH\x00\x12\x31\n\x0fneck_scan_field\x18) \x01(\x0b\x32\x16.protos.Neck_ScanFieldH\x00\x12\x35\n\x11neck_scan_players\x18* \x01(\x0b\x32\x18.protos.Neck_ScanPlayersH\x00\x12H\n\x1cneck_turn_to_ball_and_player\x18+ \x01(\x0b\x32 .protos.Neck_TurnToBallAndPlayerH\x00\x12\x42\n\x19neck_turn_to_ball_or_scan\x18, \x01(\x0b\x32\x1d.protos.Neck_TurnToBallOrScanH\x00\x12\x34\n\x11neck_turn_to_ball\x18- \x01(\x0b\x32\x17.protos.Neck_TurnToBallH\x00\x12\x46\n\x1bneck_turn_to_goalie_or_scan\x18. \x01(\x0b\x32\x1f.protos.Neck_TurnToGoalieOrScanH\x00\x12L\n\x1eneck_turn_to_low_conf_teammate\x18/ \x01(\x0b\x32\".protos.Neck_TurnToLowConfTeammateH\x00\x12\x46\n\x1bneck_turn_to_player_or_scan\x18\x30 \x01(\x0b\x32\x1f.protos.Neck_TurnToPlayerOrScanH\x00\x12\x36\n\x12neck_turn_to_point\x18\x31 \x01(\x0b\x32\x18.protos.Neck_TurnToPointH\x00\x12<\n\x15neck_turn_to_relative\x18\x32 \x01(\x0b\x32\x1b.protos.Neck_TurnToRelativeH\x00\x12\x35\n\x11view_change_width\x18\x33 \x01(\x0b\x32\x18.protos.View_ChangeWidthH\x00\x12*\n\x0bview_normal\x18\x34 \x01(\x0b\x32\x13.protos.View_NormalH\x00\x12(\n\nview_synch\x18\x35 \x01(\x0b\x32\x12.protos.View_SynchH\x00\x12&\n\tview_wide\x18\x36 \x01(\x0b\x32\x11.protos.View_WideH\x00\x12-\n\rhelios_goalie\x18\x37 \x01(\x0b\x32\x14.protos.HeliosGoalieH\x00\x12\x36\n\x12helios_goalie_move\x18\x38 \x01(\x0b\x32\x18.protos.HeliosGoalieMoveH\x00\x12\x36\n\x12helios_goalie_kick\x18\x39 \x01(\x0b\x32\x18.protos.HeliosGoalieKickH\x00\x12+\n\x0chelios_shoot\x18: \x01(\x0b\x32\x13.protos.HeliosShootH\x00\x12\x42\n\x18helios_offensive_planner\x18; \x01(\x0b\x32\x1e.protos.HeliosOffensivePlannerH\x00\x12>\n\x16helios_basic_offensive\x18< \x01(\x0b\x32\x1c.protos.HeliosBasicOffensiveH\x00\x12\x34\n\x11helios_basic_move\x18= \x01(\x0b\x32\x17.protos.HeliosBasicMoveH\x00\x12\x30\n\x0fhelios_set_play\x18> \x01(\x0b\x32\x15.protos.HeliosSetPlayH\x00\x12/\n\x0ehelios_penalty\x18? \x01(\x0b\x32\x15.protos.HeliosPenaltyH\x00\x12:\n\x14helios_communication\x18@ \x01(\x0b\x32\x1a.protos.HeliosCommunicaionH\x00\x42\x08\n\x06\x61\x63tion\"Q\n\rPlayerActions\x12%\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x14.protos.PlayerAction\x12\x19\n\x11ignore_preprocess\x18\x02 \x01(\x08\"8\n\x10\x43hangePlayerType\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\"\x14\n\x12\x44oHeliosSubstitute\"\x18\n\x16\x44oHeliosSayPlayerTypes\"\xd2\x01\n\x0b\x43oachAction\x12\x37\n\x13\x63hange_player_types\x18\x01 \x01(\x0b\x32\x18.protos.ChangePlayerTypeH\x00\x12:\n\x14\x64o_helios_substitute\x18\x02 \x01(\x0b\x32\x1a.protos.DoHeliosSubstituteH\x00\x12\x44\n\x1a\x64o_helios_say_player_types\x18\x03 \x01(\x0b\x32\x1e.protos.DoHeliosSayPlayerTypesH\x00\x42\x08\n\x06\x61\x63tion\"4\n\x0c\x43oachActions\x12$\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x13.protos.CoachAction\"\x0b\n\tDoKickOff\"Z\n\nDoMoveBall\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"w\n\x0c\x44oMovePlayer\x12\x10\n\x08our_side\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12%\n\x08position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x04 \x01(\x02\"\x0b\n\tDoRecover\"X\n\x0c\x44oChangeMode\x12,\n\x0egame_mode_type\x18\x01 \x01(\x0e\x32\x14.protos.GameModeType\x12\x1a\n\x04side\x18\x02 \x01(\x0e\x32\x0c.protos.Side\"L\n\x12\x44oChangePlayerType\x12\x10\n\x08our_side\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\"\xb5\x02\n\rTrainerAction\x12(\n\x0b\x64o_kick_off\x18\x01 \x01(\x0b\x32\x11.protos.DoKickOffH\x00\x12*\n\x0c\x64o_move_ball\x18\x02 \x01(\x0b\x32\x12.protos.DoMoveBallH\x00\x12.\n\x0e\x64o_move_player\x18\x03 \x01(\x0b\x32\x14.protos.DoMovePlayerH\x00\x12\'\n\ndo_recover\x18\x04 \x01(\x0b\x32\x11.protos.DoRecoverH\x00\x12.\n\x0e\x64o_change_mode\x18\x05 \x01(\x0b\x32\x14.protos.DoChangeModeH\x00\x12;\n\x15\x64o_change_player_type\x18\x06 \x01(\x0b\x32\x1a.protos.DoChangePlayerTypeH\x00\x42\x08\n\x06\x61\x63tion\"8\n\x0eTrainerActions\x12&\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x15.protos.TrainerAction\"\xdd,\n\x0bServerParam\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\x16\n\x0einertia_moment\x18\x02 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x13\n\x0bplayer_rand\x18\x05 \x01(\x02\x12\x15\n\rplayer_weight\x18\x06 \x01(\x02\x12\x18\n\x10player_speed_max\x18\x07 \x01(\x02\x12\x18\n\x10player_accel_max\x18\x08 \x01(\x02\x12\x13\n\x0bstamina_max\x18\t \x01(\x02\x12\x17\n\x0fstamina_inc_max\x18\n \x01(\x02\x12\x14\n\x0crecover_init\x18\x0b \x01(\x02\x12\x17\n\x0frecover_dec_thr\x18\x0c \x01(\x02\x12\x13\n\x0brecover_min\x18\r \x01(\x02\x12\x13\n\x0brecover_dec\x18\x0e \x01(\x02\x12\x13\n\x0b\x65\x66\x66ort_init\x18\x0f \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_dec_thr\x18\x10 \x01(\x02\x12\x12\n\neffort_min\x18\x11 \x01(\x02\x12\x12\n\neffort_dec\x18\x12 \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_inc_thr\x18\x13 \x01(\x02\x12\x12\n\neffort_inc\x18\x14 \x01(\x02\x12\x11\n\tkick_rand\x18\x15 \x01(\x02\x12\x1b\n\x13team_actuator_noise\x18\x16 \x01(\x08\x12\x1c\n\x14player_rand_factor_l\x18\x17 \x01(\x02\x12\x1c\n\x14player_rand_factor_r\x18\x18 \x01(\x02\x12\x1a\n\x12kick_rand_factor_l\x18\x19 \x01(\x02\x12\x1a\n\x12kick_rand_factor_r\x18\x1a \x01(\x02\x12\x11\n\tball_size\x18\x1b \x01(\x02\x12\x12\n\nball_decay\x18\x1c \x01(\x02\x12\x11\n\tball_rand\x18\x1d \x01(\x02\x12\x13\n\x0b\x62\x61ll_weight\x18\x1e \x01(\x02\x12\x16\n\x0e\x62\x61ll_speed_max\x18\x1f \x01(\x02\x12\x16\n\x0e\x62\x61ll_accel_max\x18 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18! \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\" \x01(\x02\x12\x17\n\x0fkickable_margin\x18# \x01(\x02\x12\x16\n\x0e\x63ontrol_radius\x18$ \x01(\x02\x12\x1c\n\x14\x63ontrol_radius_width\x18% \x01(\x02\x12\x11\n\tmax_power\x18& \x01(\x02\x12\x11\n\tmin_power\x18\' \x01(\x02\x12\x12\n\nmax_moment\x18( \x01(\x02\x12\x12\n\nmin_moment\x18) \x01(\x02\x12\x17\n\x0fmax_neck_moment\x18* \x01(\x02\x12\x17\n\x0fmin_neck_moment\x18+ \x01(\x02\x12\x16\n\x0emax_neck_angle\x18, \x01(\x02\x12\x16\n\x0emin_neck_angle\x18- \x01(\x02\x12\x15\n\rvisible_angle\x18. \x01(\x02\x12\x18\n\x10visible_distance\x18/ \x01(\x02\x12\x10\n\x08wind_dir\x18\x30 \x01(\x02\x12\x12\n\nwind_force\x18\x31 \x01(\x02\x12\x12\n\nwind_angle\x18\x32 \x01(\x02\x12\x11\n\twind_rand\x18\x33 \x01(\x02\x12\x15\n\rkickable_area\x18\x34 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_l\x18\x35 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_w\x18\x36 \x01(\x02\x12\x19\n\x11\x63\x61tch_probability\x18\x37 \x01(\x02\x12\x18\n\x10goalie_max_moves\x18\x38 \x01(\x05\x12\x1a\n\x12\x63orner_kick_margin\x18\x39 \x01(\x02\x12 \n\x18offside_active_area_size\x18: \x01(\x02\x12\x11\n\twind_none\x18; \x01(\x08\x12\x17\n\x0fuse_wind_random\x18< \x01(\x08\x12\x1b\n\x13\x63oach_say_count_max\x18= \x01(\x05\x12\x1a\n\x12\x63oach_say_msg_size\x18> \x01(\x05\x12\x16\n\x0e\x63lang_win_size\x18? \x01(\x05\x12\x18\n\x10\x63lang_define_win\x18@ \x01(\x05\x12\x16\n\x0e\x63lang_meta_win\x18\x41 \x01(\x05\x12\x18\n\x10\x63lang_advice_win\x18\x42 \x01(\x05\x12\x16\n\x0e\x63lang_info_win\x18\x43 \x01(\x05\x12\x18\n\x10\x63lang_mess_delay\x18\x44 \x01(\x05\x12\x1c\n\x14\x63lang_mess_per_cycle\x18\x45 \x01(\x05\x12\x11\n\thalf_time\x18\x46 \x01(\x05\x12\x16\n\x0esimulator_step\x18G \x01(\x05\x12\x11\n\tsend_step\x18H \x01(\x05\x12\x11\n\trecv_step\x18I \x01(\x05\x12\x17\n\x0fsense_body_step\x18J \x01(\x05\x12\x10\n\x08lcm_step\x18K \x01(\x05\x12\x1b\n\x13player_say_msg_size\x18L \x01(\x05\x12\x17\n\x0fplayer_hear_max\x18M \x01(\x05\x12\x17\n\x0fplayer_hear_inc\x18N \x01(\x05\x12\x19\n\x11player_hear_decay\x18O \x01(\x05\x12\x17\n\x0f\x63\x61tch_ban_cycle\x18P \x01(\x05\x12\x18\n\x10slow_down_factor\x18Q \x01(\x05\x12\x13\n\x0buse_offside\x18R \x01(\x08\x12\x17\n\x0fkickoff_offside\x18S \x01(\x08\x12\x1b\n\x13offside_kick_margin\x18T \x01(\x02\x12\x16\n\x0e\x61udio_cut_dist\x18U \x01(\x02\x12\x1a\n\x12\x64ist_quantize_step\x18V \x01(\x02\x12#\n\x1blandmark_dist_quantize_step\x18W \x01(\x02\x12\x19\n\x11\x64ir_quantize_step\x18X \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_l\x18Y \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_r\x18Z \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_l\x18[ \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_r\x18\\ \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_l\x18] \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_r\x18^ \x01(\x02\x12\x12\n\ncoach_mode\x18_ \x01(\x08\x12\x1f\n\x17\x63oach_with_referee_mode\x18` \x01(\x08\x12\x1a\n\x12use_old_coach_hear\x18\x61 \x01(\x08\x12%\n\x1dslowness_on_top_for_left_team\x18\x62 \x01(\x02\x12&\n\x1eslowness_on_top_for_right_team\x18\x63 \x01(\x02\x12\x14\n\x0cstart_goal_l\x18\x64 \x01(\x05\x12\x14\n\x0cstart_goal_r\x18\x65 \x01(\x05\x12\x13\n\x0b\x66ullstate_l\x18\x66 \x01(\x08\x12\x13\n\x0b\x66ullstate_r\x18g \x01(\x08\x12\x16\n\x0e\x64rop_ball_time\x18h \x01(\x05\x12\x12\n\nsynch_mode\x18i \x01(\x08\x12\x14\n\x0csynch_offset\x18j \x01(\x05\x12\x19\n\x11synch_micro_sleep\x18k \x01(\x05\x12\x14\n\x0cpoint_to_ban\x18l \x01(\x05\x12\x19\n\x11point_to_duration\x18m \x01(\x05\x12\x13\n\x0bplayer_port\x18n \x01(\x05\x12\x14\n\x0ctrainer_port\x18o \x01(\x05\x12\x19\n\x11online_coach_port\x18p \x01(\x05\x12\x14\n\x0cverbose_mode\x18q \x01(\x08\x12\x1a\n\x12\x63oach_send_vi_step\x18r \x01(\x05\x12\x13\n\x0breplay_file\x18s \x01(\t\x12\x15\n\rlandmark_file\x18t \x01(\t\x12\x12\n\nsend_comms\x18u \x01(\x08\x12\x14\n\x0ctext_logging\x18v \x01(\x08\x12\x14\n\x0cgame_logging\x18w \x01(\x08\x12\x18\n\x10game_log_version\x18x \x01(\x05\x12\x14\n\x0ctext_log_dir\x18y \x01(\t\x12\x14\n\x0cgame_log_dir\x18z \x01(\t\x12\x1b\n\x13text_log_fixed_name\x18{ \x01(\t\x12\x1b\n\x13game_log_fixed_name\x18| \x01(\t\x12\x1a\n\x12use_text_log_fixed\x18} \x01(\x08\x12\x1a\n\x12use_game_log_fixed\x18~ \x01(\x08\x12\x1a\n\x12use_text_log_dated\x18\x7f \x01(\x08\x12\x1b\n\x12use_game_log_dated\x18\x80\x01 \x01(\x08\x12\x18\n\x0flog_date_format\x18\x81\x01 \x01(\t\x12\x12\n\tlog_times\x18\x82\x01 \x01(\x08\x12\x17\n\x0erecord_message\x18\x83\x01 \x01(\x08\x12\x1d\n\x14text_log_compression\x18\x84\x01 \x01(\x05\x12\x1d\n\x14game_log_compression\x18\x85\x01 \x01(\x05\x12\x14\n\x0buse_profile\x18\x86\x01 \x01(\x08\x12\x14\n\x0btackle_dist\x18\x87\x01 \x01(\x02\x12\x19\n\x10tackle_back_dist\x18\x88\x01 \x01(\x02\x12\x15\n\x0ctackle_width\x18\x89\x01 \x01(\x02\x12\x18\n\x0ftackle_exponent\x18\x8a\x01 \x01(\x02\x12\x16\n\rtackle_cycles\x18\x8b\x01 \x01(\x05\x12\x1a\n\x11tackle_power_rate\x18\x8c\x01 \x01(\x02\x12\x1d\n\x14\x66reeform_wait_period\x18\x8d\x01 \x01(\x05\x12\x1d\n\x14\x66reeform_send_period\x18\x8e\x01 \x01(\x05\x12\x19\n\x10\x66ree_kick_faults\x18\x8f\x01 \x01(\x08\x12\x14\n\x0b\x62\x61\x63k_passes\x18\x90\x01 \x01(\x08\x12\x1a\n\x11proper_goal_kicks\x18\x91\x01 \x01(\x08\x12\x19\n\x10stopped_ball_vel\x18\x92\x01 \x01(\x02\x12\x17\n\x0emax_goal_kicks\x18\x93\x01 \x01(\x05\x12\x16\n\rclang_del_win\x18\x94\x01 \x01(\x05\x12\x17\n\x0e\x63lang_rule_win\x18\x95\x01 \x01(\x05\x12\x12\n\tauto_mode\x18\x96\x01 \x01(\x08\x12\x16\n\rkick_off_wait\x18\x97\x01 \x01(\x05\x12\x15\n\x0c\x63onnect_wait\x18\x98\x01 \x01(\x05\x12\x17\n\x0egame_over_wait\x18\x99\x01 \x01(\x05\x12\x15\n\x0cteam_l_start\x18\x9a\x01 \x01(\t\x12\x15\n\x0cteam_r_start\x18\x9b\x01 \x01(\t\x12\x16\n\rkeepaway_mode\x18\x9c\x01 \x01(\x08\x12\x18\n\x0fkeepaway_length\x18\x9d\x01 \x01(\x02\x12\x17\n\x0ekeepaway_width\x18\x9e\x01 \x01(\x02\x12\x19\n\x10keepaway_logging\x18\x9f\x01 \x01(\x08\x12\x19\n\x10keepaway_log_dir\x18\xa0\x01 \x01(\t\x12 \n\x17keepaway_log_fixed_name\x18\xa1\x01 \x01(\t\x12\x1b\n\x12keepaway_log_fixed\x18\xa2\x01 \x01(\x08\x12\x1b\n\x12keepaway_log_dated\x18\xa3\x01 \x01(\x08\x12\x17\n\x0ekeepaway_start\x18\xa4\x01 \x01(\x05\x12\x18\n\x0fnr_normal_halfs\x18\xa5\x01 \x01(\x05\x12\x17\n\x0enr_extra_halfs\x18\xa6\x01 \x01(\x05\x12\x1b\n\x12penalty_shoot_outs\x18\xa7\x01 \x01(\x08\x12\x1e\n\x15pen_before_setup_wait\x18\xa8\x01 \x01(\x05\x12\x17\n\x0epen_setup_wait\x18\xa9\x01 \x01(\x05\x12\x17\n\x0epen_ready_wait\x18\xaa\x01 \x01(\x05\x12\x17\n\x0epen_taken_wait\x18\xab\x01 \x01(\x05\x12\x15\n\x0cpen_nr_kicks\x18\xac\x01 \x01(\x05\x12\x1c\n\x13pen_max_extra_kicks\x18\xad\x01 \x01(\x05\x12\x13\n\npen_dist_x\x18\xae\x01 \x01(\x02\x12\x1a\n\x11pen_random_winner\x18\xaf\x01 \x01(\x08\x12\x1d\n\x14pen_allow_mult_kicks\x18\xb0\x01 \x01(\x08\x12\x1e\n\x15pen_max_goalie_dist_x\x18\xb1\x01 \x01(\x02\x12 \n\x17pen_coach_moves_players\x18\xb2\x01 \x01(\x08\x12\x13\n\nmodule_dir\x18\xb3\x01 \x01(\t\x12\x18\n\x0f\x62\x61ll_stuck_area\x18\xb4\x01 \x01(\x02\x12\x17\n\x0e\x63oach_msg_file\x18\xb5\x01 \x01(\t\x12\x19\n\x10max_tackle_power\x18\xb6\x01 \x01(\x02\x12\x1e\n\x15max_back_tackle_power\x18\xb7\x01 \x01(\x02\x12\x1d\n\x14player_speed_max_min\x18\xb8\x01 \x01(\x02\x12\x16\n\rextra_stamina\x18\xb9\x01 \x01(\x02\x12\x19\n\x10synch_see_offset\x18\xba\x01 \x01(\x05\x12\x18\n\x0f\x65xtra_half_time\x18\xbb\x01 \x01(\x05\x12\x19\n\x10stamina_capacity\x18\xbc\x01 \x01(\x02\x12\x17\n\x0emax_dash_angle\x18\xbd\x01 \x01(\x02\x12\x17\n\x0emin_dash_angle\x18\xbe\x01 \x01(\x02\x12\x18\n\x0f\x64\x61sh_angle_step\x18\xbf\x01 \x01(\x02\x12\x17\n\x0eside_dash_rate\x18\xc0\x01 \x01(\x02\x12\x17\n\x0e\x62\x61\x63k_dash_rate\x18\xc1\x01 \x01(\x02\x12\x17\n\x0emax_dash_power\x18\xc2\x01 \x01(\x02\x12\x17\n\x0emin_dash_power\x18\xc3\x01 \x01(\x02\x12\x1b\n\x12tackle_rand_factor\x18\xc4\x01 \x01(\x02\x12 \n\x17\x66oul_detect_probability\x18\xc5\x01 \x01(\x02\x12\x16\n\rfoul_exponent\x18\xc6\x01 \x01(\x02\x12\x14\n\x0b\x66oul_cycles\x18\xc7\x01 \x01(\x05\x12\x14\n\x0bgolden_goal\x18\xc8\x01 \x01(\x08\x12\x1d\n\x14red_card_probability\x18\xc9\x01 \x01(\x02\x12!\n\x18illegal_defense_duration\x18\xca\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_number\x18\xcb\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_dist_x\x18\xcc\x01 \x01(\x02\x12\x1e\n\x15illegal_defense_width\x18\xcd\x01 \x01(\x02\x12\x19\n\x10\x66ixed_teamname_l\x18\xce\x01 \x01(\t\x12\x19\n\x10\x66ixed_teamname_r\x18\xcf\x01 \x01(\t\x12\x18\n\x0fmax_catch_angle\x18\xd0\x01 \x01(\x02\x12\x18\n\x0fmin_catch_angle\x18\xd1\x01 \x01(\x02\x12\x14\n\x0brandom_seed\x18\xd2\x01 \x01(\x05\x12\x1f\n\x16long_kick_power_factor\x18\xd3\x01 \x01(\x02\x12\x18\n\x0flong_kick_delay\x18\xd4\x01 \x01(\x05\x12\x15\n\x0cmax_monitors\x18\xd5\x01 \x01(\x05\x12\x17\n\x0e\x63\x61tchable_area\x18\xd6\x01 \x01(\x02\x12\x17\n\x0ereal_speed_max\x18\xd7\x01 \x01(\x02\x12\x1a\n\x11pitch_half_length\x18\xd8\x01 \x01(\x02\x12\x19\n\x10pitch_half_width\x18\xd9\x01 \x01(\x02\x12 \n\x17our_penalty_area_line_x\x18\xda\x01 \x01(\x02\x12\"\n\x19their_penalty_area_line_x\x18\xdb\x01 \x01(\x02\x12 \n\x17penalty_area_half_width\x18\xdc\x01 \x01(\x02\x12\x1c\n\x13penalty_area_length\x18\xdd\x01 \x01(\x02\x12\x13\n\ngoal_width\x18\xde\x01 \x01(\x02\"\x8d\x08\n\x0bPlayerParam\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\x14\n\x0cplayer_types\x18\x02 \x01(\x05\x12\x10\n\x08subs_max\x18\x03 \x01(\x05\x12\x0e\n\x06pt_max\x18\x04 \x01(\x05\x12\x1f\n\x17\x61llow_mult_default_type\x18\x05 \x01(\x08\x12\"\n\x1aplayer_speed_max_delta_min\x18\x06 \x01(\x02\x12\"\n\x1aplayer_speed_max_delta_max\x18\x07 \x01(\x02\x12$\n\x1cstamina_inc_max_delta_factor\x18\x08 \x01(\x02\x12\x1e\n\x16player_decay_delta_min\x18\t \x01(\x02\x12\x1e\n\x16player_decay_delta_max\x18\n \x01(\x02\x12#\n\x1binertia_moment_delta_factor\x18\x0b \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_min\x18\x0c \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_max\x18\r \x01(\x02\x12 \n\x18player_size_delta_factor\x18\x0e \x01(\x02\x12!\n\x19kickable_margin_delta_min\x18\x0f \x01(\x02\x12!\n\x19kickable_margin_delta_max\x18\x10 \x01(\x02\x12\x1e\n\x16kick_rand_delta_factor\x18\x11 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_min\x18\x12 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_max\x18\x13 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_max_delta_factor\x18\x14 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_min_delta_factor\x18\x15 \x01(\x02\x12\x13\n\x0brandom_seed\x18\x16 \x01(\x05\x12%\n\x1dnew_dash_power_rate_delta_min\x18\x17 \x01(\x02\x12%\n\x1dnew_dash_power_rate_delta_max\x18\x18 \x01(\x02\x12(\n new_stamina_inc_max_delta_factor\x18\x19 \x01(\x02\x12!\n\x19kick_power_rate_delta_min\x18\x1a \x01(\x02\x12!\n\x19kick_power_rate_delta_max\x18\x1b \x01(\x02\x12,\n$foul_detect_probability_delta_factor\x18\x1c \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_min\x18\x1d \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_max\x18\x1e \x01(\x02\"\xbf\x07\n\nPlayerType\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x17\n\x0fstamina_inc_max\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x16\n\x0einertia_moment\x18\x05 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18\x06 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x07 \x01(\x02\x12\x17\n\x0fkickable_margin\x18\x08 \x01(\x02\x12\x11\n\tkick_rand\x18\t \x01(\x02\x12\x15\n\rextra_stamina\x18\n \x01(\x02\x12\x12\n\neffort_max\x18\x0b \x01(\x02\x12\x12\n\neffort_min\x18\x0c \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\r \x01(\x02\x12\x1f\n\x17\x66oul_detect_probability\x18\x0e \x01(\x02\x12 \n\x18\x63\x61tchable_area_l_stretch\x18\x0f \x01(\x02\x12\x17\n\x0funum_far_length\x18\x10 \x01(\x02\x12\x1b\n\x13unum_too_far_length\x18\x11 \x01(\x02\x12\x17\n\x0fteam_far_length\x18\x12 \x01(\x02\x12\x1b\n\x13team_too_far_length\x18\x13 \x01(\x02\x12%\n\x1dplayer_max_observation_length\x18\x14 \x01(\x02\x12\x1b\n\x13\x62\x61ll_vel_far_length\x18\x15 \x01(\x02\x12\x1f\n\x17\x62\x61ll_vel_too_far_length\x18\x16 \x01(\x02\x12#\n\x1b\x62\x61ll_max_observation_length\x18\x17 \x01(\x02\x12\x1b\n\x13\x66lag_chg_far_length\x18\x18 \x01(\x02\x12\x1f\n\x17\x66lag_chg_too_far_length\x18\x19 \x01(\x02\x12#\n\x1b\x66lag_max_observation_length\x18\x1a \x01(\x02\x12\x15\n\rkickable_area\x18\x1b \x01(\x02\x12\x1f\n\x17reliable_catchable_dist\x18\x1c \x01(\x02\x12\x1a\n\x12max_catchable_dist\x18\x1d \x01(\x02\x12\x16\n\x0ereal_speed_max\x18\x1e \x01(\x02\x12\x19\n\x11player_speed_max2\x18\x1f \x01(\x02\x12\x17\n\x0freal_speed_max2\x18 \x01(\x02\x12!\n\x19\x63ycles_to_reach_max_speed\x18! \x01(\x05\x12\x18\n\x10player_speed_max\x18\" \x01(\x02\"\xad\x03\n\x14RpcCooperativeAction\x12+\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32\x19.protos.RpcActionCategory\x12\r\n\x05index\x18\x02 \x01(\x05\x12\x13\n\x0bsender_unum\x18\x03 \x01(\x05\x12\x13\n\x0btarget_unum\x18\x04 \x01(\x05\x12)\n\x0ctarget_point\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x18\n\x10\x66irst_ball_speed\x18\x06 \x01(\x01\x12\x19\n\x11\x66irst_turn_moment\x18\x07 \x01(\x01\x12\x18\n\x10\x66irst_dash_power\x18\x08 \x01(\x01\x12!\n\x19\x66irst_dash_angle_relative\x18\t \x01(\x01\x12\x15\n\rduration_step\x18\n \x01(\x05\x12\x12\n\nkick_count\x18\x0b \x01(\x05\x12\x12\n\nturn_count\x18\x0c \x01(\x05\x12\x12\n\ndash_count\x18\r \x01(\x05\x12\x14\n\x0c\x66inal_action\x18\x0e \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0f \x01(\t\x12\x14\n\x0cparent_index\x18\x10 \x01(\x05\"\xcf\x01\n\x0fRpcPredictState\x12\x12\n\nspend_time\x18\x01 \x01(\x05\x12\x18\n\x10\x62\x61ll_holder_unum\x18\x02 \x01(\x05\x12*\n\rball_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12our_defense_line_x\x18\x05 \x01(\x01\x12\x1a\n\x12our_offense_line_x\x18\x06 \x01(\x01\"\x82\x01\n\x0eRpcActionState\x12,\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\x1c.protos.RpcCooperativeAction\x12.\n\rpredict_state\x18\x02 \x01(\x0b\x32\x17.protos.RpcPredictState\x12\x12\n\nevaluation\x18\x03 \x01(\x01\"\xef\x01\n\x18\x42\x65stPlannerActionRequest\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12:\n\x05pairs\x18\x02 \x03(\x0b\x32+.protos.BestPlannerActionRequest.PairsEntry\x12\x1c\n\x05state\x18\x03 \x01(\x0b\x32\r.protos.State\x1a\x44\n\nPairsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.protos.RpcActionState:\x02\x38\x01\"*\n\x19\x42\x65stPlannerActionResponse\x12\r\n\x05index\x18\x01 \x01(\x05\"\x07\n\x05\x45mpty*-\n\tViewWidth\x12\n\n\x06NARROW\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x08\n\x04WIDE\x10\x02*{\n\x15RpcServerLanguageType\x12\x14\n\x10UNKNOWN_LANGUAGE\x10\x00\x12\n\n\x06PYThON\x10\x01\x12\x08\n\x04JAVA\x10\x02\x12\x07\n\x03\x43PP\x10\x03\x12\n\n\x06\x43SHARP\x10\x04\x12\x08\n\x04RUBY\x10\x05\x12\x0f\n\x0bJAVE_SCRIPT\x10\x06\x12\x06\n\x02GO\x10\x07*(\n\x04Side\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04LEFT\x10\x01\x12\t\n\x05RIGHT\x10\x02*\xb2\x02\n\x0bLoggerLevel\x12\r\n\tNoneLevel\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\n\n\x06SENSOR\x10\x02\x12\t\n\x05WORLD\x10\x04\x12\n\n\x06\x41\x43TION\x10\x08\x12\r\n\tINTERCEPT\x10\x10\x12\x08\n\x04KICK\x10 \x12\x08\n\x04HOLD\x10@\x12\x0c\n\x07\x44RIBBLE\x10\x80\x01\x12\t\n\x04PASS\x10\x80\x02\x12\n\n\x05\x43ROSS\x10\x80\x04\x12\n\n\x05SHOOT\x10\x80\x08\x12\n\n\x05\x43LEAR\x10\x80\x10\x12\n\n\x05\x42LOCK\x10\x80 \x12\t\n\x04MARK\x10\x80@\x12\x11\n\x0bPOSITIONING\x10\x80\x80\x01\x12\n\n\x04ROLE\x10\x80\x80\x02\x12\n\n\x04TEAM\x10\x80\x80\x04\x12\x13\n\rCOMMUNICATION\x10\x80\x80\x08\x12\x0e\n\x08\x41NALYZER\x10\x80\x80\x10\x12\x12\n\x0c\x41\x43TION_CHAIN\x10\x80\x80 \x12\n\n\x04PLAN\x10\x80\x80@*,\n\x08\x43\x61rdType\x12\x0b\n\x07NO_CARD\x10\x00\x12\n\n\x06YELLOW\x10\x01\x12\x07\n\x03RED\x10\x02*v\n\x13InterceptActionType\x12!\n\x1dUNKNOWN_Intercept_Action_Type\x10\x00\x12\r\n\tOMNI_DASH\x10\x01\x12\x15\n\x11TURN_FORWARD_DASH\x10\x02\x12\x16\n\x12TURN_BACKWARD_DASH\x10\x03*\xbb\x04\n\x0cGameModeType\x12\x11\n\rBeforeKickOff\x10\x00\x12\x0c\n\x08TimeOver\x10\x01\x12\n\n\x06PlayOn\x10\x02\x12\x0c\n\x08KickOff_\x10\x03\x12\x0b\n\x07KickIn_\x10\x04\x12\r\n\tFreeKick_\x10\x05\x12\x0f\n\x0b\x43ornerKick_\x10\x06\x12\r\n\tGoalKick_\x10\x07\x12\x0e\n\nAfterGoal_\x10\x08\x12\x0c\n\x08OffSide_\x10\t\x12\x10\n\x0cPenaltyKick_\x10\n\x12\x11\n\rFirstHalfOver\x10\x0b\x12\t\n\x05Pause\x10\x0c\x12\t\n\x05Human\x10\r\x12\x0f\n\x0b\x46oulCharge_\x10\x0e\x12\r\n\tFoulPush_\x10\x0f\x12\x19\n\x15\x46oulMultipleAttacker_\x10\x10\x12\x10\n\x0c\x46oulBallOut_\x10\x11\x12\r\n\tBackPass_\x10\x12\x12\x12\n\x0e\x46reeKickFault_\x10\x13\x12\x0f\n\x0b\x43\x61tchFault_\x10\x14\x12\x10\n\x0cIndFreeKick_\x10\x15\x12\x11\n\rPenaltySetup_\x10\x16\x12\x11\n\rPenaltyReady_\x10\x17\x12\x11\n\rPenaltyTaken_\x10\x18\x12\x10\n\x0cPenaltyMiss_\x10\x19\x12\x11\n\rPenaltyScore_\x10\x1a\x12\x13\n\x0fIllegalDefense_\x10\x1b\x12\x13\n\x0fPenaltyOnfield_\x10\x1c\x12\x10\n\x0cPenaltyFoul_\x10\x1d\x12\x10\n\x0cGoalieCatch_\x10\x1e\x12\x0e\n\nExtendHalf\x10\x1f\x12\x0c\n\x08MODE_MAX\x10 *2\n\tAgentType\x12\x0b\n\x07PlayerT\x10\x00\x12\n\n\x06\x43oachT\x10\x01\x12\x0c\n\x08TrainerT\x10\x02*w\n\x11RpcActionCategory\x12\x0b\n\x07\x41\x43_Hold\x10\x00\x12\x0e\n\nAC_Dribble\x10\x01\x12\x0b\n\x07\x41\x43_Pass\x10\x02\x12\x0c\n\x08\x41\x43_Shoot\x10\x03\x12\x0c\n\x08\x41\x43_Clear\x10\x04\x12\x0b\n\x07\x41\x43_Move\x10\x05\x12\x0f\n\x0b\x41\x43_NoAction\x10\x06\x32\xfb\x04\n\x04Game\x12:\n\x10GetPlayerActions\x12\r.protos.State\x1a\x15.protos.PlayerActions\"\x00\x12\x38\n\x0fGetCoachActions\x12\r.protos.State\x1a\x14.protos.CoachActions\"\x00\x12<\n\x11GetTrainerActions\x12\r.protos.State\x1a\x16.protos.TrainerActions\"\x00\x12\x37\n\x0fSendInitMessage\x12\x13.protos.InitMessage\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendServerParams\x12\x13.protos.ServerParam\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendPlayerParams\x12\x13.protos.PlayerParam\x1a\r.protos.Empty\"\x00\x12\x35\n\x0eSendPlayerType\x12\x12.protos.PlayerType\x1a\r.protos.Empty\"\x00\x12?\n\x08Register\x12\x17.protos.RegisterRequest\x1a\x18.protos.RegisterResponse\"\x00\x12;\n\x0eSendByeCommand\x12\x18.protos.RegisterResponse\x1a\r.protos.Empty\"\x00\x12]\n\x14GetBestPlannerAction\x12 .protos.BestPlannerActionRequest\x1a!.protos.BestPlannerActionResponse\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x12\x06protos\"@\n\x0bRpcVector2D\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0c\n\x04\x64ist\x18\x03 \x01(\x02\x12\r\n\x05\x61ngle\x18\x04 \x01(\x02\"x\n\x0fRegisterRequest\x12%\n\nagent_type\x18\x01 \x01(\x0e\x32\x11.protos.AgentType\x12\x11\n\tteam_name\x18\x02 \x01(\t\x12\x16\n\x0euniform_number\x18\x03 \x01(\x05\x12\x13\n\x0brpc_version\x18\x04 \x01(\x05\"\xb8\x01\n\x10RegisterResponse\x12\x11\n\tclient_id\x18\x01 \x01(\x05\x12%\n\nagent_type\x18\x02 \x01(\x0e\x32\x11.protos.AgentType\x12\x11\n\tteam_name\x18\x03 \x01(\t\x12\x16\n\x0euniform_number\x18\x04 \x01(\x05\x12?\n\x18rpc_server_language_type\x18\x05 \x01(\x0e\x32\x1d.protos.RpcServerLanguageType\"\x98\x04\n\x04\x42\x61ll\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12.\n\x11relative_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_velocity\x18\x06 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_velocity\x18\x07 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tpos_count\x18\x08 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\t \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\n \x01(\x05\x12\x11\n\tvel_count\x18\x0b \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\x0c \x01(\x05\x12\x17\n\x0fheard_vel_count\x18\r \x01(\x05\x12\x12\n\nlost_count\x18\x0e \x01(\x05\x12\x13\n\x0bghost_count\x18\x0f \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x10 \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\x11 \x01(\x02\"\xb0\x06\n\x06Player\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\x16\n\x0e\x64ist_from_self\x18\x0c \x01(\x02\x12\x17\n\x0f\x61ngle_from_self\x18\r \x01(\x02\x12\n\n\x02id\x18\x0e \x01(\x05\x12\x1a\n\x04side\x18\x0f \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x10 \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x11 \x01(\x05\x12\x11\n\tis_goalie\x18\x12 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x14 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x15 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x16 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x17 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x18 \x01(\x05\x12\x12\n\nis_kicking\x18\x19 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x1a \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x1b \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1c \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1d \x01(\x08\x12\x0f\n\x07type_id\x18\x1e \x01(\x05\"\xaf\x08\n\x04Self\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12+\n\x0eheard_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rseen_velocity\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tpos_count\x18\x06 \x01(\x05\x12\x16\n\x0eseen_pos_count\x18\x07 \x01(\x05\x12\x17\n\x0fheard_pos_count\x18\x08 \x01(\x05\x12\x11\n\tvel_count\x18\t \x01(\x05\x12\x16\n\x0eseen_vel_count\x18\n \x01(\x05\x12\x13\n\x0bghost_count\x18\x0b \x01(\x05\x12\n\n\x02id\x18\x0c \x01(\x05\x12\x1a\n\x04side\x18\r \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x0e \x01(\x05\x12\x1c\n\x14uniform_number_count\x18\x0f \x01(\x05\x12\x11\n\tis_goalie\x18\x10 \x01(\x08\x12\x16\n\x0e\x62ody_direction\x18\x11 \x01(\x02\x12\x1c\n\x14\x62ody_direction_count\x18\x12 \x01(\x05\x12\x16\n\x0e\x66\x61\x63\x65_direction\x18\x13 \x01(\x02\x12\x1c\n\x14\x66\x61\x63\x65_direction_count\x18\x14 \x01(\x05\x12\x1a\n\x12point_to_direction\x18\x15 \x01(\x02\x12 \n\x18point_to_direction_count\x18\x16 \x01(\x05\x12\x12\n\nis_kicking\x18\x17 \x01(\x08\x12\x16\n\x0e\x64ist_from_ball\x18\x18 \x01(\x02\x12\x17\n\x0f\x61ngle_from_ball\x18\x19 \x01(\x02\x12\x18\n\x10\x62\x61ll_reach_steps\x18\x1a \x01(\x05\x12\x13\n\x0bis_tackling\x18\x1b \x01(\x08\x12\x1f\n\x17relative_neck_direction\x18\x1c \x01(\x02\x12\x0f\n\x07stamina\x18\x1d \x01(\x02\x12\x13\n\x0bis_kickable\x18\x1e \x01(\x08\x12\x19\n\x11\x63\x61tch_probability\x18\x1f \x01(\x02\x12\x1a\n\x12tackle_probability\x18 \x01(\x02\x12\x18\n\x10\x66oul_probability\x18! \x01(\x02\x12%\n\nview_width\x18\" \x01(\x0e\x32\x11.protos.ViewWidth\x12\x0f\n\x07type_id\x18# \x01(\x05\x12\x11\n\tkick_rate\x18$ \x01(\x02\x12\x10\n\x08recovery\x18% \x01(\x02\x12\x18\n\x10stamina_capacity\x18& \x01(\x02\x12\x1e\n\x04\x63\x61rd\x18\' \x01(\x0e\x32\x10.protos.CardType\x12\x12\n\ncatch_time\x18( \x01(\x05\"\x94\x02\n\rInterceptInfo\x12\x30\n\x0b\x61\x63tion_type\x18\x01 \x01(\x0e\x32\x1b.protos.InterceptActionType\x12\x12\n\nturn_steps\x18\x02 \x01(\x05\x12\x12\n\nturn_angle\x18\x03 \x01(\x02\x12\x12\n\ndash_steps\x18\x04 \x01(\x05\x12\x12\n\ndash_power\x18\x05 \x01(\x02\x12\x10\n\x08\x64\x61sh_dir\x18\x06 \x01(\x02\x12\x30\n\x13\x66inal_self_position\x18\x07 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x17\n\x0f\x66inal_ball_dist\x18\x08 \x01(\x02\x12\x15\n\rfinal_stamina\x18\t \x01(\x02\x12\r\n\x05value\x18\n \x01(\x02\"\xde\x02\n\x0eInterceptTable\x12\x18\n\x10self_reach_steps\x18\x01 \x01(\x05\x12\"\n\x1a\x66irst_teammate_reach_steps\x18\x02 \x01(\x05\x12#\n\x1bsecond_teammate_reach_steps\x18\x03 \x01(\x05\x12\"\n\x1a\x66irst_opponent_reach_steps\x18\x04 \x01(\x05\x12#\n\x1bsecond_opponent_reach_steps\x18\x05 \x01(\x05\x12\x19\n\x11\x66irst_teammate_id\x18\x06 \x01(\x05\x12\x1a\n\x12second_teammate_id\x18\x07 \x01(\x05\x12\x19\n\x11\x66irst_opponent_id\x18\x08 \x01(\x05\x12\x1a\n\x12second_opponent_id\x18\t \x01(\x05\x12\x32\n\x13self_intercept_info\x18\n \x03(\x0b\x32\x15.protos.InterceptInfo\"\x93\x0b\n\nWorldModel\x12/\n\x0fintercept_table\x18\x01 \x01(\x0b\x32\x16.protos.InterceptTable\x12\x15\n\rour_team_name\x18\x02 \x01(\t\x12\x17\n\x0ftheir_team_name\x18\x03 \x01(\t\x12\x1e\n\x08our_side\x18\x04 \x01(\x0e\x32\x0c.protos.Side\x12 \n\x18last_set_play_start_time\x18\x05 \x01(\x05\x12\x1a\n\x04self\x18\x06 \x01(\x0b\x32\x0c.protos.Self\x12\x1a\n\x04\x62\x61ll\x18\x07 \x01(\x0b\x32\x0c.protos.Ball\x12!\n\tteammates\x18\x08 \x03(\x0b\x32\x0e.protos.Player\x12!\n\topponents\x18\t \x03(\x0b\x32\x0e.protos.Player\x12 \n\x08unknowns\x18\n \x03(\x0b\x32\x0e.protos.Player\x12@\n\x10our_players_dict\x18\x0b \x03(\x0b\x32&.protos.WorldModel.OurPlayersDictEntry\x12\x44\n\x12their_players_dict\x18\x0c \x03(\x0b\x32(.protos.WorldModel.TheirPlayersDictEntry\x12!\n\x19our_goalie_uniform_number\x18\r \x01(\x05\x12#\n\x1btheir_goalie_uniform_number\x18\x0e \x01(\x05\x12\x16\n\x0eoffside_line_x\x18\x0f \x01(\x02\x12\x1b\n\x13ofside_line_x_count\x18\x10 \x01(\x05\x12\x1c\n\x14kickable_teammate_id\x18\x11 \x01(\x05\x12\x1c\n\x14kickable_opponent_id\x18\x12 \x01(\x05\x12$\n\x0elast_kick_side\x18\x13 \x01(\x0e\x32\x0c.protos.Side\x12\"\n\x1alast_kicker_uniform_number\x18\x14 \x01(\x05\x12\r\n\x05\x63ycle\x18\x15 \x01(\x05\x12,\n\x0egame_mode_type\x18\x16 \x01(\x0e\x32\x14.protos.GameModeType\x12\x17\n\x0fleft_team_score\x18\x17 \x01(\x05\x12\x18\n\x10right_team_score\x18\x18 \x01(\x05\x12\x17\n\x0fis_our_set_play\x18\x19 \x01(\x08\x12\x19\n\x11is_their_set_play\x18\x1a \x01(\x08\x12\x14\n\x0cstoped_cycle\x18\x1b \x01(\x05\x12\x16\n\x0eour_team_score\x18\x1c \x01(\x05\x12\x18\n\x10their_team_score\x18\x1d \x01(\x05\x12\x1c\n\x14is_penalty_kick_mode\x18\x1e \x01(\x08\x12J\n\x15helios_home_positions\x18\x1f \x03(\x0b\x32+.protos.WorldModel.HeliosHomePositionsEntry\x12\x1a\n\x12our_defense_line_x\x18 \x01(\x01\x12\x1c\n\x14their_defense_line_x\x18! \x01(\x01\x12!\n\x19our_defense_player_line_x\x18\" \x01(\x01\x12#\n\x1btheir_defense_player_line_x\x18# \x01(\x01\x1a\x45\n\x13OurPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aG\n\x15TheirPlayersDictEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.protos.Player:\x02\x38\x01\x1aO\n\x18HeliosHomePositionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D:\x02\x38\x01\"\xac\x01\n\x05State\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\'\n\x0bworld_model\x18\x02 \x01(\x0b\x32\x12.protos.WorldModel\x12,\n\x10\x66ull_world_model\x18\x03 \x01(\x0b\x32\x12.protos.WorldModel\x12\x17\n\x0fneed_preprocess\x18\x04 \x01(\x08\"V\n\x0bInitMessage\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\x12\n\ndebug_mode\x18\x02 \x01(\x08\"1\n\x04\x44\x61sh\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\"\"\n\x04Turn\x12\x1a\n\x12relative_direction\x18\x01 \x01(\x02\"1\n\x04Kick\x12\r\n\x05power\x18\x01 \x01(\x02\x12\x1a\n\x12relative_direction\x18\x02 \x01(\x02\",\n\x06Tackle\x12\x14\n\x0cpower_or_dir\x18\x01 \x01(\x02\x12\x0c\n\x04\x66oul\x18\x02 \x01(\x08\"\x07\n\x05\x43\x61tch\"\x1c\n\x04Move\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x1a\n\x08TurnNeck\x12\x0e\n\x06moment\x18\x01 \x01(\x02\"3\n\nChangeView\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"e\n\x0b\x42\x61llMessage\x12*\n\rball_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"\xb3\x01\n\x0bPassMessage\x12\x1f\n\x17receiver_uniform_number\x18\x01 \x01(\x05\x12+\n\x0ereceiver_point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\"F\n\x10InterceptMessage\x12\x0b\n\x03our\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\r\n\x05\x63ycle\x18\x03 \x01(\x05\"{\n\rGoalieMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12,\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\"\xd1\x01\n\x16GoalieAndPlayerMessage\x12\x1d\n\x15goalie_uniform_number\x18\x01 \x01(\x05\x12,\n\x0fgoalie_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15goalie_body_direction\x18\x03 \x01(\x02\x12\x1d\n\x15player_uniform_number\x18\x04 \x01(\x05\x12,\n\x0fplayer_position\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\",\n\x12OffsideLineMessage\x12\x16\n\x0eoffside_line_x\x18\x01 \x01(\x02\",\n\x12\x44\x65\x66\x65nseLineMessage\x12\x16\n\x0e\x64\x65\x66\x65nse_line_x\x18\x01 \x01(\x02\"\x14\n\x12WaitRequestMessage\"#\n\x0eSetplayMessage\x12\x11\n\twait_step\x18\x01 \x01(\x05\"?\n\x12PassRequestMessage\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"!\n\x0eStaminaMessage\x12\x0f\n\x07stamina\x18\x01 \x01(\x02\"#\n\x0fRecoveryMessage\x12\x10\n\x08recovery\x18\x01 \x01(\x02\"2\n\x16StaminaCapacityMessage\x12\x18\n\x10stamina_capacity\x18\x01 \x01(\x02\"P\n\x0e\x44ribbleMessage\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x13\n\x0bqueue_count\x18\x02 \x01(\x05\"\xb8\x01\n\x11\x42\x61llGoalieMessage\x12*\n\rball_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12,\n\x0fgoalie_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15goalie_body_direction\x18\x04 \x01(\x02\"Q\n\x10OnePlayerMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"\xaa\x01\n\x10TwoPlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12+\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12,\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\"\xf7\x01\n\x12ThreePlayerMessage\x12\x1c\n\x14\x66irst_uniform_number\x18\x01 \x01(\x05\x12+\n\x0e\x66irst_position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1d\n\x15second_uniform_number\x18\x03 \x01(\x05\x12,\n\x0fsecond_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1c\n\x14third_uniform_number\x18\x05 \x01(\x05\x12+\n\x0ethird_position\x18\x06 \x01(\x0b\x32\x13.protos.RpcVector2D\"l\n\x0bSelfMessage\x12*\n\rself_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1b\n\x13self_body_direction\x18\x02 \x01(\x02\x12\x14\n\x0cself_stamina\x18\x03 \x01(\x02\"h\n\x0fTeammateMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"h\n\x0fOpponentMessage\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x03 \x01(\x02\"\xc9\x01\n\x11\x42\x61llPlayerMessage\x12*\n\rball_position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0euniform_number\x18\x03 \x01(\x05\x12,\n\x0fplayer_position\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x05 \x01(\x02\"\xd0\t\n\x03Say\x12+\n\x0c\x62\x61ll_message\x18\x01 \x01(\x0b\x32\x13.protos.BallMessageH\x00\x12+\n\x0cpass_message\x18\x02 \x01(\x0b\x32\x13.protos.PassMessageH\x00\x12\x35\n\x11intercept_message\x18\x03 \x01(\x0b\x32\x18.protos.InterceptMessageH\x00\x12/\n\x0egoalie_message\x18\x04 \x01(\x0b\x32\x15.protos.GoalieMessageH\x00\x12\x43\n\x19goalie_and_player_message\x18\x05 \x01(\x0b\x32\x1e.protos.GoalieAndPlayerMessageH\x00\x12:\n\x14offside_line_message\x18\x06 \x01(\x0b\x32\x1a.protos.OffsideLineMessageH\x00\x12:\n\x14\x64\x65\x66\x65nse_line_message\x18\x07 \x01(\x0b\x32\x1a.protos.DefenseLineMessageH\x00\x12:\n\x14wait_request_message\x18\x08 \x01(\x0b\x32\x1a.protos.WaitRequestMessageH\x00\x12\x31\n\x0fsetplay_message\x18\t \x01(\x0b\x32\x16.protos.SetplayMessageH\x00\x12:\n\x14pass_request_message\x18\n \x01(\x0b\x32\x1a.protos.PassRequestMessageH\x00\x12\x31\n\x0fstamina_message\x18\x0b \x01(\x0b\x32\x16.protos.StaminaMessageH\x00\x12\x33\n\x10recovery_message\x18\x0c \x01(\x0b\x32\x17.protos.RecoveryMessageH\x00\x12\x42\n\x18stamina_capacity_message\x18\r \x01(\x0b\x32\x1e.protos.StaminaCapacityMessageH\x00\x12\x31\n\x0f\x64ribble_message\x18\x0e \x01(\x0b\x32\x16.protos.DribbleMessageH\x00\x12\x38\n\x13\x62\x61ll_goalie_message\x18\x0f \x01(\x0b\x32\x19.protos.BallGoalieMessageH\x00\x12\x36\n\x12one_player_message\x18\x10 \x01(\x0b\x32\x18.protos.OnePlayerMessageH\x00\x12\x36\n\x12two_player_message\x18\x11 \x01(\x0b\x32\x18.protos.TwoPlayerMessageH\x00\x12:\n\x14three_player_message\x18\x12 \x01(\x0b\x32\x1a.protos.ThreePlayerMessageH\x00\x12+\n\x0cself_message\x18\x13 \x01(\x0b\x32\x13.protos.SelfMessageH\x00\x12\x33\n\x10teammate_message\x18\x14 \x01(\x0b\x32\x17.protos.TeammateMessageH\x00\x12\x33\n\x10opponent_message\x18\x15 \x01(\x0b\x32\x17.protos.OpponentMessageH\x00\x12\x38\n\x13\x62\x61ll_player_message\x18\x16 \x01(\x0b\x32\x19.protos.BallPlayerMessageH\x00\x42\t\n\x07message\"\x1f\n\x07PointTo\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"\x0b\n\tPointToOf\"7\n\x0b\x41ttentionTo\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x0c\n\x04unum\x18\x02 \x01(\x05\"\x0f\n\rAttentionToOf\">\n\x07\x41\x64\x64Text\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0f\n\x07message\x18\x02 \x01(\t\"a\n\x08\x41\x64\x64Point\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\"\n\x05point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63olor\x18\x03 \x01(\t\"\x82\x01\n\x07\x41\x64\x64Line\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\"\n\x05start\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12 \n\x03\x65nd\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\x99\x01\n\x06\x41\x64\x64\x41rc\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x04 \x01(\x02\x12\x12\n\nspan_angel\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\"\x81\x01\n\tAddCircle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x0e\n\x06radius\x18\x03 \x01(\x02\x12\r\n\x05\x63olor\x18\x04 \x01(\t\x12\x0c\n\x04\x66ill\x18\x05 \x01(\x08\"\xbd\x01\n\x0b\x41\x64\x64Triangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06point1\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12#\n\x06point2\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12#\n\x06point3\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63olor\x18\x05 \x01(\t\x12\x0c\n\x04\x66ill\x18\x06 \x01(\x08\"\x89\x01\n\x0c\x41\x64\x64Rectangle\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12\x0c\n\x04left\x18\x02 \x01(\x02\x12\x0b\n\x03top\x18\x03 \x01(\x02\x12\x0e\n\x06length\x18\x04 \x01(\x02\x12\r\n\x05width\x18\x05 \x01(\x02\x12\r\n\x05\x63olor\x18\x06 \x01(\t\x12\x0c\n\x04\x66ill\x18\x07 \x01(\x08\"\xc2\x01\n\tAddSector\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12#\n\x06\x63\x65nter\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x12\n\nmin_radius\x18\x03 \x01(\x02\x12\x12\n\nmax_radius\x18\x04 \x01(\x02\x12\x13\n\x0bstart_angle\x18\x05 \x01(\x02\x12\x12\n\nspan_angel\x18\x06 \x01(\x02\x12\r\n\x05\x63olor\x18\x07 \x01(\t\x12\x0c\n\x04\x66ill\x18\x08 \x01(\x08\"w\n\nAddMessage\x12\"\n\x05level\x18\x01 \x01(\x0e\x32\x13.protos.LoggerLevel\x12%\n\x08position\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\r\n\x05\x63olor\x18\x04 \x01(\t\"\xf9\x02\n\x03Log\x12#\n\x08\x61\x64\x64_text\x18\x01 \x01(\x0b\x32\x0f.protos.AddTextH\x00\x12%\n\tadd_point\x18\x02 \x01(\x0b\x32\x10.protos.AddPointH\x00\x12#\n\x08\x61\x64\x64_line\x18\x03 \x01(\x0b\x32\x0f.protos.AddLineH\x00\x12!\n\x07\x61\x64\x64_arc\x18\x04 \x01(\x0b\x32\x0e.protos.AddArcH\x00\x12\'\n\nadd_circle\x18\x05 \x01(\x0b\x32\x11.protos.AddCircleH\x00\x12+\n\x0c\x61\x64\x64_triangle\x18\x06 \x01(\x0b\x32\x13.protos.AddTriangleH\x00\x12-\n\radd_rectangle\x18\x07 \x01(\x0b\x32\x14.protos.AddRectangleH\x00\x12\'\n\nadd_sector\x18\x08 \x01(\x0b\x32\x11.protos.AddSectorH\x00\x12)\n\x0b\x61\x64\x64_message\x18\t \x01(\x0b\x32\x12.protos.AddMessageH\x00\x42\x05\n\x03log\"\x1e\n\x0b\x44\x65\x62ugClient\x12\x0f\n\x07message\x18\x01 \x01(\t\"o\n\x0e\x42ody_GoToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\x82\x01\n\x0e\x42ody_SmartKick\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x1d\n\x15\x66irst_speed_threshold\x18\x03 \x01(\x02\x12\x11\n\tmax_steps\x18\x04 \x01(\x05\"7\n\x11\x42hv_BeforeKickOff\x12\"\n\x05point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"\x14\n\x12\x42hv_BodyNeckToBall\"9\n\x13\x42hv_BodyNeckToPoint\x12\"\n\x05point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"\x0f\n\rBhv_Emergency\"v\n\x15\x42hv_GoToPointLookBall\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x16\n\x0emax_dash_power\x18\x03 \x01(\x02\"\'\n\x12\x42hv_NeckBodyToBall\x12\x11\n\tangle_buf\x18\x01 \x01(\x02\"L\n\x13\x42hv_NeckBodyToPoint\x12\"\n\x05point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x11\n\tangle_buf\x18\x02 \x01(\x02\"\x0f\n\rBhv_ScanField\"\x12\n\x10\x42ody_AdvanceBall\"\x10\n\x0e\x42ody_ClearBall\"\x8c\x01\n\x0c\x42ody_Dribble\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12\x64istance_threshold\x18\x02 \x01(\x02\x12\x12\n\ndash_power\x18\x03 \x01(\x02\x12\x12\n\ndash_count\x18\x04 \x01(\x05\x12\r\n\x05\x64odge\x18\x05 \x01(\x08\"T\n\x13\x42ody_GoToPointDodge\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x12\n\ndash_power\x18\x02 \x01(\x02\"\x80\x01\n\rBody_HoldBall\x12\x0f\n\x07\x64o_turn\x18\x01 \x01(\x08\x12.\n\x11turn_target_point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\x12.\n\x11kick_target_point\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\"P\n\x0e\x42ody_Intercept\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\x12\'\n\nface_point\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"f\n\x10\x42ody_KickOneStep\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x13\n\x0b\x66irst_speed\x18\x02 \x01(\x02\x12\x12\n\nforce_mode\x18\x03 \x01(\x08\"\x0f\n\rBody_StopBall\"&\n\rBody_StopDash\x12\x15\n\rsave_recovery\x18\x01 \x01(\x08\"k\n\x12\x42ody_TackleToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x17\n\x0fmin_probability\x18\x02 \x01(\x02\x12\x11\n\tmin_speed\x18\x03 \x01(\x02\"!\n\x10\x42ody_TurnToAngle\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\" \n\x0f\x42ody_TurnToBall\x12\r\n\x05\x63ycle\x18\x01 \x01(\x05\"L\n\x10\x42ody_TurnToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\r\n\x05\x63ycle\x18\x02 \x01(\x05\">\n\x11\x46ocus_MoveToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"\r\n\x0b\x46ocus_Reset\"\x10\n\x0eNeck_ScanField\"\x12\n\x10Neck_ScanPlayers\"g\n\x18Neck_TurnToBallAndPlayer\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\"0\n\x15Neck_TurnToBallOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x11\n\x0fNeck_TurnToBall\"2\n\x17Neck_TurnToGoalieOrScan\x12\x17\n\x0f\x63ount_threshold\x18\x01 \x01(\x05\"\x1c\n\x1aNeck_TurnToLowConfTeammate\"f\n\x17Neck_TurnToPlayerOrScan\x12\x1a\n\x04side\x18\x01 \x01(\x0e\x32\x0c.protos.Side\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x17\n\x0f\x63ount_threshold\x18\x03 \x01(\x05\"=\n\x10Neck_TurnToPoint\x12)\n\x0ctarget_point\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\"$\n\x13Neck_TurnToRelative\x12\r\n\x05\x61ngle\x18\x01 \x01(\x02\"9\n\x10View_ChangeWidth\x12%\n\nview_width\x18\x01 \x01(\x0e\x32\x11.protos.ViewWidth\"\r\n\x0bView_Normal\"\x0c\n\nView_Synch\"\x0b\n\tView_Wide\"\x0e\n\x0cHeliosGoalie\"\x12\n\x10HeliosGoalieMove\"\x12\n\x10HeliosGoalieKick\"\r\n\x0bHeliosShoot\"\xf3\x01\n\x16HeliosOffensivePlanner\x12\x13\n\x0b\x64irect_pass\x18\x01 \x01(\x08\x12\x11\n\tlead_pass\x18\x02 \x01(\x08\x12\x14\n\x0cthrough_pass\x18\x03 \x01(\x08\x12\x15\n\rshort_dribble\x18\x04 \x01(\x08\x12\x14\n\x0clong_dribble\x18\x05 \x01(\x08\x12\r\n\x05\x63ross\x18\x06 \x01(\x08\x12\x13\n\x0bsimple_pass\x18\x07 \x01(\x08\x12\x16\n\x0esimple_dribble\x18\x08 \x01(\x08\x12\x14\n\x0csimple_shoot\x18\t \x01(\x08\x12\x1c\n\x14server_side_decision\x18\n \x01(\x08\"\x16\n\x14HeliosBasicOffensive\"\x11\n\x0fHeliosBasicMove\"\x0f\n\rHeliosSetPlay\"\x0f\n\rHeliosPenalty\"\x14\n\x12HeliosCommunicaion\"\xed\x19\n\x0cPlayerAction\x12\x1c\n\x04\x64\x61sh\x18\x01 \x01(\x0b\x32\x0c.protos.DashH\x00\x12\x1c\n\x04turn\x18\x02 \x01(\x0b\x32\x0c.protos.TurnH\x00\x12\x1c\n\x04kick\x18\x03 \x01(\x0b\x32\x0c.protos.KickH\x00\x12 \n\x06tackle\x18\x04 \x01(\x0b\x32\x0e.protos.TackleH\x00\x12\x1e\n\x05\x63\x61tch\x18\x05 \x01(\x0b\x32\r.protos.CatchH\x00\x12\x1c\n\x04move\x18\x06 \x01(\x0b\x32\x0c.protos.MoveH\x00\x12%\n\tturn_neck\x18\x07 \x01(\x0b\x32\x10.protos.TurnNeckH\x00\x12)\n\x0b\x63hange_view\x18\x08 \x01(\x0b\x32\x12.protos.ChangeViewH\x00\x12\x1a\n\x03say\x18\t \x01(\x0b\x32\x0b.protos.SayH\x00\x12#\n\x08point_to\x18\n \x01(\x0b\x32\x0f.protos.PointToH\x00\x12(\n\x0bpoint_to_of\x18\x0b \x01(\x0b\x32\x11.protos.PointToOfH\x00\x12+\n\x0c\x61ttention_to\x18\x0c \x01(\x0b\x32\x13.protos.AttentionToH\x00\x12\x30\n\x0f\x61ttention_to_of\x18\r \x01(\x0b\x32\x15.protos.AttentionToOfH\x00\x12\x1a\n\x03log\x18\x0e \x01(\x0b\x32\x0b.protos.LogH\x00\x12+\n\x0c\x64\x65\x62ug_client\x18\x0f \x01(\x0b\x32\x13.protos.DebugClientH\x00\x12\x32\n\x10\x62ody_go_to_point\x18\x10 \x01(\x0b\x32\x16.protos.Body_GoToPointH\x00\x12\x31\n\x0f\x62ody_smart_kick\x18\x11 \x01(\x0b\x32\x16.protos.Body_SmartKickH\x00\x12\x38\n\x13\x62hv_before_kick_off\x18\x12 \x01(\x0b\x32\x19.protos.Bhv_BeforeKickOffH\x00\x12;\n\x15\x62hv_body_neck_to_ball\x18\x13 \x01(\x0b\x32\x1a.protos.Bhv_BodyNeckToBallH\x00\x12=\n\x16\x62hv_body_neck_to_point\x18\x14 \x01(\x0b\x32\x1b.protos.Bhv_BodyNeckToPointH\x00\x12.\n\rbhv_emergency\x18\x15 \x01(\x0b\x32\x15.protos.Bhv_EmergencyH\x00\x12\x42\n\x19\x62hv_go_to_point_look_ball\x18\x16 \x01(\x0b\x32\x1d.protos.Bhv_GoToPointLookBallH\x00\x12;\n\x15\x62hv_neck_body_to_ball\x18\x17 \x01(\x0b\x32\x1a.protos.Bhv_NeckBodyToBallH\x00\x12=\n\x16\x62hv_neck_body_to_point\x18\x18 \x01(\x0b\x32\x1b.protos.Bhv_NeckBodyToPointH\x00\x12/\n\x0e\x62hv_scan_field\x18\x19 \x01(\x0b\x32\x15.protos.Bhv_ScanFieldH\x00\x12\x35\n\x11\x62ody_advance_ball\x18\x1a \x01(\x0b\x32\x18.protos.Body_AdvanceBallH\x00\x12\x31\n\x0f\x62ody_clear_ball\x18\x1b \x01(\x0b\x32\x16.protos.Body_ClearBallH\x00\x12,\n\x0c\x62ody_dribble\x18\x1c \x01(\x0b\x32\x14.protos.Body_DribbleH\x00\x12=\n\x16\x62ody_go_to_point_dodge\x18\x1d \x01(\x0b\x32\x1b.protos.Body_GoToPointDodgeH\x00\x12/\n\x0e\x62ody_hold_ball\x18\x1e \x01(\x0b\x32\x15.protos.Body_HoldBallH\x00\x12\x30\n\x0e\x62ody_intercept\x18\x1f \x01(\x0b\x32\x16.protos.Body_InterceptH\x00\x12\x36\n\x12\x62ody_kick_one_step\x18 \x01(\x0b\x32\x18.protos.Body_KickOneStepH\x00\x12/\n\x0e\x62ody_stop_ball\x18! \x01(\x0b\x32\x15.protos.Body_StopBallH\x00\x12/\n\x0e\x62ody_stop_dash\x18\" \x01(\x0b\x32\x15.protos.Body_StopDashH\x00\x12:\n\x14\x62ody_tackle_to_point\x18# \x01(\x0b\x32\x1a.protos.Body_TackleToPointH\x00\x12\x36\n\x12\x62ody_turn_to_angle\x18$ \x01(\x0b\x32\x18.protos.Body_TurnToAngleH\x00\x12\x34\n\x11\x62ody_turn_to_ball\x18% \x01(\x0b\x32\x17.protos.Body_TurnToBallH\x00\x12\x36\n\x12\x62ody_turn_to_point\x18& \x01(\x0b\x32\x18.protos.Body_TurnToPointH\x00\x12\x38\n\x13\x66ocus_move_to_point\x18\' \x01(\x0b\x32\x19.protos.Focus_MoveToPointH\x00\x12*\n\x0b\x66ocus_reset\x18( \x01(\x0b\x32\x13.protos.Focus_ResetH\x00\x12\x31\n\x0fneck_scan_field\x18) \x01(\x0b\x32\x16.protos.Neck_ScanFieldH\x00\x12\x35\n\x11neck_scan_players\x18* \x01(\x0b\x32\x18.protos.Neck_ScanPlayersH\x00\x12H\n\x1cneck_turn_to_ball_and_player\x18+ \x01(\x0b\x32 .protos.Neck_TurnToBallAndPlayerH\x00\x12\x42\n\x19neck_turn_to_ball_or_scan\x18, \x01(\x0b\x32\x1d.protos.Neck_TurnToBallOrScanH\x00\x12\x34\n\x11neck_turn_to_ball\x18- \x01(\x0b\x32\x17.protos.Neck_TurnToBallH\x00\x12\x46\n\x1bneck_turn_to_goalie_or_scan\x18. \x01(\x0b\x32\x1f.protos.Neck_TurnToGoalieOrScanH\x00\x12L\n\x1eneck_turn_to_low_conf_teammate\x18/ \x01(\x0b\x32\".protos.Neck_TurnToLowConfTeammateH\x00\x12\x46\n\x1bneck_turn_to_player_or_scan\x18\x30 \x01(\x0b\x32\x1f.protos.Neck_TurnToPlayerOrScanH\x00\x12\x36\n\x12neck_turn_to_point\x18\x31 \x01(\x0b\x32\x18.protos.Neck_TurnToPointH\x00\x12<\n\x15neck_turn_to_relative\x18\x32 \x01(\x0b\x32\x1b.protos.Neck_TurnToRelativeH\x00\x12\x35\n\x11view_change_width\x18\x33 \x01(\x0b\x32\x18.protos.View_ChangeWidthH\x00\x12*\n\x0bview_normal\x18\x34 \x01(\x0b\x32\x13.protos.View_NormalH\x00\x12(\n\nview_synch\x18\x35 \x01(\x0b\x32\x12.protos.View_SynchH\x00\x12&\n\tview_wide\x18\x36 \x01(\x0b\x32\x11.protos.View_WideH\x00\x12-\n\rhelios_goalie\x18\x37 \x01(\x0b\x32\x14.protos.HeliosGoalieH\x00\x12\x36\n\x12helios_goalie_move\x18\x38 \x01(\x0b\x32\x18.protos.HeliosGoalieMoveH\x00\x12\x36\n\x12helios_goalie_kick\x18\x39 \x01(\x0b\x32\x18.protos.HeliosGoalieKickH\x00\x12+\n\x0chelios_shoot\x18: \x01(\x0b\x32\x13.protos.HeliosShootH\x00\x12\x42\n\x18helios_offensive_planner\x18; \x01(\x0b\x32\x1e.protos.HeliosOffensivePlannerH\x00\x12>\n\x16helios_basic_offensive\x18< \x01(\x0b\x32\x1c.protos.HeliosBasicOffensiveH\x00\x12\x34\n\x11helios_basic_move\x18= \x01(\x0b\x32\x17.protos.HeliosBasicMoveH\x00\x12\x30\n\x0fhelios_set_play\x18> \x01(\x0b\x32\x15.protos.HeliosSetPlayH\x00\x12/\n\x0ehelios_penalty\x18? \x01(\x0b\x32\x15.protos.HeliosPenaltyH\x00\x12:\n\x14helios_communication\x18@ \x01(\x0b\x32\x1a.protos.HeliosCommunicaionH\x00\x42\x08\n\x06\x61\x63tion\"Q\n\rPlayerActions\x12%\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x14.protos.PlayerAction\x12\x19\n\x11ignore_preprocess\x18\x02 \x01(\x08\"8\n\x10\x43hangePlayerType\x12\x16\n\x0euniform_number\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\"\x14\n\x12\x44oHeliosSubstitute\"\x18\n\x16\x44oHeliosSayPlayerTypes\"\xd2\x01\n\x0b\x43oachAction\x12\x37\n\x13\x63hange_player_types\x18\x01 \x01(\x0b\x32\x18.protos.ChangePlayerTypeH\x00\x12:\n\x14\x64o_helios_substitute\x18\x02 \x01(\x0b\x32\x1a.protos.DoHeliosSubstituteH\x00\x12\x44\n\x1a\x64o_helios_say_player_types\x18\x03 \x01(\x0b\x32\x1e.protos.DoHeliosSayPlayerTypesH\x00\x42\x08\n\x06\x61\x63tion\"4\n\x0c\x43oachActions\x12$\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x13.protos.CoachAction\"\x0b\n\tDoKickOff\"Z\n\nDoMoveBall\x12%\n\x08position\x18\x01 \x01(\x0b\x32\x13.protos.RpcVector2D\x12%\n\x08velocity\x18\x02 \x01(\x0b\x32\x13.protos.RpcVector2D\"w\n\x0c\x44oMovePlayer\x12\x10\n\x08our_side\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12%\n\x08position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x16\n\x0e\x62ody_direction\x18\x04 \x01(\x02\"\x0b\n\tDoRecover\"X\n\x0c\x44oChangeMode\x12,\n\x0egame_mode_type\x18\x01 \x01(\x0e\x32\x14.protos.GameModeType\x12\x1a\n\x04side\x18\x02 \x01(\x0e\x32\x0c.protos.Side\"L\n\x12\x44oChangePlayerType\x12\x10\n\x08our_side\x18\x01 \x01(\x08\x12\x16\n\x0euniform_number\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\"\xb5\x02\n\rTrainerAction\x12(\n\x0b\x64o_kick_off\x18\x01 \x01(\x0b\x32\x11.protos.DoKickOffH\x00\x12*\n\x0c\x64o_move_ball\x18\x02 \x01(\x0b\x32\x12.protos.DoMoveBallH\x00\x12.\n\x0e\x64o_move_player\x18\x03 \x01(\x0b\x32\x14.protos.DoMovePlayerH\x00\x12\'\n\ndo_recover\x18\x04 \x01(\x0b\x32\x11.protos.DoRecoverH\x00\x12.\n\x0e\x64o_change_mode\x18\x05 \x01(\x0b\x32\x14.protos.DoChangeModeH\x00\x12;\n\x15\x64o_change_player_type\x18\x06 \x01(\x0b\x32\x1a.protos.DoChangePlayerTypeH\x00\x42\x08\n\x06\x61\x63tion\"8\n\x0eTrainerActions\x12&\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32\x15.protos.TrainerAction\"\xdd,\n\x0bServerParam\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\x16\n\x0einertia_moment\x18\x02 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x13\n\x0bplayer_rand\x18\x05 \x01(\x02\x12\x15\n\rplayer_weight\x18\x06 \x01(\x02\x12\x18\n\x10player_speed_max\x18\x07 \x01(\x02\x12\x18\n\x10player_accel_max\x18\x08 \x01(\x02\x12\x13\n\x0bstamina_max\x18\t \x01(\x02\x12\x17\n\x0fstamina_inc_max\x18\n \x01(\x02\x12\x14\n\x0crecover_init\x18\x0b \x01(\x02\x12\x17\n\x0frecover_dec_thr\x18\x0c \x01(\x02\x12\x13\n\x0brecover_min\x18\r \x01(\x02\x12\x13\n\x0brecover_dec\x18\x0e \x01(\x02\x12\x13\n\x0b\x65\x66\x66ort_init\x18\x0f \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_dec_thr\x18\x10 \x01(\x02\x12\x12\n\neffort_min\x18\x11 \x01(\x02\x12\x12\n\neffort_dec\x18\x12 \x01(\x02\x12\x16\n\x0e\x65\x66\x66ort_inc_thr\x18\x13 \x01(\x02\x12\x12\n\neffort_inc\x18\x14 \x01(\x02\x12\x11\n\tkick_rand\x18\x15 \x01(\x02\x12\x1b\n\x13team_actuator_noise\x18\x16 \x01(\x08\x12\x1c\n\x14player_rand_factor_l\x18\x17 \x01(\x02\x12\x1c\n\x14player_rand_factor_r\x18\x18 \x01(\x02\x12\x1a\n\x12kick_rand_factor_l\x18\x19 \x01(\x02\x12\x1a\n\x12kick_rand_factor_r\x18\x1a \x01(\x02\x12\x11\n\tball_size\x18\x1b \x01(\x02\x12\x12\n\nball_decay\x18\x1c \x01(\x02\x12\x11\n\tball_rand\x18\x1d \x01(\x02\x12\x13\n\x0b\x62\x61ll_weight\x18\x1e \x01(\x02\x12\x16\n\x0e\x62\x61ll_speed_max\x18\x1f \x01(\x02\x12\x16\n\x0e\x62\x61ll_accel_max\x18 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18! \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\" \x01(\x02\x12\x17\n\x0fkickable_margin\x18# \x01(\x02\x12\x16\n\x0e\x63ontrol_radius\x18$ \x01(\x02\x12\x1c\n\x14\x63ontrol_radius_width\x18% \x01(\x02\x12\x11\n\tmax_power\x18& \x01(\x02\x12\x11\n\tmin_power\x18\' \x01(\x02\x12\x12\n\nmax_moment\x18( \x01(\x02\x12\x12\n\nmin_moment\x18) \x01(\x02\x12\x17\n\x0fmax_neck_moment\x18* \x01(\x02\x12\x17\n\x0fmin_neck_moment\x18+ \x01(\x02\x12\x16\n\x0emax_neck_angle\x18, \x01(\x02\x12\x16\n\x0emin_neck_angle\x18- \x01(\x02\x12\x15\n\rvisible_angle\x18. \x01(\x02\x12\x18\n\x10visible_distance\x18/ \x01(\x02\x12\x10\n\x08wind_dir\x18\x30 \x01(\x02\x12\x12\n\nwind_force\x18\x31 \x01(\x02\x12\x12\n\nwind_angle\x18\x32 \x01(\x02\x12\x11\n\twind_rand\x18\x33 \x01(\x02\x12\x15\n\rkickable_area\x18\x34 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_l\x18\x35 \x01(\x02\x12\x14\n\x0c\x63\x61tch_area_w\x18\x36 \x01(\x02\x12\x19\n\x11\x63\x61tch_probability\x18\x37 \x01(\x02\x12\x18\n\x10goalie_max_moves\x18\x38 \x01(\x05\x12\x1a\n\x12\x63orner_kick_margin\x18\x39 \x01(\x02\x12 \n\x18offside_active_area_size\x18: \x01(\x02\x12\x11\n\twind_none\x18; \x01(\x08\x12\x17\n\x0fuse_wind_random\x18< \x01(\x08\x12\x1b\n\x13\x63oach_say_count_max\x18= \x01(\x05\x12\x1a\n\x12\x63oach_say_msg_size\x18> \x01(\x05\x12\x16\n\x0e\x63lang_win_size\x18? \x01(\x05\x12\x18\n\x10\x63lang_define_win\x18@ \x01(\x05\x12\x16\n\x0e\x63lang_meta_win\x18\x41 \x01(\x05\x12\x18\n\x10\x63lang_advice_win\x18\x42 \x01(\x05\x12\x16\n\x0e\x63lang_info_win\x18\x43 \x01(\x05\x12\x18\n\x10\x63lang_mess_delay\x18\x44 \x01(\x05\x12\x1c\n\x14\x63lang_mess_per_cycle\x18\x45 \x01(\x05\x12\x11\n\thalf_time\x18\x46 \x01(\x05\x12\x16\n\x0esimulator_step\x18G \x01(\x05\x12\x11\n\tsend_step\x18H \x01(\x05\x12\x11\n\trecv_step\x18I \x01(\x05\x12\x17\n\x0fsense_body_step\x18J \x01(\x05\x12\x10\n\x08lcm_step\x18K \x01(\x05\x12\x1b\n\x13player_say_msg_size\x18L \x01(\x05\x12\x17\n\x0fplayer_hear_max\x18M \x01(\x05\x12\x17\n\x0fplayer_hear_inc\x18N \x01(\x05\x12\x19\n\x11player_hear_decay\x18O \x01(\x05\x12\x17\n\x0f\x63\x61tch_ban_cycle\x18P \x01(\x05\x12\x18\n\x10slow_down_factor\x18Q \x01(\x05\x12\x13\n\x0buse_offside\x18R \x01(\x08\x12\x17\n\x0fkickoff_offside\x18S \x01(\x08\x12\x1b\n\x13offside_kick_margin\x18T \x01(\x02\x12\x16\n\x0e\x61udio_cut_dist\x18U \x01(\x02\x12\x1a\n\x12\x64ist_quantize_step\x18V \x01(\x02\x12#\n\x1blandmark_dist_quantize_step\x18W \x01(\x02\x12\x19\n\x11\x64ir_quantize_step\x18X \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_l\x18Y \x01(\x02\x12\x1c\n\x14\x64ist_quantize_step_r\x18Z \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_l\x18[ \x01(\x02\x12%\n\x1dlandmark_dist_quantize_step_r\x18\\ \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_l\x18] \x01(\x02\x12\x1b\n\x13\x64ir_quantize_step_r\x18^ \x01(\x02\x12\x12\n\ncoach_mode\x18_ \x01(\x08\x12\x1f\n\x17\x63oach_with_referee_mode\x18` \x01(\x08\x12\x1a\n\x12use_old_coach_hear\x18\x61 \x01(\x08\x12%\n\x1dslowness_on_top_for_left_team\x18\x62 \x01(\x02\x12&\n\x1eslowness_on_top_for_right_team\x18\x63 \x01(\x02\x12\x14\n\x0cstart_goal_l\x18\x64 \x01(\x05\x12\x14\n\x0cstart_goal_r\x18\x65 \x01(\x05\x12\x13\n\x0b\x66ullstate_l\x18\x66 \x01(\x08\x12\x13\n\x0b\x66ullstate_r\x18g \x01(\x08\x12\x16\n\x0e\x64rop_ball_time\x18h \x01(\x05\x12\x12\n\nsynch_mode\x18i \x01(\x08\x12\x14\n\x0csynch_offset\x18j \x01(\x05\x12\x19\n\x11synch_micro_sleep\x18k \x01(\x05\x12\x14\n\x0cpoint_to_ban\x18l \x01(\x05\x12\x19\n\x11point_to_duration\x18m \x01(\x05\x12\x13\n\x0bplayer_port\x18n \x01(\x05\x12\x14\n\x0ctrainer_port\x18o \x01(\x05\x12\x19\n\x11online_coach_port\x18p \x01(\x05\x12\x14\n\x0cverbose_mode\x18q \x01(\x08\x12\x1a\n\x12\x63oach_send_vi_step\x18r \x01(\x05\x12\x13\n\x0breplay_file\x18s \x01(\t\x12\x15\n\rlandmark_file\x18t \x01(\t\x12\x12\n\nsend_comms\x18u \x01(\x08\x12\x14\n\x0ctext_logging\x18v \x01(\x08\x12\x14\n\x0cgame_logging\x18w \x01(\x08\x12\x18\n\x10game_log_version\x18x \x01(\x05\x12\x14\n\x0ctext_log_dir\x18y \x01(\t\x12\x14\n\x0cgame_log_dir\x18z \x01(\t\x12\x1b\n\x13text_log_fixed_name\x18{ \x01(\t\x12\x1b\n\x13game_log_fixed_name\x18| \x01(\t\x12\x1a\n\x12use_text_log_fixed\x18} \x01(\x08\x12\x1a\n\x12use_game_log_fixed\x18~ \x01(\x08\x12\x1a\n\x12use_text_log_dated\x18\x7f \x01(\x08\x12\x1b\n\x12use_game_log_dated\x18\x80\x01 \x01(\x08\x12\x18\n\x0flog_date_format\x18\x81\x01 \x01(\t\x12\x12\n\tlog_times\x18\x82\x01 \x01(\x08\x12\x17\n\x0erecord_message\x18\x83\x01 \x01(\x08\x12\x1d\n\x14text_log_compression\x18\x84\x01 \x01(\x05\x12\x1d\n\x14game_log_compression\x18\x85\x01 \x01(\x05\x12\x14\n\x0buse_profile\x18\x86\x01 \x01(\x08\x12\x14\n\x0btackle_dist\x18\x87\x01 \x01(\x02\x12\x19\n\x10tackle_back_dist\x18\x88\x01 \x01(\x02\x12\x15\n\x0ctackle_width\x18\x89\x01 \x01(\x02\x12\x18\n\x0ftackle_exponent\x18\x8a\x01 \x01(\x02\x12\x16\n\rtackle_cycles\x18\x8b\x01 \x01(\x05\x12\x1a\n\x11tackle_power_rate\x18\x8c\x01 \x01(\x02\x12\x1d\n\x14\x66reeform_wait_period\x18\x8d\x01 \x01(\x05\x12\x1d\n\x14\x66reeform_send_period\x18\x8e\x01 \x01(\x05\x12\x19\n\x10\x66ree_kick_faults\x18\x8f\x01 \x01(\x08\x12\x14\n\x0b\x62\x61\x63k_passes\x18\x90\x01 \x01(\x08\x12\x1a\n\x11proper_goal_kicks\x18\x91\x01 \x01(\x08\x12\x19\n\x10stopped_ball_vel\x18\x92\x01 \x01(\x02\x12\x17\n\x0emax_goal_kicks\x18\x93\x01 \x01(\x05\x12\x16\n\rclang_del_win\x18\x94\x01 \x01(\x05\x12\x17\n\x0e\x63lang_rule_win\x18\x95\x01 \x01(\x05\x12\x12\n\tauto_mode\x18\x96\x01 \x01(\x08\x12\x16\n\rkick_off_wait\x18\x97\x01 \x01(\x05\x12\x15\n\x0c\x63onnect_wait\x18\x98\x01 \x01(\x05\x12\x17\n\x0egame_over_wait\x18\x99\x01 \x01(\x05\x12\x15\n\x0cteam_l_start\x18\x9a\x01 \x01(\t\x12\x15\n\x0cteam_r_start\x18\x9b\x01 \x01(\t\x12\x16\n\rkeepaway_mode\x18\x9c\x01 \x01(\x08\x12\x18\n\x0fkeepaway_length\x18\x9d\x01 \x01(\x02\x12\x17\n\x0ekeepaway_width\x18\x9e\x01 \x01(\x02\x12\x19\n\x10keepaway_logging\x18\x9f\x01 \x01(\x08\x12\x19\n\x10keepaway_log_dir\x18\xa0\x01 \x01(\t\x12 \n\x17keepaway_log_fixed_name\x18\xa1\x01 \x01(\t\x12\x1b\n\x12keepaway_log_fixed\x18\xa2\x01 \x01(\x08\x12\x1b\n\x12keepaway_log_dated\x18\xa3\x01 \x01(\x08\x12\x17\n\x0ekeepaway_start\x18\xa4\x01 \x01(\x05\x12\x18\n\x0fnr_normal_halfs\x18\xa5\x01 \x01(\x05\x12\x17\n\x0enr_extra_halfs\x18\xa6\x01 \x01(\x05\x12\x1b\n\x12penalty_shoot_outs\x18\xa7\x01 \x01(\x08\x12\x1e\n\x15pen_before_setup_wait\x18\xa8\x01 \x01(\x05\x12\x17\n\x0epen_setup_wait\x18\xa9\x01 \x01(\x05\x12\x17\n\x0epen_ready_wait\x18\xaa\x01 \x01(\x05\x12\x17\n\x0epen_taken_wait\x18\xab\x01 \x01(\x05\x12\x15\n\x0cpen_nr_kicks\x18\xac\x01 \x01(\x05\x12\x1c\n\x13pen_max_extra_kicks\x18\xad\x01 \x01(\x05\x12\x13\n\npen_dist_x\x18\xae\x01 \x01(\x02\x12\x1a\n\x11pen_random_winner\x18\xaf\x01 \x01(\x08\x12\x1d\n\x14pen_allow_mult_kicks\x18\xb0\x01 \x01(\x08\x12\x1e\n\x15pen_max_goalie_dist_x\x18\xb1\x01 \x01(\x02\x12 \n\x17pen_coach_moves_players\x18\xb2\x01 \x01(\x08\x12\x13\n\nmodule_dir\x18\xb3\x01 \x01(\t\x12\x18\n\x0f\x62\x61ll_stuck_area\x18\xb4\x01 \x01(\x02\x12\x17\n\x0e\x63oach_msg_file\x18\xb5\x01 \x01(\t\x12\x19\n\x10max_tackle_power\x18\xb6\x01 \x01(\x02\x12\x1e\n\x15max_back_tackle_power\x18\xb7\x01 \x01(\x02\x12\x1d\n\x14player_speed_max_min\x18\xb8\x01 \x01(\x02\x12\x16\n\rextra_stamina\x18\xb9\x01 \x01(\x02\x12\x19\n\x10synch_see_offset\x18\xba\x01 \x01(\x05\x12\x18\n\x0f\x65xtra_half_time\x18\xbb\x01 \x01(\x05\x12\x19\n\x10stamina_capacity\x18\xbc\x01 \x01(\x02\x12\x17\n\x0emax_dash_angle\x18\xbd\x01 \x01(\x02\x12\x17\n\x0emin_dash_angle\x18\xbe\x01 \x01(\x02\x12\x18\n\x0f\x64\x61sh_angle_step\x18\xbf\x01 \x01(\x02\x12\x17\n\x0eside_dash_rate\x18\xc0\x01 \x01(\x02\x12\x17\n\x0e\x62\x61\x63k_dash_rate\x18\xc1\x01 \x01(\x02\x12\x17\n\x0emax_dash_power\x18\xc2\x01 \x01(\x02\x12\x17\n\x0emin_dash_power\x18\xc3\x01 \x01(\x02\x12\x1b\n\x12tackle_rand_factor\x18\xc4\x01 \x01(\x02\x12 \n\x17\x66oul_detect_probability\x18\xc5\x01 \x01(\x02\x12\x16\n\rfoul_exponent\x18\xc6\x01 \x01(\x02\x12\x14\n\x0b\x66oul_cycles\x18\xc7\x01 \x01(\x05\x12\x14\n\x0bgolden_goal\x18\xc8\x01 \x01(\x08\x12\x1d\n\x14red_card_probability\x18\xc9\x01 \x01(\x02\x12!\n\x18illegal_defense_duration\x18\xca\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_number\x18\xcb\x01 \x01(\x05\x12\x1f\n\x16illegal_defense_dist_x\x18\xcc\x01 \x01(\x02\x12\x1e\n\x15illegal_defense_width\x18\xcd\x01 \x01(\x02\x12\x19\n\x10\x66ixed_teamname_l\x18\xce\x01 \x01(\t\x12\x19\n\x10\x66ixed_teamname_r\x18\xcf\x01 \x01(\t\x12\x18\n\x0fmax_catch_angle\x18\xd0\x01 \x01(\x02\x12\x18\n\x0fmin_catch_angle\x18\xd1\x01 \x01(\x02\x12\x14\n\x0brandom_seed\x18\xd2\x01 \x01(\x05\x12\x1f\n\x16long_kick_power_factor\x18\xd3\x01 \x01(\x02\x12\x18\n\x0flong_kick_delay\x18\xd4\x01 \x01(\x05\x12\x15\n\x0cmax_monitors\x18\xd5\x01 \x01(\x05\x12\x17\n\x0e\x63\x61tchable_area\x18\xd6\x01 \x01(\x02\x12\x17\n\x0ereal_speed_max\x18\xd7\x01 \x01(\x02\x12\x1a\n\x11pitch_half_length\x18\xd8\x01 \x01(\x02\x12\x19\n\x10pitch_half_width\x18\xd9\x01 \x01(\x02\x12 \n\x17our_penalty_area_line_x\x18\xda\x01 \x01(\x02\x12\"\n\x19their_penalty_area_line_x\x18\xdb\x01 \x01(\x02\x12 \n\x17penalty_area_half_width\x18\xdc\x01 \x01(\x02\x12\x1c\n\x13penalty_area_length\x18\xdd\x01 \x01(\x02\x12\x13\n\ngoal_width\x18\xde\x01 \x01(\x02\"\x8d\x08\n\x0bPlayerParam\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\x14\n\x0cplayer_types\x18\x02 \x01(\x05\x12\x10\n\x08subs_max\x18\x03 \x01(\x05\x12\x0e\n\x06pt_max\x18\x04 \x01(\x05\x12\x1f\n\x17\x61llow_mult_default_type\x18\x05 \x01(\x08\x12\"\n\x1aplayer_speed_max_delta_min\x18\x06 \x01(\x02\x12\"\n\x1aplayer_speed_max_delta_max\x18\x07 \x01(\x02\x12$\n\x1cstamina_inc_max_delta_factor\x18\x08 \x01(\x02\x12\x1e\n\x16player_decay_delta_min\x18\t \x01(\x02\x12\x1e\n\x16player_decay_delta_max\x18\n \x01(\x02\x12#\n\x1binertia_moment_delta_factor\x18\x0b \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_min\x18\x0c \x01(\x02\x12!\n\x19\x64\x61sh_power_rate_delta_max\x18\r \x01(\x02\x12 \n\x18player_size_delta_factor\x18\x0e \x01(\x02\x12!\n\x19kickable_margin_delta_min\x18\x0f \x01(\x02\x12!\n\x19kickable_margin_delta_max\x18\x10 \x01(\x02\x12\x1e\n\x16kick_rand_delta_factor\x18\x11 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_min\x18\x12 \x01(\x02\x12\x1f\n\x17\x65xtra_stamina_delta_max\x18\x13 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_max_delta_factor\x18\x14 \x01(\x02\x12\x1f\n\x17\x65\x66\x66ort_min_delta_factor\x18\x15 \x01(\x02\x12\x13\n\x0brandom_seed\x18\x16 \x01(\x05\x12%\n\x1dnew_dash_power_rate_delta_min\x18\x17 \x01(\x02\x12%\n\x1dnew_dash_power_rate_delta_max\x18\x18 \x01(\x02\x12(\n new_stamina_inc_max_delta_factor\x18\x19 \x01(\x02\x12!\n\x19kick_power_rate_delta_min\x18\x1a \x01(\x02\x12!\n\x19kick_power_rate_delta_max\x18\x1b \x01(\x02\x12,\n$foul_detect_probability_delta_factor\x18\x1c \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_min\x18\x1d \x01(\x02\x12$\n\x1c\x63\x61tchable_area_l_stretch_max\x18\x1e \x01(\x02\"\xbf\x07\n\nPlayerType\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x17\n\x0fstamina_inc_max\x18\x03 \x01(\x02\x12\x14\n\x0cplayer_decay\x18\x04 \x01(\x02\x12\x16\n\x0einertia_moment\x18\x05 \x01(\x02\x12\x17\n\x0f\x64\x61sh_power_rate\x18\x06 \x01(\x02\x12\x13\n\x0bplayer_size\x18\x07 \x01(\x02\x12\x17\n\x0fkickable_margin\x18\x08 \x01(\x02\x12\x11\n\tkick_rand\x18\t \x01(\x02\x12\x15\n\rextra_stamina\x18\n \x01(\x02\x12\x12\n\neffort_max\x18\x0b \x01(\x02\x12\x12\n\neffort_min\x18\x0c \x01(\x02\x12\x17\n\x0fkick_power_rate\x18\r \x01(\x02\x12\x1f\n\x17\x66oul_detect_probability\x18\x0e \x01(\x02\x12 \n\x18\x63\x61tchable_area_l_stretch\x18\x0f \x01(\x02\x12\x17\n\x0funum_far_length\x18\x10 \x01(\x02\x12\x1b\n\x13unum_too_far_length\x18\x11 \x01(\x02\x12\x17\n\x0fteam_far_length\x18\x12 \x01(\x02\x12\x1b\n\x13team_too_far_length\x18\x13 \x01(\x02\x12%\n\x1dplayer_max_observation_length\x18\x14 \x01(\x02\x12\x1b\n\x13\x62\x61ll_vel_far_length\x18\x15 \x01(\x02\x12\x1f\n\x17\x62\x61ll_vel_too_far_length\x18\x16 \x01(\x02\x12#\n\x1b\x62\x61ll_max_observation_length\x18\x17 \x01(\x02\x12\x1b\n\x13\x66lag_chg_far_length\x18\x18 \x01(\x02\x12\x1f\n\x17\x66lag_chg_too_far_length\x18\x19 \x01(\x02\x12#\n\x1b\x66lag_max_observation_length\x18\x1a \x01(\x02\x12\x15\n\rkickable_area\x18\x1b \x01(\x02\x12\x1f\n\x17reliable_catchable_dist\x18\x1c \x01(\x02\x12\x1a\n\x12max_catchable_dist\x18\x1d \x01(\x02\x12\x16\n\x0ereal_speed_max\x18\x1e \x01(\x02\x12\x19\n\x11player_speed_max2\x18\x1f \x01(\x02\x12\x17\n\x0freal_speed_max2\x18 \x01(\x02\x12!\n\x19\x63ycles_to_reach_max_speed\x18! \x01(\x05\x12\x18\n\x10player_speed_max\x18\" \x01(\x02\"\xad\x03\n\x14RpcCooperativeAction\x12+\n\x08\x63\x61tegory\x18\x01 \x01(\x0e\x32\x19.protos.RpcActionCategory\x12\r\n\x05index\x18\x02 \x01(\x05\x12\x13\n\x0bsender_unum\x18\x03 \x01(\x05\x12\x13\n\x0btarget_unum\x18\x04 \x01(\x05\x12)\n\x0ctarget_point\x18\x05 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x18\n\x10\x66irst_ball_speed\x18\x06 \x01(\x01\x12\x19\n\x11\x66irst_turn_moment\x18\x07 \x01(\x01\x12\x18\n\x10\x66irst_dash_power\x18\x08 \x01(\x01\x12!\n\x19\x66irst_dash_angle_relative\x18\t \x01(\x01\x12\x15\n\rduration_step\x18\n \x01(\x05\x12\x12\n\nkick_count\x18\x0b \x01(\x05\x12\x12\n\nturn_count\x18\x0c \x01(\x05\x12\x12\n\ndash_count\x18\r \x01(\x05\x12\x14\n\x0c\x66inal_action\x18\x0e \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x0f \x01(\t\x12\x14\n\x0cparent_index\x18\x10 \x01(\x05\"\xcf\x01\n\x0fRpcPredictState\x12\x12\n\nspend_time\x18\x01 \x01(\x05\x12\x18\n\x10\x62\x61ll_holder_unum\x18\x02 \x01(\x05\x12*\n\rball_position\x18\x03 \x01(\x0b\x32\x13.protos.RpcVector2D\x12*\n\rball_velocity\x18\x04 \x01(\x0b\x32\x13.protos.RpcVector2D\x12\x1a\n\x12our_defense_line_x\x18\x05 \x01(\x01\x12\x1a\n\x12our_offense_line_x\x18\x06 \x01(\x01\"\x82\x01\n\x0eRpcActionState\x12,\n\x06\x61\x63tion\x18\x01 \x01(\x0b\x32\x1c.protos.RpcCooperativeAction\x12.\n\rpredict_state\x18\x02 \x01(\x0b\x32\x17.protos.RpcPredictState\x12\x12\n\nevaluation\x18\x03 \x01(\x01\"\xef\x01\n\x18\x42\x65stPlannerActionRequest\x12\x33\n\x11register_response\x18\x01 \x01(\x0b\x32\x18.protos.RegisterResponse\x12:\n\x05pairs\x18\x02 \x03(\x0b\x32+.protos.BestPlannerActionRequest.PairsEntry\x12\x1c\n\x05state\x18\x03 \x01(\x0b\x32\r.protos.State\x1a\x44\n\nPairsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.protos.RpcActionState:\x02\x38\x01\"*\n\x19\x42\x65stPlannerActionResponse\x12\r\n\x05index\x18\x01 \x01(\x05\"\x07\n\x05\x45mpty*-\n\tViewWidth\x12\n\n\x06NARROW\x10\x00\x12\n\n\x06NORMAL\x10\x01\x12\x08\n\x04WIDE\x10\x02*{\n\x15RpcServerLanguageType\x12\x14\n\x10UNKNOWN_LANGUAGE\x10\x00\x12\n\n\x06PYThON\x10\x01\x12\x08\n\x04JAVA\x10\x02\x12\x07\n\x03\x43PP\x10\x03\x12\n\n\x06\x43SHARP\x10\x04\x12\x08\n\x04RUBY\x10\x05\x12\x0f\n\x0bJAVE_SCRIPT\x10\x06\x12\x06\n\x02GO\x10\x07*(\n\x04Side\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04LEFT\x10\x01\x12\t\n\x05RIGHT\x10\x02*\xb2\x02\n\x0bLoggerLevel\x12\r\n\tNoneLevel\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\n\n\x06SENSOR\x10\x02\x12\t\n\x05WORLD\x10\x04\x12\n\n\x06\x41\x43TION\x10\x08\x12\r\n\tINTERCEPT\x10\x10\x12\x08\n\x04KICK\x10 \x12\x08\n\x04HOLD\x10@\x12\x0c\n\x07\x44RIBBLE\x10\x80\x01\x12\t\n\x04PASS\x10\x80\x02\x12\n\n\x05\x43ROSS\x10\x80\x04\x12\n\n\x05SHOOT\x10\x80\x08\x12\n\n\x05\x43LEAR\x10\x80\x10\x12\n\n\x05\x42LOCK\x10\x80 \x12\t\n\x04MARK\x10\x80@\x12\x11\n\x0bPOSITIONING\x10\x80\x80\x01\x12\n\n\x04ROLE\x10\x80\x80\x02\x12\n\n\x04TEAM\x10\x80\x80\x04\x12\x13\n\rCOMMUNICATION\x10\x80\x80\x08\x12\x0e\n\x08\x41NALYZER\x10\x80\x80\x10\x12\x12\n\x0c\x41\x43TION_CHAIN\x10\x80\x80 \x12\n\n\x04PLAN\x10\x80\x80@*,\n\x08\x43\x61rdType\x12\x0b\n\x07NO_CARD\x10\x00\x12\n\n\x06YELLOW\x10\x01\x12\x07\n\x03RED\x10\x02*v\n\x13InterceptActionType\x12!\n\x1dUNKNOWN_Intercept_Action_Type\x10\x00\x12\r\n\tOMNI_DASH\x10\x01\x12\x15\n\x11TURN_FORWARD_DASH\x10\x02\x12\x16\n\x12TURN_BACKWARD_DASH\x10\x03*\xbb\x04\n\x0cGameModeType\x12\x11\n\rBeforeKickOff\x10\x00\x12\x0c\n\x08TimeOver\x10\x01\x12\n\n\x06PlayOn\x10\x02\x12\x0c\n\x08KickOff_\x10\x03\x12\x0b\n\x07KickIn_\x10\x04\x12\r\n\tFreeKick_\x10\x05\x12\x0f\n\x0b\x43ornerKick_\x10\x06\x12\r\n\tGoalKick_\x10\x07\x12\x0e\n\nAfterGoal_\x10\x08\x12\x0c\n\x08OffSide_\x10\t\x12\x10\n\x0cPenaltyKick_\x10\n\x12\x11\n\rFirstHalfOver\x10\x0b\x12\t\n\x05Pause\x10\x0c\x12\t\n\x05Human\x10\r\x12\x0f\n\x0b\x46oulCharge_\x10\x0e\x12\r\n\tFoulPush_\x10\x0f\x12\x19\n\x15\x46oulMultipleAttacker_\x10\x10\x12\x10\n\x0c\x46oulBallOut_\x10\x11\x12\r\n\tBackPass_\x10\x12\x12\x12\n\x0e\x46reeKickFault_\x10\x13\x12\x0f\n\x0b\x43\x61tchFault_\x10\x14\x12\x10\n\x0cIndFreeKick_\x10\x15\x12\x11\n\rPenaltySetup_\x10\x16\x12\x11\n\rPenaltyReady_\x10\x17\x12\x11\n\rPenaltyTaken_\x10\x18\x12\x10\n\x0cPenaltyMiss_\x10\x19\x12\x11\n\rPenaltyScore_\x10\x1a\x12\x13\n\x0fIllegalDefense_\x10\x1b\x12\x13\n\x0fPenaltyOnfield_\x10\x1c\x12\x10\n\x0cPenaltyFoul_\x10\x1d\x12\x10\n\x0cGoalieCatch_\x10\x1e\x12\x0e\n\nExtendHalf\x10\x1f\x12\x0c\n\x08MODE_MAX\x10 *2\n\tAgentType\x12\x0b\n\x07PlayerT\x10\x00\x12\n\n\x06\x43oachT\x10\x01\x12\x0c\n\x08TrainerT\x10\x02*w\n\x11RpcActionCategory\x12\x0b\n\x07\x41\x43_Hold\x10\x00\x12\x0e\n\nAC_Dribble\x10\x01\x12\x0b\n\x07\x41\x43_Pass\x10\x02\x12\x0c\n\x08\x41\x43_Shoot\x10\x03\x12\x0c\n\x08\x41\x43_Clear\x10\x04\x12\x0b\n\x07\x41\x43_Move\x10\x05\x12\x0f\n\x0b\x41\x43_NoAction\x10\x06\x32\xfb\x04\n\x04Game\x12:\n\x10GetPlayerActions\x12\r.protos.State\x1a\x15.protos.PlayerActions\"\x00\x12\x38\n\x0fGetCoachActions\x12\r.protos.State\x1a\x14.protos.CoachActions\"\x00\x12<\n\x11GetTrainerActions\x12\r.protos.State\x1a\x16.protos.TrainerActions\"\x00\x12\x37\n\x0fSendInitMessage\x12\x13.protos.InitMessage\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendServerParams\x12\x13.protos.ServerParam\x1a\r.protos.Empty\"\x00\x12\x38\n\x10SendPlayerParams\x12\x13.protos.PlayerParam\x1a\r.protos.Empty\"\x00\x12\x35\n\x0eSendPlayerType\x12\x12.protos.PlayerType\x1a\r.protos.Empty\"\x00\x12?\n\x08Register\x12\x17.protos.RegisterRequest\x1a\x18.protos.RegisterResponse\"\x00\x12;\n\x0eSendByeCommand\x12\x18.protos.RegisterResponse\x1a\r.protos.Empty\"\x00\x12]\n\x14GetBestPlannerAction\x12 .protos.BestPlannerActionRequest\x1a!.protos.BestPlannerActionResponse\"\x00\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -29,24 +29,24 @@ _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_options = b'8\001' _globals['_BESTPLANNERACTIONREQUEST_PAIRSENTRY']._loaded_options = None _globals['_BESTPLANNERACTIONREQUEST_PAIRSENTRY']._serialized_options = b'8\001' - _globals['_VIEWWIDTH']._serialized_start=26771 - _globals['_VIEWWIDTH']._serialized_end=26816 - _globals['_RPCSERVERLANGUAGETYPE']._serialized_start=26818 - _globals['_RPCSERVERLANGUAGETYPE']._serialized_end=26941 - _globals['_SIDE']._serialized_start=26943 - _globals['_SIDE']._serialized_end=26983 - _globals['_LOGGERLEVEL']._serialized_start=26986 - _globals['_LOGGERLEVEL']._serialized_end=27292 - _globals['_CARDTYPE']._serialized_start=27294 - _globals['_CARDTYPE']._serialized_end=27338 - _globals['_INTERCEPTACTIONTYPE']._serialized_start=27340 - _globals['_INTERCEPTACTIONTYPE']._serialized_end=27458 - _globals['_GAMEMODETYPE']._serialized_start=27461 - _globals['_GAMEMODETYPE']._serialized_end=28032 - _globals['_AGENTTYPE']._serialized_start=28034 - _globals['_AGENTTYPE']._serialized_end=28084 - _globals['_RPCACTIONCATEGORY']._serialized_start=28086 - _globals['_RPCACTIONCATEGORY']._serialized_end=28205 + _globals['_VIEWWIDTH']._serialized_start=26791 + _globals['_VIEWWIDTH']._serialized_end=26836 + _globals['_RPCSERVERLANGUAGETYPE']._serialized_start=26838 + _globals['_RPCSERVERLANGUAGETYPE']._serialized_end=26961 + _globals['_SIDE']._serialized_start=26963 + _globals['_SIDE']._serialized_end=27003 + _globals['_LOGGERLEVEL']._serialized_start=27006 + _globals['_LOGGERLEVEL']._serialized_end=27312 + _globals['_CARDTYPE']._serialized_start=27314 + _globals['_CARDTYPE']._serialized_end=27358 + _globals['_INTERCEPTACTIONTYPE']._serialized_start=27360 + _globals['_INTERCEPTACTIONTYPE']._serialized_end=27478 + _globals['_GAMEMODETYPE']._serialized_start=27481 + _globals['_GAMEMODETYPE']._serialized_end=28052 + _globals['_AGENTTYPE']._serialized_start=28054 + _globals['_AGENTTYPE']._serialized_end=28104 + _globals['_RPCACTIONCATEGORY']._serialized_start=28106 + _globals['_RPCACTIONCATEGORY']._serialized_end=28225 _globals['_RPCVECTOR2D']._serialized_start=25 _globals['_RPCVECTOR2D']._serialized_end=89 _globals['_REGISTERREQUEST']._serialized_start=91 @@ -58,263 +58,263 @@ _globals['_PLAYER']._serialized_start=940 _globals['_PLAYER']._serialized_end=1756 _globals['_SELF']._serialized_start=1759 - _globals['_SELF']._serialized_end=2810 - _globals['_INTERCEPTINFO']._serialized_start=2813 - _globals['_INTERCEPTINFO']._serialized_end=3089 - _globals['_INTERCEPTTABLE']._serialized_start=3092 - _globals['_INTERCEPTTABLE']._serialized_end=3442 - _globals['_WORLDMODEL']._serialized_start=3445 - _globals['_WORLDMODEL']._serialized_end=4872 - _globals['_WORLDMODEL_OURPLAYERSDICTENTRY']._serialized_start=4649 - _globals['_WORLDMODEL_OURPLAYERSDICTENTRY']._serialized_end=4718 - _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._serialized_start=4720 - _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._serialized_end=4791 - _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_start=4793 - _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_end=4872 - _globals['_STATE']._serialized_start=4875 - _globals['_STATE']._serialized_end=5047 - _globals['_INITMESSAGE']._serialized_start=5049 - _globals['_INITMESSAGE']._serialized_end=5135 - _globals['_DASH']._serialized_start=5137 - _globals['_DASH']._serialized_end=5186 - _globals['_TURN']._serialized_start=5188 - _globals['_TURN']._serialized_end=5222 - _globals['_KICK']._serialized_start=5224 - _globals['_KICK']._serialized_end=5273 - _globals['_TACKLE']._serialized_start=5275 - _globals['_TACKLE']._serialized_end=5319 - _globals['_CATCH']._serialized_start=5321 - _globals['_CATCH']._serialized_end=5328 - _globals['_MOVE']._serialized_start=5330 - _globals['_MOVE']._serialized_end=5358 - _globals['_TURNNECK']._serialized_start=5360 - _globals['_TURNNECK']._serialized_end=5386 - _globals['_CHANGEVIEW']._serialized_start=5388 - _globals['_CHANGEVIEW']._serialized_end=5439 - _globals['_BALLMESSAGE']._serialized_start=5441 - _globals['_BALLMESSAGE']._serialized_end=5542 - _globals['_PASSMESSAGE']._serialized_start=5545 - _globals['_PASSMESSAGE']._serialized_end=5724 - _globals['_INTERCEPTMESSAGE']._serialized_start=5726 - _globals['_INTERCEPTMESSAGE']._serialized_end=5796 - _globals['_GOALIEMESSAGE']._serialized_start=5798 - _globals['_GOALIEMESSAGE']._serialized_end=5921 - _globals['_GOALIEANDPLAYERMESSAGE']._serialized_start=5924 - _globals['_GOALIEANDPLAYERMESSAGE']._serialized_end=6133 - _globals['_OFFSIDELINEMESSAGE']._serialized_start=6135 - _globals['_OFFSIDELINEMESSAGE']._serialized_end=6179 - _globals['_DEFENSELINEMESSAGE']._serialized_start=6181 - _globals['_DEFENSELINEMESSAGE']._serialized_end=6225 - _globals['_WAITREQUESTMESSAGE']._serialized_start=6227 - _globals['_WAITREQUESTMESSAGE']._serialized_end=6247 - _globals['_SETPLAYMESSAGE']._serialized_start=6249 - _globals['_SETPLAYMESSAGE']._serialized_end=6284 - _globals['_PASSREQUESTMESSAGE']._serialized_start=6286 - _globals['_PASSREQUESTMESSAGE']._serialized_end=6349 - _globals['_STAMINAMESSAGE']._serialized_start=6351 - _globals['_STAMINAMESSAGE']._serialized_end=6384 - _globals['_RECOVERYMESSAGE']._serialized_start=6386 - _globals['_RECOVERYMESSAGE']._serialized_end=6421 - _globals['_STAMINACAPACITYMESSAGE']._serialized_start=6423 - _globals['_STAMINACAPACITYMESSAGE']._serialized_end=6473 - _globals['_DRIBBLEMESSAGE']._serialized_start=6475 - _globals['_DRIBBLEMESSAGE']._serialized_end=6555 - _globals['_BALLGOALIEMESSAGE']._serialized_start=6558 - _globals['_BALLGOALIEMESSAGE']._serialized_end=6742 - _globals['_ONEPLAYERMESSAGE']._serialized_start=6744 - _globals['_ONEPLAYERMESSAGE']._serialized_end=6825 - _globals['_TWOPLAYERMESSAGE']._serialized_start=6828 - _globals['_TWOPLAYERMESSAGE']._serialized_end=6998 - _globals['_THREEPLAYERMESSAGE']._serialized_start=7001 - _globals['_THREEPLAYERMESSAGE']._serialized_end=7248 - _globals['_SELFMESSAGE']._serialized_start=7250 - _globals['_SELFMESSAGE']._serialized_end=7358 - _globals['_TEAMMATEMESSAGE']._serialized_start=7360 - _globals['_TEAMMATEMESSAGE']._serialized_end=7464 - _globals['_OPPONENTMESSAGE']._serialized_start=7466 - _globals['_OPPONENTMESSAGE']._serialized_end=7570 - _globals['_BALLPLAYERMESSAGE']._serialized_start=7573 - _globals['_BALLPLAYERMESSAGE']._serialized_end=7774 - _globals['_SAY']._serialized_start=7777 - _globals['_SAY']._serialized_end=9009 - _globals['_POINTTO']._serialized_start=9011 - _globals['_POINTTO']._serialized_end=9042 - _globals['_POINTTOOF']._serialized_start=9044 - _globals['_POINTTOOF']._serialized_end=9055 - _globals['_ATTENTIONTO']._serialized_start=9057 - _globals['_ATTENTIONTO']._serialized_end=9112 - _globals['_ATTENTIONTOOF']._serialized_start=9114 - _globals['_ATTENTIONTOOF']._serialized_end=9129 - _globals['_ADDTEXT']._serialized_start=9131 - _globals['_ADDTEXT']._serialized_end=9193 - _globals['_ADDPOINT']._serialized_start=9195 - _globals['_ADDPOINT']._serialized_end=9292 - _globals['_ADDLINE']._serialized_start=9295 - _globals['_ADDLINE']._serialized_end=9425 - _globals['_ADDARC']._serialized_start=9428 - _globals['_ADDARC']._serialized_end=9581 - _globals['_ADDCIRCLE']._serialized_start=9584 - _globals['_ADDCIRCLE']._serialized_end=9713 - _globals['_ADDTRIANGLE']._serialized_start=9716 - _globals['_ADDTRIANGLE']._serialized_end=9905 - _globals['_ADDRECTANGLE']._serialized_start=9908 - _globals['_ADDRECTANGLE']._serialized_end=10045 - _globals['_ADDSECTOR']._serialized_start=10048 - _globals['_ADDSECTOR']._serialized_end=10242 - _globals['_ADDMESSAGE']._serialized_start=10244 - _globals['_ADDMESSAGE']._serialized_end=10363 - _globals['_LOG']._serialized_start=10366 - _globals['_LOG']._serialized_end=10743 - _globals['_DEBUGCLIENT']._serialized_start=10745 - _globals['_DEBUGCLIENT']._serialized_end=10775 - _globals['_BODY_GOTOPOINT']._serialized_start=10777 - _globals['_BODY_GOTOPOINT']._serialized_end=10888 - _globals['_BODY_SMARTKICK']._serialized_start=10891 - _globals['_BODY_SMARTKICK']._serialized_end=11021 - _globals['_BHV_BEFOREKICKOFF']._serialized_start=11023 - _globals['_BHV_BEFOREKICKOFF']._serialized_end=11078 - _globals['_BHV_BODYNECKTOBALL']._serialized_start=11080 - _globals['_BHV_BODYNECKTOBALL']._serialized_end=11100 - _globals['_BHV_BODYNECKTOPOINT']._serialized_start=11102 - _globals['_BHV_BODYNECKTOPOINT']._serialized_end=11159 - _globals['_BHV_EMERGENCY']._serialized_start=11161 - _globals['_BHV_EMERGENCY']._serialized_end=11176 - _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_start=11178 - _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_end=11296 - _globals['_BHV_NECKBODYTOBALL']._serialized_start=11298 - _globals['_BHV_NECKBODYTOBALL']._serialized_end=11337 - _globals['_BHV_NECKBODYTOPOINT']._serialized_start=11339 - _globals['_BHV_NECKBODYTOPOINT']._serialized_end=11415 - _globals['_BHV_SCANFIELD']._serialized_start=11417 - _globals['_BHV_SCANFIELD']._serialized_end=11432 - _globals['_BODY_ADVANCEBALL']._serialized_start=11434 - _globals['_BODY_ADVANCEBALL']._serialized_end=11452 - _globals['_BODY_CLEARBALL']._serialized_start=11454 - _globals['_BODY_CLEARBALL']._serialized_end=11470 - _globals['_BODY_DRIBBLE']._serialized_start=11473 - _globals['_BODY_DRIBBLE']._serialized_end=11613 - _globals['_BODY_GOTOPOINTDODGE']._serialized_start=11615 - _globals['_BODY_GOTOPOINTDODGE']._serialized_end=11699 - _globals['_BODY_HOLDBALL']._serialized_start=11702 - _globals['_BODY_HOLDBALL']._serialized_end=11830 - _globals['_BODY_INTERCEPT']._serialized_start=11832 - _globals['_BODY_INTERCEPT']._serialized_end=11912 - _globals['_BODY_KICKONESTEP']._serialized_start=11914 - _globals['_BODY_KICKONESTEP']._serialized_end=12016 - _globals['_BODY_STOPBALL']._serialized_start=12018 - _globals['_BODY_STOPBALL']._serialized_end=12033 - _globals['_BODY_STOPDASH']._serialized_start=12035 - _globals['_BODY_STOPDASH']._serialized_end=12073 - _globals['_BODY_TACKLETOPOINT']._serialized_start=12075 - _globals['_BODY_TACKLETOPOINT']._serialized_end=12182 - _globals['_BODY_TURNTOANGLE']._serialized_start=12184 - _globals['_BODY_TURNTOANGLE']._serialized_end=12217 - _globals['_BODY_TURNTOBALL']._serialized_start=12219 - _globals['_BODY_TURNTOBALL']._serialized_end=12251 - _globals['_BODY_TURNTOPOINT']._serialized_start=12253 - _globals['_BODY_TURNTOPOINT']._serialized_end=12329 - _globals['_FOCUS_MOVETOPOINT']._serialized_start=12331 - _globals['_FOCUS_MOVETOPOINT']._serialized_end=12393 - _globals['_FOCUS_RESET']._serialized_start=12395 - _globals['_FOCUS_RESET']._serialized_end=12408 - _globals['_NECK_SCANFIELD']._serialized_start=12410 - _globals['_NECK_SCANFIELD']._serialized_end=12426 - _globals['_NECK_SCANPLAYERS']._serialized_start=12428 - _globals['_NECK_SCANPLAYERS']._serialized_end=12446 - _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_start=12448 - _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_end=12551 - _globals['_NECK_TURNTOBALLORSCAN']._serialized_start=12553 - _globals['_NECK_TURNTOBALLORSCAN']._serialized_end=12601 - _globals['_NECK_TURNTOBALL']._serialized_start=12603 - _globals['_NECK_TURNTOBALL']._serialized_end=12620 - _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_start=12622 - _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_end=12672 - _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_start=12674 - _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_end=12702 - _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_start=12704 - _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_end=12806 - _globals['_NECK_TURNTOPOINT']._serialized_start=12808 - _globals['_NECK_TURNTOPOINT']._serialized_end=12869 - _globals['_NECK_TURNTORELATIVE']._serialized_start=12871 - _globals['_NECK_TURNTORELATIVE']._serialized_end=12907 - _globals['_VIEW_CHANGEWIDTH']._serialized_start=12909 - _globals['_VIEW_CHANGEWIDTH']._serialized_end=12966 - _globals['_VIEW_NORMAL']._serialized_start=12968 - _globals['_VIEW_NORMAL']._serialized_end=12981 - _globals['_VIEW_SYNCH']._serialized_start=12983 - _globals['_VIEW_SYNCH']._serialized_end=12995 - _globals['_VIEW_WIDE']._serialized_start=12997 - _globals['_VIEW_WIDE']._serialized_end=13008 - _globals['_HELIOSGOALIE']._serialized_start=13010 - _globals['_HELIOSGOALIE']._serialized_end=13024 - _globals['_HELIOSGOALIEMOVE']._serialized_start=13026 - _globals['_HELIOSGOALIEMOVE']._serialized_end=13044 - _globals['_HELIOSGOALIEKICK']._serialized_start=13046 - _globals['_HELIOSGOALIEKICK']._serialized_end=13064 - _globals['_HELIOSSHOOT']._serialized_start=13066 - _globals['_HELIOSSHOOT']._serialized_end=13079 - _globals['_HELIOSOFFENSIVEPLANNER']._serialized_start=13082 - _globals['_HELIOSOFFENSIVEPLANNER']._serialized_end=13325 - _globals['_HELIOSBASICOFFENSIVE']._serialized_start=13327 - _globals['_HELIOSBASICOFFENSIVE']._serialized_end=13349 - _globals['_HELIOSBASICMOVE']._serialized_start=13351 - _globals['_HELIOSBASICMOVE']._serialized_end=13368 - _globals['_HELIOSSETPLAY']._serialized_start=13370 - _globals['_HELIOSSETPLAY']._serialized_end=13385 - _globals['_HELIOSPENALTY']._serialized_start=13387 - _globals['_HELIOSPENALTY']._serialized_end=13402 - _globals['_HELIOSCOMMUNICAION']._serialized_start=13404 - _globals['_HELIOSCOMMUNICAION']._serialized_end=13424 - _globals['_PLAYERACTION']._serialized_start=13427 - _globals['_PLAYERACTION']._serialized_end=16736 - _globals['_PLAYERACTIONS']._serialized_start=16738 - _globals['_PLAYERACTIONS']._serialized_end=16819 - _globals['_CHANGEPLAYERTYPE']._serialized_start=16821 - _globals['_CHANGEPLAYERTYPE']._serialized_end=16877 - _globals['_DOHELIOSSUBSTITUTE']._serialized_start=16879 - _globals['_DOHELIOSSUBSTITUTE']._serialized_end=16899 - _globals['_DOHELIOSSAYPLAYERTYPES']._serialized_start=16901 - _globals['_DOHELIOSSAYPLAYERTYPES']._serialized_end=16925 - _globals['_COACHACTION']._serialized_start=16928 - _globals['_COACHACTION']._serialized_end=17138 - _globals['_COACHACTIONS']._serialized_start=17140 - _globals['_COACHACTIONS']._serialized_end=17192 - _globals['_DOKICKOFF']._serialized_start=17194 - _globals['_DOKICKOFF']._serialized_end=17205 - _globals['_DOMOVEBALL']._serialized_start=17207 - _globals['_DOMOVEBALL']._serialized_end=17297 - _globals['_DOMOVEPLAYER']._serialized_start=17299 - _globals['_DOMOVEPLAYER']._serialized_end=17418 - _globals['_DORECOVER']._serialized_start=17420 - _globals['_DORECOVER']._serialized_end=17431 - _globals['_DOCHANGEMODE']._serialized_start=17433 - _globals['_DOCHANGEMODE']._serialized_end=17521 - _globals['_DOCHANGEPLAYERTYPE']._serialized_start=17523 - _globals['_DOCHANGEPLAYERTYPE']._serialized_end=17599 - _globals['_TRAINERACTION']._serialized_start=17602 - _globals['_TRAINERACTION']._serialized_end=17911 - _globals['_TRAINERACTIONS']._serialized_start=17913 - _globals['_TRAINERACTIONS']._serialized_end=17969 - _globals['_SERVERPARAM']._serialized_start=17972 - _globals['_SERVERPARAM']._serialized_end=23697 - _globals['_PLAYERPARAM']._serialized_start=23700 - _globals['_PLAYERPARAM']._serialized_end=24737 - _globals['_PLAYERTYPE']._serialized_start=24740 - _globals['_PLAYERTYPE']._serialized_end=25699 - _globals['_RPCCOOPERATIVEACTION']._serialized_start=25702 - _globals['_RPCCOOPERATIVEACTION']._serialized_end=26131 - _globals['_RPCPREDICTSTATE']._serialized_start=26134 - _globals['_RPCPREDICTSTATE']._serialized_end=26341 - _globals['_RPCACTIONSTATE']._serialized_start=26344 - _globals['_RPCACTIONSTATE']._serialized_end=26474 - _globals['_BESTPLANNERACTIONREQUEST']._serialized_start=26477 - _globals['_BESTPLANNERACTIONREQUEST']._serialized_end=26716 - _globals['_BESTPLANNERACTIONREQUEST_PAIRSENTRY']._serialized_start=26648 - _globals['_BESTPLANNERACTIONREQUEST_PAIRSENTRY']._serialized_end=26716 - _globals['_BESTPLANNERACTIONRESPONSE']._serialized_start=26718 - _globals['_BESTPLANNERACTIONRESPONSE']._serialized_end=26760 - _globals['_EMPTY']._serialized_start=26762 - _globals['_EMPTY']._serialized_end=26769 - _globals['_GAME']._serialized_start=28208 - _globals['_GAME']._serialized_end=28843 + _globals['_SELF']._serialized_end=2830 + _globals['_INTERCEPTINFO']._serialized_start=2833 + _globals['_INTERCEPTINFO']._serialized_end=3109 + _globals['_INTERCEPTTABLE']._serialized_start=3112 + _globals['_INTERCEPTTABLE']._serialized_end=3462 + _globals['_WORLDMODEL']._serialized_start=3465 + _globals['_WORLDMODEL']._serialized_end=4892 + _globals['_WORLDMODEL_OURPLAYERSDICTENTRY']._serialized_start=4669 + _globals['_WORLDMODEL_OURPLAYERSDICTENTRY']._serialized_end=4738 + _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._serialized_start=4740 + _globals['_WORLDMODEL_THEIRPLAYERSDICTENTRY']._serialized_end=4811 + _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_start=4813 + _globals['_WORLDMODEL_HELIOSHOMEPOSITIONSENTRY']._serialized_end=4892 + _globals['_STATE']._serialized_start=4895 + _globals['_STATE']._serialized_end=5067 + _globals['_INITMESSAGE']._serialized_start=5069 + _globals['_INITMESSAGE']._serialized_end=5155 + _globals['_DASH']._serialized_start=5157 + _globals['_DASH']._serialized_end=5206 + _globals['_TURN']._serialized_start=5208 + _globals['_TURN']._serialized_end=5242 + _globals['_KICK']._serialized_start=5244 + _globals['_KICK']._serialized_end=5293 + _globals['_TACKLE']._serialized_start=5295 + _globals['_TACKLE']._serialized_end=5339 + _globals['_CATCH']._serialized_start=5341 + _globals['_CATCH']._serialized_end=5348 + _globals['_MOVE']._serialized_start=5350 + _globals['_MOVE']._serialized_end=5378 + _globals['_TURNNECK']._serialized_start=5380 + _globals['_TURNNECK']._serialized_end=5406 + _globals['_CHANGEVIEW']._serialized_start=5408 + _globals['_CHANGEVIEW']._serialized_end=5459 + _globals['_BALLMESSAGE']._serialized_start=5461 + _globals['_BALLMESSAGE']._serialized_end=5562 + _globals['_PASSMESSAGE']._serialized_start=5565 + _globals['_PASSMESSAGE']._serialized_end=5744 + _globals['_INTERCEPTMESSAGE']._serialized_start=5746 + _globals['_INTERCEPTMESSAGE']._serialized_end=5816 + _globals['_GOALIEMESSAGE']._serialized_start=5818 + _globals['_GOALIEMESSAGE']._serialized_end=5941 + _globals['_GOALIEANDPLAYERMESSAGE']._serialized_start=5944 + _globals['_GOALIEANDPLAYERMESSAGE']._serialized_end=6153 + _globals['_OFFSIDELINEMESSAGE']._serialized_start=6155 + _globals['_OFFSIDELINEMESSAGE']._serialized_end=6199 + _globals['_DEFENSELINEMESSAGE']._serialized_start=6201 + _globals['_DEFENSELINEMESSAGE']._serialized_end=6245 + _globals['_WAITREQUESTMESSAGE']._serialized_start=6247 + _globals['_WAITREQUESTMESSAGE']._serialized_end=6267 + _globals['_SETPLAYMESSAGE']._serialized_start=6269 + _globals['_SETPLAYMESSAGE']._serialized_end=6304 + _globals['_PASSREQUESTMESSAGE']._serialized_start=6306 + _globals['_PASSREQUESTMESSAGE']._serialized_end=6369 + _globals['_STAMINAMESSAGE']._serialized_start=6371 + _globals['_STAMINAMESSAGE']._serialized_end=6404 + _globals['_RECOVERYMESSAGE']._serialized_start=6406 + _globals['_RECOVERYMESSAGE']._serialized_end=6441 + _globals['_STAMINACAPACITYMESSAGE']._serialized_start=6443 + _globals['_STAMINACAPACITYMESSAGE']._serialized_end=6493 + _globals['_DRIBBLEMESSAGE']._serialized_start=6495 + _globals['_DRIBBLEMESSAGE']._serialized_end=6575 + _globals['_BALLGOALIEMESSAGE']._serialized_start=6578 + _globals['_BALLGOALIEMESSAGE']._serialized_end=6762 + _globals['_ONEPLAYERMESSAGE']._serialized_start=6764 + _globals['_ONEPLAYERMESSAGE']._serialized_end=6845 + _globals['_TWOPLAYERMESSAGE']._serialized_start=6848 + _globals['_TWOPLAYERMESSAGE']._serialized_end=7018 + _globals['_THREEPLAYERMESSAGE']._serialized_start=7021 + _globals['_THREEPLAYERMESSAGE']._serialized_end=7268 + _globals['_SELFMESSAGE']._serialized_start=7270 + _globals['_SELFMESSAGE']._serialized_end=7378 + _globals['_TEAMMATEMESSAGE']._serialized_start=7380 + _globals['_TEAMMATEMESSAGE']._serialized_end=7484 + _globals['_OPPONENTMESSAGE']._serialized_start=7486 + _globals['_OPPONENTMESSAGE']._serialized_end=7590 + _globals['_BALLPLAYERMESSAGE']._serialized_start=7593 + _globals['_BALLPLAYERMESSAGE']._serialized_end=7794 + _globals['_SAY']._serialized_start=7797 + _globals['_SAY']._serialized_end=9029 + _globals['_POINTTO']._serialized_start=9031 + _globals['_POINTTO']._serialized_end=9062 + _globals['_POINTTOOF']._serialized_start=9064 + _globals['_POINTTOOF']._serialized_end=9075 + _globals['_ATTENTIONTO']._serialized_start=9077 + _globals['_ATTENTIONTO']._serialized_end=9132 + _globals['_ATTENTIONTOOF']._serialized_start=9134 + _globals['_ATTENTIONTOOF']._serialized_end=9149 + _globals['_ADDTEXT']._serialized_start=9151 + _globals['_ADDTEXT']._serialized_end=9213 + _globals['_ADDPOINT']._serialized_start=9215 + _globals['_ADDPOINT']._serialized_end=9312 + _globals['_ADDLINE']._serialized_start=9315 + _globals['_ADDLINE']._serialized_end=9445 + _globals['_ADDARC']._serialized_start=9448 + _globals['_ADDARC']._serialized_end=9601 + _globals['_ADDCIRCLE']._serialized_start=9604 + _globals['_ADDCIRCLE']._serialized_end=9733 + _globals['_ADDTRIANGLE']._serialized_start=9736 + _globals['_ADDTRIANGLE']._serialized_end=9925 + _globals['_ADDRECTANGLE']._serialized_start=9928 + _globals['_ADDRECTANGLE']._serialized_end=10065 + _globals['_ADDSECTOR']._serialized_start=10068 + _globals['_ADDSECTOR']._serialized_end=10262 + _globals['_ADDMESSAGE']._serialized_start=10264 + _globals['_ADDMESSAGE']._serialized_end=10383 + _globals['_LOG']._serialized_start=10386 + _globals['_LOG']._serialized_end=10763 + _globals['_DEBUGCLIENT']._serialized_start=10765 + _globals['_DEBUGCLIENT']._serialized_end=10795 + _globals['_BODY_GOTOPOINT']._serialized_start=10797 + _globals['_BODY_GOTOPOINT']._serialized_end=10908 + _globals['_BODY_SMARTKICK']._serialized_start=10911 + _globals['_BODY_SMARTKICK']._serialized_end=11041 + _globals['_BHV_BEFOREKICKOFF']._serialized_start=11043 + _globals['_BHV_BEFOREKICKOFF']._serialized_end=11098 + _globals['_BHV_BODYNECKTOBALL']._serialized_start=11100 + _globals['_BHV_BODYNECKTOBALL']._serialized_end=11120 + _globals['_BHV_BODYNECKTOPOINT']._serialized_start=11122 + _globals['_BHV_BODYNECKTOPOINT']._serialized_end=11179 + _globals['_BHV_EMERGENCY']._serialized_start=11181 + _globals['_BHV_EMERGENCY']._serialized_end=11196 + _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_start=11198 + _globals['_BHV_GOTOPOINTLOOKBALL']._serialized_end=11316 + _globals['_BHV_NECKBODYTOBALL']._serialized_start=11318 + _globals['_BHV_NECKBODYTOBALL']._serialized_end=11357 + _globals['_BHV_NECKBODYTOPOINT']._serialized_start=11359 + _globals['_BHV_NECKBODYTOPOINT']._serialized_end=11435 + _globals['_BHV_SCANFIELD']._serialized_start=11437 + _globals['_BHV_SCANFIELD']._serialized_end=11452 + _globals['_BODY_ADVANCEBALL']._serialized_start=11454 + _globals['_BODY_ADVANCEBALL']._serialized_end=11472 + _globals['_BODY_CLEARBALL']._serialized_start=11474 + _globals['_BODY_CLEARBALL']._serialized_end=11490 + _globals['_BODY_DRIBBLE']._serialized_start=11493 + _globals['_BODY_DRIBBLE']._serialized_end=11633 + _globals['_BODY_GOTOPOINTDODGE']._serialized_start=11635 + _globals['_BODY_GOTOPOINTDODGE']._serialized_end=11719 + _globals['_BODY_HOLDBALL']._serialized_start=11722 + _globals['_BODY_HOLDBALL']._serialized_end=11850 + _globals['_BODY_INTERCEPT']._serialized_start=11852 + _globals['_BODY_INTERCEPT']._serialized_end=11932 + _globals['_BODY_KICKONESTEP']._serialized_start=11934 + _globals['_BODY_KICKONESTEP']._serialized_end=12036 + _globals['_BODY_STOPBALL']._serialized_start=12038 + _globals['_BODY_STOPBALL']._serialized_end=12053 + _globals['_BODY_STOPDASH']._serialized_start=12055 + _globals['_BODY_STOPDASH']._serialized_end=12093 + _globals['_BODY_TACKLETOPOINT']._serialized_start=12095 + _globals['_BODY_TACKLETOPOINT']._serialized_end=12202 + _globals['_BODY_TURNTOANGLE']._serialized_start=12204 + _globals['_BODY_TURNTOANGLE']._serialized_end=12237 + _globals['_BODY_TURNTOBALL']._serialized_start=12239 + _globals['_BODY_TURNTOBALL']._serialized_end=12271 + _globals['_BODY_TURNTOPOINT']._serialized_start=12273 + _globals['_BODY_TURNTOPOINT']._serialized_end=12349 + _globals['_FOCUS_MOVETOPOINT']._serialized_start=12351 + _globals['_FOCUS_MOVETOPOINT']._serialized_end=12413 + _globals['_FOCUS_RESET']._serialized_start=12415 + _globals['_FOCUS_RESET']._serialized_end=12428 + _globals['_NECK_SCANFIELD']._serialized_start=12430 + _globals['_NECK_SCANFIELD']._serialized_end=12446 + _globals['_NECK_SCANPLAYERS']._serialized_start=12448 + _globals['_NECK_SCANPLAYERS']._serialized_end=12466 + _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_start=12468 + _globals['_NECK_TURNTOBALLANDPLAYER']._serialized_end=12571 + _globals['_NECK_TURNTOBALLORSCAN']._serialized_start=12573 + _globals['_NECK_TURNTOBALLORSCAN']._serialized_end=12621 + _globals['_NECK_TURNTOBALL']._serialized_start=12623 + _globals['_NECK_TURNTOBALL']._serialized_end=12640 + _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_start=12642 + _globals['_NECK_TURNTOGOALIEORSCAN']._serialized_end=12692 + _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_start=12694 + _globals['_NECK_TURNTOLOWCONFTEAMMATE']._serialized_end=12722 + _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_start=12724 + _globals['_NECK_TURNTOPLAYERORSCAN']._serialized_end=12826 + _globals['_NECK_TURNTOPOINT']._serialized_start=12828 + _globals['_NECK_TURNTOPOINT']._serialized_end=12889 + _globals['_NECK_TURNTORELATIVE']._serialized_start=12891 + _globals['_NECK_TURNTORELATIVE']._serialized_end=12927 + _globals['_VIEW_CHANGEWIDTH']._serialized_start=12929 + _globals['_VIEW_CHANGEWIDTH']._serialized_end=12986 + _globals['_VIEW_NORMAL']._serialized_start=12988 + _globals['_VIEW_NORMAL']._serialized_end=13001 + _globals['_VIEW_SYNCH']._serialized_start=13003 + _globals['_VIEW_SYNCH']._serialized_end=13015 + _globals['_VIEW_WIDE']._serialized_start=13017 + _globals['_VIEW_WIDE']._serialized_end=13028 + _globals['_HELIOSGOALIE']._serialized_start=13030 + _globals['_HELIOSGOALIE']._serialized_end=13044 + _globals['_HELIOSGOALIEMOVE']._serialized_start=13046 + _globals['_HELIOSGOALIEMOVE']._serialized_end=13064 + _globals['_HELIOSGOALIEKICK']._serialized_start=13066 + _globals['_HELIOSGOALIEKICK']._serialized_end=13084 + _globals['_HELIOSSHOOT']._serialized_start=13086 + _globals['_HELIOSSHOOT']._serialized_end=13099 + _globals['_HELIOSOFFENSIVEPLANNER']._serialized_start=13102 + _globals['_HELIOSOFFENSIVEPLANNER']._serialized_end=13345 + _globals['_HELIOSBASICOFFENSIVE']._serialized_start=13347 + _globals['_HELIOSBASICOFFENSIVE']._serialized_end=13369 + _globals['_HELIOSBASICMOVE']._serialized_start=13371 + _globals['_HELIOSBASICMOVE']._serialized_end=13388 + _globals['_HELIOSSETPLAY']._serialized_start=13390 + _globals['_HELIOSSETPLAY']._serialized_end=13405 + _globals['_HELIOSPENALTY']._serialized_start=13407 + _globals['_HELIOSPENALTY']._serialized_end=13422 + _globals['_HELIOSCOMMUNICAION']._serialized_start=13424 + _globals['_HELIOSCOMMUNICAION']._serialized_end=13444 + _globals['_PLAYERACTION']._serialized_start=13447 + _globals['_PLAYERACTION']._serialized_end=16756 + _globals['_PLAYERACTIONS']._serialized_start=16758 + _globals['_PLAYERACTIONS']._serialized_end=16839 + _globals['_CHANGEPLAYERTYPE']._serialized_start=16841 + _globals['_CHANGEPLAYERTYPE']._serialized_end=16897 + _globals['_DOHELIOSSUBSTITUTE']._serialized_start=16899 + _globals['_DOHELIOSSUBSTITUTE']._serialized_end=16919 + _globals['_DOHELIOSSAYPLAYERTYPES']._serialized_start=16921 + _globals['_DOHELIOSSAYPLAYERTYPES']._serialized_end=16945 + _globals['_COACHACTION']._serialized_start=16948 + _globals['_COACHACTION']._serialized_end=17158 + _globals['_COACHACTIONS']._serialized_start=17160 + _globals['_COACHACTIONS']._serialized_end=17212 + _globals['_DOKICKOFF']._serialized_start=17214 + _globals['_DOKICKOFF']._serialized_end=17225 + _globals['_DOMOVEBALL']._serialized_start=17227 + _globals['_DOMOVEBALL']._serialized_end=17317 + _globals['_DOMOVEPLAYER']._serialized_start=17319 + _globals['_DOMOVEPLAYER']._serialized_end=17438 + _globals['_DORECOVER']._serialized_start=17440 + _globals['_DORECOVER']._serialized_end=17451 + _globals['_DOCHANGEMODE']._serialized_start=17453 + _globals['_DOCHANGEMODE']._serialized_end=17541 + _globals['_DOCHANGEPLAYERTYPE']._serialized_start=17543 + _globals['_DOCHANGEPLAYERTYPE']._serialized_end=17619 + _globals['_TRAINERACTION']._serialized_start=17622 + _globals['_TRAINERACTION']._serialized_end=17931 + _globals['_TRAINERACTIONS']._serialized_start=17933 + _globals['_TRAINERACTIONS']._serialized_end=17989 + _globals['_SERVERPARAM']._serialized_start=17992 + _globals['_SERVERPARAM']._serialized_end=23717 + _globals['_PLAYERPARAM']._serialized_start=23720 + _globals['_PLAYERPARAM']._serialized_end=24757 + _globals['_PLAYERTYPE']._serialized_start=24760 + _globals['_PLAYERTYPE']._serialized_end=25719 + _globals['_RPCCOOPERATIVEACTION']._serialized_start=25722 + _globals['_RPCCOOPERATIVEACTION']._serialized_end=26151 + _globals['_RPCPREDICTSTATE']._serialized_start=26154 + _globals['_RPCPREDICTSTATE']._serialized_end=26361 + _globals['_RPCACTIONSTATE']._serialized_start=26364 + _globals['_RPCACTIONSTATE']._serialized_end=26494 + _globals['_BESTPLANNERACTIONREQUEST']._serialized_start=26497 + _globals['_BESTPLANNERACTIONREQUEST']._serialized_end=26736 + _globals['_BESTPLANNERACTIONREQUEST_PAIRSENTRY']._serialized_start=26668 + _globals['_BESTPLANNERACTIONREQUEST_PAIRSENTRY']._serialized_end=26736 + _globals['_BESTPLANNERACTIONRESPONSE']._serialized_start=26738 + _globals['_BESTPLANNERACTIONRESPONSE']._serialized_end=26780 + _globals['_EMPTY']._serialized_start=26782 + _globals['_EMPTY']._serialized_end=26789 + _globals['_GAME']._serialized_start=28228 + _globals['_GAME']._serialized_end=28863 # @@protoc_insertion_point(module_scope) diff --git a/service_pb2.pyi b/service_pb2.pyi index e2f3e17..4fe9818 100644 --- a/service_pb2.pyi +++ b/service_pb2.pyi @@ -346,7 +346,7 @@ class Player(_message.Message): def __init__(self, position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., seen_position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., heard_position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., velocity: _Optional[_Union[RpcVector2D, _Mapping]] = ..., seen_velocity: _Optional[_Union[RpcVector2D, _Mapping]] = ..., pos_count: _Optional[int] = ..., seen_pos_count: _Optional[int] = ..., heard_pos_count: _Optional[int] = ..., vel_count: _Optional[int] = ..., seen_vel_count: _Optional[int] = ..., ghost_count: _Optional[int] = ..., dist_from_self: _Optional[float] = ..., angle_from_self: _Optional[float] = ..., id: _Optional[int] = ..., side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., uniform_number_count: _Optional[int] = ..., is_goalie: bool = ..., body_direction: _Optional[float] = ..., body_direction_count: _Optional[int] = ..., face_direction: _Optional[float] = ..., face_direction_count: _Optional[int] = ..., point_to_direction: _Optional[float] = ..., point_to_direction_count: _Optional[int] = ..., is_kicking: bool = ..., dist_from_ball: _Optional[float] = ..., angle_from_ball: _Optional[float] = ..., ball_reach_steps: _Optional[int] = ..., is_tackling: bool = ..., type_id: _Optional[int] = ...) -> None: ... class Self(_message.Message): - __slots__ = ("position", "seen_position", "heard_position", "velocity", "seen_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "ghost_count", "id", "side", "uniform_number", "uniform_number_count", "is_goalie", "body_direction", "body_direction_count", "face_direction", "face_direction_count", "point_to_direction", "point_to_direction_count", "is_kicking", "dist_from_ball", "angle_from_ball", "ball_reach_steps", "is_tackling", "relative_neck_direction", "stamina", "is_kickable", "catch_probability", "tackle_probability", "foul_probability", "view_width", "type_id", "kick_rate", "recovery", "stamina_capacity", "card") + __slots__ = ("position", "seen_position", "heard_position", "velocity", "seen_velocity", "pos_count", "seen_pos_count", "heard_pos_count", "vel_count", "seen_vel_count", "ghost_count", "id", "side", "uniform_number", "uniform_number_count", "is_goalie", "body_direction", "body_direction_count", "face_direction", "face_direction_count", "point_to_direction", "point_to_direction_count", "is_kicking", "dist_from_ball", "angle_from_ball", "ball_reach_steps", "is_tackling", "relative_neck_direction", "stamina", "is_kickable", "catch_probability", "tackle_probability", "foul_probability", "view_width", "type_id", "kick_rate", "recovery", "stamina_capacity", "card", "catch_time") POSITION_FIELD_NUMBER: _ClassVar[int] SEEN_POSITION_FIELD_NUMBER: _ClassVar[int] HEARD_POSITION_FIELD_NUMBER: _ClassVar[int] @@ -386,6 +386,7 @@ class Self(_message.Message): RECOVERY_FIELD_NUMBER: _ClassVar[int] STAMINA_CAPACITY_FIELD_NUMBER: _ClassVar[int] CARD_FIELD_NUMBER: _ClassVar[int] + CATCH_TIME_FIELD_NUMBER: _ClassVar[int] position: RpcVector2D seen_position: RpcVector2D heard_position: RpcVector2D @@ -425,7 +426,8 @@ class Self(_message.Message): recovery: float stamina_capacity: float card: CardType - def __init__(self, position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., seen_position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., heard_position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., velocity: _Optional[_Union[RpcVector2D, _Mapping]] = ..., seen_velocity: _Optional[_Union[RpcVector2D, _Mapping]] = ..., pos_count: _Optional[int] = ..., seen_pos_count: _Optional[int] = ..., heard_pos_count: _Optional[int] = ..., vel_count: _Optional[int] = ..., seen_vel_count: _Optional[int] = ..., ghost_count: _Optional[int] = ..., id: _Optional[int] = ..., side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., uniform_number_count: _Optional[int] = ..., is_goalie: bool = ..., body_direction: _Optional[float] = ..., body_direction_count: _Optional[int] = ..., face_direction: _Optional[float] = ..., face_direction_count: _Optional[int] = ..., point_to_direction: _Optional[float] = ..., point_to_direction_count: _Optional[int] = ..., is_kicking: bool = ..., dist_from_ball: _Optional[float] = ..., angle_from_ball: _Optional[float] = ..., ball_reach_steps: _Optional[int] = ..., is_tackling: bool = ..., relative_neck_direction: _Optional[float] = ..., stamina: _Optional[float] = ..., is_kickable: bool = ..., catch_probability: _Optional[float] = ..., tackle_probability: _Optional[float] = ..., foul_probability: _Optional[float] = ..., view_width: _Optional[_Union[ViewWidth, str]] = ..., type_id: _Optional[int] = ..., kick_rate: _Optional[float] = ..., recovery: _Optional[float] = ..., stamina_capacity: _Optional[float] = ..., card: _Optional[_Union[CardType, str]] = ...) -> None: ... + catch_time: int + def __init__(self, position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., seen_position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., heard_position: _Optional[_Union[RpcVector2D, _Mapping]] = ..., velocity: _Optional[_Union[RpcVector2D, _Mapping]] = ..., seen_velocity: _Optional[_Union[RpcVector2D, _Mapping]] = ..., pos_count: _Optional[int] = ..., seen_pos_count: _Optional[int] = ..., heard_pos_count: _Optional[int] = ..., vel_count: _Optional[int] = ..., seen_vel_count: _Optional[int] = ..., ghost_count: _Optional[int] = ..., id: _Optional[int] = ..., side: _Optional[_Union[Side, str]] = ..., uniform_number: _Optional[int] = ..., uniform_number_count: _Optional[int] = ..., is_goalie: bool = ..., body_direction: _Optional[float] = ..., body_direction_count: _Optional[int] = ..., face_direction: _Optional[float] = ..., face_direction_count: _Optional[int] = ..., point_to_direction: _Optional[float] = ..., point_to_direction_count: _Optional[int] = ..., is_kicking: bool = ..., dist_from_ball: _Optional[float] = ..., angle_from_ball: _Optional[float] = ..., ball_reach_steps: _Optional[int] = ..., is_tackling: bool = ..., relative_neck_direction: _Optional[float] = ..., stamina: _Optional[float] = ..., is_kickable: bool = ..., catch_probability: _Optional[float] = ..., tackle_probability: _Optional[float] = ..., foul_probability: _Optional[float] = ..., view_width: _Optional[_Union[ViewWidth, str]] = ..., type_id: _Optional[int] = ..., kick_rate: _Optional[float] = ..., recovery: _Optional[float] = ..., stamina_capacity: _Optional[float] = ..., card: _Optional[_Union[CardType, str]] = ..., catch_time: _Optional[int] = ...) -> None: ... class InterceptInfo(_message.Message): __slots__ = ("action_type", "turn_steps", "turn_angle", "dash_steps", "dash_power", "dash_dir", "final_self_position", "final_ball_dist", "final_stamina", "value")