UNPKG

@akiver/cs-demo-analyzer

Version:

Analyze and extract data from Counter-Strike demos.

310 lines (309 loc) 8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GameMode = exports.CompetitiveRank = exports.Cs2RankType = exports.CsgoRankType = exports.HostageState = exports.GameModeSurvival = exports.GameModeSkirmish = exports.GameModeCoOperative = exports.GameModeCustom = exports.GameModeTraining = exports.GameModeGunGame = exports.GameModeClassic = exports.GameType = exports.EconomyType = exports.GrenadeName = exports.HitGroup = exports.PlayerColor = exports.RoundEndReason = exports.WeaponName = exports.WeaponType = exports.TeamLetter = exports.TeamNumber = exports.ExportFormat = exports.DemoType = exports.SupportedDemoSources = exports.DemoSource = exports.Game = void 0; exports.Game = { CSGO: 'CSGO', CS2: 'CS2', CS2LT: 'CS2 LT', }; exports.DemoSource = { Cevo: 'cevo', Challengermode: 'challengermode', Ebot: 'ebot', Esea: 'esea', Esl: 'esl', Esplay: 'esplay', Esportal: 'esportal', FaceIt: 'faceit', Fastcup: 'fastcup', FiveEPlay: '5eplay', Gamersclub: 'gamersclub', MatchZy: 'matchzy', PerfectWorld: 'perfectworld', Popflash: 'popflash', Renown: 'renown', Unknown: 'unknown', Valve: 'valve', }; exports.SupportedDemoSources = [ exports.DemoSource.Challengermode, exports.DemoSource.Ebot, exports.DemoSource.Esea, exports.DemoSource.Esl, exports.DemoSource.Esplay, exports.DemoSource.Esportal, exports.DemoSource.FaceIt, exports.DemoSource.FiveEPlay, exports.DemoSource.Fastcup, exports.DemoSource.PerfectWorld, exports.DemoSource.Popflash, exports.DemoSource.Renown, exports.DemoSource.Valve, ]; exports.DemoType = { POV: 'POV', GOTV: 'GOTV', }; exports.ExportFormat = { CSV: 'csv', JSON: 'json', CSDM: 'csdm', // Special CSV export dedicated to the application CS Demo Manager }; exports.TeamNumber = { UNASSIGNED: 0, SPECTATOR: 1, T: 2, CT: 3, }; exports.TeamLetter = { A: 'A', B: 'B', }; exports.WeaponType = { Unknown: 'unknown', Pistol: 'pistol', SMG: 'smg', Shotgun: 'shotgun', Rifle: 'rifle', Sniper: 'sniper', MachineGun: 'machine_gun', Grenade: 'grenade', Equipment: 'equipment', Melee: 'melee', World: 'world', }; exports.WeaponName = { AK47: 'AK-47', AUG: 'AUG', AWP: 'AWP', Bomb: 'C4', CZ75: 'CZ75 Auto', Decoy: 'Decoy Grenade', Deagle: 'Desert Eagle', DefuseKit: 'Defuse Kit', DualBerettas: 'Dual Berettas', Famas: 'FAMAS', FiveSeven: 'Five-SeveN', Flashbang: 'Flashbang', G3SG1: 'G3SG1', GalilAR: 'Galil AR', Glock: 'Glock-18', HEGrenade: 'HE Grenade', Helmet: 'Kevlar + Helmet', Kevlar: 'Kevlar Vest', Incendiary: 'Incendiary Grenade', Knife: 'Knife', M249: 'M249', M4A1: 'M4A1', M4A4: 'M4A4', Mac10: 'MAC-10', MAG7: 'MAG-7', Molotov: 'Molotov', MP5: 'MP5-SD', MP7: 'MP7', MP9: 'MP9', Negev: 'Negev', Nova: 'Nova', P2000: 'P2000', P250: 'P250', P90: 'P90', PPBizon: 'PP-Bizon', Revolver: 'R8 Revolver', SawedOff: 'Sawed-Off', Scar20: 'SCAR-20', Scout: 'SSG 08', SG553: 'SG 553', Smoke: 'Smoke Grenade', Tec9: 'Tec-9', UMP45: 'UMP-45', Unknown: 'Unknown', USP: 'USP-S', World: 'World', XM1014: 'XM1014', Zeus: 'Zeus x27', }; /** * Values come from https://github.com/alliedmodders/sourcemod/blob/master/plugins/include/cstrike.inc#L53 */ exports.RoundEndReason = { StillInProgress: 0 /* Round not over */, TargetBombed: 1 /* Target Successfully Bombed! */, VipEscaped: 2 /* The VIP has escaped! - Doesn't exist on CS:GO */, VipKilled: 3 /* VIP has been assassinated! - Doesn't exist on CS:GO */, TerroristsEscaped: 4 /* The terrorists have escaped! */, CounterTerroristsStoppedEscape: 5 /* The CTs have prevented most of the terrorists from escaping! */, TerroristsStopped: 6 /* Escaping terrorists have all been neutralized! */, BombDefused: 7 /* The bomb has been defused! */, CtWin: 8 /* Counter-Terrorists Win! */, TerroristWin: 9 /* Terrorists Win! */, Draw: 10 /* Round Draw! */, HostagesRescued: 11 /* All Hostages have been rescued! */, TargetSaved: 12 /* Target has been saved! */, HostagesNotRescued: 13 /* Hostages have not been rescued! */, TerroristsNotEscaped: 14 /* Terrorists have not escaped! */, VipNotEscaped: 15 /* VIP has not escaped! - Doesn't exist on CS:GO */, GameStart: 16 /* Game Commencing! */, // The below only exist on CS:GO TerroristsSurrender: 17 /* Terrorists Surrender */, CounterTerroristsSurrender: 18 /* CTs Surrender */, TerroristsPlanted: 19 /* Terrorists Planted the bomb */, CounterTerroristsReachedHostage: 20 /* CTs Reached the hostage */, }; exports.PlayerColor = { Grey: -1, Yellow: 0, Purple: 1, Green: 2, Blue: 3, Orange: 4, }; exports.HitGroup = { Generic: 0, Head: 1, Chest: 2, Stomach: 3, LeftArm: 4, RightArm: 5, LeftLeg: 6, RightLeg: 7, Neck: 8, Gear: 10, }; exports.GrenadeName = { Smoke: exports.WeaponName.Smoke, Flashbang: exports.WeaponName.Flashbang, HE: exports.WeaponName.HEGrenade, Decoy: exports.WeaponName.Decoy, Molotov: exports.WeaponName.Molotov, Incendiary: exports.WeaponName.Incendiary, }; exports.EconomyType = { Pistol: 'pistol', Eco: 'eco', Semi: 'semi', ForceBuy: 'force-buy', Full: 'full', }; /** * The game type and game mode are related. * Depending of the game type, the game mode will have different values. * Values come from the file "gamemodes.txt" located inside pak01_dir.vpk of CS2. */ exports.GameType = { Classic: 0, GunGame: 1, Training: 2, Custom: 3, CoOperative: 4, Skirmish: 5, FFA: 6, }; /** * When game type is Classic. */ exports.GameModeClassic = { Casual: 0, Competitive: 1, Scrimmage2V2: 2, Scrimmage5V5: 3, }; /** * When game type is GunGame. */ exports.GameModeGunGame = { Progressive: 0, Bomb: 1, Deathmatch: 2, }; /** * When game type is Training. */ exports.GameModeTraining = { Training: 0, }; /** * When game type is Custom. */ exports.GameModeCustom = { Custom: 0, }; /** * When game type is CoOperative. */ exports.GameModeCoOperative = { CoOperative: 0, CoOperativeMission: 1, }; /** * When game type is Skirmish. */ exports.GameModeSkirmish = { Skirmish: 0, }; /** * When game type is FFA. */ exports.GameModeSurvival = { Survival: 0, }; exports.HostageState = { Idle: 0, BeingUntied: 1, GettingPickedUp: 2, BeingCarried: 3, FollowingPlayer: 4, GettingDropped: 5, Rescued: 6, Dead: 7, }; exports.CsgoRankType = { Unknown: -1, None: 0, ClassicCompetitive: 6, Wingman2v2: 7, DangerZone: 10, }; exports.Cs2RankType = { Unknown: -1, None: 0, Wingman2v2: 7, PremierMode: 11, ClassicCompetitive: 12, }; exports.CompetitiveRank = { Unknown: 0, SilverI: 1, SilverII: 2, SilverIII: 3, SilverIV: 4, SilverElite: 5, SilverEliteMaster: 6, GoldNovaI: 7, GoldNovaII: 8, GoldNovaIII: 9, GoldNovaMaster: 10, MasterGuardianI: 11, MasterGuardianII: 12, MasterGuardianElite: 13, DistinguishedMasterGuardian: 14, LegendaryEagle: 15, LegendaryEagleMaster: 16, SupremeMasterFirstClass: 17, GlobalElite: 18, }; // Game mode as a string reported in CSVCMsg_ServerInfo messages. exports.GameMode = { Casual: 'casual', Premier: 'premier', Competitive: 'competitive', Scrimmage2V2: 'scrimcomp2v2', Scrimmage5V5: 'scrimcomp5v5', Deathmatch: 'deathmatch', GunGameProgressive: 'gungameprogressive', GunGameBomb: 'gungametrbomb', Custom: 'custom', CoOperative: 'cooperative', CoOperativeMission: 'coopmission', Skirmish: 'skirmish', Survival: 'survival', };