{"version":3,"sources":["../../../src/types/replay/versus.ts"],"sourcesContent":["import type { BagType, KickTable } from \"../../engine\";\nimport type { Game } from \"../game\";\n\nexport interface Stats {\n  altitude: number;\n  apm: number;\n  btb: number;\n  garbagereceived: number;\n  garbagesent: number;\n  kills: number;\n  pps: number;\n  rank: number;\n  revives: number;\n  targetingfactor: number;\n  targetinggrace: number;\n  vsscore: number;\n}\n\nexport interface VersusReplay {\n  gamemode: \"league\" | null;\n  id: string | null;\n  replay: {\n    leaderboard: {\n      id: string;\n      username: string;\n      wins: number;\n      active: boolean;\n      naturalorder: number;\n      shadowedBy: [null, null];\n      shadows: [];\n      stats: Stats & {\n        escapeartist: null | unknown;\n        blockrationing_app: null | unknown;\n        blockrationing_final: null | unknown;\n      };\n    }[];\n    rounds: {\n      active: boolean;\n      alive: boolean;\n      id: string;\n      lifetime: number;\n      naturalorder: number;\n      replay: {\n        frames: number;\n        events: Game.Replay.Frame[];\n        options: {\n          allow_harddrop: boolean;\n          allclear_b2b: number;\n          allclear_b2b_dupes: boolean;\n          allclear_b2b_sends: boolean;\n          allclear_garbage: number;\n          allow180: boolean;\n          b2bcharge_base: number;\n          boardheight: number;\n          boardwidth: number;\n          bagtype: BagType;\n          b2bchaining: boolean;\n          b2bcharging: boolean;\n          bgmnoreset: boolean;\n          countdown: boolean;\n          combotable: Game.ComboTable;\n          countdown_count: number;\n          clutch: boolean;\n          display_username: boolean;\n          display_hold: boolean;\n          forfeit_time: number;\n          fullinterval: number;\n          fulloffset: number;\n          gameid: number;\n          garbagemultiplier: number;\n          garbageincrease: number;\n          garbageblocking: Game.GarbageBlocking;\n          garbagemargin: number;\n          garbagespeed: number;\n          garbageholesize: number;\n          garbagecap: number;\n          garbagecapincrease: number;\n          garbagecapmargin: number;\n          garbagecapmax: number;\n          garbageabsolutecap: number;\n          garbagespecialbonus: boolean;\n          garbagetargetbonus: Game.GarbageTargetBonus;\n          g: number;\n          gincrease: number;\n          gmargin: number;\n          gravitymay20g: boolean;\n          handling: Game.Handling;\n          hasgarbage: boolean;\n          infinite_hold: boolean;\n          kickset: KickTable;\n          latencymode: string;\n          lockresets: number;\n          manual_allowed: boolean;\n          messiness_change: number;\n          messiness_nosame: boolean;\n          messiness_timeout: number;\n          messiness_inner: number;\n          messiness_center?: boolean;\n          mission: string;\n          mission_type: string;\n          neverstopbgm: boolean;\n          noextrawidth: boolean;\n          nolockout: boolean;\n          openerphase: number;\n          passthrough: Game.Passthrough;\n          precountdown: number;\n          prestart: number;\n          roundmode: Game.RoundingMode;\n          seed: number;\n          seed_random: boolean;\n          slot_bar1: string;\n          slot_counter1: string;\n          slot_counter2: string;\n          slot_counter3: string;\n          slot_counter4?: string;\n          slot_counter5?: string;\n          song: string;\n          spinbonuses: Game.SpinBonuses;\n          usebombs: boolean;\n          username: string;\n          version: number;\n          zoominto: string;\n        };\n        results: {\n          aggregatestats: {\n            apm: number;\n            pps: number;\n            vsscore: number;\n          };\n          gameoverreason: \"garbagesmash\" | \"topout\" | \"winner\";\n          stats: {\n            btb: number;\n            btbpower: number;\n            clears: {\n              allclear: number;\n              doubles: number;\n              minitspindoubles: number;\n              minitspinquads: number;\n              minitspins: number;\n              minitspinsingles: number;\n              minitspintriples: number;\n              pentas: number;\n              quads: number;\n              realtspins: number;\n              singles: number;\n              triples: number;\n              tspindoubles: number;\n              tspinpentas: number;\n              tspinquads: number;\n              tspinsingles: number;\n              tspintriples: number;\n            };\n            combo: number;\n            combopower: number;\n            finaltime: number;\n            finesse: {\n              combo: number;\n              faults: number;\n              perfectpieces: number;\n            };\n            garbage: {\n              attack: number;\n              cleared: number;\n              maxspike: number;\n              maxspike_nomult: number;\n              received: number;\n              sent: number;\n              sent_nomult: number;\n            };\n            holds: number;\n            inputs: number;\n            kills: number;\n            level: number;\n            level_lines: number;\n            level_lines_needed: number;\n            lines: number;\n            piecesplaced: number;\n            score: number;\n            topbtb: number;\n            topcombo: number;\n            tspins: number;\n            zenith: {\n              altitude: number;\n              avgrankpts: number;\n              floor: number;\n              peakrank: number;\n              rank: number;\n              revives: number;\n              revivesMaxOfBoth: number;\n              revivesTotal: number;\n              speedrun: boolean;\n              speedrun_seen: boolean;\n              splits: number[];\n              targetingfactor: number;\n              targetinggrace: number;\n              totalbonus: number;\n            };\n            zenlevel: number;\n            zenprogress: number;\n          };\n        };\n      };\n      shadowedBy: [null, null];\n      shadows: [];\n      stats: Stats;\n    }[][];\n  };\n  ts: string;\n  users: {\n    id: string;\n    username: string;\n    flags: number;\n    country: string | null;\n    avatar_revision: number;\n    banner_revision: number;\n    doesNotExist?: true;\n  }[];\n  version: number;\n}\n"],"names":[],"mappings":"AAkBA,WAwMC"}