Messageholoholo.rpc
BattleEventProto
Nested types
- AbilityTrigger
- Attack
- AttackBoost
- AttackTelegraph
- BattleEnd
- BattleItem
- BattleJoin
- BattleLogMessage
- BattleQuit
- BattleSpinPokeball
- BattleToast
- BreadMove
- Cinematic
- Consensus
- Countdown
- Dodge
- DodgeSuccess
- EventType
- Flinch
- HolisticCountdown
- PositionalRosterEntry
- RecordLatency
- Shield
- SidelineAction
- StartBattle
- StatChange
- SwapPokemon
- TrainerAbility
- Transform
- Window
Used in (2)
- BattleStateProto.events
- SendBattleEventProto.battle_event
.proto source
// holo_protos.proto · package holoholo.rpc message BattleEventProto { EventType type = 1; string actor_id = 2; int64 turn = 27; int32 serial = 30; int32 client_event_id = 38; oneof event { BattleJoin battle_join = 3; BattleQuit battle_quit = 4; Attack attack = 5; Dodge dodge = 6; Shield shield = 7; SwapPokemon swap_pokemon = 8; BattleItem item = 9; TrainerAbility trainer_ability = 10; StatChange stat_change = 11; StartBattle start_battle = 12; Transform transform = 13; AbilityTrigger ability_trigger = 14; BattleEnd battle_end = 15; Countdown countdown = 16; DodgeSuccess dodge_success = 18; Flinch flinch = 19; BreadMove bread_move = 20; SidelineAction sideline_action = 21; AttackTelegraph attack_telegraph = 22; Cinematic cinematic = 24; Consensus consensus = 25; AttackBoost attack_boost = 26; Window window = 28; BattleLogMessage battle_log_message = 29; BattleSpinPokeball battle_spin_pokeball = 31; FastMovePredictionOverride fast_move_prediction_override = 35; HolisticCountdown holistic_countdown = 36; BattleToast battle_toast = 37; RecordLatency record_latency = 39; TriggerClockSync trigger_clock_sync = 41; } message AbilityTrigger { AbilityProto.AbilityType vfx_key = 1; bool stop_vfx = 2; } message Attack { BattlePokemonProto.MoveType attack_type = 1; float score = 2; HoloPokemonMove move = 3; HoloPokemonType type = 4; string target_id = 5; uint64 source_pokemon_id = 7; } message AttackBoost { int32 magnitude = 1; } message AttackTelegraph { AttackTargetType type = 1; enum AttackTargetType { ATTACK_TARGET_TYPE_UNSET = 0; ATTACK_TARGET_TYPE_ALL = 1; ATTACK_TARGET_TYPE_SINGLE = 2; } } message BattleEnd { Reason reason = 1; Result result = 2; enum Reason { REASON_UNSET_REASON = 0; REASON_ELIMINATION = 1; REASON_TIME_OUT = 2; REASON_SIDELINE_ELIMINATION = 3; REASON_SINGLE_TEAM_ELIMINATION = 4; REASON_SURRENDER = 5; REASON_PRE_BATTLE_START_TIMEOUT = 6; } enum Result { RESULT_UNSET_RESULT = 0; RESULT_WIN = 1; RESULT_LOSS = 2; RESULT_TIE = 3; } } message BattleItem { Item item = 1; } message BattleJoin { repeated PositionalRosterEntry roster = 1; repeated BattleResourceProto extra_resources = 2; PlayerMetadata player_metadata = 3; repeated string visible_player_origin_id = 4; message PlayerMetadata { string trainer_name = 1; string trainer_party_id = 2; FriendshipLevelMilestone max_friendship_level = 3; bool remote = 4; int32 num_local_friends = 5; int32 num_remote_friends = 6; string origin_id = 7; PlayerPublicProfileProto player_public_profile = 8; int32 mvt_avatar_customization_score = 9; double distance_from_raid_meters = 10; fixed64 buddy_pokemon_id = 11; double recent_distance_walked_km = 12; bool buddy_on_map = 13; BuddyLevel buddy_level = 14; int32 player_number = 15; AppliedBonusesProto battle_bonuses = 16; } } message BattleLogMessage { MessageStringKey message_string_key = 1; enum MessageStringKey { MESSAGE_STRING_KEY_UNSET = 0; MESSAGE_STRING_KEY_BEHEMOTH_BLADE_ADVENTURE_EFFECT_BATTLE_LOG = 1; MESSAGE_STRING_KEY_BEHEMOTH_BASH_ADVENTURE_EFFECT_BATTLE_LOG = 2; MESSAGE_STRING_KEY_DYNAMAX_CANNON_ADVENTURE_EFFECT_BATTLE_LOG = 3; MESSAGE_STRING_KEY_SHIELD_BREAK_ADVENTURE_EFFECT_BATTLE_LOG = 4; } } message BattleQuit { BattleQuitType type = 1; Window window = 2; enum BattleQuitType { BATTLE_QUIT_TYPE_UNSET_QUIT_TYPE = 0; BATTLE_QUIT_TYPE_PLAYER_QUIT = 1; BATTLE_QUIT_TYPE_DISCONNECT = 2; } } message BattleSpinPokeball { } message BattleToast { ToastType toast_type = 1; PokemonDisplayProto pokemon_display = 2; repeated HoloPokemonType boosted_types = 3; HoloPokemonId pokedex_id = 4; enum ToastType { TOAST_TYPE_UNSET = 0; TOAST_TYPE_MEGA_ENTERED_BATTLE = 1; TOAST_TYPE_MEGA_TYPE_ATTACKS_BOOSTED = 2; TOAST_TYPE_PRIMAL_ENTERED_BATTLE = 3; TOAST_TYPE_PRIMAL_TYPE_ATTACKS_BOOSTED = 4; } } message BreadMove { BreadMoveType type = 1; enum BreadMoveType { BREAD_MOVE_TYPE_UNSET = 0; BREAD_MOVE_TYPE_BREAD_ATTACK = 1; BREAD_MOVE_TYPE_BREAD_GUARD = 2; BREAD_MOVE_TYPE_BREAD_HEAL = 3; } } message Cinematic { CinematicType event_type = 1; int64 begin_turn = 2; int64 end_turn = 3; bool non_blocking = 7; oneof metadata { BreadMoveMetadata bread_move_metadata = 4; CoordinatedModeMetadata coordinated_mode_metadata = 6; } message BreadMoveMetadata { BattlePokemonProto.MoveType move_type = 1; } enum CinematicType { CINEMATIC_TYPE_UNSET = 0; CINEMATIC_TYPE_PREBREAD = 1; CINEMATIC_TYPE_BREAD = 2; CINEMATIC_TYPE_BREAD_MOVE = 3; CINEMATIC_TYPE_REVERT_BREAD = 4; CINEMATIC_TYPE_SWAP = 5; CINEMATIC_TYPE_FLY_IN_CM_MINIGAME = 6; CINEMATIC_TYPE_FLY_OUT_CM_MINIGAME = 7; CINEMATIC_TYPE_CM_MINIGAME = 8; CINEMATIC_TYPE_PREBATTLE = 9; CINEMATIC_TYPE_ENTER_STUN_MODE = 10; CINEMATIC_TYPE_EXIT_STUN_MODE = 11; CINEMATIC_TYPE_ENTER_COORDINATED_MODE = 12; CINEMATIC_TYPE_EXIT_COORDINATED_MODE = 13; CINEMATIC_TYPE_PRE_COORDINATED_MODE_BOSS_SHIELD = 14; CINEMATIC_TYPE_POST_COORDINATED_MODE_BOSS_ACTION = 15; CINEMATIC_TYPE_MORPEKO_FULL_BELLY_TO_HANGRY = 50; CINEMATIC_TYPE_MORPEKO_HANGRY_TO_FULL_BELLY = 51; CINEMATIC_TYPE_AEGISLASH_SHIELD_TO_BLADE = 52; CINEMATIC_TYPE_AEGISLASH_BLADE_TO_SHIELD = 53; CINEMATIC_TYPE_MIMIKYU_DISGUISE_BREAK = 54; CINEMATIC_TYPE_CRAMORANT_GULP_MISSILE_LOAD = 55; CINEMATIC_TYPE_CRAMORANT_GULP_MISSILE_LAUNCH_GULPING_FORM = 56; CINEMATIC_TYPE_CRAMORANT_GULP_MISSILE_LAUNCH_GORGING_FORM = 57; CINEMATIC_TYPE_MINIOR_METEOR_TO_CORE = 58; CINEMATIC_TYPE_MINIOR_CORE_TO_METEOR = 59; CINEMATIC_TYPE_WISHIWASHI_SOLO_TO_SCHOOL = 60; CINEMATIC_TYPE_WISHIWASHI_SCHOOL_TO_SOLO = 61; } message CoordinatedModeMetadata { float boss_shield_percentage = 1; } } message Consensus { int64 begin_turn = 1; int64 end_turn = 2; EventType unblocked_event_type = 3; ConcensusEventSubType consensus_event_subtype = 4; int64 vote_end_turn = 6; repeated EventType unblocked_event_types = 7; bool suppress_prediction = 8; HoloPokemonType charge_move_type = 9; BattlePokemonProto.MoveType attack_type = 10; enum ConcensusEventSubType { CONCENSUS_EVENT_SUB_TYPE_UNSET = 0; CONCENSUS_EVENT_SUB_TYPE_PENDING_SWAP = 1; CONCENSUS_EVENT_SUB_TYPE_PENDING_BREAD_MOVE_SELECT = 2; CONCENSUS_EVENT_SUB_TYPE_PENDING_MINIGAME = 3; CONCENSUS_EVENT_SUB_TYPE_PENDING_POKEMON_SELECT = 4; CONCENSUS_EVENT_SUB_TYPE_PENDING_BATTLE_START = 5; CONCENSUS_EVENT_SUB_TYPE_COORDINATED_MODE = 6; } } message Countdown { int32 countdown = 1; } message Dodge { Direction direction = 1; enum Direction { DIRECTION_UNSET_DIRECTION = 0; DIRECTION_LEFT = 1; DIRECTION_RIGHT = 2; DIRECTION_FORWARD = 3; DIRECTION_BACKWARD = 4; } } message DodgeSuccess { } enum EventType { EVENT_TYPE_UNSET_EVENT_TYPE = 0; EVENT_TYPE_START_BATTLE = 1; EVENT_TYPE_BATTLE_JOIN = 2; EVENT_TYPE_BATTLE_QUIT = 3; EVENT_TYPE_ATTACK = 4; EVENT_TYPE_DODGE = 5; EVENT_TYPE_SHIELD = 6; EVENT_TYPE_SWAP_POKEMON = 7; EVENT_TYPE_ITEM = 8; EVENT_TYPE_ACTOR_ABILITY = 9; EVENT_TYPE_STAT_CHANGE = 10; EVENT_TYPE_ATTACK_TELEGRAPH = 11; EVENT_TYPE_MINIGAME = 12; EVENT_TYPE_TRANSFORM = 15; EVENT_TYPE_ABILITY_TRIGGER = 16; EVENT_TYPE_ACTOR_MOVE = 17; EVENT_TYPE_BATTLE_END = 18; EVENT_TYPE_COUNTDOWN = 19; EVENT_TYPE_DODGE_SUCCESS = 21; EVENT_TYPE_FLINCH = 22; EVENT_TYPE_BREAD_MODE = 23; EVENT_TYPE_BREAD_MOVE = 24; EVENT_TYPE_SIDELINE_ACTION = 25; EVENT_TYPE_ADD_FIELD_ACTOR = 26; EVENT_TYPE_REMOVE_FIELD_ACTOR = 27; EVENT_TYPE_ENRAGE = 28; EVENT_TYPE_ENRAGE_TELEGRAPH = 29; EVENT_TYPE_MODIFY_ACTOR_AURA = 30; EVENT_TYPE_CINEMATIC = 31; EVENT_TYPE_CONSENSUS = 32; EVENT_TYPE_BREAD_MODE_REVERT = 33; EVENT_TYPE_ATTACK_BOOST = 34; EVENT_TYPE_WINDOW = 35; EVENT_TYPE_BATTLE_LOG_MESSAGE = 36; EVENT_TYPE_BATTLE_SPIN_POKEBALL = 37; EVENT_TYPE_READY = 41; EVENT_TYPE_FAST_MOVE_PREDICTION_OVERRIDE = 42; EVENT_TYPE_HOLISTIC_COUNTDOWN = 43; EVENT_TYPE_BATTLE_TOAST = 44; EVENT_TYPE_RECORD_LATENCY = 45; EVENT_TYPE_TRIGGER_CLOCK_SYNC = 47; } message Flinch { Effectiveness effectiveness = 1; bool suppress_animation = 3; bool blocked = 4; enum Effectiveness { EFFECTIVENESS_UNSET = 0; EFFECTIVENESS_NOT_VERY_EFFECTIVE = 1; EFFECTIVENESS_SUPER_EFFECTIVE = 2; } } message HolisticCountdown { int64 setup_end_turn = 1; int64 countdown_start_turn = 2; int64 countdown_end_turn = 3; int32 countdown_start_number = 4; } message PositionalRosterEntry { int32 position_x = 1; int32 position_y = 2; int32 start_energy = 3; repeated MaxMoves max_moves = 5; oneof roster_object { PokemonProto pokemon = 4; } message MaxMoves { BreadMove.BreadMoveType move_type = 1; HoloPokemonMove max_move = 2; } } message RecordLatency { map<int32, int64> event_latencies = 1; map<int64, int64> get_state_receive_time_ms = 2; } message Shield { } message SidelineAction { SidelineActionType type = 1; bool dispatch_globally = 2; enum SidelineActionType { SIDELINE_ACTION_TYPE_UNSET = 0; SIDELINE_ACTION_TYPE_FAST = 1; SIDELINE_ACTION_TYPE_CHARGE = 2; } } message StartBattle { } message StatChange { repeated StatStage stat_stage = 1; message StatStage { StatStageType type = 1; int32 delta = 2; enum StatStageType { STAT_STAGE_TYPE_UNSET_STAT_CHANGE = 0; STAT_STAGE_TYPE_ATTACK = 1; STAT_STAGE_TYPE_DEFENSE = 2; STAT_STAGE_TYPE_STAMINA = 3; } } } message SwapPokemon { uint64 outgoing_pokemon_id = 1; uint64 incoming_pokemon_id = 2; } message TrainerAbility { TrainerAbilityType ability = 1; enum TrainerAbilityType { TRAINER_ABILITY_TYPE_UNSET_TRAINER_ABILITY_TYPE = 0; TRAINER_ABILITY_TYPE_PARTY_POWER = 1; } } message Transform { AbilityProto.AbilityType vfx_key = 1; } message Window { int32 one = 1; int32 two = 2; map<int32, int32> three = 3; map<string, int32> four = 4; } }