diff --git a/frontend/src/base-players.ts b/frontend/src/base-players.ts index 54f478c..dda68c2 100644 --- a/frontend/src/base-players.ts +++ b/frontend/src/base-players.ts @@ -9,7 +9,7 @@ export const BASE_PLAYERS: DraggablePlayer[] = [ id: crypto.randomUUID(), info: new HumanInfo(), tags: ["human"], - overrides: { name: "Human", loadout: null, autoStart: true }, + overrides: { name: null, loadout: null, autoStart: true }, }, { displayName: "Psyonix Beginner", @@ -20,7 +20,7 @@ export const BASE_PLAYERS: DraggablePlayer[] = [ skill: 0, }), tags: ["psyonix"], - overrides: { name: "", loadout: null, autoStart: true }, + overrides: { name: null, loadout: null, autoStart: true }, }, { displayName: "Psyonix Rookie", @@ -31,7 +31,7 @@ export const BASE_PLAYERS: DraggablePlayer[] = [ skill: 1, }), tags: ["psyonix"], - overrides: { name: "", loadout: null, autoStart: true }, + overrides: { name: null, loadout: null, autoStart: true }, }, { displayName: "Psyonix Pro", @@ -42,7 +42,7 @@ export const BASE_PLAYERS: DraggablePlayer[] = [ skill: 2, }), tags: ["psyonix"], - overrides: { name: "", loadout: null, autoStart: true }, + overrides: { name: null, loadout: null, autoStart: true }, }, { displayName: "Psyonix Allstar", @@ -53,6 +53,6 @@ export const BASE_PLAYERS: DraggablePlayer[] = [ skill: 3, }), tags: ["psyonix"], - overrides: { name: "", loadout: null, autoStart: true }, + overrides: { name: null, loadout: null, autoStart: true }, }, ]; diff --git a/frontend/src/components/Teams/PlayerOverridesModal.svelte b/frontend/src/components/Teams/PlayerOverridesModal.svelte index ad80020..d9dd4df 100644 --- a/frontend/src/components/Teams/PlayerOverridesModal.svelte +++ b/frontend/src/components/Teams/PlayerOverridesModal.svelte @@ -13,8 +13,7 @@ let { function clearOverrides() { if (player) { - player.overrides.name = - player.info instanceof PsyonixBotInfo ? "" : player.displayName; + player.overrides.name = null; player.overrides.loadout = null; player.overrides.autoStart = true; } @@ -22,8 +21,7 @@ function clearOverrides() { function hasNameOverride(): boolean { if (!player) return false; - let expectedName = player.info instanceof BotInfo ? player.displayName : ""; - return player.overrides.name !== expectedName; + return player.overrides.name !== null; } async function pickLoadoutOverride() { @@ -39,9 +37,12 @@ async function pickLoadoutOverride() {
In-game name:
player?.overrides.name ?? player.displayName, + (v) => player.overrides.name = (v === player.displayName) ? null : v + } >{bot.displayName === bot.overrides.name || (bot.info instanceof PsyonixBotInfo && bot.overrides.name === "") ? bot.displayName : `${bot.overrides.name}`}
+{bot.overrides.name === null ? bot.displayName : bot.overrides.name}
{#if bot.uniquePathSegment} ({bot.uniquePathSegment}) {/if} diff --git a/frontend/src/index.ts b/frontend/src/index.ts index 26e0c3e..3aa5e94 100644 --- a/frontend/src/index.ts +++ b/frontend/src/index.ts @@ -49,7 +49,7 @@ export function parseSuperJSON(item: string | null): any | null { } export interface PlayerFieldOverrides { - name: string; + name: string | null; loadout: LoadoutConfig | null; autoStart: boolean; } @@ -77,7 +77,8 @@ export function draggablePlayerToPlayerJs(d: DraggablePlayer): PlayerJs { if (d.info instanceof BotInfo) { const player = BotInfo.createFrom(structuredClone(d.info)); // Apply overrides - player.config.settings.name = d.overrides.name; + player.config.settings.name = + d.overrides.name ?? player.config.settings.name; player.loadout = d.overrides.loadout ?? d.info.loadout; if (!d.overrides.autoStart) { player.config.settings.runCommand = ""; @@ -96,7 +97,7 @@ export function draggablePlayerToPlayerJs(d: DraggablePlayer): PlayerJs { if (d.info instanceof PsyonixBotInfo) { const player = PsyonixBotInfo.createFrom(structuredClone(d.info)); // Apply overrides - player.name = d.overrides.name; + player.name = d.overrides.name ?? ""; // Empty names are replaced with random names for Psyonix bots player.loadout = d.overrides.loadout ?? d.info.loadout; return { diff --git a/frontend/src/pages/Home.svelte b/frontend/src/pages/Home.svelte index 21fced9..13ef08c 100644 --- a/frontend/src/pages/Home.svelte +++ b/frontend/src/pages/Home.svelte @@ -272,7 +272,7 @@ async function updateBots() { tags: x.config.details.tags, uniquePathSegment, overrides: { - name: x.config.settings.name, + name: null, loadout: null, autoStart: true, }, @@ -332,15 +332,12 @@ async function getLatestBotInfo(tomlPath: string): Promise