mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
gameevent parsing
This commit is contained in:
parent
cc7f9a48cd
commit
bac1159e39
5 changed files with 694 additions and 713 deletions
|
|
@ -1,6 +1,7 @@
|
|||
use std::collections::HashMap;
|
||||
use crate::{Result, ParseError};
|
||||
use super::gamevent::{FromGameEventValue, GameEventValue, FromRawGameEvent, RawGameEvent};
|
||||
use bitstream_reader::BitRead;
|
||||
|
||||
/// auto generated
|
||||
pub struct ServerSpawnEvent {
|
||||
|
|
@ -7643,326 +7644,646 @@ pub enum GameEvent {
|
|||
ReplayServerError(ReplayServerErrorEvent)
|
||||
}
|
||||
|
||||
#[derive(BitRead, Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
||||
#[discriminant_bits = 9]
|
||||
pub enum GameEventType {
|
||||
ServerSpawn = 0,
|
||||
ServerShutdown = 1,
|
||||
ServerCvar = 2,
|
||||
ServerMessage = 3,
|
||||
ServerAddBan = 4,
|
||||
ServerRemoveBan = 5,
|
||||
PlayerConnect = 6,
|
||||
PlayerConnectClient = 7,
|
||||
PlayerInfo = 8,
|
||||
PlayerDisconnect = 9,
|
||||
PlayerActivate = 10,
|
||||
PlayerSay = 11,
|
||||
ClientDisconnect = 12,
|
||||
ClientBeginConnect = 13,
|
||||
ClientConnected = 14,
|
||||
ClientFullConnect = 15,
|
||||
HostQuit = 16,
|
||||
TeamInfo = 17,
|
||||
TeamScore = 18,
|
||||
TeamPlayBroadcastAudio = 19,
|
||||
PlayerTeam = 20,
|
||||
PlayerClass = 21,
|
||||
PlayerDeath = 22,
|
||||
PlayerHurt = 23,
|
||||
PlayerChat = 24,
|
||||
PlayerScore = 25,
|
||||
PlayerSpawn = 26,
|
||||
PlayerShoot = 27,
|
||||
PlayerUse = 28,
|
||||
PlayerChangeName = 29,
|
||||
PlayerHintMessage = 30,
|
||||
BasePlayerTeleported = 31,
|
||||
GameInit = 32,
|
||||
GameNewMap = 33,
|
||||
GameStart = 34,
|
||||
GameEnd = 35,
|
||||
RoundStart = 36,
|
||||
RoundEnd = 37,
|
||||
GameMessage = 38,
|
||||
BreakBreakable = 39,
|
||||
BreakProp = 40,
|
||||
EntityKilled = 41,
|
||||
BonusUpdated = 42,
|
||||
AchievementEvent = 43,
|
||||
AchievementIncrement = 44,
|
||||
PhysgunPickup = 45,
|
||||
FlareIgniteNpc = 46,
|
||||
HelicopterGrenadePuntMiss = 47,
|
||||
UserDataDownloaded = 48,
|
||||
RagdollDissolved = 49,
|
||||
HLTVChangedMode = 50,
|
||||
HLTVChangedTarget = 51,
|
||||
VoteEnded = 52,
|
||||
VoteStarted = 53,
|
||||
VoteChanged = 54,
|
||||
VotePassed = 55,
|
||||
VoteFailed = 56,
|
||||
VoteCast = 57,
|
||||
VoteOptions = 58,
|
||||
ReplaySaved = 59,
|
||||
EnteredPerformanceMode = 60,
|
||||
BrowseReplays = 61,
|
||||
ReplayYoutubeStats = 62,
|
||||
InventoryUpdated = 63,
|
||||
CartUpdated = 64,
|
||||
StorePricesheetUpdated = 65,
|
||||
GcConnected = 66,
|
||||
ItemSchemaInitialized = 67,
|
||||
IntroFinish = 68,
|
||||
IntroNextCamera = 69,
|
||||
MmLobbyChat = 70,
|
||||
MmLobbyMemberJoin = 71,
|
||||
MmLobbyMemberLeave = 72,
|
||||
PlayerChangeClass = 73,
|
||||
TfMapTimeRemaining = 74,
|
||||
TfGameOver = 75,
|
||||
CtfFlagCaptured = 76,
|
||||
ControlPointInitialized = 77,
|
||||
ControlPointUpdateImages = 78,
|
||||
ControlPointUpdateLayout = 79,
|
||||
ControlPointUpdateCapping = 80,
|
||||
ControlPointUpdateOwner = 81,
|
||||
ControlPointStartTouch = 82,
|
||||
ControlPointEndTouch = 83,
|
||||
ControlPointPulseElement = 84,
|
||||
ControlPointFakeCapture = 85,
|
||||
ControlPointFakeCaptureMult = 86,
|
||||
TeamPlayRoundSelected = 87,
|
||||
TeamPlayRoundStart = 88,
|
||||
TeamPlayRoundActive = 89,
|
||||
TeamPlayWaitingBegins = 90,
|
||||
TeamPlayWaitingEnds = 91,
|
||||
TeamPlayWaitingAboutToEnd = 92,
|
||||
TeamPlayRestartRound = 93,
|
||||
TeamPlayReadyRestart = 94,
|
||||
TeamPlayRoundRestartSeconds = 95,
|
||||
TeamPlayTeamReady = 96,
|
||||
TeamPlayRoundWin = 97,
|
||||
TeamPlayUpdateTimer = 98,
|
||||
TeamPlayRoundStalemate = 99,
|
||||
TeamPlayOvertimeBegin = 100,
|
||||
TeamPlayOvertimeEnd = 101,
|
||||
TeamPlaySuddenDeathBegin = 102,
|
||||
TeamPlaySuddenDeathEnd = 103,
|
||||
TeamPlayGameOver = 104,
|
||||
TeamPlayMapTimeRemaining = 105,
|
||||
TeamPlayTimerFlash = 106,
|
||||
TeamPlayTimerTimeAdded = 107,
|
||||
TeamPlayPointStartCapture = 108,
|
||||
TeamPlayPointCaptured = 109,
|
||||
TeamPlayPointLocked = 110,
|
||||
TeamPlayPointUnlocked = 111,
|
||||
TeamPlayCaptureBroken = 112,
|
||||
TeamPlayCaptureBlocked = 113,
|
||||
TeamPlayFlagEvent = 114,
|
||||
TeamPlayWinPanel = 115,
|
||||
TeamPlayTeambalancedPlayer = 116,
|
||||
TeamPlaySetupFinished = 117,
|
||||
TeamPlayAlert = 118,
|
||||
TrainingComplete = 119,
|
||||
ShowFreezePanel = 120,
|
||||
HideFreezePanel = 121,
|
||||
FreezeCamStarted = 122,
|
||||
LocalPlayerChangeTeam = 123,
|
||||
LocalPlayerScoreChanged = 124,
|
||||
LocalPlayerChangeClass = 125,
|
||||
LocalPlayerRespawn = 126,
|
||||
BuildingInfoChanged = 127,
|
||||
LocalPlayerChangeDisguise = 128,
|
||||
PlayerAccountChanged = 129,
|
||||
SpyPdaReset = 130,
|
||||
FlagStatusUpdate = 131,
|
||||
PlayerStatsUpdated = 132,
|
||||
PlayingCommentary = 133,
|
||||
PlayerChargedeployed = 134,
|
||||
PlayerBuiltObject = 135,
|
||||
PlayerUpgradedObject = 136,
|
||||
PlayerCarryObject = 137,
|
||||
PlayerDropObject = 138,
|
||||
ObjectRemoved = 139,
|
||||
ObjectDestroyed = 140,
|
||||
ObjectDetonated = 141,
|
||||
AchievementEarned = 142,
|
||||
SpecTargetUpdated = 143,
|
||||
TournamentStateUpdate = 144,
|
||||
TournamentEnableCountdown = 145,
|
||||
PlayerCalledForMedic = 146,
|
||||
LocalPlayerBecameObserver = 147,
|
||||
PlayerIgnitedInv = 148,
|
||||
PlayerIgnited = 149,
|
||||
PlayerExtinguished = 150,
|
||||
PlayerTeleported = 151,
|
||||
PlayerHealedMedicCall = 152,
|
||||
LocalPlayerChargeReady = 153,
|
||||
LocalPlayerWinddown = 154,
|
||||
PlayerInvulned = 155,
|
||||
EscortSpeed = 156,
|
||||
EscortProgress = 157,
|
||||
EscortRecede = 158,
|
||||
GameUIActivated = 159,
|
||||
GameUIHidden = 160,
|
||||
PlayerEscortScore = 161,
|
||||
PlayerHealOnHit = 162,
|
||||
PlayerStealsandvich = 163,
|
||||
ShowClassLayout = 164,
|
||||
ShowVsPanel = 165,
|
||||
PlayerDamaged = 166,
|
||||
ArenaPlayerNotification = 167,
|
||||
ArenaMatchMaxStreak = 168,
|
||||
ArenaRoundStart = 169,
|
||||
ArenaWinPanel = 170,
|
||||
PveWinPanel = 171,
|
||||
AirDash = 172,
|
||||
Landed = 173,
|
||||
PlayerDamageDodged = 174,
|
||||
PlayerStunned = 175,
|
||||
ScoutGrandSlam = 176,
|
||||
ScoutSlamdollLanded = 177,
|
||||
ArrowImpact = 178,
|
||||
PlayerJarated = 179,
|
||||
PlayerJaratedFade = 180,
|
||||
PlayerShieldBlocked = 181,
|
||||
PlayerPinned = 182,
|
||||
PlayerHealedByMedic = 183,
|
||||
PlayerSappedObject = 184,
|
||||
ItemFound = 185,
|
||||
ShowAnnotation = 186,
|
||||
HideAnnotation = 187,
|
||||
PostInventoryApplication = 188,
|
||||
ControlPointUnlockUpdated = 189,
|
||||
DeployBuffBanner = 190,
|
||||
PlayerBuff = 191,
|
||||
MedicDeath = 192,
|
||||
OvertimeNag = 193,
|
||||
TeamsChanged = 194,
|
||||
HalloweenPumpkinGrab = 195,
|
||||
RocketJump = 196,
|
||||
RocketJumpLanded = 197,
|
||||
StickyJump = 198,
|
||||
StickyJumpLanded = 199,
|
||||
MedicDefended = 200,
|
||||
LocalPlayerHealed = 201,
|
||||
PlayerDestroyedPipeBomb = 202,
|
||||
ObjectDeflected = 203,
|
||||
PlayerMvp = 204,
|
||||
RaidSpawnMob = 205,
|
||||
RaidSpawnSquad = 206,
|
||||
NavBlocked = 207,
|
||||
PathTrackPassed = 208,
|
||||
NumCappersChanged = 209,
|
||||
PlayerRegenerate = 210,
|
||||
UpdateStatusItem = 211,
|
||||
StatsResetRound = 212,
|
||||
ScoreStatsAccumulatedUpdate = 213,
|
||||
ScoreStatsAccumulatedReset = 214,
|
||||
AchievementEarnedLocal = 215,
|
||||
PlayerHealed = 216,
|
||||
BuildingHealed = 217,
|
||||
ItemPickup = 218,
|
||||
DuelStatus = 219,
|
||||
FishNotice = 220,
|
||||
FishNoticeArm = 221,
|
||||
ThrowableHit = 222,
|
||||
PumpkinLordSummoned = 223,
|
||||
PumpkinLordKilled = 224,
|
||||
MerasmusSummoned = 225,
|
||||
MerasmusKilled = 226,
|
||||
MerasmusEscapeWarning = 227,
|
||||
MerasmusEscaped = 228,
|
||||
EyeballBossSummoned = 229,
|
||||
EyeballBossStunned = 230,
|
||||
EyeballBossKilled = 231,
|
||||
EyeballBossKiller = 232,
|
||||
EyeballBossEscapeImminent = 233,
|
||||
EyeballBossEscaped = 234,
|
||||
NpcHurt = 235,
|
||||
ControlPointTimerUpdated = 236,
|
||||
PlayerHighfiveStart = 237,
|
||||
PlayerHighfiveCancel = 238,
|
||||
PlayerHighfiveSuccess = 239,
|
||||
PlayerBonusPoints = 240,
|
||||
PlayerUpgraded = 241,
|
||||
PlayerBuyback = 242,
|
||||
PlayerUsedPowerUpBottle = 243,
|
||||
ChristmasGiftGrab = 244,
|
||||
PlayerKilledAchievementZone = 245,
|
||||
PartyUpdated = 246,
|
||||
LobbyUpdated = 247,
|
||||
MvmMissionUpdate = 248,
|
||||
RecalculateHolidays = 249,
|
||||
PlayerCurrencyChanged = 250,
|
||||
DoomsdayRocketOpen = 251,
|
||||
RemoveNemesisRelationships = 252,
|
||||
MvmCreditBonusWave = 253,
|
||||
MvmCreditBonusAll = 254,
|
||||
MvmCreditBonusAllAdvanced = 255,
|
||||
MvmQuickSentryUpgrade = 256,
|
||||
MvmTankDestroyedByPlayers = 257,
|
||||
MvmKillRobotDeliveringBomb = 258,
|
||||
MvmPickupCurrency = 259,
|
||||
MvmBombCarrierKilled = 260,
|
||||
MvmSentryBusterDetonate = 261,
|
||||
MvmScoutMarkedForDeath = 262,
|
||||
MvmMedicPowerupShared = 263,
|
||||
MvmBeginWave = 264,
|
||||
MvmWaveComplete = 265,
|
||||
MvmMissionComplete = 266,
|
||||
MvmBombResetByPlayer = 267,
|
||||
MvmBombAlarmTriggered = 268,
|
||||
MvmBombDeployResetByPlayer = 269,
|
||||
MvmWaveFailed = 270,
|
||||
MvmResetStats = 271,
|
||||
DamageResisted = 272,
|
||||
RevivePlayerNotify = 273,
|
||||
RevivePlayerStopped = 274,
|
||||
RevivePlayerComplete = 275,
|
||||
PlayerTurnedToGhost = 276,
|
||||
MedigunShieldBlockedDamage = 277,
|
||||
MvmAdvWaveCompleteNoGates = 278,
|
||||
MvmSniperHeadshotCurrency = 279,
|
||||
MvmMannhattanPit = 280,
|
||||
FlagCarriedInDetectionZone = 281,
|
||||
MvmAdvWaveKilledStunRadio = 282,
|
||||
PlayerDirecthitStun = 283,
|
||||
MvmSentryBusterKilled = 284,
|
||||
UpgradesFileChanged = 285,
|
||||
RdTeamPointsChanged = 286,
|
||||
RdRulesStateChanged = 287,
|
||||
RdRobotKilled = 288,
|
||||
RdRobotImpact = 289,
|
||||
TeamPlayPreRoundTimeLeft = 290,
|
||||
ParachuteDeploy = 291,
|
||||
ParachuteHolster = 292,
|
||||
KillRefillsMeter = 293,
|
||||
RpsTauntEvent = 294,
|
||||
CongaKill = 295,
|
||||
PlayerInitialSpawn = 296,
|
||||
CompetitiveVictory = 297,
|
||||
CompetitiveSkillratingUpdate = 298,
|
||||
MiniGameWin = 299,
|
||||
SentryOnGoActive = 300,
|
||||
DuckXpLevelUp = 301,
|
||||
HLTVStatus = 302,
|
||||
HLTVCameraman = 303,
|
||||
HLTVRankCamera = 304,
|
||||
HLTVRankEntity = 305,
|
||||
HLTVFixed = 306,
|
||||
HLTVChase = 307,
|
||||
HLTVMessage = 308,
|
||||
HLTVTitle = 309,
|
||||
HLTVChat = 310,
|
||||
ReplayStartRecord = 311,
|
||||
ReplaySessionInfo = 312,
|
||||
ReplayEndRecord = 313,
|
||||
ReplayReplaysAvailable = 314,
|
||||
ReplayServerError = 315
|
||||
}
|
||||
|
||||
impl GameEvent {
|
||||
fn from_raw_event(event: RawGameEvent) -> Result<Self> {
|
||||
Ok(match event.name.as_str() {
|
||||
"server_spawn" => GameEvent::ServerSpawn(ServerSpawnEvent::from_raw_event(event.values)?),
|
||||
"server_shutdown" => GameEvent::ServerShutdown(ServerShutdownEvent::from_raw_event(event.values)?),
|
||||
"server_cvar" => GameEvent::ServerCvar(ServerCvarEvent::from_raw_event(event.values)?),
|
||||
"server_message" => GameEvent::ServerMessage(ServerMessageEvent::from_raw_event(event.values)?),
|
||||
"server_addban" => GameEvent::ServerAddBan(ServerAddBanEvent::from_raw_event(event.values)?),
|
||||
"server_removeban" => GameEvent::ServerRemoveBan(ServerRemoveBanEvent::from_raw_event(event.values)?),
|
||||
"player_connect" => GameEvent::PlayerConnect(PlayerConnectEvent::from_raw_event(event.values)?),
|
||||
"player_connect_client" => GameEvent::PlayerConnectClient(PlayerConnectClientEvent::from_raw_event(event.values)?),
|
||||
"player_info" => GameEvent::PlayerInfo(PlayerInfoEvent::from_raw_event(event.values)?),
|
||||
"player_disconnect" => GameEvent::PlayerDisconnect(PlayerDisconnectEvent::from_raw_event(event.values)?),
|
||||
"player_activate" => GameEvent::PlayerActivate(PlayerActivateEvent::from_raw_event(event.values)?),
|
||||
"player_say" => GameEvent::PlayerSay(PlayerSayEvent::from_raw_event(event.values)?),
|
||||
"client_disconnect" => GameEvent::ClientDisconnect(ClientDisconnectEvent::from_raw_event(event.values)?),
|
||||
"client_beginconnect" => GameEvent::ClientBeginConnect(ClientBeginConnectEvent::from_raw_event(event.values)?),
|
||||
"client_connected" => GameEvent::ClientConnected(ClientConnectedEvent::from_raw_event(event.values)?),
|
||||
"client_fullconnect" => GameEvent::ClientFullConnect(ClientFullConnectEvent::from_raw_event(event.values)?),
|
||||
"host_quit" => GameEvent::HostQuit(HostQuitEvent::from_raw_event(event.values)?),
|
||||
"team_info" => GameEvent::TeamInfo(TeamInfoEvent::from_raw_event(event.values)?),
|
||||
"team_score" => GameEvent::TeamScore(TeamScoreEvent::from_raw_event(event.values)?),
|
||||
"teamplay_broadcast_audio" => GameEvent::TeamPlayBroadcastAudio(TeamPlayBroadcastAudioEvent::from_raw_event(event.values)?),
|
||||
"player_team" => GameEvent::PlayerTeam(PlayerTeamEvent::from_raw_event(event.values)?),
|
||||
"player_class" => GameEvent::PlayerClass(PlayerClassEvent::from_raw_event(event.values)?),
|
||||
"player_death" => GameEvent::PlayerDeath(PlayerDeathEvent::from_raw_event(event.values)?),
|
||||
"player_hurt" => GameEvent::PlayerHurt(PlayerHurtEvent::from_raw_event(event.values)?),
|
||||
"player_chat" => GameEvent::PlayerChat(PlayerChatEvent::from_raw_event(event.values)?),
|
||||
"player_score" => GameEvent::PlayerScore(PlayerScoreEvent::from_raw_event(event.values)?),
|
||||
"player_spawn" => GameEvent::PlayerSpawn(PlayerSpawnEvent::from_raw_event(event.values)?),
|
||||
"player_shoot" => GameEvent::PlayerShoot(PlayerShootEvent::from_raw_event(event.values)?),
|
||||
"player_use" => GameEvent::PlayerUse(PlayerUseEvent::from_raw_event(event.values)?),
|
||||
"player_changename" => GameEvent::PlayerChangeName(PlayerChangeNameEvent::from_raw_event(event.values)?),
|
||||
"player_hintmessage" => GameEvent::PlayerHintMessage(PlayerHintMessageEvent::from_raw_event(event.values)?),
|
||||
"base_player_teleported" => GameEvent::BasePlayerTeleported(BasePlayerTeleportedEvent::from_raw_event(event.values)?),
|
||||
"game_init" => GameEvent::GameInit(GameInitEvent::from_raw_event(event.values)?),
|
||||
"game_newmap" => GameEvent::GameNewMap(GameNewMapEvent::from_raw_event(event.values)?),
|
||||
"game_start" => GameEvent::GameStart(GameStartEvent::from_raw_event(event.values)?),
|
||||
"game_end" => GameEvent::GameEnd(GameEndEvent::from_raw_event(event.values)?),
|
||||
"round_start" => GameEvent::RoundStart(RoundStartEvent::from_raw_event(event.values)?),
|
||||
"round_end" => GameEvent::RoundEnd(RoundEndEvent::from_raw_event(event.values)?),
|
||||
"game_message" => GameEvent::GameMessage(GameMessageEvent::from_raw_event(event.values)?),
|
||||
"break_breakable" => GameEvent::BreakBreakable(BreakBreakableEvent::from_raw_event(event.values)?),
|
||||
"break_prop" => GameEvent::BreakProp(BreakPropEvent::from_raw_event(event.values)?),
|
||||
"entity_killed" => GameEvent::EntityKilled(EntityKilledEvent::from_raw_event(event.values)?),
|
||||
"bonus_updated" => GameEvent::BonusUpdated(BonusUpdatedEvent::from_raw_event(event.values)?),
|
||||
"achievement_event" => GameEvent::AchievementEvent(AchievementEventEvent::from_raw_event(event.values)?),
|
||||
"achievement_increment" => GameEvent::AchievementIncrement(AchievementIncrementEvent::from_raw_event(event.values)?),
|
||||
"physgun_pickup" => GameEvent::PhysgunPickup(PhysgunPickupEvent::from_raw_event(event.values)?),
|
||||
"flare_ignite_npc" => GameEvent::FlareIgniteNpc(FlareIgniteNpcEvent::from_raw_event(event.values)?),
|
||||
"helicopter_grenade_punt_miss" => GameEvent::HelicopterGrenadePuntMiss(HelicopterGrenadePuntMissEvent::from_raw_event(event.values)?),
|
||||
"user_data_downloaded" => GameEvent::UserDataDownloaded(UserDataDownloadedEvent::from_raw_event(event.values)?),
|
||||
"ragdoll_dissolved" => GameEvent::RagdollDissolved(RagdollDissolvedEvent::from_raw_event(event.values)?),
|
||||
"hltv_changed_mode" => GameEvent::HLTVChangedMode(HLTVChangedModeEvent::from_raw_event(event.values)?),
|
||||
"hltv_changed_target" => GameEvent::HLTVChangedTarget(HLTVChangedTargetEvent::from_raw_event(event.values)?),
|
||||
"vote_ended" => GameEvent::VoteEnded(VoteEndedEvent::from_raw_event(event.values)?),
|
||||
"vote_started" => GameEvent::VoteStarted(VoteStartedEvent::from_raw_event(event.values)?),
|
||||
"vote_changed" => GameEvent::VoteChanged(VoteChangedEvent::from_raw_event(event.values)?),
|
||||
"vote_passed" => GameEvent::VotePassed(VotePassedEvent::from_raw_event(event.values)?),
|
||||
"vote_failed" => GameEvent::VoteFailed(VoteFailedEvent::from_raw_event(event.values)?),
|
||||
"vote_cast" => GameEvent::VoteCast(VoteCastEvent::from_raw_event(event.values)?),
|
||||
"vote_options" => GameEvent::VoteOptions(VoteOptionsEvent::from_raw_event(event.values)?),
|
||||
"replay_saved" => GameEvent::ReplaySaved(ReplaySavedEvent::from_raw_event(event.values)?),
|
||||
"entered_performance_mode" => GameEvent::EnteredPerformanceMode(EnteredPerformanceModeEvent::from_raw_event(event.values)?),
|
||||
"browse_replays" => GameEvent::BrowseReplays(BrowseReplaysEvent::from_raw_event(event.values)?),
|
||||
"replay_youtube_stats" => GameEvent::ReplayYoutubeStats(ReplayYoutubeStatsEvent::from_raw_event(event.values)?),
|
||||
"inventory_updated" => GameEvent::InventoryUpdated(InventoryUpdatedEvent::from_raw_event(event.values)?),
|
||||
"cart_updated" => GameEvent::CartUpdated(CartUpdatedEvent::from_raw_event(event.values)?),
|
||||
"store_pricesheet_updated" => GameEvent::StorePricesheetUpdated(StorePricesheetUpdatedEvent::from_raw_event(event.values)?),
|
||||
"gc_connected" => GameEvent::GcConnected(GcConnectedEvent::from_raw_event(event.values)?),
|
||||
"item_schema_initialized" => GameEvent::ItemSchemaInitialized(ItemSchemaInitializedEvent::from_raw_event(event.values)?),
|
||||
"intro_finish" => GameEvent::IntroFinish(IntroFinishEvent::from_raw_event(event.values)?),
|
||||
"intro_nextcamera" => GameEvent::IntroNextCamera(IntroNextCameraEvent::from_raw_event(event.values)?),
|
||||
"mm_lobby_chat" => GameEvent::MmLobbyChat(MmLobbyChatEvent::from_raw_event(event.values)?),
|
||||
"mm_lobby_member_join" => GameEvent::MmLobbyMemberJoin(MmLobbyMemberJoinEvent::from_raw_event(event.values)?),
|
||||
"mm_lobby_member_leave" => GameEvent::MmLobbyMemberLeave(MmLobbyMemberLeaveEvent::from_raw_event(event.values)?),
|
||||
"player_changeclass" => GameEvent::PlayerChangeClass(PlayerChangeClassEvent::from_raw_event(event.values)?),
|
||||
"tf_map_time_remaining" => GameEvent::TfMapTimeRemaining(TfMapTimeRemainingEvent::from_raw_event(event.values)?),
|
||||
"tf_game_over" => GameEvent::TfGameOver(TfGameOverEvent::from_raw_event(event.values)?),
|
||||
"ctf_flag_captured" => GameEvent::CtfFlagCaptured(CtfFlagCapturedEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_initialized" => GameEvent::ControlPointInitialized(ControlPointInitializedEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_updateimages" => GameEvent::ControlPointUpdateImages(ControlPointUpdateImagesEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_updatelayout" => GameEvent::ControlPointUpdateLayout(ControlPointUpdateLayoutEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_updatecapping" => GameEvent::ControlPointUpdateCapping(ControlPointUpdateCappingEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_updateowner" => GameEvent::ControlPointUpdateOwner(ControlPointUpdateOwnerEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_starttouch" => GameEvent::ControlPointStartTouch(ControlPointStartTouchEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_endtouch" => GameEvent::ControlPointEndTouch(ControlPointEndTouchEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_pulse_element" => GameEvent::ControlPointPulseElement(ControlPointPulseElementEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_fake_capture" => GameEvent::ControlPointFakeCapture(ControlPointFakeCaptureEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_fake_capture_mult" => GameEvent::ControlPointFakeCaptureMult(ControlPointFakeCaptureMultEvent::from_raw_event(event.values)?),
|
||||
"teamplay_round_selected" => GameEvent::TeamPlayRoundSelected(TeamPlayRoundSelectedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_round_start" => GameEvent::TeamPlayRoundStart(TeamPlayRoundStartEvent::from_raw_event(event.values)?),
|
||||
"teamplay_round_active" => GameEvent::TeamPlayRoundActive(TeamPlayRoundActiveEvent::from_raw_event(event.values)?),
|
||||
"teamplay_waiting_begins" => GameEvent::TeamPlayWaitingBegins(TeamPlayWaitingBeginsEvent::from_raw_event(event.values)?),
|
||||
"teamplay_waiting_ends" => GameEvent::TeamPlayWaitingEnds(TeamPlayWaitingEndsEvent::from_raw_event(event.values)?),
|
||||
"teamplay_waiting_abouttoend" => GameEvent::TeamPlayWaitingAboutToEnd(TeamPlayWaitingAboutToEndEvent::from_raw_event(event.values)?),
|
||||
"teamplay_restart_round" => GameEvent::TeamPlayRestartRound(TeamPlayRestartRoundEvent::from_raw_event(event.values)?),
|
||||
"teamplay_ready_restart" => GameEvent::TeamPlayReadyRestart(TeamPlayReadyRestartEvent::from_raw_event(event.values)?),
|
||||
"teamplay_round_restart_seconds" => GameEvent::TeamPlayRoundRestartSeconds(TeamPlayRoundRestartSecondsEvent::from_raw_event(event.values)?),
|
||||
"teamplay_team_ready" => GameEvent::TeamPlayTeamReady(TeamPlayTeamReadyEvent::from_raw_event(event.values)?),
|
||||
"teamplay_round_win" => GameEvent::TeamPlayRoundWin(TeamPlayRoundWinEvent::from_raw_event(event.values)?),
|
||||
"teamplay_update_timer" => GameEvent::TeamPlayUpdateTimer(TeamPlayUpdateTimerEvent::from_raw_event(event.values)?),
|
||||
"teamplay_round_stalemate" => GameEvent::TeamPlayRoundStalemate(TeamPlayRoundStalemateEvent::from_raw_event(event.values)?),
|
||||
"teamplay_overtime_begin" => GameEvent::TeamPlayOvertimeBegin(TeamPlayOvertimeBeginEvent::from_raw_event(event.values)?),
|
||||
"teamplay_overtime_end" => GameEvent::TeamPlayOvertimeEnd(TeamPlayOvertimeEndEvent::from_raw_event(event.values)?),
|
||||
"teamplay_suddendeath_begin" => GameEvent::TeamPlaySuddenDeathBegin(TeamPlaySuddenDeathBeginEvent::from_raw_event(event.values)?),
|
||||
"teamplay_suddendeath_end" => GameEvent::TeamPlaySuddenDeathEnd(TeamPlaySuddenDeathEndEvent::from_raw_event(event.values)?),
|
||||
"teamplay_game_over" => GameEvent::TeamPlayGameOver(TeamPlayGameOverEvent::from_raw_event(event.values)?),
|
||||
"teamplay_map_time_remaining" => GameEvent::TeamPlayMapTimeRemaining(TeamPlayMapTimeRemainingEvent::from_raw_event(event.values)?),
|
||||
"teamplay_timer_flash" => GameEvent::TeamPlayTimerFlash(TeamPlayTimerFlashEvent::from_raw_event(event.values)?),
|
||||
"teamplay_timer_time_added" => GameEvent::TeamPlayTimerTimeAdded(TeamPlayTimerTimeAddedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_point_startcapture" => GameEvent::TeamPlayPointStartCapture(TeamPlayPointStartCaptureEvent::from_raw_event(event.values)?),
|
||||
"teamplay_point_captured" => GameEvent::TeamPlayPointCaptured(TeamPlayPointCapturedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_point_locked" => GameEvent::TeamPlayPointLocked(TeamPlayPointLockedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_point_unlocked" => GameEvent::TeamPlayPointUnlocked(TeamPlayPointUnlockedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_capture_broken" => GameEvent::TeamPlayCaptureBroken(TeamPlayCaptureBrokenEvent::from_raw_event(event.values)?),
|
||||
"teamplay_capture_blocked" => GameEvent::TeamPlayCaptureBlocked(TeamPlayCaptureBlockedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_flag_event" => GameEvent::TeamPlayFlagEvent(TeamPlayFlagEventEvent::from_raw_event(event.values)?),
|
||||
"teamplay_win_panel" => GameEvent::TeamPlayWinPanel(TeamPlayWinPanelEvent::from_raw_event(event.values)?),
|
||||
"teamplay_teambalanced_player" => GameEvent::TeamPlayTeambalancedPlayer(TeamPlayTeambalancedPlayerEvent::from_raw_event(event.values)?),
|
||||
"teamplay_setup_finished" => GameEvent::TeamPlaySetupFinished(TeamPlaySetupFinishedEvent::from_raw_event(event.values)?),
|
||||
"teamplay_alert" => GameEvent::TeamPlayAlert(TeamPlayAlertEvent::from_raw_event(event.values)?),
|
||||
"training_complete" => GameEvent::TrainingComplete(TrainingCompleteEvent::from_raw_event(event.values)?),
|
||||
"show_freezepanel" => GameEvent::ShowFreezePanel(ShowFreezePanelEvent::from_raw_event(event.values)?),
|
||||
"hide_freezepanel" => GameEvent::HideFreezePanel(HideFreezePanelEvent::from_raw_event(event.values)?),
|
||||
"freezecam_started" => GameEvent::FreezeCamStarted(FreezeCamStartedEvent::from_raw_event(event.values)?),
|
||||
"localplayer_changeteam" => GameEvent::LocalPlayerChangeTeam(LocalPlayerChangeTeamEvent::from_raw_event(event.values)?),
|
||||
"localplayer_score_changed" => GameEvent::LocalPlayerScoreChanged(LocalPlayerScoreChangedEvent::from_raw_event(event.values)?),
|
||||
"localplayer_changeclass" => GameEvent::LocalPlayerChangeClass(LocalPlayerChangeClassEvent::from_raw_event(event.values)?),
|
||||
"localplayer_respawn" => GameEvent::LocalPlayerRespawn(LocalPlayerRespawnEvent::from_raw_event(event.values)?),
|
||||
"building_info_changed" => GameEvent::BuildingInfoChanged(BuildingInfoChangedEvent::from_raw_event(event.values)?),
|
||||
"localplayer_changedisguise" => GameEvent::LocalPlayerChangeDisguise(LocalPlayerChangeDisguiseEvent::from_raw_event(event.values)?),
|
||||
"player_account_changed" => GameEvent::PlayerAccountChanged(PlayerAccountChangedEvent::from_raw_event(event.values)?),
|
||||
"spy_pda_reset" => GameEvent::SpyPdaReset(SpyPdaResetEvent::from_raw_event(event.values)?),
|
||||
"flagstatus_update" => GameEvent::FlagStatusUpdate(FlagStatusUpdateEvent::from_raw_event(event.values)?),
|
||||
"player_stats_updated" => GameEvent::PlayerStatsUpdated(PlayerStatsUpdatedEvent::from_raw_event(event.values)?),
|
||||
"playing_commentary" => GameEvent::PlayingCommentary(PlayingCommentaryEvent::from_raw_event(event.values)?),
|
||||
"player_chargedeployed" => GameEvent::PlayerChargedeployed(PlayerChargedeployedEvent::from_raw_event(event.values)?),
|
||||
"player_builtobject" => GameEvent::PlayerBuiltObject(PlayerBuiltObjectEvent::from_raw_event(event.values)?),
|
||||
"player_upgradedobject" => GameEvent::PlayerUpgradedObject(PlayerUpgradedObjectEvent::from_raw_event(event.values)?),
|
||||
"player_carryobject" => GameEvent::PlayerCarryObject(PlayerCarryObjectEvent::from_raw_event(event.values)?),
|
||||
"player_dropobject" => GameEvent::PlayerDropObject(PlayerDropObjectEvent::from_raw_event(event.values)?),
|
||||
"object_removed" => GameEvent::ObjectRemoved(ObjectRemovedEvent::from_raw_event(event.values)?),
|
||||
"object_destroyed" => GameEvent::ObjectDestroyed(ObjectDestroyedEvent::from_raw_event(event.values)?),
|
||||
"object_detonated" => GameEvent::ObjectDetonated(ObjectDetonatedEvent::from_raw_event(event.values)?),
|
||||
"achievement_earned" => GameEvent::AchievementEarned(AchievementEarnedEvent::from_raw_event(event.values)?),
|
||||
"spec_target_updated" => GameEvent::SpecTargetUpdated(SpecTargetUpdatedEvent::from_raw_event(event.values)?),
|
||||
"tournament_stateupdate" => GameEvent::TournamentStateUpdate(TournamentStateUpdateEvent::from_raw_event(event.values)?),
|
||||
"tournament_enablecountdown" => GameEvent::TournamentEnableCountdown(TournamentEnableCountdownEvent::from_raw_event(event.values)?),
|
||||
"player_calledformedic" => GameEvent::PlayerCalledForMedic(PlayerCalledForMedicEvent::from_raw_event(event.values)?),
|
||||
"localplayer_becameobserver" => GameEvent::LocalPlayerBecameObserver(LocalPlayerBecameObserverEvent::from_raw_event(event.values)?),
|
||||
"player_ignited_inv" => GameEvent::PlayerIgnitedInv(PlayerIgnitedInvEvent::from_raw_event(event.values)?),
|
||||
"player_ignited" => GameEvent::PlayerIgnited(PlayerIgnitedEvent::from_raw_event(event.values)?),
|
||||
"player_extinguished" => GameEvent::PlayerExtinguished(PlayerExtinguishedEvent::from_raw_event(event.values)?),
|
||||
"player_teleported" => GameEvent::PlayerTeleported(PlayerTeleportedEvent::from_raw_event(event.values)?),
|
||||
"player_healedmediccall" => GameEvent::PlayerHealedMedicCall(PlayerHealedMedicCallEvent::from_raw_event(event.values)?),
|
||||
"localplayer_chargeready" => GameEvent::LocalPlayerChargeReady(LocalPlayerChargeReadyEvent::from_raw_event(event.values)?),
|
||||
"localplayer_winddown" => GameEvent::LocalPlayerWinddown(LocalPlayerWinddownEvent::from_raw_event(event.values)?),
|
||||
"player_invulned" => GameEvent::PlayerInvulned(PlayerInvulnedEvent::from_raw_event(event.values)?),
|
||||
"escort_speed" => GameEvent::EscortSpeed(EscortSpeedEvent::from_raw_event(event.values)?),
|
||||
"escort_progress" => GameEvent::EscortProgress(EscortProgressEvent::from_raw_event(event.values)?),
|
||||
"escort_recede" => GameEvent::EscortRecede(EscortRecedeEvent::from_raw_event(event.values)?),
|
||||
"gameui_activated" => GameEvent::GameUIActivated(GameUIActivatedEvent::from_raw_event(event.values)?),
|
||||
"gameui_hidden" => GameEvent::GameUIHidden(GameUIHiddenEvent::from_raw_event(event.values)?),
|
||||
"player_escort_score" => GameEvent::PlayerEscortScore(PlayerEscortScoreEvent::from_raw_event(event.values)?),
|
||||
"player_healonhit" => GameEvent::PlayerHealOnHit(PlayerHealOnHitEvent::from_raw_event(event.values)?),
|
||||
"player_stealsandvich" => GameEvent::PlayerStealsandvich(PlayerStealsandvichEvent::from_raw_event(event.values)?),
|
||||
"show_class_layout" => GameEvent::ShowClassLayout(ShowClassLayoutEvent::from_raw_event(event.values)?),
|
||||
"show_vs_panel" => GameEvent::ShowVsPanel(ShowVsPanelEvent::from_raw_event(event.values)?),
|
||||
"player_damaged" => GameEvent::PlayerDamaged(PlayerDamagedEvent::from_raw_event(event.values)?),
|
||||
"arena_player_notification" => GameEvent::ArenaPlayerNotification(ArenaPlayerNotificationEvent::from_raw_event(event.values)?),
|
||||
"arena_match_maxstreak" => GameEvent::ArenaMatchMaxStreak(ArenaMatchMaxStreakEvent::from_raw_event(event.values)?),
|
||||
"arena_round_start" => GameEvent::ArenaRoundStart(ArenaRoundStartEvent::from_raw_event(event.values)?),
|
||||
"arena_win_panel" => GameEvent::ArenaWinPanel(ArenaWinPanelEvent::from_raw_event(event.values)?),
|
||||
"pve_win_panel" => GameEvent::PveWinPanel(PveWinPanelEvent::from_raw_event(event.values)?),
|
||||
"air_dash" => GameEvent::AirDash(AirDashEvent::from_raw_event(event.values)?),
|
||||
"landed" => GameEvent::Landed(LandedEvent::from_raw_event(event.values)?),
|
||||
"player_damage_dodged" => GameEvent::PlayerDamageDodged(PlayerDamageDodgedEvent::from_raw_event(event.values)?),
|
||||
"player_stunned" => GameEvent::PlayerStunned(PlayerStunnedEvent::from_raw_event(event.values)?),
|
||||
"scout_grand_slam" => GameEvent::ScoutGrandSlam(ScoutGrandSlamEvent::from_raw_event(event.values)?),
|
||||
"scout_slamdoll_landed" => GameEvent::ScoutSlamdollLanded(ScoutSlamdollLandedEvent::from_raw_event(event.values)?),
|
||||
"arrow_impact" => GameEvent::ArrowImpact(ArrowImpactEvent::from_raw_event(event.values)?),
|
||||
"player_jarated" => GameEvent::PlayerJarated(PlayerJaratedEvent::from_raw_event(event.values)?),
|
||||
"player_jarated_fade" => GameEvent::PlayerJaratedFade(PlayerJaratedFadeEvent::from_raw_event(event.values)?),
|
||||
"player_shield_blocked" => GameEvent::PlayerShieldBlocked(PlayerShieldBlockedEvent::from_raw_event(event.values)?),
|
||||
"player_pinned" => GameEvent::PlayerPinned(PlayerPinnedEvent::from_raw_event(event.values)?),
|
||||
"player_healedbymedic" => GameEvent::PlayerHealedByMedic(PlayerHealedByMedicEvent::from_raw_event(event.values)?),
|
||||
"player_sapped_object" => GameEvent::PlayerSappedObject(PlayerSappedObjectEvent::from_raw_event(event.values)?),
|
||||
"item_found" => GameEvent::ItemFound(ItemFoundEvent::from_raw_event(event.values)?),
|
||||
"show_annotation" => GameEvent::ShowAnnotation(ShowAnnotationEvent::from_raw_event(event.values)?),
|
||||
"hide_annotation" => GameEvent::HideAnnotation(HideAnnotationEvent::from_raw_event(event.values)?),
|
||||
"post_inventory_application" => GameEvent::PostInventoryApplication(PostInventoryApplicationEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_unlock_updated" => GameEvent::ControlPointUnlockUpdated(ControlPointUnlockUpdatedEvent::from_raw_event(event.values)?),
|
||||
"deploy_buff_banner" => GameEvent::DeployBuffBanner(DeployBuffBannerEvent::from_raw_event(event.values)?),
|
||||
"player_buff" => GameEvent::PlayerBuff(PlayerBuffEvent::from_raw_event(event.values)?),
|
||||
"medic_death" => GameEvent::MedicDeath(MedicDeathEvent::from_raw_event(event.values)?),
|
||||
"overtime_nag" => GameEvent::OvertimeNag(OvertimeNagEvent::from_raw_event(event.values)?),
|
||||
"teams_changed" => GameEvent::TeamsChanged(TeamsChangedEvent::from_raw_event(event.values)?),
|
||||
"halloween_pumpkin_grab" => GameEvent::HalloweenPumpkinGrab(HalloweenPumpkinGrabEvent::from_raw_event(event.values)?),
|
||||
"rocket_jump" => GameEvent::RocketJump(RocketJumpEvent::from_raw_event(event.values)?),
|
||||
"rocket_jump_landed" => GameEvent::RocketJumpLanded(RocketJumpLandedEvent::from_raw_event(event.values)?),
|
||||
"sticky_jump" => GameEvent::StickyJump(StickyJumpEvent::from_raw_event(event.values)?),
|
||||
"sticky_jump_landed" => GameEvent::StickyJumpLanded(StickyJumpLandedEvent::from_raw_event(event.values)?),
|
||||
"medic_defended" => GameEvent::MedicDefended(MedicDefendedEvent::from_raw_event(event.values)?),
|
||||
"localplayer_healed" => GameEvent::LocalPlayerHealed(LocalPlayerHealedEvent::from_raw_event(event.values)?),
|
||||
"player_destroyed_pipebomb" => GameEvent::PlayerDestroyedPipeBomb(PlayerDestroyedPipeBombEvent::from_raw_event(event.values)?),
|
||||
"object_deflected" => GameEvent::ObjectDeflected(ObjectDeflectedEvent::from_raw_event(event.values)?),
|
||||
"player_mvp" => GameEvent::PlayerMvp(PlayerMvpEvent::from_raw_event(event.values)?),
|
||||
"raid_spawn_mob" => GameEvent::RaidSpawnMob(RaidSpawnMobEvent::from_raw_event(event.values)?),
|
||||
"raid_spawn_squad" => GameEvent::RaidSpawnSquad(RaidSpawnSquadEvent::from_raw_event(event.values)?),
|
||||
"nav_blocked" => GameEvent::NavBlocked(NavBlockedEvent::from_raw_event(event.values)?),
|
||||
"path_track_passed" => GameEvent::PathTrackPassed(PathTrackPassedEvent::from_raw_event(event.values)?),
|
||||
"num_cappers_changed" => GameEvent::NumCappersChanged(NumCappersChangedEvent::from_raw_event(event.values)?),
|
||||
"player_regenerate" => GameEvent::PlayerRegenerate(PlayerRegenerateEvent::from_raw_event(event.values)?),
|
||||
"update_status_item" => GameEvent::UpdateStatusItem(UpdateStatusItemEvent::from_raw_event(event.values)?),
|
||||
"stats_resetround" => GameEvent::StatsResetRound(StatsResetRoundEvent::from_raw_event(event.values)?),
|
||||
"scorestats_accumulated_update" => GameEvent::ScoreStatsAccumulatedUpdate(ScoreStatsAccumulatedUpdateEvent::from_raw_event(event.values)?),
|
||||
"scorestats_accumulated_reset" => GameEvent::ScoreStatsAccumulatedReset(ScoreStatsAccumulatedResetEvent::from_raw_event(event.values)?),
|
||||
"achievement_earned_local" => GameEvent::AchievementEarnedLocal(AchievementEarnedLocalEvent::from_raw_event(event.values)?),
|
||||
"player_healed" => GameEvent::PlayerHealed(PlayerHealedEvent::from_raw_event(event.values)?),
|
||||
"building_healed" => GameEvent::BuildingHealed(BuildingHealedEvent::from_raw_event(event.values)?),
|
||||
"item_pickup" => GameEvent::ItemPickup(ItemPickupEvent::from_raw_event(event.values)?),
|
||||
"duel_status" => GameEvent::DuelStatus(DuelStatusEvent::from_raw_event(event.values)?),
|
||||
"fish_notice" => GameEvent::FishNotice(FishNoticeEvent::from_raw_event(event.values)?),
|
||||
"fish_notice__arm" => GameEvent::FishNoticeArm(FishNoticeArmEvent::from_raw_event(event.values)?),
|
||||
"throwable_hit" => GameEvent::ThrowableHit(ThrowableHitEvent::from_raw_event(event.values)?),
|
||||
"pumpkin_lord_summoned" => GameEvent::PumpkinLordSummoned(PumpkinLordSummonedEvent::from_raw_event(event.values)?),
|
||||
"pumpkin_lord_killed" => GameEvent::PumpkinLordKilled(PumpkinLordKilledEvent::from_raw_event(event.values)?),
|
||||
"merasmus_summoned" => GameEvent::MerasmusSummoned(MerasmusSummonedEvent::from_raw_event(event.values)?),
|
||||
"merasmus_killed" => GameEvent::MerasmusKilled(MerasmusKilledEvent::from_raw_event(event.values)?),
|
||||
"merasmus_escape_warning" => GameEvent::MerasmusEscapeWarning(MerasmusEscapeWarningEvent::from_raw_event(event.values)?),
|
||||
"merasmus_escaped" => GameEvent::MerasmusEscaped(MerasmusEscapedEvent::from_raw_event(event.values)?),
|
||||
"eyeball_boss_summoned" => GameEvent::EyeballBossSummoned(EyeballBossSummonedEvent::from_raw_event(event.values)?),
|
||||
"eyeball_boss_stunned" => GameEvent::EyeballBossStunned(EyeballBossStunnedEvent::from_raw_event(event.values)?),
|
||||
"eyeball_boss_killed" => GameEvent::EyeballBossKilled(EyeballBossKilledEvent::from_raw_event(event.values)?),
|
||||
"eyeball_boss_killer" => GameEvent::EyeballBossKiller(EyeballBossKillerEvent::from_raw_event(event.values)?),
|
||||
"eyeball_boss_escape_imminent" => GameEvent::EyeballBossEscapeImminent(EyeballBossEscapeImminentEvent::from_raw_event(event.values)?),
|
||||
"eyeball_boss_escaped" => GameEvent::EyeballBossEscaped(EyeballBossEscapedEvent::from_raw_event(event.values)?),
|
||||
"npc_hurt" => GameEvent::NpcHurt(NpcHurtEvent::from_raw_event(event.values)?),
|
||||
"controlpoint_timer_updated" => GameEvent::ControlPointTimerUpdated(ControlPointTimerUpdatedEvent::from_raw_event(event.values)?),
|
||||
"player_highfive_start" => GameEvent::PlayerHighfiveStart(PlayerHighfiveStartEvent::from_raw_event(event.values)?),
|
||||
"player_highfive_cancel" => GameEvent::PlayerHighfiveCancel(PlayerHighfiveCancelEvent::from_raw_event(event.values)?),
|
||||
"player_highfive_success" => GameEvent::PlayerHighfiveSuccess(PlayerHighfiveSuccessEvent::from_raw_event(event.values)?),
|
||||
"player_bonuspoints" => GameEvent::PlayerBonusPoints(PlayerBonusPointsEvent::from_raw_event(event.values)?),
|
||||
"player_upgraded" => GameEvent::PlayerUpgraded(PlayerUpgradedEvent::from_raw_event(event.values)?),
|
||||
"player_buyback" => GameEvent::PlayerBuyback(PlayerBuybackEvent::from_raw_event(event.values)?),
|
||||
"player_used_powerup_bottle" => GameEvent::PlayerUsedPowerUpBottle(PlayerUsedPowerUpBottleEvent::from_raw_event(event.values)?),
|
||||
"christmas_gift_grab" => GameEvent::ChristmasGiftGrab(ChristmasGiftGrabEvent::from_raw_event(event.values)?),
|
||||
"player_killed_achievement_zone" => GameEvent::PlayerKilledAchievementZone(PlayerKilledAchievementZoneEvent::from_raw_event(event.values)?),
|
||||
"party_updated" => GameEvent::PartyUpdated(PartyUpdatedEvent::from_raw_event(event.values)?),
|
||||
"lobby_updated" => GameEvent::LobbyUpdated(LobbyUpdatedEvent::from_raw_event(event.values)?),
|
||||
"mvm_mission_update" => GameEvent::MvmMissionUpdate(MvmMissionUpdateEvent::from_raw_event(event.values)?),
|
||||
"recalculate_holidays" => GameEvent::RecalculateHolidays(RecalculateHolidaysEvent::from_raw_event(event.values)?),
|
||||
"player_currency_changed" => GameEvent::PlayerCurrencyChanged(PlayerCurrencyChangedEvent::from_raw_event(event.values)?),
|
||||
"doomsday_rocket_open" => GameEvent::DoomsdayRocketOpen(DoomsdayRocketOpenEvent::from_raw_event(event.values)?),
|
||||
"remove_nemesis_relationships" => GameEvent::RemoveNemesisRelationships(RemoveNemesisRelationshipsEvent::from_raw_event(event.values)?),
|
||||
"mvm_creditbonus_wave" => GameEvent::MvmCreditBonusWave(MvmCreditBonusWaveEvent::from_raw_event(event.values)?),
|
||||
"mvm_creditbonus_all" => GameEvent::MvmCreditBonusAll(MvmCreditBonusAllEvent::from_raw_event(event.values)?),
|
||||
"mvm_creditbonus_all_advanced" => GameEvent::MvmCreditBonusAllAdvanced(MvmCreditBonusAllAdvancedEvent::from_raw_event(event.values)?),
|
||||
"mvm_quick_sentry_upgrade" => GameEvent::MvmQuickSentryUpgrade(MvmQuickSentryUpgradeEvent::from_raw_event(event.values)?),
|
||||
"mvm_tank_destroyed_by_players" => GameEvent::MvmTankDestroyedByPlayers(MvmTankDestroyedByPlayersEvent::from_raw_event(event.values)?),
|
||||
"mvm_kill_robot_delivering_bomb" => GameEvent::MvmKillRobotDeliveringBomb(MvmKillRobotDeliveringBombEvent::from_raw_event(event.values)?),
|
||||
"mvm_pickup_currency" => GameEvent::MvmPickupCurrency(MvmPickupCurrencyEvent::from_raw_event(event.values)?),
|
||||
"mvm_bomb_carrier_killed" => GameEvent::MvmBombCarrierKilled(MvmBombCarrierKilledEvent::from_raw_event(event.values)?),
|
||||
"mvm_sentrybuster_detonate" => GameEvent::MvmSentryBusterDetonate(MvmSentryBusterDetonateEvent::from_raw_event(event.values)?),
|
||||
"mvm_scout_marked_for_death" => GameEvent::MvmScoutMarkedForDeath(MvmScoutMarkedForDeathEvent::from_raw_event(event.values)?),
|
||||
"mvm_medic_powerup_shared" => GameEvent::MvmMedicPowerupShared(MvmMedicPowerupSharedEvent::from_raw_event(event.values)?),
|
||||
"mvm_begin_wave" => GameEvent::MvmBeginWave(MvmBeginWaveEvent::from_raw_event(event.values)?),
|
||||
"mvm_wave_complete" => GameEvent::MvmWaveComplete(MvmWaveCompleteEvent::from_raw_event(event.values)?),
|
||||
"mvm_mission_complete" => GameEvent::MvmMissionComplete(MvmMissionCompleteEvent::from_raw_event(event.values)?),
|
||||
"mvm_bomb_reset_by_player" => GameEvent::MvmBombResetByPlayer(MvmBombResetByPlayerEvent::from_raw_event(event.values)?),
|
||||
"mvm_bomb_alarm_triggered" => GameEvent::MvmBombAlarmTriggered(MvmBombAlarmTriggeredEvent::from_raw_event(event.values)?),
|
||||
"mvm_bomb_deploy_reset_by_player" => GameEvent::MvmBombDeployResetByPlayer(MvmBombDeployResetByPlayerEvent::from_raw_event(event.values)?),
|
||||
"mvm_wave_failed" => GameEvent::MvmWaveFailed(MvmWaveFailedEvent::from_raw_event(event.values)?),
|
||||
"mvm_reset_stats" => GameEvent::MvmResetStats(MvmResetStatsEvent::from_raw_event(event.values)?),
|
||||
"damage_resisted" => GameEvent::DamageResisted(DamageResistedEvent::from_raw_event(event.values)?),
|
||||
"revive_player_notify" => GameEvent::RevivePlayerNotify(RevivePlayerNotifyEvent::from_raw_event(event.values)?),
|
||||
"revive_player_stopped" => GameEvent::RevivePlayerStopped(RevivePlayerStoppedEvent::from_raw_event(event.values)?),
|
||||
"revive_player_complete" => GameEvent::RevivePlayerComplete(RevivePlayerCompleteEvent::from_raw_event(event.values)?),
|
||||
"player_turned_to_ghost" => GameEvent::PlayerTurnedToGhost(PlayerTurnedToGhostEvent::from_raw_event(event.values)?),
|
||||
"medigun_shield_blocked_damage" => GameEvent::MedigunShieldBlockedDamage(MedigunShieldBlockedDamageEvent::from_raw_event(event.values)?),
|
||||
"mvm_adv_wave_complete_no_gates" => GameEvent::MvmAdvWaveCompleteNoGates(MvmAdvWaveCompleteNoGatesEvent::from_raw_event(event.values)?),
|
||||
"mvm_sniper_headshot_currency" => GameEvent::MvmSniperHeadshotCurrency(MvmSniperHeadshotCurrencyEvent::from_raw_event(event.values)?),
|
||||
"mvm_mannhattan_pit" => GameEvent::MvmMannhattanPit(MvmMannhattanPitEvent::from_raw_event(event.values)?),
|
||||
"flag_carried_in_detection_zone" => GameEvent::FlagCarriedInDetectionZone(FlagCarriedInDetectionZoneEvent::from_raw_event(event.values)?),
|
||||
"mvm_adv_wave_killed_stun_radio" => GameEvent::MvmAdvWaveKilledStunRadio(MvmAdvWaveKilledStunRadioEvent::from_raw_event(event.values)?),
|
||||
"player_directhit_stun" => GameEvent::PlayerDirecthitStun(PlayerDirecthitStunEvent::from_raw_event(event.values)?),
|
||||
"mvm_sentrybuster_killed" => GameEvent::MvmSentryBusterKilled(MvmSentryBusterKilledEvent::from_raw_event(event.values)?),
|
||||
"upgrades_file_changed" => GameEvent::UpgradesFileChanged(UpgradesFileChangedEvent::from_raw_event(event.values)?),
|
||||
"rd_team_points_changed" => GameEvent::RdTeamPointsChanged(RdTeamPointsChangedEvent::from_raw_event(event.values)?),
|
||||
"rd_rules_state_changed" => GameEvent::RdRulesStateChanged(RdRulesStateChangedEvent::from_raw_event(event.values)?),
|
||||
"rd_robot_killed" => GameEvent::RdRobotKilled(RdRobotKilledEvent::from_raw_event(event.values)?),
|
||||
"rd_robot_impact" => GameEvent::RdRobotImpact(RdRobotImpactEvent::from_raw_event(event.values)?),
|
||||
"teamplay_pre_round_time_left" => GameEvent::TeamPlayPreRoundTimeLeft(TeamPlayPreRoundTimeLeftEvent::from_raw_event(event.values)?),
|
||||
"parachute_deploy" => GameEvent::ParachuteDeploy(ParachuteDeployEvent::from_raw_event(event.values)?),
|
||||
"parachute_holster" => GameEvent::ParachuteHolster(ParachuteHolsterEvent::from_raw_event(event.values)?),
|
||||
"kill_refills_meter" => GameEvent::KillRefillsMeter(KillRefillsMeterEvent::from_raw_event(event.values)?),
|
||||
"rps_taunt_event" => GameEvent::RpsTauntEvent(RpsTauntEventEvent::from_raw_event(event.values)?),
|
||||
"conga_kill" => GameEvent::CongaKill(CongaKillEvent::from_raw_event(event.values)?),
|
||||
"player_initial_spawn" => GameEvent::PlayerInitialSpawn(PlayerInitialSpawnEvent::from_raw_event(event.values)?),
|
||||
"competitive_victory" => GameEvent::CompetitiveVictory(CompetitiveVictoryEvent::from_raw_event(event.values)?),
|
||||
"competitive_skillrating_update" => GameEvent::CompetitiveSkillratingUpdate(CompetitiveSkillratingUpdateEvent::from_raw_event(event.values)?),
|
||||
"minigame_win" => GameEvent::MiniGameWin(MiniGameWinEvent::from_raw_event(event.values)?),
|
||||
"sentry_on_go_active" => GameEvent::SentryOnGoActive(SentryOnGoActiveEvent::from_raw_event(event.values)?),
|
||||
"duck_xp_level_up" => GameEvent::DuckXpLevelUp(DuckXpLevelUpEvent::from_raw_event(event.values)?),
|
||||
"hltv_status" => GameEvent::HLTVStatus(HLTVStatusEvent::from_raw_event(event.values)?),
|
||||
"hltv_cameraman" => GameEvent::HLTVCameraman(HLTVCameramanEvent::from_raw_event(event.values)?),
|
||||
"hltv_rank_camera" => GameEvent::HLTVRankCamera(HLTVRankCameraEvent::from_raw_event(event.values)?),
|
||||
"hltv_rank_entity" => GameEvent::HLTVRankEntity(HLTVRankEntityEvent::from_raw_event(event.values)?),
|
||||
"hltv_fixed" => GameEvent::HLTVFixed(HLTVFixedEvent::from_raw_event(event.values)?),
|
||||
"hltv_chase" => GameEvent::HLTVChase(HLTVChaseEvent::from_raw_event(event.values)?),
|
||||
"hltv_message" => GameEvent::HLTVMessage(HLTVMessageEvent::from_raw_event(event.values)?),
|
||||
"hltv_title" => GameEvent::HLTVTitle(HLTVTitleEvent::from_raw_event(event.values)?),
|
||||
"hltv_chat" => GameEvent::HLTVChat(HLTVChatEvent::from_raw_event(event.values)?),
|
||||
"replay_startrecord" => GameEvent::ReplayStartRecord(ReplayStartRecordEvent::from_raw_event(event.values)?),
|
||||
"replay_sessioninfo" => GameEvent::ReplaySessionInfo(ReplaySessionInfoEvent::from_raw_event(event.values)?),
|
||||
"replay_endrecord" => GameEvent::ReplayEndRecord(ReplayEndRecordEvent::from_raw_event(event.values)?),
|
||||
"replay_replaysavailable" => GameEvent::ReplayReplaysAvailable(ReplayReplaysAvailableEvent::from_raw_event(event.values)?),
|
||||
"replay_servererror" => GameEvent::ReplayServerError(ReplayServerErrorEvent::from_raw_event(event.values)?),
|
||||
_ => return Err(ParseError::UnknownGameEvent(event.name))
|
||||
pub fn from_raw_event(event: RawGameEvent) -> Result<Self> {
|
||||
Ok(match event.event_type {
|
||||
GameEventType::ServerSpawn => GameEvent::ServerSpawn(ServerSpawnEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ServerShutdown => GameEvent::ServerShutdown(ServerShutdownEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ServerCvar => GameEvent::ServerCvar(ServerCvarEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ServerMessage => GameEvent::ServerMessage(ServerMessageEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ServerAddBan => GameEvent::ServerAddBan(ServerAddBanEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ServerRemoveBan => GameEvent::ServerRemoveBan(ServerRemoveBanEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerConnect => GameEvent::PlayerConnect(PlayerConnectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerConnectClient => GameEvent::PlayerConnectClient(PlayerConnectClientEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerInfo => GameEvent::PlayerInfo(PlayerInfoEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDisconnect => GameEvent::PlayerDisconnect(PlayerDisconnectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerActivate => GameEvent::PlayerActivate(PlayerActivateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerSay => GameEvent::PlayerSay(PlayerSayEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ClientDisconnect => GameEvent::ClientDisconnect(ClientDisconnectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ClientBeginConnect => GameEvent::ClientBeginConnect(ClientBeginConnectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ClientConnected => GameEvent::ClientConnected(ClientConnectedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ClientFullConnect => GameEvent::ClientFullConnect(ClientFullConnectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HostQuit => GameEvent::HostQuit(HostQuitEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamInfo => GameEvent::TeamInfo(TeamInfoEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamScore => GameEvent::TeamScore(TeamScoreEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayBroadcastAudio => GameEvent::TeamPlayBroadcastAudio(TeamPlayBroadcastAudioEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerTeam => GameEvent::PlayerTeam(PlayerTeamEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerClass => GameEvent::PlayerClass(PlayerClassEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDeath => GameEvent::PlayerDeath(PlayerDeathEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHurt => GameEvent::PlayerHurt(PlayerHurtEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerChat => GameEvent::PlayerChat(PlayerChatEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerScore => GameEvent::PlayerScore(PlayerScoreEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerSpawn => GameEvent::PlayerSpawn(PlayerSpawnEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerShoot => GameEvent::PlayerShoot(PlayerShootEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerUse => GameEvent::PlayerUse(PlayerUseEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerChangeName => GameEvent::PlayerChangeName(PlayerChangeNameEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHintMessage => GameEvent::PlayerHintMessage(PlayerHintMessageEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BasePlayerTeleported => GameEvent::BasePlayerTeleported(BasePlayerTeleportedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameInit => GameEvent::GameInit(GameInitEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameNewMap => GameEvent::GameNewMap(GameNewMapEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameStart => GameEvent::GameStart(GameStartEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameEnd => GameEvent::GameEnd(GameEndEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RoundStart => GameEvent::RoundStart(RoundStartEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RoundEnd => GameEvent::RoundEnd(RoundEndEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameMessage => GameEvent::GameMessage(GameMessageEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BreakBreakable => GameEvent::BreakBreakable(BreakBreakableEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BreakProp => GameEvent::BreakProp(BreakPropEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EntityKilled => GameEvent::EntityKilled(EntityKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BonusUpdated => GameEvent::BonusUpdated(BonusUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::AchievementEvent => GameEvent::AchievementEvent(AchievementEventEvent::from_raw_event(event.values)?),
|
||||
GameEventType::AchievementIncrement => GameEvent::AchievementIncrement(AchievementIncrementEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PhysgunPickup => GameEvent::PhysgunPickup(PhysgunPickupEvent::from_raw_event(event.values)?),
|
||||
GameEventType::FlareIgniteNpc => GameEvent::FlareIgniteNpc(FlareIgniteNpcEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HelicopterGrenadePuntMiss => GameEvent::HelicopterGrenadePuntMiss(HelicopterGrenadePuntMissEvent::from_raw_event(event.values)?),
|
||||
GameEventType::UserDataDownloaded => GameEvent::UserDataDownloaded(UserDataDownloadedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RagdollDissolved => GameEvent::RagdollDissolved(RagdollDissolvedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVChangedMode => GameEvent::HLTVChangedMode(HLTVChangedModeEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVChangedTarget => GameEvent::HLTVChangedTarget(HLTVChangedTargetEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VoteEnded => GameEvent::VoteEnded(VoteEndedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VoteStarted => GameEvent::VoteStarted(VoteStartedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VoteChanged => GameEvent::VoteChanged(VoteChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VotePassed => GameEvent::VotePassed(VotePassedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VoteFailed => GameEvent::VoteFailed(VoteFailedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VoteCast => GameEvent::VoteCast(VoteCastEvent::from_raw_event(event.values)?),
|
||||
GameEventType::VoteOptions => GameEvent::VoteOptions(VoteOptionsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplaySaved => GameEvent::ReplaySaved(ReplaySavedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EnteredPerformanceMode => GameEvent::EnteredPerformanceMode(EnteredPerformanceModeEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BrowseReplays => GameEvent::BrowseReplays(BrowseReplaysEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplayYoutubeStats => GameEvent::ReplayYoutubeStats(ReplayYoutubeStatsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::InventoryUpdated => GameEvent::InventoryUpdated(InventoryUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::CartUpdated => GameEvent::CartUpdated(CartUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::StorePricesheetUpdated => GameEvent::StorePricesheetUpdated(StorePricesheetUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GcConnected => GameEvent::GcConnected(GcConnectedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ItemSchemaInitialized => GameEvent::ItemSchemaInitialized(ItemSchemaInitializedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::IntroFinish => GameEvent::IntroFinish(IntroFinishEvent::from_raw_event(event.values)?),
|
||||
GameEventType::IntroNextCamera => GameEvent::IntroNextCamera(IntroNextCameraEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MmLobbyChat => GameEvent::MmLobbyChat(MmLobbyChatEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MmLobbyMemberJoin => GameEvent::MmLobbyMemberJoin(MmLobbyMemberJoinEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MmLobbyMemberLeave => GameEvent::MmLobbyMemberLeave(MmLobbyMemberLeaveEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerChangeClass => GameEvent::PlayerChangeClass(PlayerChangeClassEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TfMapTimeRemaining => GameEvent::TfMapTimeRemaining(TfMapTimeRemainingEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TfGameOver => GameEvent::TfGameOver(TfGameOverEvent::from_raw_event(event.values)?),
|
||||
GameEventType::CtfFlagCaptured => GameEvent::CtfFlagCaptured(CtfFlagCapturedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointInitialized => GameEvent::ControlPointInitialized(ControlPointInitializedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointUpdateImages => GameEvent::ControlPointUpdateImages(ControlPointUpdateImagesEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointUpdateLayout => GameEvent::ControlPointUpdateLayout(ControlPointUpdateLayoutEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointUpdateCapping => GameEvent::ControlPointUpdateCapping(ControlPointUpdateCappingEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointUpdateOwner => GameEvent::ControlPointUpdateOwner(ControlPointUpdateOwnerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointStartTouch => GameEvent::ControlPointStartTouch(ControlPointStartTouchEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointEndTouch => GameEvent::ControlPointEndTouch(ControlPointEndTouchEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointPulseElement => GameEvent::ControlPointPulseElement(ControlPointPulseElementEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointFakeCapture => GameEvent::ControlPointFakeCapture(ControlPointFakeCaptureEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointFakeCaptureMult => GameEvent::ControlPointFakeCaptureMult(ControlPointFakeCaptureMultEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRoundSelected => GameEvent::TeamPlayRoundSelected(TeamPlayRoundSelectedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRoundStart => GameEvent::TeamPlayRoundStart(TeamPlayRoundStartEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRoundActive => GameEvent::TeamPlayRoundActive(TeamPlayRoundActiveEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayWaitingBegins => GameEvent::TeamPlayWaitingBegins(TeamPlayWaitingBeginsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayWaitingEnds => GameEvent::TeamPlayWaitingEnds(TeamPlayWaitingEndsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayWaitingAboutToEnd => GameEvent::TeamPlayWaitingAboutToEnd(TeamPlayWaitingAboutToEndEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRestartRound => GameEvent::TeamPlayRestartRound(TeamPlayRestartRoundEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayReadyRestart => GameEvent::TeamPlayReadyRestart(TeamPlayReadyRestartEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRoundRestartSeconds => GameEvent::TeamPlayRoundRestartSeconds(TeamPlayRoundRestartSecondsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayTeamReady => GameEvent::TeamPlayTeamReady(TeamPlayTeamReadyEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRoundWin => GameEvent::TeamPlayRoundWin(TeamPlayRoundWinEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayUpdateTimer => GameEvent::TeamPlayUpdateTimer(TeamPlayUpdateTimerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayRoundStalemate => GameEvent::TeamPlayRoundStalemate(TeamPlayRoundStalemateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayOvertimeBegin => GameEvent::TeamPlayOvertimeBegin(TeamPlayOvertimeBeginEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayOvertimeEnd => GameEvent::TeamPlayOvertimeEnd(TeamPlayOvertimeEndEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlaySuddenDeathBegin => GameEvent::TeamPlaySuddenDeathBegin(TeamPlaySuddenDeathBeginEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlaySuddenDeathEnd => GameEvent::TeamPlaySuddenDeathEnd(TeamPlaySuddenDeathEndEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayGameOver => GameEvent::TeamPlayGameOver(TeamPlayGameOverEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayMapTimeRemaining => GameEvent::TeamPlayMapTimeRemaining(TeamPlayMapTimeRemainingEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayTimerFlash => GameEvent::TeamPlayTimerFlash(TeamPlayTimerFlashEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayTimerTimeAdded => GameEvent::TeamPlayTimerTimeAdded(TeamPlayTimerTimeAddedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayPointStartCapture => GameEvent::TeamPlayPointStartCapture(TeamPlayPointStartCaptureEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayPointCaptured => GameEvent::TeamPlayPointCaptured(TeamPlayPointCapturedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayPointLocked => GameEvent::TeamPlayPointLocked(TeamPlayPointLockedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayPointUnlocked => GameEvent::TeamPlayPointUnlocked(TeamPlayPointUnlockedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayCaptureBroken => GameEvent::TeamPlayCaptureBroken(TeamPlayCaptureBrokenEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayCaptureBlocked => GameEvent::TeamPlayCaptureBlocked(TeamPlayCaptureBlockedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayFlagEvent => GameEvent::TeamPlayFlagEvent(TeamPlayFlagEventEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayWinPanel => GameEvent::TeamPlayWinPanel(TeamPlayWinPanelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayTeambalancedPlayer => GameEvent::TeamPlayTeambalancedPlayer(TeamPlayTeambalancedPlayerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlaySetupFinished => GameEvent::TeamPlaySetupFinished(TeamPlaySetupFinishedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayAlert => GameEvent::TeamPlayAlert(TeamPlayAlertEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TrainingComplete => GameEvent::TrainingComplete(TrainingCompleteEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ShowFreezePanel => GameEvent::ShowFreezePanel(ShowFreezePanelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HideFreezePanel => GameEvent::HideFreezePanel(HideFreezePanelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::FreezeCamStarted => GameEvent::FreezeCamStarted(FreezeCamStartedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerChangeTeam => GameEvent::LocalPlayerChangeTeam(LocalPlayerChangeTeamEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerScoreChanged => GameEvent::LocalPlayerScoreChanged(LocalPlayerScoreChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerChangeClass => GameEvent::LocalPlayerChangeClass(LocalPlayerChangeClassEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerRespawn => GameEvent::LocalPlayerRespawn(LocalPlayerRespawnEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BuildingInfoChanged => GameEvent::BuildingInfoChanged(BuildingInfoChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerChangeDisguise => GameEvent::LocalPlayerChangeDisguise(LocalPlayerChangeDisguiseEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerAccountChanged => GameEvent::PlayerAccountChanged(PlayerAccountChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::SpyPdaReset => GameEvent::SpyPdaReset(SpyPdaResetEvent::from_raw_event(event.values)?),
|
||||
GameEventType::FlagStatusUpdate => GameEvent::FlagStatusUpdate(FlagStatusUpdateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerStatsUpdated => GameEvent::PlayerStatsUpdated(PlayerStatsUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayingCommentary => GameEvent::PlayingCommentary(PlayingCommentaryEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerChargedeployed => GameEvent::PlayerChargedeployed(PlayerChargedeployedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerBuiltObject => GameEvent::PlayerBuiltObject(PlayerBuiltObjectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerUpgradedObject => GameEvent::PlayerUpgradedObject(PlayerUpgradedObjectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerCarryObject => GameEvent::PlayerCarryObject(PlayerCarryObjectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDropObject => GameEvent::PlayerDropObject(PlayerDropObjectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ObjectRemoved => GameEvent::ObjectRemoved(ObjectRemovedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ObjectDestroyed => GameEvent::ObjectDestroyed(ObjectDestroyedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ObjectDetonated => GameEvent::ObjectDetonated(ObjectDetonatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::AchievementEarned => GameEvent::AchievementEarned(AchievementEarnedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::SpecTargetUpdated => GameEvent::SpecTargetUpdated(SpecTargetUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TournamentStateUpdate => GameEvent::TournamentStateUpdate(TournamentStateUpdateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TournamentEnableCountdown => GameEvent::TournamentEnableCountdown(TournamentEnableCountdownEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerCalledForMedic => GameEvent::PlayerCalledForMedic(PlayerCalledForMedicEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerBecameObserver => GameEvent::LocalPlayerBecameObserver(LocalPlayerBecameObserverEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerIgnitedInv => GameEvent::PlayerIgnitedInv(PlayerIgnitedInvEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerIgnited => GameEvent::PlayerIgnited(PlayerIgnitedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerExtinguished => GameEvent::PlayerExtinguished(PlayerExtinguishedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerTeleported => GameEvent::PlayerTeleported(PlayerTeleportedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHealedMedicCall => GameEvent::PlayerHealedMedicCall(PlayerHealedMedicCallEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerChargeReady => GameEvent::LocalPlayerChargeReady(LocalPlayerChargeReadyEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerWinddown => GameEvent::LocalPlayerWinddown(LocalPlayerWinddownEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerInvulned => GameEvent::PlayerInvulned(PlayerInvulnedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EscortSpeed => GameEvent::EscortSpeed(EscortSpeedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EscortProgress => GameEvent::EscortProgress(EscortProgressEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EscortRecede => GameEvent::EscortRecede(EscortRecedeEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameUIActivated => GameEvent::GameUIActivated(GameUIActivatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::GameUIHidden => GameEvent::GameUIHidden(GameUIHiddenEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerEscortScore => GameEvent::PlayerEscortScore(PlayerEscortScoreEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHealOnHit => GameEvent::PlayerHealOnHit(PlayerHealOnHitEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerStealsandvich => GameEvent::PlayerStealsandvich(PlayerStealsandvichEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ShowClassLayout => GameEvent::ShowClassLayout(ShowClassLayoutEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ShowVsPanel => GameEvent::ShowVsPanel(ShowVsPanelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDamaged => GameEvent::PlayerDamaged(PlayerDamagedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ArenaPlayerNotification => GameEvent::ArenaPlayerNotification(ArenaPlayerNotificationEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ArenaMatchMaxStreak => GameEvent::ArenaMatchMaxStreak(ArenaMatchMaxStreakEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ArenaRoundStart => GameEvent::ArenaRoundStart(ArenaRoundStartEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ArenaWinPanel => GameEvent::ArenaWinPanel(ArenaWinPanelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PveWinPanel => GameEvent::PveWinPanel(PveWinPanelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::AirDash => GameEvent::AirDash(AirDashEvent::from_raw_event(event.values)?),
|
||||
GameEventType::Landed => GameEvent::Landed(LandedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDamageDodged => GameEvent::PlayerDamageDodged(PlayerDamageDodgedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerStunned => GameEvent::PlayerStunned(PlayerStunnedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ScoutGrandSlam => GameEvent::ScoutGrandSlam(ScoutGrandSlamEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ScoutSlamdollLanded => GameEvent::ScoutSlamdollLanded(ScoutSlamdollLandedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ArrowImpact => GameEvent::ArrowImpact(ArrowImpactEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerJarated => GameEvent::PlayerJarated(PlayerJaratedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerJaratedFade => GameEvent::PlayerJaratedFade(PlayerJaratedFadeEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerShieldBlocked => GameEvent::PlayerShieldBlocked(PlayerShieldBlockedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerPinned => GameEvent::PlayerPinned(PlayerPinnedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHealedByMedic => GameEvent::PlayerHealedByMedic(PlayerHealedByMedicEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerSappedObject => GameEvent::PlayerSappedObject(PlayerSappedObjectEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ItemFound => GameEvent::ItemFound(ItemFoundEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ShowAnnotation => GameEvent::ShowAnnotation(ShowAnnotationEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HideAnnotation => GameEvent::HideAnnotation(HideAnnotationEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PostInventoryApplication => GameEvent::PostInventoryApplication(PostInventoryApplicationEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointUnlockUpdated => GameEvent::ControlPointUnlockUpdated(ControlPointUnlockUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::DeployBuffBanner => GameEvent::DeployBuffBanner(DeployBuffBannerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerBuff => GameEvent::PlayerBuff(PlayerBuffEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MedicDeath => GameEvent::MedicDeath(MedicDeathEvent::from_raw_event(event.values)?),
|
||||
GameEventType::OvertimeNag => GameEvent::OvertimeNag(OvertimeNagEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamsChanged => GameEvent::TeamsChanged(TeamsChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HalloweenPumpkinGrab => GameEvent::HalloweenPumpkinGrab(HalloweenPumpkinGrabEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RocketJump => GameEvent::RocketJump(RocketJumpEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RocketJumpLanded => GameEvent::RocketJumpLanded(RocketJumpLandedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::StickyJump => GameEvent::StickyJump(StickyJumpEvent::from_raw_event(event.values)?),
|
||||
GameEventType::StickyJumpLanded => GameEvent::StickyJumpLanded(StickyJumpLandedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MedicDefended => GameEvent::MedicDefended(MedicDefendedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LocalPlayerHealed => GameEvent::LocalPlayerHealed(LocalPlayerHealedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDestroyedPipeBomb => GameEvent::PlayerDestroyedPipeBomb(PlayerDestroyedPipeBombEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ObjectDeflected => GameEvent::ObjectDeflected(ObjectDeflectedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerMvp => GameEvent::PlayerMvp(PlayerMvpEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RaidSpawnMob => GameEvent::RaidSpawnMob(RaidSpawnMobEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RaidSpawnSquad => GameEvent::RaidSpawnSquad(RaidSpawnSquadEvent::from_raw_event(event.values)?),
|
||||
GameEventType::NavBlocked => GameEvent::NavBlocked(NavBlockedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PathTrackPassed => GameEvent::PathTrackPassed(PathTrackPassedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::NumCappersChanged => GameEvent::NumCappersChanged(NumCappersChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerRegenerate => GameEvent::PlayerRegenerate(PlayerRegenerateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::UpdateStatusItem => GameEvent::UpdateStatusItem(UpdateStatusItemEvent::from_raw_event(event.values)?),
|
||||
GameEventType::StatsResetRound => GameEvent::StatsResetRound(StatsResetRoundEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ScoreStatsAccumulatedUpdate => GameEvent::ScoreStatsAccumulatedUpdate(ScoreStatsAccumulatedUpdateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ScoreStatsAccumulatedReset => GameEvent::ScoreStatsAccumulatedReset(ScoreStatsAccumulatedResetEvent::from_raw_event(event.values)?),
|
||||
GameEventType::AchievementEarnedLocal => GameEvent::AchievementEarnedLocal(AchievementEarnedLocalEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHealed => GameEvent::PlayerHealed(PlayerHealedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::BuildingHealed => GameEvent::BuildingHealed(BuildingHealedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ItemPickup => GameEvent::ItemPickup(ItemPickupEvent::from_raw_event(event.values)?),
|
||||
GameEventType::DuelStatus => GameEvent::DuelStatus(DuelStatusEvent::from_raw_event(event.values)?),
|
||||
GameEventType::FishNotice => GameEvent::FishNotice(FishNoticeEvent::from_raw_event(event.values)?),
|
||||
GameEventType::FishNoticeArm => GameEvent::FishNoticeArm(FishNoticeArmEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ThrowableHit => GameEvent::ThrowableHit(ThrowableHitEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PumpkinLordSummoned => GameEvent::PumpkinLordSummoned(PumpkinLordSummonedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PumpkinLordKilled => GameEvent::PumpkinLordKilled(PumpkinLordKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MerasmusSummoned => GameEvent::MerasmusSummoned(MerasmusSummonedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MerasmusKilled => GameEvent::MerasmusKilled(MerasmusKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MerasmusEscapeWarning => GameEvent::MerasmusEscapeWarning(MerasmusEscapeWarningEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MerasmusEscaped => GameEvent::MerasmusEscaped(MerasmusEscapedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EyeballBossSummoned => GameEvent::EyeballBossSummoned(EyeballBossSummonedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EyeballBossStunned => GameEvent::EyeballBossStunned(EyeballBossStunnedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EyeballBossKilled => GameEvent::EyeballBossKilled(EyeballBossKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EyeballBossKiller => GameEvent::EyeballBossKiller(EyeballBossKillerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EyeballBossEscapeImminent => GameEvent::EyeballBossEscapeImminent(EyeballBossEscapeImminentEvent::from_raw_event(event.values)?),
|
||||
GameEventType::EyeballBossEscaped => GameEvent::EyeballBossEscaped(EyeballBossEscapedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::NpcHurt => GameEvent::NpcHurt(NpcHurtEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ControlPointTimerUpdated => GameEvent::ControlPointTimerUpdated(ControlPointTimerUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHighfiveStart => GameEvent::PlayerHighfiveStart(PlayerHighfiveStartEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHighfiveCancel => GameEvent::PlayerHighfiveCancel(PlayerHighfiveCancelEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerHighfiveSuccess => GameEvent::PlayerHighfiveSuccess(PlayerHighfiveSuccessEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerBonusPoints => GameEvent::PlayerBonusPoints(PlayerBonusPointsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerUpgraded => GameEvent::PlayerUpgraded(PlayerUpgradedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerBuyback => GameEvent::PlayerBuyback(PlayerBuybackEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerUsedPowerUpBottle => GameEvent::PlayerUsedPowerUpBottle(PlayerUsedPowerUpBottleEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ChristmasGiftGrab => GameEvent::ChristmasGiftGrab(ChristmasGiftGrabEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerKilledAchievementZone => GameEvent::PlayerKilledAchievementZone(PlayerKilledAchievementZoneEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PartyUpdated => GameEvent::PartyUpdated(PartyUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::LobbyUpdated => GameEvent::LobbyUpdated(LobbyUpdatedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmMissionUpdate => GameEvent::MvmMissionUpdate(MvmMissionUpdateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RecalculateHolidays => GameEvent::RecalculateHolidays(RecalculateHolidaysEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerCurrencyChanged => GameEvent::PlayerCurrencyChanged(PlayerCurrencyChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::DoomsdayRocketOpen => GameEvent::DoomsdayRocketOpen(DoomsdayRocketOpenEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RemoveNemesisRelationships => GameEvent::RemoveNemesisRelationships(RemoveNemesisRelationshipsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmCreditBonusWave => GameEvent::MvmCreditBonusWave(MvmCreditBonusWaveEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmCreditBonusAll => GameEvent::MvmCreditBonusAll(MvmCreditBonusAllEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmCreditBonusAllAdvanced => GameEvent::MvmCreditBonusAllAdvanced(MvmCreditBonusAllAdvancedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmQuickSentryUpgrade => GameEvent::MvmQuickSentryUpgrade(MvmQuickSentryUpgradeEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmTankDestroyedByPlayers => GameEvent::MvmTankDestroyedByPlayers(MvmTankDestroyedByPlayersEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmKillRobotDeliveringBomb => GameEvent::MvmKillRobotDeliveringBomb(MvmKillRobotDeliveringBombEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmPickupCurrency => GameEvent::MvmPickupCurrency(MvmPickupCurrencyEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmBombCarrierKilled => GameEvent::MvmBombCarrierKilled(MvmBombCarrierKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmSentryBusterDetonate => GameEvent::MvmSentryBusterDetonate(MvmSentryBusterDetonateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmScoutMarkedForDeath => GameEvent::MvmScoutMarkedForDeath(MvmScoutMarkedForDeathEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmMedicPowerupShared => GameEvent::MvmMedicPowerupShared(MvmMedicPowerupSharedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmBeginWave => GameEvent::MvmBeginWave(MvmBeginWaveEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmWaveComplete => GameEvent::MvmWaveComplete(MvmWaveCompleteEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmMissionComplete => GameEvent::MvmMissionComplete(MvmMissionCompleteEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmBombResetByPlayer => GameEvent::MvmBombResetByPlayer(MvmBombResetByPlayerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmBombAlarmTriggered => GameEvent::MvmBombAlarmTriggered(MvmBombAlarmTriggeredEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmBombDeployResetByPlayer => GameEvent::MvmBombDeployResetByPlayer(MvmBombDeployResetByPlayerEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmWaveFailed => GameEvent::MvmWaveFailed(MvmWaveFailedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmResetStats => GameEvent::MvmResetStats(MvmResetStatsEvent::from_raw_event(event.values)?),
|
||||
GameEventType::DamageResisted => GameEvent::DamageResisted(DamageResistedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RevivePlayerNotify => GameEvent::RevivePlayerNotify(RevivePlayerNotifyEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RevivePlayerStopped => GameEvent::RevivePlayerStopped(RevivePlayerStoppedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RevivePlayerComplete => GameEvent::RevivePlayerComplete(RevivePlayerCompleteEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerTurnedToGhost => GameEvent::PlayerTurnedToGhost(PlayerTurnedToGhostEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MedigunShieldBlockedDamage => GameEvent::MedigunShieldBlockedDamage(MedigunShieldBlockedDamageEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmAdvWaveCompleteNoGates => GameEvent::MvmAdvWaveCompleteNoGates(MvmAdvWaveCompleteNoGatesEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmSniperHeadshotCurrency => GameEvent::MvmSniperHeadshotCurrency(MvmSniperHeadshotCurrencyEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmMannhattanPit => GameEvent::MvmMannhattanPit(MvmMannhattanPitEvent::from_raw_event(event.values)?),
|
||||
GameEventType::FlagCarriedInDetectionZone => GameEvent::FlagCarriedInDetectionZone(FlagCarriedInDetectionZoneEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmAdvWaveKilledStunRadio => GameEvent::MvmAdvWaveKilledStunRadio(MvmAdvWaveKilledStunRadioEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerDirecthitStun => GameEvent::PlayerDirecthitStun(PlayerDirecthitStunEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MvmSentryBusterKilled => GameEvent::MvmSentryBusterKilled(MvmSentryBusterKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::UpgradesFileChanged => GameEvent::UpgradesFileChanged(UpgradesFileChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RdTeamPointsChanged => GameEvent::RdTeamPointsChanged(RdTeamPointsChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RdRulesStateChanged => GameEvent::RdRulesStateChanged(RdRulesStateChangedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RdRobotKilled => GameEvent::RdRobotKilled(RdRobotKilledEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RdRobotImpact => GameEvent::RdRobotImpact(RdRobotImpactEvent::from_raw_event(event.values)?),
|
||||
GameEventType::TeamPlayPreRoundTimeLeft => GameEvent::TeamPlayPreRoundTimeLeft(TeamPlayPreRoundTimeLeftEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ParachuteDeploy => GameEvent::ParachuteDeploy(ParachuteDeployEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ParachuteHolster => GameEvent::ParachuteHolster(ParachuteHolsterEvent::from_raw_event(event.values)?),
|
||||
GameEventType::KillRefillsMeter => GameEvent::KillRefillsMeter(KillRefillsMeterEvent::from_raw_event(event.values)?),
|
||||
GameEventType::RpsTauntEvent => GameEvent::RpsTauntEvent(RpsTauntEventEvent::from_raw_event(event.values)?),
|
||||
GameEventType::CongaKill => GameEvent::CongaKill(CongaKillEvent::from_raw_event(event.values)?),
|
||||
GameEventType::PlayerInitialSpawn => GameEvent::PlayerInitialSpawn(PlayerInitialSpawnEvent::from_raw_event(event.values)?),
|
||||
GameEventType::CompetitiveVictory => GameEvent::CompetitiveVictory(CompetitiveVictoryEvent::from_raw_event(event.values)?),
|
||||
GameEventType::CompetitiveSkillratingUpdate => GameEvent::CompetitiveSkillratingUpdate(CompetitiveSkillratingUpdateEvent::from_raw_event(event.values)?),
|
||||
GameEventType::MiniGameWin => GameEvent::MiniGameWin(MiniGameWinEvent::from_raw_event(event.values)?),
|
||||
GameEventType::SentryOnGoActive => GameEvent::SentryOnGoActive(SentryOnGoActiveEvent::from_raw_event(event.values)?),
|
||||
GameEventType::DuckXpLevelUp => GameEvent::DuckXpLevelUp(DuckXpLevelUpEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVStatus => GameEvent::HLTVStatus(HLTVStatusEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVCameraman => GameEvent::HLTVCameraman(HLTVCameramanEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVRankCamera => GameEvent::HLTVRankCamera(HLTVRankCameraEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVRankEntity => GameEvent::HLTVRankEntity(HLTVRankEntityEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVFixed => GameEvent::HLTVFixed(HLTVFixedEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVChase => GameEvent::HLTVChase(HLTVChaseEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVMessage => GameEvent::HLTVMessage(HLTVMessageEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVTitle => GameEvent::HLTVTitle(HLTVTitleEvent::from_raw_event(event.values)?),
|
||||
GameEventType::HLTVChat => GameEvent::HLTVChat(HLTVChatEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplayStartRecord => GameEvent::ReplayStartRecord(ReplayStartRecordEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplaySessionInfo => GameEvent::ReplaySessionInfo(ReplaySessionInfoEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplayEndRecord => GameEvent::ReplayEndRecord(ReplayEndRecordEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplayReplaysAvailable => GameEvent::ReplayReplaysAvailable(ReplayReplaysAvailableEvent::from_raw_event(event.values)?),
|
||||
GameEventType::ReplayServerError => GameEvent::ReplayServerError(ReplayServerErrorEvent::from_raw_event(event.values)?),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,17 +2,19 @@ use std::collections::HashMap;
|
|||
|
||||
use crate::{ParseError, Result};
|
||||
|
||||
pub use super::gameevent_gen::{GameEvent, GameEventType};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct GameEventDefinition {
|
||||
id: u32,
|
||||
name: String,
|
||||
entries: Vec<GameEventEntry>,
|
||||
pub id: GameEventType,
|
||||
pub name: String,
|
||||
pub entries: Vec<GameEventEntry>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct GameEventEntry {
|
||||
name: String,
|
||||
kind: GameEventValueType,
|
||||
pub name: String,
|
||||
pub kind: GameEventValueType,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
|
|
@ -26,12 +28,6 @@ pub enum GameEventValueType {
|
|||
Local,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct GameEvent {
|
||||
kind: GameEventType,
|
||||
values: HashMap<String, GameEventValue>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum GameEventValue {
|
||||
String(String),
|
||||
|
|
@ -131,388 +127,8 @@ impl FromGameEventValue for () {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum GameEventType {
|
||||
ServerSpawnEvent,
|
||||
ServerChangelevelFailedEvent,
|
||||
ServerShutdownEvent,
|
||||
ServerCvarEvent,
|
||||
ServerMessageEvent,
|
||||
ServerAddBanEvent,
|
||||
ServerRemoveBanEvent,
|
||||
PlayerConnectEvent,
|
||||
PlayerConnectClientEvent,
|
||||
PlayerInfoEvent,
|
||||
PlayerDisconnectEvent,
|
||||
PlayerActivateEvent,
|
||||
PlayerSayEvent,
|
||||
ClientDisconnectEvent,
|
||||
ClientBeginConnectEvent,
|
||||
ClientConnectedEvent,
|
||||
ClientFullConnectEvent,
|
||||
HostQuitEvent,
|
||||
TeamInfoEvent,
|
||||
TeamScoreEvent,
|
||||
TeamPlayBroadcastAudioEvent,
|
||||
PlayerTeamEvent,
|
||||
PlayerClassEvent,
|
||||
PlayerDeathEvent,
|
||||
PlayerHurtEvent,
|
||||
PlayerChatEvent,
|
||||
PlayerScoreEvent,
|
||||
PlayerSpawnEvent,
|
||||
PlayerShootEvent,
|
||||
PlayerUseEvent,
|
||||
PlayerChangeNameEvent,
|
||||
PlayerHintMessageEvent,
|
||||
BasePlayerTeleportedEvent,
|
||||
GameInitEvent,
|
||||
GameNewMapEvent,
|
||||
GameStartEvent,
|
||||
GameEndEvent,
|
||||
RoundStartEvent,
|
||||
RoundEndEvent,
|
||||
GameMessageEvent,
|
||||
BreakBreakableEvent,
|
||||
BreakPropEvent,
|
||||
EntityKilledEvent,
|
||||
BonusUpdatedEvent,
|
||||
AchievementEventEvent,
|
||||
AchievementIncrementEvent,
|
||||
PhysgunPickupEvent,
|
||||
FlareIgniteNpcEvent,
|
||||
HelicopterGrenadePuntMissEvent,
|
||||
UserDataDownloadedEvent,
|
||||
RagdollDissolvedEvent,
|
||||
HLTVChangedModeEvent,
|
||||
HLTVChangedTargetEvent,
|
||||
VoteEndedEvent,
|
||||
VoteStartedEvent,
|
||||
VoteChangedEvent,
|
||||
VotePassedEvent,
|
||||
VoteFailedEvent,
|
||||
VoteCastEvent,
|
||||
VoteOptionsEvent,
|
||||
ReplaySavedEvent,
|
||||
EnteredPerformanceModeEvent,
|
||||
BrowseReplaysEvent,
|
||||
ReplayYoutubeStatsEvent,
|
||||
InventoryUpdatedEvent,
|
||||
CartUpdatedEvent,
|
||||
StorePricesheetUpdatedEvent,
|
||||
GcConnectedEvent,
|
||||
ItemSchemaInitializedEvent,
|
||||
IntroFinishEvent,
|
||||
IntroNextCameraEvent,
|
||||
MmLobbyChatEvent,
|
||||
MmLobbyMemberJoinEvent,
|
||||
MmLobbyMemberLeaveEvent,
|
||||
PlayerChangeClassEvent,
|
||||
TfMapTimeRemainingEvent,
|
||||
TfGameOverEvent,
|
||||
CtfFlagCapturedEvent,
|
||||
ControlPointInitializedEvent,
|
||||
ControlPointUpdateImagesEvent,
|
||||
ControlPointUpdateLayoutEvent,
|
||||
ControlPointUpdateCappingEvent,
|
||||
ControlPointUpdateOwnerEvent,
|
||||
ControlPointStartTouchEvent,
|
||||
ControlPointEndTouchEvent,
|
||||
ControlPointPulseElementEvent,
|
||||
ControlPointFakeCaptureEvent,
|
||||
ControlPointFakeCaptureMultEvent,
|
||||
TeamPlayRoundSelectedEvent,
|
||||
TeamPlayRoundStartEvent,
|
||||
TeamPlayRoundActiveEvent,
|
||||
TeamPlayWaitingBeginsEvent,
|
||||
TeamPlayWaitingEndsEvent,
|
||||
TeamPlayWaitingAboutToEndEvent,
|
||||
TeamPlayRestartRoundEvent,
|
||||
TeamPlayReadyRestartEvent,
|
||||
TeamPlayRoundRestartSecondsEvent,
|
||||
TeamPlayTeamReadyEvent,
|
||||
TeamPlayRoundWinEvent,
|
||||
TeamPlayUpdateTimerEvent,
|
||||
TeamPlayRoundStalemateEvent,
|
||||
TeamPlayOvertimeBeginEvent,
|
||||
TeamPlayOvertimeEndEvent,
|
||||
TeamPlaySuddenDeathBeginEvent,
|
||||
TeamPlaySuddenDeathEndEvent,
|
||||
TeamPlayGameOverEvent,
|
||||
TeamPlayMapTimeRemainingEvent,
|
||||
TeamPlayTimerFlashEvent,
|
||||
TeamPlayTimerTimeAddedEvent,
|
||||
TeamPlayPointStartCaptureEvent,
|
||||
TeamPlayPointCapturedEvent,
|
||||
TeamPlayPointLockedEvent,
|
||||
TeamPlayPointUnlockedEvent,
|
||||
TeamPlayCaptureBrokenEvent,
|
||||
TeamPlayCaptureBlockedEvent,
|
||||
TeamPlayFlagEventEvent,
|
||||
TeamPlayWinPanelEvent,
|
||||
TeamPlayTeambalancedPlayerEvent,
|
||||
TeamPlaySetupFinishedEvent,
|
||||
TeamPlayAlertEvent,
|
||||
TrainingCompleteEvent,
|
||||
ShowFreezePanelEvent,
|
||||
HideFreezePanelEvent,
|
||||
FreezeCamStartedEvent,
|
||||
LocalPlayerChangeTeamEvent,
|
||||
LocalPlayerScoreChangedEvent,
|
||||
LocalPlayerChangeClassEvent,
|
||||
LocalPlayerRespawnEvent,
|
||||
BuildingInfoChangedEvent,
|
||||
LocalPlayerChangeDisguiseEvent,
|
||||
PlayerAccountChangedEvent,
|
||||
SpyPdaResetEvent,
|
||||
FlagStatusUpdateEvent,
|
||||
PlayerStatsUpdatedEvent,
|
||||
PlayingCommentaryEvent,
|
||||
PlayerChargedeployedEvent,
|
||||
PlayerBuiltObjectEvent,
|
||||
PlayerUpgradedObjectEvent,
|
||||
PlayerCarryObjectEvent,
|
||||
PlayerDropObjectEvent,
|
||||
ObjectRemovedEvent,
|
||||
ObjectDestroyedEvent,
|
||||
ObjectDetonatedEvent,
|
||||
AchievementEarnedEvent,
|
||||
SpecTargetUpdatedEvent,
|
||||
TournamentStateUpdateEvent,
|
||||
TournamentEnableCountdownEvent,
|
||||
PlayerCalledForMedicEvent,
|
||||
PlayerAskedForBallEvent,
|
||||
LocalPlayerBecameObserverEvent,
|
||||
PlayerIgnitedInvEvent,
|
||||
PlayerIgnitedEvent,
|
||||
PlayerExtinguishedEvent,
|
||||
PlayerTeleportedEvent,
|
||||
PlayerHealedMedicCallEvent,
|
||||
LocalPlayerChargeReadyEvent,
|
||||
LocalPlayerWinddownEvent,
|
||||
PlayerInvulnedEvent,
|
||||
EscortSpeedEvent,
|
||||
EscortProgressEvent,
|
||||
EscortRecedeEvent,
|
||||
GameUIActivatedEvent,
|
||||
GameUIHiddenEvent,
|
||||
PlayerEscortScoreEvent,
|
||||
PlayerHealOnHitEvent,
|
||||
PlayerStealsandvichEvent,
|
||||
ShowClassLayoutEvent,
|
||||
ShowVsPanelEvent,
|
||||
PlayerDamagedEvent,
|
||||
ArenaPlayerNotificationEvent,
|
||||
ArenaMatchMaxStreakEvent,
|
||||
ArenaRoundStartEvent,
|
||||
ArenaWinPanelEvent,
|
||||
PveWinPanelEvent,
|
||||
AirDashEvent,
|
||||
LandedEvent,
|
||||
PlayerDamageDodgedEvent,
|
||||
PlayerStunnedEvent,
|
||||
ScoutGrandSlamEvent,
|
||||
ScoutSlamdollLandedEvent,
|
||||
ArrowImpactEvent,
|
||||
PlayerJaratedEvent,
|
||||
PlayerJaratedFadeEvent,
|
||||
PlayerShieldBlockedEvent,
|
||||
PlayerPinnedEvent,
|
||||
PlayerHealedByMedicEvent,
|
||||
PlayerSappedObjectEvent,
|
||||
ItemFoundEvent,
|
||||
ShowAnnotationEvent,
|
||||
HideAnnotationEvent,
|
||||
PostInventoryApplicationEvent,
|
||||
ControlPointUnlockUpdatedEvent,
|
||||
DeployBuffBannerEvent,
|
||||
PlayerBuffEvent,
|
||||
MedicDeathEvent,
|
||||
OvertimeNagEvent,
|
||||
TeamsChangedEvent,
|
||||
HalloweenPumpkinGrabEvent,
|
||||
RocketJumpEvent,
|
||||
RocketJumpLandedEvent,
|
||||
StickyJumpEvent,
|
||||
StickyJumpLandedEvent,
|
||||
MedicDefendedEvent,
|
||||
LocalPlayerHealedEvent,
|
||||
PlayerDestroyedPipeBombEvent,
|
||||
ObjectDeflectedEvent,
|
||||
PlayerMvpEvent,
|
||||
RaidSpawnMobEvent,
|
||||
RaidSpawnSquadEvent,
|
||||
NavBlockedEvent,
|
||||
PathTrackPassedEvent,
|
||||
NumCappersChangedEvent,
|
||||
PlayerRegenerateEvent,
|
||||
UpdateStatusItemEvent,
|
||||
StatsResetRoundEvent,
|
||||
ScoreStatsAccumulatedUpdateEvent,
|
||||
ScoreStatsAccumulatedResetEvent,
|
||||
AchievementEarnedLocalEvent,
|
||||
PlayerHealedEvent,
|
||||
BuildingHealedEvent,
|
||||
ItemPickupEvent,
|
||||
DuelStatusEvent,
|
||||
FishNoticeEvent,
|
||||
FishNoticeArmEvent,
|
||||
ThrowableHitEvent,
|
||||
PumpkinLordSummonedEvent,
|
||||
PumpkinLordKilledEvent,
|
||||
MerasmusSummonedEvent,
|
||||
MerasmusKilledEvent,
|
||||
MerasmusEscapeWarningEvent,
|
||||
MerasmusEscapedEvent,
|
||||
EyeballBossSummonedEvent,
|
||||
EyeballBossStunnedEvent,
|
||||
EyeballBossKilledEvent,
|
||||
EyeballBossKillerEvent,
|
||||
EyeballBossEscapeImminentEvent,
|
||||
EyeballBossEscapedEvent,
|
||||
NpcHurtEvent,
|
||||
ControlPointTimerUpdatedEvent,
|
||||
PlayerHighfiveStartEvent,
|
||||
PlayerHighfiveCancelEvent,
|
||||
PlayerHighfiveSuccessEvent,
|
||||
PlayerBonusPointsEvent,
|
||||
PlayerUpgradedEvent,
|
||||
PlayerBuybackEvent,
|
||||
PlayerUsedPowerUpBottleEvent,
|
||||
ChristmasGiftGrabEvent,
|
||||
PlayerKilledAchievementZoneEvent,
|
||||
PartyUpdatedEvent,
|
||||
LobbyUpdatedEvent,
|
||||
MvmMissionUpdateEvent,
|
||||
RecalculateHolidaysEvent,
|
||||
PlayerCurrencyChangedEvent,
|
||||
DoomsdayRocketOpenEvent,
|
||||
RemoveNemesisRelationshipsEvent,
|
||||
MvmCreditBonusWaveEvent,
|
||||
MvmCreditBonusAllEvent,
|
||||
MvmCreditBonusAllAdvancedEvent,
|
||||
MvmQuickSentryUpgradeEvent,
|
||||
MvmTankDestroyedByPlayersEvent,
|
||||
MvmKillRobotDeliveringBombEvent,
|
||||
MvmPickupCurrencyEvent,
|
||||
MvmBombCarrierKilledEvent,
|
||||
MvmSentryBusterDetonateEvent,
|
||||
MvmScoutMarkedForDeathEvent,
|
||||
MvmMedicPowerupSharedEvent,
|
||||
MvmBeginWaveEvent,
|
||||
MvmWaveCompleteEvent,
|
||||
MvmMissionCompleteEvent,
|
||||
MvmBombResetByPlayerEvent,
|
||||
MvmBombAlarmTriggeredEvent,
|
||||
MvmBombDeployResetByPlayerEvent,
|
||||
MvmWaveFailedEvent,
|
||||
MvmResetStatsEvent,
|
||||
DamageResistedEvent,
|
||||
RevivePlayerNotifyEvent,
|
||||
RevivePlayerStoppedEvent,
|
||||
RevivePlayerCompleteEvent,
|
||||
PlayerTurnedToGhostEvent,
|
||||
MedigunShieldBlockedDamageEvent,
|
||||
MvmAdvWaveCompleteNoGatesEvent,
|
||||
MvmSniperHeadshotCurrencyEvent,
|
||||
MvmMannhattanPitEvent,
|
||||
FlagCarriedInDetectionZoneEvent,
|
||||
MvmAdvWaveKilledStunRadioEvent,
|
||||
PlayerDirecthitStunEvent,
|
||||
MvmSentryBusterKilledEvent,
|
||||
UpgradesFileChangedEvent,
|
||||
RdTeamPointsChangedEvent,
|
||||
RdRulesStateChangedEvent,
|
||||
RdRobotKilledEvent,
|
||||
RdRobotImpactEvent,
|
||||
TeamPlayPreRoundTimeLeftEvent,
|
||||
ParachuteDeployEvent,
|
||||
ParachuteHolsterEvent,
|
||||
KillRefillsMeterEvent,
|
||||
RpsTauntEventEvent,
|
||||
CongaKillEvent,
|
||||
PlayerInitialSpawnEvent,
|
||||
CompetitiveVictoryEvent,
|
||||
CompetitiveStatsUpdateEvent,
|
||||
MiniGameWinEvent,
|
||||
SentryOnGoActiveEvent,
|
||||
DuckXpLevelUpEvent,
|
||||
QuestLogOpenedEvent,
|
||||
SchemaUpdatedEvent,
|
||||
LocalPlayerPickupWeaponEvent,
|
||||
RdPlayerScorePointsEvent,
|
||||
DemomanDetStickiesEvent,
|
||||
QuestObjectiveCompletedEvent,
|
||||
PlayerScoreChangedEvent,
|
||||
KilledCappingPlayerEvent,
|
||||
EnvironmentalDeathEvent,
|
||||
ProjectileDirectHitEvent,
|
||||
PassGetEvent,
|
||||
PassScoreEvent,
|
||||
PassFreeEvent,
|
||||
PassPassCaughtEvent,
|
||||
PassBallStolenEvent,
|
||||
PassBallBlockedEvent,
|
||||
DamagePreventedEvent,
|
||||
HalloweenBossKilledEvent,
|
||||
EscapedLootIslandEvent,
|
||||
TaggedPlayerAsItEvent,
|
||||
MerasmusStunnedEvent,
|
||||
MerasmusPropFoundEvent,
|
||||
HalloweenSkeletonKilledEvent,
|
||||
EscapeHellEvent,
|
||||
CrossSpectralBridgeEvent,
|
||||
MiniGameWonEvent,
|
||||
RespawnGhostEvent,
|
||||
KillInHellEvent,
|
||||
HalloweenDuckCollectedEvent,
|
||||
SpecialScoreEvent,
|
||||
TeamLeaderKilledEvent,
|
||||
HalloweenSoulCollectedEvent,
|
||||
RecalculateTruceEvent,
|
||||
DeadringerCheatDeathEvent,
|
||||
CrossbowHealEvent,
|
||||
DamageMitigatedEvent,
|
||||
PayloadPushedEvent,
|
||||
PlayerAbandonedMatchEvent,
|
||||
ClDrawlineEvent,
|
||||
RestartTimerTimeEvent,
|
||||
WinLimitChangedEvent,
|
||||
WinPanelShowScoresEvent,
|
||||
TopStreamsRequestFinishedEvent,
|
||||
CompetitiveStateChangedEvent,
|
||||
GlobalWarDataUpdatedEvent,
|
||||
StopWatchChangedEvent,
|
||||
DsStopEvent,
|
||||
DsScreenshotEvent,
|
||||
ShowMatchSummaryEvent,
|
||||
ExperienceChangedEvent,
|
||||
BeginXpLerpEvent,
|
||||
MatchmakerStatsUpdatedEvent,
|
||||
RematchVotePeriodOverEvent,
|
||||
RematchFailedToCreateEvent,
|
||||
PlayerRematchChangeEvent,
|
||||
PingUpdatedEvent,
|
||||
PlayerNextMapVoteChangeEvent,
|
||||
VoteMapsChangedEvent,
|
||||
HLTVStatusEvent,
|
||||
HLTVCameramanEvent,
|
||||
HLTVRankCameraEvent,
|
||||
HLTVRankEntityEvent,
|
||||
HLTVFixedEvent,
|
||||
HLTVChaseEvent,
|
||||
HLTVMessageEvent,
|
||||
HLTVTitleEvent,
|
||||
HLTVChatEvent,
|
||||
ReplayStartRecordEvent,
|
||||
ReplaySessionInfoEvent,
|
||||
ReplayEndRecordEvent,
|
||||
ReplayReplaysAvailableEvent,
|
||||
ReplayServerErrorEvent,
|
||||
}
|
||||
|
||||
pub struct RawGameEvent {
|
||||
pub name: String,
|
||||
pub event_type: GameEventType,
|
||||
pub values: HashMap<String, GameEventValue>,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,49 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
use bitstream_reader::{BitRead, BitReadSized, LittleEndian};
|
||||
|
||||
use crate::{ReadResult, Stream};
|
||||
use crate::{Parse, ParseError, ParserState, ReadResult, Result, Stream};
|
||||
use crate::demo::gameevent_gen::GameEventType;
|
||||
use crate::demo::gamevent::{GameEvent, GameEventDefinition, GameEventEntry, GameEventValue, GameEventValueType, RawGameEvent};
|
||||
|
||||
fn read_event_value(stream: &mut Stream, definition: &GameEventEntry) -> Result<GameEventValue> {
|
||||
Ok(match definition.kind {
|
||||
GameEventValueType::String => GameEventValue::String(stream.read()?),
|
||||
GameEventValueType::Float => GameEventValue::Float(stream.read()?),
|
||||
GameEventValueType::Long => GameEventValue::Long(stream.read()?),
|
||||
GameEventValueType::Short => GameEventValue::Short(stream.read()?),
|
||||
GameEventValueType::Byte => GameEventValue::Byte(stream.read()?),
|
||||
GameEventValueType::Boolean => GameEventValue::Boolean(stream.read()?),
|
||||
GameEventValueType::Local => GameEventValue::Local,
|
||||
})
|
||||
}
|
||||
|
||||
pub struct GameEventMessage {
|
||||
pub event: GameEvent
|
||||
}
|
||||
|
||||
impl Parse for GameEventMessage {
|
||||
fn parse(stream: &mut Stream, state: &ParserState) -> Result<Self> {
|
||||
let length: u16 = stream.read_sized(11)?;
|
||||
let mut data = stream.read_bits(length as usize)?;
|
||||
let event_type = data.read()?;
|
||||
let raw_event = match state.event_definitions.get(&event_type) {
|
||||
Some(definition) => {
|
||||
let mut values: HashMap<String, GameEventValue> = HashMap::with_capacity(definition.entries.len());
|
||||
for entry in &definition.entries {
|
||||
values.insert(entry.name.clone(), read_event_value(stream, &entry)?);
|
||||
}
|
||||
|
||||
RawGameEvent {
|
||||
event_type,
|
||||
values,
|
||||
}
|
||||
}
|
||||
None => unreachable!()
|
||||
};
|
||||
let event = GameEvent::from_raw_event(raw_event)?;
|
||||
Ok(GameEventMessage {
|
||||
event
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ pub mod stringtable;
|
|||
pub mod voice;
|
||||
pub mod bspdecal;
|
||||
pub mod usermessage;
|
||||
pub mod gameevent;
|
||||
|
||||
#[derive(Primitive, Debug)]
|
||||
pub enum MessageType {
|
||||
|
|
|
|||
|
|
@ -3,12 +3,13 @@ use crate::demo::sendprop::SendProp;
|
|||
use crate::Stream;
|
||||
use std::collections::HashMap;
|
||||
use crate::demo::packet::stringtable::StringTable;
|
||||
use crate::demo::gameevent_gen::GameEventType;
|
||||
|
||||
#[derive(Default, Debug)]
|
||||
pub struct ParserState {
|
||||
pub version: u32,
|
||||
pub static_baselines: HashMap<u32, StaticBaseline>,
|
||||
pub event_definitions: HashMap<u32, GameEventDefinition>,
|
||||
pub event_definitions: HashMap<GameEventType, GameEventDefinition>,
|
||||
pub string_tables: Vec<StringTable>
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue