From 62077c7c23385a1f483ec6b9e90aa02f3adf9115 Mon Sep 17 00:00:00 2001 From: Cody Date: Tue, 12 May 2026 05:05:16 -0600 Subject: [PATCH 1/3] fix: correct arcade disasters ratios --- apps/discord-bot/src/commands/ratios/ratios.command.tsx | 6 +++--- packages/schemas/src/player/gamemodes/arcade/mode.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/discord-bot/src/commands/ratios/ratios.command.tsx b/apps/discord-bot/src/commands/ratios/ratios.command.tsx index bdd522891..82bd3900a 100644 --- a/apps/discord-bot/src/commands/ratios/ratios.command.tsx +++ b/apps/discord-bot/src/commands/ratios/ratios.command.tsx @@ -249,9 +249,9 @@ export class RatiosCommand { private getModeStats(game: PlayerStats[keyof PlayerStats], mode: GameModeWithSubModes) { if (mode.submodes.length !== 0) { - let stats = game[mode.api as keyof typeof game]; - stats = stats[mode.submodes[0].api as keyof typeof game]; - return mode.submodes[0].api === "overall" ? stats || game : stats; + const stats = game[mode.api as keyof typeof game]; + const submodeStats = stats[mode.submodes[0].api as keyof typeof stats]; + return mode.submodes[0].api === "overall" ? submodeStats || stats : submodeStats; } const stats = game[mode.api as keyof typeof game]; diff --git a/packages/schemas/src/player/gamemodes/arcade/mode.ts b/packages/schemas/src/player/gamemodes/arcade/mode.ts index e2dd5a1a2..1df3a27c7 100644 --- a/packages/schemas/src/player/gamemodes/arcade/mode.ts +++ b/packages/schemas/src/player/gamemodes/arcade/mode.ts @@ -430,11 +430,11 @@ export class Disasters { public constructor(data: APIData = {}, ap: APIData = {}) { this.gamesPlayed = data.games_played; this.wins = data.wins; - this.losses = data.losses; - this.wlr = ratio(this.wins, this.losses); this.playtime = (data.time_survived ?? 0) * 1000; this.survivals = new DisasterSurvivals(data.survived ?? {}); this.deaths = new DisastersDeaths(data.deaths ?? {}); + this.losses = data.losses ?? this.deaths.overall; + this.wlr = ratio(this.wins, this.losses); this.powerups = ap.arcade_disasters_prepared; } } From da86aaf135fe0ccb3e69d34b8c7b2cd4f574496c Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 12 May 2026 05:10:58 -0600 Subject: [PATCH 2/3] Apply suggestion from @ugcodrr --- packages/schemas/src/player/gamemodes/arcade/mode.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/schemas/src/player/gamemodes/arcade/mode.ts b/packages/schemas/src/player/gamemodes/arcade/mode.ts index 1df3a27c7..f8b304688 100644 --- a/packages/schemas/src/player/gamemodes/arcade/mode.ts +++ b/packages/schemas/src/player/gamemodes/arcade/mode.ts @@ -433,7 +433,7 @@ export class Disasters { this.playtime = (data.time_survived ?? 0) * 1000; this.survivals = new DisasterSurvivals(data.survived ?? {}); this.deaths = new DisastersDeaths(data.deaths ?? {}); - this.losses = data.losses ?? this.deaths.overall; + this.losses = data.losses; this.wlr = ratio(this.wins, this.losses); this.powerups = ap.arcade_disasters_prepared; } From 312963d3275f7653fcc85b876e71f104716aea76 Mon Sep 17 00:00:00 2001 From: Cody Date: Tue, 12 May 2026 13:19:37 -0600 Subject: [PATCH 3/3] fix(disasters): correct order of losses and wlr calculations in constructor --- packages/schemas/src/player/gamemodes/arcade/mode.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/schemas/src/player/gamemodes/arcade/mode.ts b/packages/schemas/src/player/gamemodes/arcade/mode.ts index f8b304688..e2dd5a1a2 100644 --- a/packages/schemas/src/player/gamemodes/arcade/mode.ts +++ b/packages/schemas/src/player/gamemodes/arcade/mode.ts @@ -430,11 +430,11 @@ export class Disasters { public constructor(data: APIData = {}, ap: APIData = {}) { this.gamesPlayed = data.games_played; this.wins = data.wins; + this.losses = data.losses; + this.wlr = ratio(this.wins, this.losses); this.playtime = (data.time_survived ?? 0) * 1000; this.survivals = new DisasterSurvivals(data.survived ?? {}); this.deaths = new DisastersDeaths(data.deaths ?? {}); - this.losses = data.losses; - this.wlr = ratio(this.wins, this.losses); this.powerups = ap.arcade_disasters_prepared; } }