UNPKG

@haelp/teto

Version:

A typescript-based controllable TETR.IO client.

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