interface Game {
    game.abort: void;
    game.advance: {
        scoreboard: {
            active: boolean;
            alive: boolean;
            id: string;
            lifetime: number;
            naturalorder: number;
            shadowedBy: [null, null];
            shadows: [];
            stats: {
                altitude: 0;
                apm: number;
                garbagereceived: number;
                garbagesent: number;
                kills: 1;
                pps: number;
                rank: 1;
                targetingfactor: 3;
                targetinggrace: 0;
                vsscore: number;
            };
            username: string;
        }[];
    };
    game.end: {
        currentboard: Leaderboard[];
        leaderboard: Leaderboard[];
        xpPerUser: number;
    };
    game.match: {
        leaderboard: Leaderboard[];
        refereedata: {
            ft: number;
            modename: string;
            wb: number;
        };
    };
    game.ready: Ready;
    game.replay: {
        frames: Frame[];
        gameid: number;
        provisioned: number;
    };
    game.replay.board: {
        boards: {
            0: {
                board: {
                    b: Types.Game.BoardSquare[][];
                    f: number;
                    g: number;
                    h: number;
                    w: number;
                };
                gameid: number;
            };
            1: {
                board: {
                    b: Types.Game.BoardSquare[][];
                    f: number;
                    g: number;
                    h: number;
                    w: number;
                };
                gameid: number;
            };
        };
    };
    game.replay.end: {
        data: {
            gameoverreason: GameOverReason;
            killer: {
                gameid: number;
                type: "sizzle";
                username: null | string;
            };
        };
        gameid: number;
    };
    game.replay.ige: {
        gameid: number;
        iges: Types.Game.IGE[];
    };
    game.replay.state: {
        data: "wait";
        gameid: number;
    };
    game.score: {
        leaderboard: Leaderboard[];
        refereedata: {
            ft: number;
            modename: string;
            wb: number;
        };
        victor: string;
    };
    game.spectate: {
        data: {
            match: {
                gamemode: string;
                modename: string;
                rb: {
                    leaderboard: {
                        active: boolean;
                        id: string;
                        naturalorder: number;
                        shadowedBy: any[];
                        shadows: any[];
                        stats: {
                            altitude: number;
                            apm: null | number;
                            btb: number;
                            garbagereceived: number;
                            garbagesent: number;
                            kills: number;
                            pps: null | number;
                            rank: number;
                            revives: number;
                            targetingfactor: number;
                            targetinggrace: number;
                            vsscore: null | number;
                        };
                        username: string;
                        wins: number;
                    }[];
                    options: {
                        ft: number;
                        gp: number;
                        wb: number;
                    };
                    type: "elimination";
                };
                rrb: {
                    options: Record<string, unknown>;
                    scoreboard: {
                        sb: {
                            allies: any[];
                            gameid: number;
                            lovers: boolean;
                            nearWR: boolean;
                            specCount: number;
                            speedrun: boolean;
                            stats: {
                                altitude: number;
                                btb: number;
                                rank: number;
                                revives: number;
                            };
                        }[];
                    };
                    type: string;
                };
            };
            players: {
                alive: boolean;
                gameid: number;
                naturalorder: number;
                options: ReadyOptions;
                userid: string;
            }[];
        };
        id: number;
    };
    game.start: void;
}

Properties

