UNPKG

deadem

Version:

JavaScript (Node.js & Browsers) parser for Deadlock (Valve Source 2 Engine) demo/replay files

392 lines (353 loc) 35.6 kB
import Assert from '#core/Assert.js'; import ProtoProvider from '#providers/ProtoProvider.instance.js'; const registry = { byCode: new Map(), byId: new Map() }; class MessagePacketType { /** * @private * @constructor * @param {String} code * @param {number} id * @param {*} proto */ constructor(code, id, proto) { Assert.isTrue(typeof code === 'string' && code.length > 0); Assert.isTrue(Number.isInteger(id)); this._code = code; this._id = id; this._proto = proto; if (registry.byCode.has(code)) { throw new Error(`MessagePacketType with code [ ${code} ] already exist`); } if (registry.byId.has(id)) { throw new Error(`MessagePacketType with id [ ${id} ] already exist`); } registry.byCode.set(code, this); registry.byId.set(id, this); } /** * @public * @static * @param {String} code * @returns {MessagePacketType|null} */ static parse(code) { return registry.byCode.get(code) || null; } /** * @public * @static * @param {number} id * @returns {MessagePacketType|null} */ static parseById(id) { return registry.byId.get(id) || null; } /** * @public * @returns {String} */ get code() { return this._code; } /** * @public * @returns {number} */ get id() { return this._id; } /** * @public * @returns {protobuf.Root} */ get proto() { return this._proto; } static get NET_TICK() { return netTick; } static get NET_SET_CON_VAR() { return netSetConVar; } static get NET_SIGNON_STATE() { return netSignonState; } static get NET_SPAWN_GROUP_LOAD() { return netSpawnGroupLoad; } static get NET_SPAWN_GROUP_SET_CREATION_TICK() { return netSpawnGroupSetCreationTick; } static get SVC_SERVER_INFO() { return svcServerInfo; } static get SVC_CLASS_INFO() { return svcClassInfo; } static get SVC_CREATE_STRING_TABLE() { return svcCreateStringTable; } static get SVC_UPDATE_STRING_TABLE() { return svcUpdateStringTable; } static get SVC_VOICE_INIT() { return svcVoiceInit; } static get SVC_VOICE_DATA() { return svcVoiceData; } static get SVC_CLEAR_ALL_STRING_TABLES() { return svcClearAllStringTables; } static get SVC_PACKET_ENTITIES() { return svcPacketEntities; } static get SVC_HLTV_STATUS() { return svcHltvStatus; } static get SVC_USER_COMMANDS() { return svcUserCommands; } static get USER_MESSAGE_PARTICLE_MANAGER() { return UMParticleManager; } static get USER_MESSAGE_PLAY_RESPONSE_CONDITIONAL() { return UMPlayResponseConditional; } static get GE_SOURCE1_LEGACY_GAME_EVENT_LIST() { return GESource1LegacyGameEventList; } static get GE_SOURCE1_LEGACY_GAME_EVENT() { return GE_Source1LegacyGameEvent; } static get GE_SOS_START_SOUND_EVENT() { return GE_SosStartSoundEvent; } static get GE_SOS_STOP_SOUND_EVENT() { return GE_SosStopSoundEvent; } static get GE_SOS_SET_SOUND_EVENT_PARAMS() { return GE_SosSetSoundEventParams; } static get GE_SOS_STOP_SOUND_EVENT_HASH() { return GE_SosStopSoundEventHash; } static get CITADEL_USER_MESSAGE_DAMAGE() { return citadelUserMessageDamage; } static get CITADEL_USER_MESSAGE_MAP_PING() { return citadelUserMessageMapPing; } static get CITADEL_USER_MESSAGE_TEAM_REWARDS() { return citadelUserMessageTeamRewards; } static get CITADEL_USER_MESSAGE_TRIGGER_DAMAGE_FLASH() { return citadelUserMessageTriggerDamageFlash; } static get CITADEL_USER_MESSAGE_ABILITY_CHANGED() { return citadelUserMessageAbilitiesChanged; } static get CITADEL_USER_MESSAGE_RECENT_DAMAGE_SUMMARY() { return citadelUserMessageRecentDamageSummary; } static get CITADEL_USER_MESSAGE_SPECTATOR_TEAM_CHANGED() { return citadelUserMessageSpectatorTeamChanged; } static get CITADEL_USER_MESSAGE_CHAT_WHEEL() { return citadelUserMessageChatWheel; } static get CITADEL_USER_MESSAGE_GOLD_HISTORY() { return citadelUserMessageGoldHistory; } static get CITADEL_USER_MESSAGE_CHAT_MESSAGE() { return citadelUserMessageChatMessage; } static get CITADEL_USER_MESSAGE_QUICK_RESPONSE() { return citadelUserMessageQuickResponse; } static get CITADEL_USER_MESSAGE_POST_MATCH_DETAILS() { return citadelUserMessagePostMatchDetails; } static get CITADEL_USER_MESSAGE_CHAT_EVENT() { return citadelUserMessageChatEvent; } static get CITADEL_USER_MESSAGE_ABILITY_INTERRUPTED() { return citadelUserMessageAbilityInterrupted; } static get CITADEL_USER_MESSAGE_HERO_KILLED() { return citadelUserMessageHeroKilled; } static get CITADEL_USER_MESSAGE_RETURN_IDOL() { return citadelUserMessageReturnIdol; } static get CITADEL_USER_MESSAGE_SET_CLIENT_CAMERA_ANGLES() { return citadelUserMessageSetClientCameraAngles; } static get CITADEL_USER_MESSAGE_MAP_LINE() { return citadelUserMessageMapLine; } static get CITADEL_USER_MESSAGE_BULLET_HIT() { return citadelUserMessageBulletHit; } static get CITADEL_USER_MESSAGE_OBJECTIVE_MASK() { return citadelUserMessageObjectiveMask; } static get CITADEL_USER_MESSAGE_MODIFIER_APPLIED() { return citadelUserMessageModifierApplied; } static get CITADEL_USER_MESSAGE_CAMERA_CONTROLLER() { return citadelUserMessageCameraController; } static get CITADEL_USER_MESSAGE_AURA_MODIFIER_APPLIED() { return citadelUserMessageAuraModifierApplied; } static get CITADEL_USER_MESSAGE_OBSTRUCTED_SHOT_FIRED() { return citadelUserMessageObstructedShotFired; } static get CITADEL_USER_MESSAGE_ABILITY_LATE_FAILURE() { return citadelUserMessageAbilityLateFailure; } static get CITADEL_USER_MESSAGE_ABILITY_PING() { return citadelUserMessageAbilityPing; } static get CITADEL_USER_MESSAGE_POST_PROCESSING_ANIM() { return citadelUserMessagePostProcessingAnim; } static get CITADEL_USER_MESSAGE_DEATH_REPLAY_DATA() { return citadelUserMessageDeathReplayData; } static get CITADEL_USER_MESSAGE_PLAYER_LIFETIME_STAT_INFO() { return citadelUserMessagePlayerLifetimeStatInfo; } static get CITADEL_USER_MESSAGE_FORCE_SHOP_CLOSED() { return citadelUserMessageForceShopClosed; } static get CITADEL_USER_MESSAGE_STAMINA_DRAINED() { return citadelUserMessageStaminaDrained; } static get CITADEL_USER_MESSAGE_ABILITY_NOTIFY() { return citadelUserMessageAbilityNotify; } static get CITADEL_USER_MESSAGE_GET_DAMAGE_STATS_RESPONSE() { return citadelUserMessageGetDamageStatsResponse; } static get CITADEL_USER_MESSAGE_PARTICIPANT_START_SOUND_EVENT() { return citadelUserMessageParticipantStartSoundEvent; } static get CITADEL_USER_MESSAGE_PARTICIPANT_STOP_SOUND_EVENT() { return citadelUserMessageParticipantStopSoundEvent; } static get CITADEL_USER_MESSAGE_PARTICIPANT_STOP_SOUND_EVENT_HASH() { return citadelUserMessageParticipantStopSoundEventHash; } static get CITADEL_USER_MESSAGE_PARTICIPANT_SET_SOUND_EVENT_PARAMS() { return citadelUserMessageParticipantSetSoundEventParams; } static get CITADEL_USER_MESSAGE_PARTICIPANT_SET_LIBRARY_STACK_FIELDS() { return citadelUserMessageParticipantSetLibraryStackFields; } static get CITADEL_USER_MESSAGE_CURRENCY_CHANGED() { return citadelUserMessageCurrencyChanged; } static get CITADEL_USER_MESSAGE_GAME_OVER() { return citadelUserMessageGameOver; } static get CITADEL_USER_MESSAGE_BOSS_KILLED() { return citadelUserMessageBossKilled; } static get CITADEL_USER_MESSAGE_BOSS_DAMAGED() { return citadelUserMessageBossDamaged; } static get CITADEL_USER_MESSAGE_MID_BOSS_SPAWNED() { return citadelUserMessageMidBossSpawned; } static get CITADEL_USER_MESSAGE_REJUV_STATUS() { return citadelUserMessageRejuvStatus; } static get CITADEL_USER_MESSAGE_KILL_STREAK() { return citadelUserMessageKillStreak; } static get CITADEL_USER_MESSAGE_TEAM_MSG() { return citadelUserMessageTeamMsg; } static get CITADEL_USER_MESSAGE_PLAYER_RESPAWNED() { return citadelUserMessagePlayerRespawned; } static get CITADEL_USER_MESSAGE_CALL_CHEATER_VOTE() { return citadelUserMessageCallCheaterVote; } static get CITADEL_USER_MESSAGE_MELEE_HIT() { return citadelUserMessageMeleeHit; } static get CITADEL_USER_MESSAGE_FLEX_SLOT_UNLOCKED() { return citadelUserMessageFlexSlotUnlocked; } static get CITADEL_USER_MESSAGE_SEASONAL_ACHIEVEMENT_UNLOCKED() { return citadelUserMessageSeasonalAchievementUnlocked; } static get CITADEL_USER_MESSAGE_MUSIC_QUEUE() { return citadelUserMessageMusicQueue; } static get CITADEL_USER_MESSAGE_AG2_PARAM_TRIGGER() { return citadelUserMessageAG2ParamTrigger; } static get TE_EFFECT_DISPATCH() { return TE_EffectDispatch; } static get GE_FIRE_BULLETS() { return GE_FireBullets; } static get GE_PLAYER_ANIM_EVENT() { return GE_PlayerAnimEvent; } static get GE_PARTICLE_SYSTEM_MANAGER() { return GE_ParticleSystemManager; } static get GE_SCREEN_TEXT_PRETTY() { return GE_ScreenTextPretty; } // static get GE_SERVER_REQUESTED_TRACER() { return GE_ServerRequestedTracer; } static get GE_BULLET_IMPACT() { return GE_BulletImpact; } static get GE_ENABLE_SAT_VOLUMES_EVENT() { return GE_EnableSatVolumesEvent; } static get GE_PLACE_SAT_VOLUME_EVENT() { return GE_PlaceSatVolumeEvent; } static get GE_DISABLE_SAT_VOLUME_EVENT() { return GE_DisableSatVolumesEvent; } static get GE_REMOVE_SAT_VOLUME_EVENT() { return GE_RemoveSatVolumeEvent; } static get GE_REMOVE_BULLET() { return GE_RemoveBullet; } static get CITADEL_ENTITY_MESSAGE_BREAKABLE_PROP_SPAWN_DEBRIS() { return citadelEntityMessageBreakablePropSpawnDebris; } } // Enums const ECitadelGameEvents = ProtoProvider.CITADEL_GAME_EVENTS.getEnum('ECitadelGameEvents'), ECitadelEntityMessageIds = ProtoProvider.CITADEL_USER_MESSAGES.getEnum('CitadelEntityMessageIds'), ECitadelUserMessageIds = ProtoProvider.CITADEL_USER_MESSAGES.getEnum('CitadelUserMessageIds'), EGameEvents = ProtoProvider.GAME_EVENTS.getEnum('EBaseGameEvents'), ENET_Messages = ProtoProvider.NETWORK_BASE_TYPES.getEnum('NET_Messages'), ETemporaryEntityIds = ProtoProvider.TEMPORARY_ENTITIES.getEnum('ETEProtobufIds'), ESVC_Messages = ProtoProvider.NET_MESSAGES.getEnum('SVC_Messages'), EUserMessages = ProtoProvider.USER_MESSAGES.getEnum('EBaseUserMessages'); // Network Base Types const CNETMsg_Tick = ProtoProvider.NETWORK_BASE_TYPES.lookupType('CNETMsg_Tick'), CNETMsg_SetConVar = ProtoProvider.NETWORK_BASE_TYPES.lookupType('CNETMsg_SetConVar'), CNETMsg_SignonState = ProtoProvider.NETWORK_BASE_TYPES.lookupType('CNETMsg_SignonState'), CNETMsg_SpawnGroupLoad = ProtoProvider.NET_MESSAGES.lookupType('CNETMsg_SpawnGroup_Load'), CNETMsg_SpawnGroupSetCreationTick = ProtoProvider.NET_MESSAGES.lookupType('CNETMsg_SpawnGroup_SetCreationTick'); // Citadel Game Events const CMsgFireBullets = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgFireBullets'), CMsgPlayerAnimEvent = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgPlayerAnimEvent'), CMsgParticleSystemManager = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgParticleSystemManager'), CMsgScreenTextPretty = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgScreenTextPretty'), // CMsgServerRequestedTracer = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgServerRequestedTracer'), CMsgBulletImpact = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgBulletImpact'), CMsgEnableSatVolumesEvent = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgEnableSatVolumesEvent'), CMsgPlaceSatVolumeEvent = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgPlaceSatVolumeEvent'), CMsgDisableSatVolumesEvent = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgDisableSatVolumesEvent'), CMsgRemoveSatVolumeEvent = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgRemoveSatVolumeEvent'), CMsgRemoveBullet = ProtoProvider.CITADEL_GAME_EVENTS.lookupType('CMsgRemoveBullet'); // Citadel User Messages const CCitadelUserMessage_Damage = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_Damage'), CCitadelUserMsg_MapPing = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_MapPing'), CCitadelUserMsg_TeamRewards = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_TeamRewards'), CCitadelUserMsg_TriggerDamageFlash = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_TriggerDamageFlash'), CCitadelUserMsg_AbilitiesChanged = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_AbilitiesChanged'), CCitadelUserMsg_RecentDamageSummary = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_RecentDamageSummary'), CCitadelUserMsg_SpectatorTeamChanged = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_SpectatorTeamChanged'), CCitadelUserMsg_ChatWheel = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ChatWheel'), CCitadelUserMsg_GoldHistory = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_GoldHistory'), CCitadelUserMsg_ChatMsg = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ChatMsg'), CCitadelUserMsg_QuickResponse = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_QuickResponse'), CCitadelUserMsg_PostMatchDetails = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_PostMatchDetails'), CCitadelUserMsg_ChatEvent = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ChatEvent'), CCitadelUserMsg_AbilityInterrupted = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_AbilityInterrupted'), CCitadelUserMsg_HeroKilled = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_HeroKilled'), CCitadelUserMsg_ReturnIdol = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ReturnIdol'), CCitadelUserMsg_SetClientCameraAngles = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_SetClientCameraAngles'), CCitadelUserMsg_MapLine = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_MapLine'), CCitadelUserMessage_BulletHit = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_BulletHit'), CCitadelUserMessage_ObjectiveMask = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_ObjectiveMask'), CCitadelUserMessage_ModifierApplied = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_ModifierApplied'), CCitadelUserMsg_CameraController = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_CameraController'), CCitadelUserMessage_AuraModifierApplied = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_AuraModifierApplied'), CCitadelUserMsg_ObstructedShotFired = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ObstructedShotFired'), CCitadelUserMsg_AbilityLateFailure = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_AbilityLateFailure'), CCitadelUserMsg_AbilityPing = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_AbilityPing'), CCitadelUserMsg_PostProcessingAnim = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_PostProcessingAnim'), CCitadelUserMsg_DeathReplayData = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_DeathReplayData'), CCitadelUserMsg_PlayerLifetimeStatInfo = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_PlayerLifetimeStatInfo'), CCitadelUserMsg_ForceShopClosed = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ForceShopClosed'), CCitadelUserMsg_StaminaDrained = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_StaminaDrained'), CCitadelUserMessage_AbilityNotify = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_AbilityNotify'), CCitadelUserMsg_GetDamageStatsResponse = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_GetDamageStatsResponse'), CCitadelUserMsg_ParticipantStartSoundEvent = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ParticipantStartSoundEvent'), CCitadelUserMsg_ParticipantStopSoundEvent = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ParticipantStopSoundEvent'), CCitadelUserMsg_ParticipantStopSoundEventHash = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ParticipantStopSoundEventHash'), CCitadelUserMsg_ParticipantSetSoundEventParams = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ParticipantSetSoundEventParams'), CCitadelUserMsg_ParticipantSetLibraryStackFields = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_ParticipantSetLibraryStackFields'), CCitadelUserMessage_CurrencyChanged = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_CurrencyChanged'), CCitadelUserMessage_GameOver = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_GameOver'), CCitadelUserMsg_BossKilled = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_BossKilled'), CCitadelUserMsg_BossDamaged = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_BossDamaged'), CCitadelUserMsg_MidBossSpawned = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_MidBossSpawned'), CCitadelUserMsg_RejuvStatus = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_RejuvStatus'), CCitadelUserMsg_KillStreak = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_KillStreak'), CCitadelUserMsg_TeamMsg = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_TeamMsg'), CCitadelUserMsg_PlayerRespawned = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_PlayerRespawned'), CCitadelUserMsg_CallCheaterVote = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_CallCheaterVote'), CCitadelUserMessage_MeleeHit = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMessage_MeleeHit'), CCitadelUserMsg_FlexSlotUnlocked = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_FlexSlotUnlocked'), CCitadelUserMsg_SeasonalAchievementUnlocked = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_SeasonalAchievementUnlocked'), CCitadelUserMsg_MusicQueue = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_MusicQueue'), CCitadelUserMsg_AG2ParamTrigger = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelUserMsg_AG2ParamTrigger'); // Game Events const CMsgSource1LegacyGameEventList = ProtoProvider.GAME_EVENTS.lookupType('CMsgSource1LegacyGameEventList'), CMsgSource1LegacyGameEvent = ProtoProvider.GAME_EVENTS.lookupType('CMsgSource1LegacyGameEvent'), CMsgSosStartSoundEvent = ProtoProvider.GAME_EVENTS.lookupType('CMsgSosStartSoundEvent'), CMsgSosStopSoundEvent = ProtoProvider.GAME_EVENTS.lookupType('CMsgSosStopSoundEvent'), CMsgSosSetSoundEventParams = ProtoProvider.GAME_EVENTS.lookupType('CMsgSosSetSoundEventParams'), CMsgSosStopSoundEventHash = ProtoProvider.GAME_EVENTS.lookupType('CMsgSosStopSoundEventHash'); // User Messages const CUserMsg_ParticleManager = ProtoProvider.USER_MESSAGES.lookupType('CUserMsg_ParticleManager'), CUserMsg_PlayResponseConditional = ProtoProvider.USER_MESSAGES.lookupType('CUserMessage_PlayResponseConditional'); // Net Messages const CSVCMsg_ServerInfo = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_ServerInfo'), CSVCMsg_ClassInfo = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_ClassInfo'), CSVCMsg_CreateStringTable = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_CreateStringTable'), CSVCMsg_UpdateStringTable = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_UpdateStringTable'), CSVCMsg_VoiceInit = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_VoiceInit'), CSVCMsg_VoiceData = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_VoiceData'), CSVCMsg_ClearAllStringTables = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_ClearAllStringTables'), CSVCMsg_PacketEntities = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_PacketEntities'), CSVCMsg_HltvStatus = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_HLTVStatus'), CSVCMsg_UserCommands = ProtoProvider.NET_MESSAGES.lookupType('CSVCMsg_UserCommands'); // Temporary Entities const CMsgTEEffectDispatch = ProtoProvider.TEMPORARY_ENTITIES.lookupType('CMsgTEEffectDispatch'); const CCitadelEntityMsg_BreakablePropSpawnDebris = ProtoProvider.CITADEL_USER_MESSAGES.lookupType('CCitadelEntityMsg_BreakablePropSpawnDebris'); const netTick = new MessagePacketType('net_Tick', ENET_Messages.net_Tick, CNETMsg_Tick), // 4 netSetConVar = new MessagePacketType('net_SetConVar', ENET_Messages.net_SetConVar, CNETMsg_SetConVar), // 6 netSignonState = new MessagePacketType('net_SignonState', ENET_Messages.net_SignonState, CNETMsg_SignonState), // 7 netSpawnGroupLoad = new MessagePacketType('net_SpawnGroup_Load', ENET_Messages.net_SpawnGroup_Load, CNETMsg_SpawnGroupLoad), // 8 netSpawnGroupSetCreationTick = new MessagePacketType('net_SpawnGroup_SetCreationTick', ENET_Messages.net_SpawnGroup_SetCreationTick, CNETMsg_SpawnGroupSetCreationTick); // 11 const svcServerInfo = new MessagePacketType('svc_ServerInfo', ESVC_Messages.svc_ServerInfo, CSVCMsg_ServerInfo), // 40 svcClassInfo = new MessagePacketType('svc_ClassInfo', ESVC_Messages.svc_ClassInfo, CSVCMsg_ClassInfo), // 42 svcCreateStringTable = new MessagePacketType('svc_CreateStringTable', ESVC_Messages.svc_CreateStringTable, CSVCMsg_CreateStringTable), // 44 svcUpdateStringTable = new MessagePacketType('svc_UpdateStringTable', ESVC_Messages.svc_UpdateStringTable, CSVCMsg_UpdateStringTable), // 45 svcVoiceInit = new MessagePacketType('svc_VoiceInit', ESVC_Messages.svc_VoiceInit, CSVCMsg_VoiceInit), // 46 svcVoiceData = new MessagePacketType('svc_VoiceData', ESVC_Messages.svc_VoiceData, CSVCMsg_VoiceData), // 47 svcClearAllStringTables = new MessagePacketType('svc_ClearAllStringTables', ESVC_Messages.svc_ClearAllStringTables, CSVCMsg_ClearAllStringTables), // 51 svcPacketEntities = new MessagePacketType('svc_PacketEntities', ESVC_Messages.svc_PacketEntities, CSVCMsg_PacketEntities), // 55 svcHltvStatus = new MessagePacketType('svc_HLTVStatus', ESVC_Messages.svc_HLTVStatus, CSVCMsg_HltvStatus), // 62 svcUserCommands = new MessagePacketType('svc_UserCmds', ESVC_Messages.svc_UserCmds, CSVCMsg_UserCommands); // 76 const UMParticleManager = new MessagePacketType('UM_ParticleManager', EUserMessages.UM_ParticleManager, CUserMsg_ParticleManager), // 145 UMPlayResponseConditional = new MessagePacketType('UM_PlayResponseConditional', EUserMessages.UM_PlayResponseConditional, CUserMsg_PlayResponseConditional); // 166 const GESource1LegacyGameEventList = new MessagePacketType('GE_Source1LegacyGameEventList', EGameEvents.GE_Source1LegacyGameEventList, CMsgSource1LegacyGameEventList), // 205 GE_Source1LegacyGameEvent = new MessagePacketType('GE_Source1LegacyGameEvent', EGameEvents.GE_Source1LegacyGameEvent, CMsgSource1LegacyGameEvent), // 207 GE_SosStartSoundEvent = new MessagePacketType('GE_SosStartSoundEvent', EGameEvents.GE_SosStartSoundEvent, CMsgSosStartSoundEvent), // 208 GE_SosStopSoundEvent = new MessagePacketType('GE_SosStopSoundEvent', EGameEvents.GE_SosStopSoundEvent, CMsgSosStopSoundEvent), // 209 GE_SosSetSoundEventParams = new MessagePacketType('GE_SosSetSoundEventParams', EGameEvents.GE_SosSetSoundEventParams, CMsgSosSetSoundEventParams), // 210 GE_SosStopSoundEventHash = new MessagePacketType('GE_SosStopSoundEventHash', EGameEvents.GE_SosStopSoundEventHash, CMsgSosStopSoundEventHash); // 212 const citadelUserMessageDamage = new MessagePacketType('k_EUserMsg_Damage', ECitadelUserMessageIds.k_EUserMsg_Damage, CCitadelUserMessage_Damage), // 300 citadelUserMessageMapPing = new MessagePacketType('k_EUserMsg_MapPing', ECitadelUserMessageIds.k_EUserMsg_MapPing, CCitadelUserMsg_MapPing), // 303 citadelUserMessageTeamRewards = new MessagePacketType('k_EUserMsg_TeamRewards', ECitadelUserMessageIds.k_EUserMsg_TeamRewards, CCitadelUserMsg_TeamRewards), // 304 citadelUserMessageTriggerDamageFlash = new MessagePacketType('k_EUserMsg_TriggerDamageFlash', ECitadelUserMessageIds.k_EUserMsg_TriggerDamageFlash, CCitadelUserMsg_TriggerDamageFlash), // 308 citadelUserMessageAbilitiesChanged = new MessagePacketType('k_EUserMsg_AbilitiesChanged', ECitadelUserMessageIds.k_EUserMsg_AbilitiesChanged, CCitadelUserMsg_AbilitiesChanged), // 309 citadelUserMessageRecentDamageSummary = new MessagePacketType('k_EUserMsg_RecentDamageSummary', ECitadelUserMessageIds.k_EUserMsg_RecentDamageSummary, CCitadelUserMsg_RecentDamageSummary), // 310 citadelUserMessageSpectatorTeamChanged = new MessagePacketType('k_EUserMsg_SpectatorTeamChanged', ECitadelUserMessageIds.k_EUserMsg_SpectatorTeamChanged, CCitadelUserMsg_SpectatorTeamChanged), // 311 citadelUserMessageChatWheel = new MessagePacketType('k_EUserMsg_ChatWheel', ECitadelUserMessageIds.k_EUserMsg_ChatWheel, CCitadelUserMsg_ChatWheel), // 312 citadelUserMessageGoldHistory = new MessagePacketType('k_EUserMsg_GoldHistory', ECitadelUserMessageIds.k_EUserMsg_GoldHistory, CCitadelUserMsg_GoldHistory), // 313 citadelUserMessageChatMessage = new MessagePacketType('k_EUserMsg_ChatMsg', ECitadelUserMessageIds.k_EUserMsg_ChatMsg, CCitadelUserMsg_ChatMsg), // 314 citadelUserMessageQuickResponse = new MessagePacketType('k_EUserMsg_QuickResponse', ECitadelUserMessageIds.k_EUserMsg_QuickResponse, CCitadelUserMsg_QuickResponse), // 315 citadelUserMessagePostMatchDetails = new MessagePacketType('k_EUserMsg_PostMatchDetails', ECitadelUserMessageIds.k_EUserMsg_PostMatchDetails, CCitadelUserMsg_PostMatchDetails), // 316 citadelUserMessageChatEvent = new MessagePacketType('k_EUserMsg_ChatEvent', ECitadelUserMessageIds.k_EUserMsg_ChatEvent, CCitadelUserMsg_ChatEvent), // 317 citadelUserMessageAbilityInterrupted = new MessagePacketType('k_EUserMsg_AbilityInterrupted', ECitadelUserMessageIds.k_EUserMsg_AbilityInterrupted, CCitadelUserMsg_AbilityInterrupted), // 318 citadelUserMessageHeroKilled = new MessagePacketType('k_EUserMsg_HeroKilled', ECitadelUserMessageIds.k_EUserMsg_HeroKilled, CCitadelUserMsg_HeroKilled), // 319 citadelUserMessageReturnIdol = new MessagePacketType('k_EUserMsg_ReturnIdol', ECitadelUserMessageIds.k_EUserMsg_ReturnIdol, CCitadelUserMsg_ReturnIdol), // 320 citadelUserMessageSetClientCameraAngles = new MessagePacketType('k_EUserMsg_SetClientCameraAngles', ECitadelUserMessageIds.k_EUserMsg_SetClientCameraAngles, CCitadelUserMsg_SetClientCameraAngles), // 321 citadelUserMessageMapLine = new MessagePacketType('k_EUserMsg_MapLine', ECitadelUserMessageIds.k_EUserMsg_MapLine, CCitadelUserMsg_MapLine), // 322 citadelUserMessageBulletHit = new MessagePacketType('k_EUserMsg_BulletHit', ECitadelUserMessageIds.k_EUserMsg_BulletHit, CCitadelUserMessage_BulletHit), // 323 citadelUserMessageObjectiveMask = new MessagePacketType('k_EUserMsg_ObjectiveMask', ECitadelUserMessageIds.k_EUserMsg_ObjectiveMask, CCitadelUserMessage_ObjectiveMask), // 324 citadelUserMessageModifierApplied = new MessagePacketType('k_EUserMsg_ModifierApplied', ECitadelUserMessageIds.k_EUserMsg_ModifierApplied, CCitadelUserMessage_ModifierApplied), // 325 citadelUserMessageCameraController = new MessagePacketType('k_EUserMsg_CameraController', ECitadelUserMessageIds.k_EUserMsg_CameraController, CCitadelUserMsg_CameraController), // 326 citadelUserMessageAuraModifierApplied = new MessagePacketType('k_EUserMsg_AuraModifierApplied', ECitadelUserMessageIds.k_EUserMsg_AuraModifierApplied, CCitadelUserMessage_AuraModifierApplied), // 327 citadelUserMessageObstructedShotFired = new MessagePacketType('k_EUserMsg_ObstructedShotFired', ECitadelUserMessageIds.k_EUserMsg_ObstructedShotFired, CCitadelUserMsg_ObstructedShotFired), // 329 citadelUserMessageAbilityLateFailure = new MessagePacketType('k_EUserMsg_AbilityLateFailure', ECitadelUserMessageIds.k_EUserMsg_AbilityLateFailure, CCitadelUserMsg_AbilityLateFailure), // 330 citadelUserMessageAbilityPing = new MessagePacketType('k_EUserMsg_AbilityPing', ECitadelUserMessageIds.k_EUserMsg_AbilityPing, CCitadelUserMsg_AbilityPing), // 331 citadelUserMessagePostProcessingAnim = new MessagePacketType('k_EUserMsg_PostProcessingAnim', ECitadelUserMessageIds.k_EUserMsg_PostProcessingAnim, CCitadelUserMsg_PostProcessingAnim), // 332 citadelUserMessageDeathReplayData = new MessagePacketType('k_EUserMsg_DeathReplayData', ECitadelUserMessageIds.k_EUserMsg_DeathReplayData, CCitadelUserMsg_DeathReplayData), // 333 citadelUserMessagePlayerLifetimeStatInfo = new MessagePacketType('k_EUserMsg_PlayerLifetimeStatInfo', ECitadelUserMessageIds.k_EUserMsg_PlayerLifetimeStatInfo, CCitadelUserMsg_PlayerLifetimeStatInfo), // 334 citadelUserMessageForceShopClosed = new MessagePacketType('k_EUserMsg_ForceShopClosed', ECitadelUserMessageIds.k_EUserMsg_ForceShopClosed, CCitadelUserMsg_ForceShopClosed), // 336 citadelUserMessageStaminaDrained = new MessagePacketType('k_EUserMsg_StaminaDrained', ECitadelUserMessageIds.k_EUserMsg_StaminaDrained, CCitadelUserMsg_StaminaDrained), // 337 citadelUserMessageAbilityNotify = new MessagePacketType('k_EUserMsg_AbilityNotify', ECitadelUserMessageIds.k_EUserMsg_AbilityNotify, CCitadelUserMessage_AbilityNotify), // 338 citadelUserMessageGetDamageStatsResponse = new MessagePacketType('k_EUserMsg_GetDamageStatsResponse', ECitadelUserMessageIds.k_EUserMsg_GetDamageStatsResponse, CCitadelUserMsg_GetDamageStatsResponse), // 339 citadelUserMessageParticipantStartSoundEvent = new MessagePacketType('k_EUserMsg_ParticipantStartSoundEvent', ECitadelUserMessageIds.k_EUserMsg_ParticipantStartSoundEvent, CCitadelUserMsg_ParticipantStartSoundEvent), // 340 citadelUserMessageParticipantStopSoundEvent = new MessagePacketType('k_EUserMsg_ParticipantStopSoundEvent', ECitadelUserMessageIds.k_EUserMsg_ParticipantStopSoundEvent, CCitadelUserMsg_ParticipantStopSoundEvent), // 341 citadelUserMessageParticipantStopSoundEventHash = new MessagePacketType('k_EUserMsg_ParticipantStopSoundEventHash', ECitadelUserMessageIds.k_EUserMsg_ParticipantStopSoundEventHash, CCitadelUserMsg_ParticipantStopSoundEventHash), // 342 citadelUserMessageParticipantSetSoundEventParams = new MessagePacketType('k_EUserMsg_ParticipantSetSoundEventParams', ECitadelUserMessageIds.k_EUserMsg_ParticipantSetSoundEventParams, CCitadelUserMsg_ParticipantSetSoundEventParams), // 343 citadelUserMessageParticipantSetLibraryStackFields = new MessagePacketType('k_EUserMsg_ParticipantSetLibraryStackFields', ECitadelUserMessageIds.k_EUserMsg_ParticipantSetLibraryStackFields, CCitadelUserMsg_ParticipantSetLibraryStackFields), // 344 citadelUserMessageCurrencyChanged = new MessagePacketType('k_EUserMsg_CurrencyChanged', ECitadelUserMessageIds.k_EUserMsg_CurrencyChanged, CCitadelUserMessage_CurrencyChanged), // 345 citadelUserMessageGameOver = new MessagePacketType('k_EUserMsg_GameOver', ECitadelUserMessageIds.k_EUserMsg_GameOver, CCitadelUserMessage_GameOver), // 346 citadelUserMessageBossKilled = new MessagePacketType('k_EUserMsg_BossKilled', ECitadelUserMessageIds.k_EUserMsg_BossKilled, CCitadelUserMsg_BossKilled), // 347 citadelUserMessageBossDamaged = new MessagePacketType('k_EUserMsg_BossDamaged', ECitadelUserMessageIds.k_EUserMsg_BossDamaged, CCitadelUserMsg_BossDamaged), // 348 citadelUserMessageMidBossSpawned = new MessagePacketType('k_EUserMsg_MidBossSpawned', ECitadelUserMessageIds.k_EUserMsg_MidBossSpawned, CCitadelUserMsg_MidBossSpawned), // 349 citadelUserMessageRejuvStatus = new MessagePacketType('k_EUserMsg_RejuvStatus', ECitadelUserMessageIds.k_EUserMsg_RejuvStatus, CCitadelUserMsg_RejuvStatus), // 350 citadelUserMessageKillStreak = new MessagePacketType('k_EUserMsg_KillStreak', ECitadelUserMessageIds.k_EUserMsg_KillStreak, CCitadelUserMsg_KillStreak), // 351 citadelUserMessageTeamMsg = new MessagePacketType('k_EUserMsg_TeamMsg', ECitadelUserMessageIds.k_EUserMsg_TeamMsg, CCitadelUserMsg_TeamMsg), // 352 citadelUserMessagePlayerRespawned = new MessagePacketType('k_EUserMsg_PlayerRespawned', ECitadelUserMessageIds.k_EUserMsg_PlayerRespawned, CCitadelUserMsg_PlayerRespawned), // 353 citadelUserMessageCallCheaterVote = new MessagePacketType('k_EUserMsg_CallCheaterVote', ECitadelUserMessageIds.k_EUserMsg_CallCheaterVote, CCitadelUserMsg_CallCheaterVote), // 354 citadelUserMessageMeleeHit = new MessagePacketType('k_EUserMsg_MeleeHit', ECitadelUserMessageIds.k_EUserMsg_MeleeHit, CCitadelUserMessage_MeleeHit), // 355 citadelUserMessageFlexSlotUnlocked = new MessagePacketType('k_EUserMsg_FlexSlotUnlocked', ECitadelUserMessageIds.k_EUserMsg_FlexSlotUnlocked, CCitadelUserMsg_FlexSlotUnlocked), // 356 citadelUserMessageSeasonalAchievementUnlocked = new MessagePacketType('k_EUserMsg_SeasonalAchievementUnlocked', ECitadelUserMessageIds.k_EUserMsg_SeasonalAchievementUnlocked, CCitadelUserMsg_SeasonalAchievementUnlocked), // 357 citadelUserMessageMusicQueue = new MessagePacketType('k_EUserMsg_MusicQueue', ECitadelUserMessageIds.k_EUserMsg_MusicQueue, CCitadelUserMsg_MusicQueue), // 358 citadelUserMessageAG2ParamTrigger = new MessagePacketType('k_EUserMsg_AG2ParamTrigger', ECitadelUserMessageIds.k_EUserMsg_AG2ParamTrigger, CCitadelUserMsg_AG2ParamTrigger); // 359 const TE_EffectDispatch = new MessagePacketType('TE_EffectDispatch', ETemporaryEntityIds.TE_EffectDispatchId, CMsgTEEffectDispatch); // 400 const GE_FireBullets = new MessagePacketType('GE_FireBullets', ECitadelGameEvents.GE_FireBullets, CMsgFireBullets), // 450 GE_PlayerAnimEvent = new MessagePacketType('GE_PlayerAnimEvent', ECitadelGameEvents.GE_PlayerAnimEvent, CMsgPlayerAnimEvent), // 451 GE_ParticleSystemManager = new MessagePacketType('GE_ParticleSystemManager', ECitadelGameEvents.GE_ParticleSystemManager, CMsgParticleSystemManager), // 458 GE_ScreenTextPretty = new MessagePacketType('GE_ScreenTextPretty', ECitadelGameEvents.GE_ScreenTextPretty, CMsgScreenTextPretty), // 459 // GE_ServerRequestedTracer = new MessagePacketType('GE_ServerRequestedTracer', ECitadelGameEvents.GE_ServerRequestedTracer, CMsgServerRequestedTracer), // 460 GE_BulletImpact = new MessagePacketType('GE_BulletImpact', ECitadelGameEvents.GE_BulletImpact, CMsgBulletImpact), // 461 GE_EnableSatVolumesEvent = new MessagePacketType('GE_EnableSatVolumesEvent', ECitadelGameEvents.GE_EnableSatVolumesEvent, CMsgEnableSatVolumesEvent), // 462 GE_PlaceSatVolumeEvent = new MessagePacketType('GE_PlaceSatVolumeEvent', ECitadelGameEvents.GE_PlaceSatVolumeEvent, CMsgPlaceSatVolumeEvent), // 463 GE_DisableSatVolumesEvent = new MessagePacketType('GE_DisableSatVolumesEvent', ECitadelGameEvents.GE_DisableSatVolumesEvent, CMsgDisableSatVolumesEvent), // 464 GE_RemoveSatVolumeEvent = new MessagePacketType('GE_RemoveSatVolumeEvent', ECitadelGameEvents.GE_RemoveSatVolumeEvent, CMsgRemoveSatVolumeEvent), // 465 GE_RemoveBullet = new MessagePacketType('GE_RemoveBullet', ECitadelGameEvents.GE_RemoveBullet, CMsgRemoveBullet); // 466 const citadelEntityMessageBreakablePropSpawnDebris = new MessagePacketType('k_EEntityMsg_BreakablePropSpawnDebris', ECitadelEntityMessageIds.k_EEntityMsg_BreakablePropSpawnDebris, CCitadelEntityMsg_BreakablePropSpawnDebris); // 500 export default MessagePacketType;