diff --git a/web/src/engine.ts b/web/src/engine.ts index f808ff0..b9c175f 100644 --- a/web/src/engine.ts +++ b/web/src/engine.ts @@ -55,6 +55,7 @@ export interface MatchResult { scores: number[]; energy: number[]; bots_alive: number[]; + combat_deaths?: number[]; } export interface GameState { diff --git a/web/src/pages/sandbox.ts b/web/src/pages/sandbox.ts index f314a4d..e81cca6 100644 --- a/web/src/pages/sandbox.ts +++ b/web/src/pages/sandbox.ts @@ -870,9 +870,10 @@ function loadMonaco(): Promise { function formatResult(result: any, replay: any, _numPlayers: number): string { const winnerName = result.winner >= 0 ? replay.players[result.winner].name : 'Draw'; const winnerClass = result.winner === 0 ? 'win' : result.winner >= 0 ? 'loss' : 'draw'; - const scoreRows = replay.players.map((p: any, i: number) => - `
${p.name}: ${result.scores[i]} pts, ${result.bots_alive[i]} bots alive
` - ).join(''); + const scoreRows = replay.players.map((p: any, i: number) => { + const combatDeaths = result.combat_deaths?.[i] ?? 0; + return `
${p.name}: ${result.scores[i]} pts, ${result.bots_alive[i]} bots alive, ${combatDeaths} combat kills
`; + }).join(''); return `
${result.winner >= 0 ? winnerName + ' wins!' : 'Draw'} diff --git a/web/src/types.ts b/web/src/types.ts index 3058bfc..bdd870c 100644 --- a/web/src/types.ts +++ b/web/src/types.ts @@ -25,6 +25,7 @@ export interface MatchResult { scores: number[]; energy: number[]; bots_alive: number[]; + combat_deaths?: number[]; } export interface ReplayPlayer {