@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
1 lines • 5.25 kB
Source Map (JSON)
{"version":3,"sources":["../../../../src/types/events/in/game.ts"],"sourcesContent":["import type { Game as GameTypes } from \"../..\";\n\nexport interface Game {\n \"game.ready\": GameTypes.Ready;\n \"game.abort\": void;\n \"game.match\": {\n gamemode: GameTypes.GameMode;\n modename: string;\n rb: {\n type: string;\n options: {\n ft: number;\n wb: number;\n gp: number;\n };\n leaderboard: GameTypes.Leaderboard[];\n };\n rrb: {\n type: string;\n options: {};\n scoreboard: {\n id: string;\n username: string;\n active: boolean;\n naturalorder: number;\n shadows: any[];\n shadowedBy: (null | string)[];\n alive: boolean;\n lifetime: number;\n stats: {\n apm: number | null;\n pps: number | null;\n vsscore: number | null;\n garbagesent: number;\n garbagereceived: number;\n kills: number;\n altitude: number;\n rank: number;\n targetingfactor: number;\n targetinggrace: number;\n btb: number;\n revives: number;\n escapeartist: number;\n blockrationing_app: number;\n blockrationing_final: number;\n };\n }[];\n };\n };\n \"game.start\": void;\n \"game.advance\": {\n scoreboard: {\n id: string;\n username: string;\n active: boolean;\n naturalorder: number;\n shadows: [];\n shadowedBy: [null, null];\n alive: boolean;\n lifetime: number;\n stats: {\n apm: number;\n pps: number;\n vsscore: number;\n garbagesent: number;\n garbagereceived: number;\n kills: 1;\n altitude: 0;\n rank: 1;\n targetingfactor: 3;\n targetinggrace: 0;\n };\n }[];\n };\n \"game.score\": {\n refereedata: { ft: number; wb: number; modename: string };\n leaderboard: GameTypes.Leaderboard[];\n victor: string;\n };\n \"game.end\": {\n leaderboard: GameTypes.Leaderboard[];\n currentboard: GameTypes.Leaderboard[];\n xpPerUser: number;\n };\n \"game.replay.state\": {\n gameid: number;\n data: \"early\" | \"wait\";\n };\n\n \"game.replay.ige\": {\n gameid: number;\n iges: GameTypes.IGE[];\n };\n\n \"game.replay.board\": {\n boards: {\n 0: {\n board: {\n /** Board state */\n b: GameTypes.BoardSquare[][];\n /** Frame number or turn */\n f: number;\n /** Game status or flag */\n g: number;\n /** Board width */\n w: number;\n /** Board height */\n h: number;\n };\n gameid: number;\n };\n 1: {\n board: {\n /** Board state */\n b: GameTypes.BoardSquare[][];\n /** Frame number or turn */\n f: number;\n /** Game status or flag */\n g: number;\n /** Board width */\n w: number;\n /** Board height */\n h: number;\n };\n gameid: number;\n };\n };\n };\n \"game.replay\": {\n gameid: number;\n provisioned: number;\n frames: GameTypes.Replay.Frame[];\n };\n \"game.replay.end\": {\n gameid: number;\n data: {\n gameoverreason: GameTypes.GameOverReason;\n killer: { gameid: number; type: \"sizzle\"; username: null | string };\n };\n };\n\n \"game.spectate\": {\n id: number;\n data: {\n players: {\n userid: string;\n gameid: number;\n alive: boolean;\n naturalorder: number;\n options: GameTypes.ReadyOptions;\n }[];\n match: {\n gamemode: string;\n modename: string;\n rb: {\n type: \"elimination\";\n options: {\n ft: number;\n wb: number;\n gp: number;\n };\n leaderboard: {\n id: string;\n username: string;\n active: boolean;\n naturalorder: number;\n shadows: any[];\n shadowedBy: (null | any)[];\n wins: number;\n stats: {\n apm: number | null;\n pps: number | null;\n vsscore: number | null;\n garbagesent: number;\n garbagereceived: number;\n kills: number;\n altitude: number;\n rank: number;\n targetingfactor: number;\n targetinggrace: number;\n btb: number;\n revives: number;\n };\n }[];\n };\n rrb: {\n type: string;\n options: Record<string, unknown>;\n scoreboard: {\n sb: {\n stats: {\n rank: number;\n altitude: number;\n btb: number;\n revives: number;\n };\n allies: any[];\n gameid: number;\n specCount: number;\n speedrun: boolean;\n nearWR: boolean;\n lovers: boolean;\n }[];\n };\n };\n };\n };\n };\n}\n"],"names":[],"mappings":"AAEA,WA8MC"}