{"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"}