{"version":3,"sources":["../../src/types/room.ts"],"sourcesContent":["import type { BagType, KickTable } from \"../engine\";\nimport type { Game } from \"./game\";\nimport type { User } from \"./user\";\n\nexport namespace Room {\n  export type Type = \"custom\";\n\n  export type State = \"ingame\" | \"lobby\";\n\n  export type Bracket = \"player\" | \"spectator\" | \"observer\";\n\n  export interface Player {\n    _id: string;\n    username: string;\n    anon: boolean;\n    bot: boolean;\n    role: string;\n    xp: number;\n    badges: User.Badge[];\n    record: {\n      games: number;\n      wins: number;\n      streak: number;\n    };\n    bracket: Bracket;\n    supporter: boolean;\n    verified: boolean;\n    country: string | null;\n  }\n\n  export interface Autostart {\n    enabled: boolean;\n    status: string;\n    time: number;\n    maxtime: number;\n  }\n\n  export interface Match {\n    gamemode: string;\n    modename: string;\n    ft: number;\n    wb: number;\n    record_replays: boolean;\n    winningKey: string;\n    keys: {\n      primary: string;\n      primaryLabel: string;\n      primaryLabelSingle: string;\n      primaryIsAvg: boolean;\n      secondary: string;\n      secondaryLabel: string;\n      secondaryLabelSingle: string;\n      secondaryIsAvg: boolean;\n      tertiary: string;\n      tertiaryLabel: string;\n      tertiaryLabelSingle: string;\n      tertiaryIsAvg: boolean;\n    };\n    extra: {};\n  }\n\n  export interface SetConfig {\n    name: string;\n    options: {\n      g: number | string;\n      stock: number | string;\n      display_next: boolean;\n      display_hold: boolean;\n      gmargin: number | string;\n      gincrease: number | string;\n      garbagemultiplier: number | string;\n      garbagemargin: number | string;\n      garbageincrease: number | string;\n      garbagecap: number | string;\n      garbagecapincrease: number | string;\n      garbagecapmax: number | string;\n      garbageattackcap: number | string;\n      garbageabsolutecap: boolean;\n      garbagephase: number | string;\n      garbagequeue: boolean;\n      garbageare: number | string;\n      garbageentry: string;\n      garbageblocking: string;\n      garbagetargetbonus: string;\n      presets: Game.Preset;\n      bagtype: BagType;\n      spinbonuses: Game.SpinBonuses;\n      combotable: Game.ComboTable;\n      kickset: KickTable;\n      nextcount: number | string;\n      allow_harddrop: boolean;\n      display_shadow: boolean;\n      locktime: number | string;\n      garbagespeed: number | string;\n      are: number | string;\n      lineclear_are: number | string;\n      infinitemovement: boolean;\n      lockresets: number | string;\n      allow180: boolean;\n      room_handling: boolean;\n      room_handling_arr: number | string;\n      room_handling_das: number | string;\n      room_handling_sdf: number | string;\n      manual_allowed: boolean;\n      b2bchaining: boolean;\n      b2bcharging: boolean;\n      openerphase: boolean;\n      allclear_garbage: number | string;\n      allclear_b2b: number | string;\n      garbagespecialbonus: number | string;\n      roundmode: string;\n      allclears: boolean;\n      clutch: boolean;\n      nolockout: boolean;\n      passthrough: Game.Passthrough;\n      boardwidth: number | string;\n      boardheight: number | string;\n      messiness_change: number | string;\n      messiness_inner: number | string;\n      messiness_nosame: boolean;\n      messiness_timeout: number | string;\n      usebombs: boolean;\n    };\n    userLimit: number | string;\n    autoStart: number | string;\n    allowAnonymous: boolean;\n    allowUnranked: boolean;\n    userRankLimit: string;\n    useBestRankAsLimit: boolean;\n    forceRequireXPToChat: boolean;\n    gamebgm: string;\n    match: {\n      gamemode: Game.GameMode;\n      modename: string;\n      ft: number | string;\n      wb: number | string;\n    };\n  }\n}\n"],"names":[],"mappings":"AAIA,WAsIC"}