game.abort: void
game.advance: {
    scoreboard: {
        active: boolean;
        alive: boolean;
        id: string;
        lifetime: number;
        naturalorder: number;
        shadowedBy: [null, null];
        shadows: [];
        stats: {
            altitude: 0;
            apm: number;
            garbagereceived: number;
            garbagesent: number;
            kills: 1;
            pps: number;
            rank: 1;
            targetingfactor: 3;
            targetinggrace: 0;
            vsscore: number;
        };
        username: string;
    }[];
}
game.end: {
    currentboard: Leaderboard[];
    leaderboard: Leaderboard[];
    xpPerUser: number;
}
game.match: {
    leaderboard: Leaderboard[];
    refereedata: {
        ft: number;
        modename: string;
        wb: number;
    };
}
game.ready: Ready
game.replay: {
    frames: Frame[];
    gameid: number;
    provisioned: number;
}
game.replay.board: {
    boards: {
        0: {
            board: {
                b: Types.Game.BoardSquare[][];
                f: number;
                g: number;
                h: number;
                w: number;
            };
            gameid: number;
        };
        1: {
            board: {
                b: Types.Game.BoardSquare[][];
                f: number;
                g: number;
                h: number;
                w: number;
            };
            gameid: number;
        };
    };
}

Type declaration

  • boards: {
        0: {
            board: {
                b: Types.Game.BoardSquare[][];
                f: number;
                g: number;
                h: number;
                w: number;
            };
            gameid: number;
        };
        1: {
            board: {
                b: Types.Game.BoardSquare[][];
                f: number;
                g: number;
                h: number;
                w: number;
            };
            gameid: number;
        };
    }
    • 0: {
          board: {
              b: Types.Game.BoardSquare[][];
              f: number;
              g: number;
              h: number;
              w: number;
          };
          gameid: number;
      }
      • board: {
            b: Types.Game.BoardSquare[][];
            f: number;
            g: number;
            h: number;
            w: number;
        }
        • b: Types.Game.BoardSquare[][]

          Board state

        • f: number

          Frame number or turn

        • g: number

          Game status or flag

        • h: number

          Board height

        • w: number

          Board width

      • gameid: number
    • 1: {
          board: {
              b: Types.Game.BoardSquare[][];
              f: number;
              g: number;
              h: number;
              w: number;
          };
          gameid: number;
      }
      • board: {
            b: Types.Game.BoardSquare[][];
            f: number;
            g: number;
            h: number;
            w: number;
        }
        • b: Types.Game.BoardSquare[][]

          Board state

        • f: number

          Frame number or turn

        • g: number

          Game status or flag

        • h: number

          Board height

        • w: number

          Board width

      • gameid: number
game.replay.end: {
    data: {
        gameoverreason: GameOverReason;
        killer: {
            gameid: number;
            type: "sizzle";
            username: null | string;
        };
    };
    gameid: number;
}
game.replay.ige: {
    gameid: number;
    iges: Types.Game.IGE[];
}
game.replay.state: {
    data: "wait";
    gameid: number;
}
game.score: {
    leaderboard: Leaderboard[];
    refereedata: {
        ft: number;
        modename: string;
        wb: number;
    };
    victor: string;
}
game.spectate: {
    data: {
        match: {
            gamemode: string;
            modename: string;
            rb: {
                leaderboard: {
                    active: boolean;
                    id: string;
                    naturalorder: number;
                    shadowedBy: any[];
                    shadows: any[];
                    stats: {
                        altitude: number;
                        apm: null | number;
                        btb: number;
                        garbagereceived: number;
                        garbagesent: number;
                        kills: number;
                        pps: null | number;
                        rank: number;
                        revives: number;
                        targetingfactor: number;
                        targetinggrace: number;
                        vsscore: null | number;
                    };
                    username: string;
                    wins: number;
                }[];
                options: {
                    ft: number;
                    gp: number;
                    wb: number;
                };
                type: "elimination";
            };
            rrb: {
                options: Record<string, unknown>;
                scoreboard: {
                    sb: {
                        allies: any[];
                        gameid: number;
                        lovers: boolean;
                        nearWR: boolean;
                        specCount: number;
                        speedrun: boolean;
                        stats: {
                            altitude: number;
                            btb: number;
                            rank: number;
                            revives: number;
                        };
                    }[];
                };
                type: string;
            };
        };
        players: {
            alive: boolean;
            gameid: number;
            naturalorder: number;
            options: ReadyOptions;
            userid: string;
        }[];
    };
    id: number;
}
game.start: void