From 50372df550e44a6de272853f4b9b63db458328a8 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Thu, 29 May 2025 16:14:44 +0200 Subject: [PATCH] Moved sort function in the modifier bar --- src/modifier/held-item-modifier.ts | 24 ------------------------ src/modifier/modifier-bar.ts | 28 ++++++++++++++++++++++++++-- src/ui/run-info-ui-handler.ts | 3 ++- src/ui/summary-ui-handler.ts | 3 ++- 4 files changed, 30 insertions(+), 28 deletions(-) diff --git a/src/modifier/held-item-modifier.ts b/src/modifier/held-item-modifier.ts index a6fdfff147f..e496dbe7116 100644 --- a/src/modifier/held-item-modifier.ts +++ b/src/modifier/held-item-modifier.ts @@ -1986,27 +1986,3 @@ export function overrideHeldItems(pokemon: Pokemon, isPlayer = true): void { } } } - -export const modifierSortFunc = (a: Modifier, b: Modifier): number => { - const itemNameMatch = a.type.name.localeCompare(b.type.name); - const typeNameMatch = a.constructor.name.localeCompare(b.constructor.name); - const aId = a instanceof PokemonHeldItemModifier && a.pokemonId ? a.pokemonId : 4294967295; - const bId = b instanceof PokemonHeldItemModifier && b.pokemonId ? b.pokemonId : 4294967295; - - //First sort by pokemonID - if (aId < bId) { - return 1; - } - if (aId > bId) { - return -1; - } - if (aId === bId) { - //Then sort by item type - if (typeNameMatch === 0) { - return itemNameMatch; - //Finally sort by item name - } - return typeNameMatch; - } - return 0; -}; diff --git a/src/modifier/modifier-bar.ts b/src/modifier/modifier-bar.ts index 178641c211f..2c55312667a 100644 --- a/src/modifier/modifier-bar.ts +++ b/src/modifier/modifier-bar.ts @@ -1,6 +1,6 @@ import { globalScene } from "#app/global-scene"; -import { modifierSortFunc, type PokemonHeldItemModifier } from "./held-item-modifier"; -import type { PersistentModifier } from "./modifier"; +import { PokemonHeldItemModifier } from "./held-item-modifier"; +import type { Modifier, PersistentModifier } from "./modifier"; const iconOverflowIndex = 24; @@ -80,3 +80,27 @@ export class ModifierBar extends Phaser.GameObjects.Container { icon.setPosition(this.player ? x : -x, y); } } + +export const modifierSortFunc = (a: Modifier, b: Modifier): number => { + const itemNameMatch = a.type.name.localeCompare(b.type.name); + const typeNameMatch = a.constructor.name.localeCompare(b.constructor.name); + const aId = a instanceof PokemonHeldItemModifier && a.pokemonId ? a.pokemonId : 4294967295; + const bId = b instanceof PokemonHeldItemModifier && b.pokemonId ? b.pokemonId : 4294967295; + + //First sort by pokemonID + if (aId < bId) { + return 1; + } + if (aId > bId) { + return -1; + } + if (aId === bId) { + //Then sort by item type + if (typeNameMatch === 0) { + return itemNameMatch; + //Finally sort by item name + } + return typeNameMatch; + } + return 0; +}; diff --git a/src/ui/run-info-ui-handler.ts b/src/ui/run-info-ui-handler.ts index f9034bbe42d..c7953eefcf3 100644 --- a/src/ui/run-info-ui-handler.ts +++ b/src/ui/run-info-ui-handler.ts @@ -27,7 +27,8 @@ import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { getBiomeName } from "#app/data/balance/biomes"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { globalScene } from "#app/global-scene"; -import { modifierSortFunc, PokemonHeldItemModifier } from "#app/modifier/held-item-modifier"; +import { PokemonHeldItemModifier } from "#app/modifier/held-item-modifier"; +import { modifierSortFunc } from "#app/modifier/modifier-bar"; /** * RunInfoUiMode indicates possible overlays of RunInfoUiHandler. diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 1f5fbe677c2..b178fdf6117 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -37,7 +37,8 @@ import { PlayerGender } from "#enums/player-gender"; import { Stat, PERMANENT_STATS, getStatKey } from "#enums/stat"; import { Nature } from "#enums/nature"; import { achvs } from "#app/system/achv"; -import { modifierSortFunc, PokemonHeldItemModifier } from "#app/modifier/held-item-modifier"; +import { PokemonHeldItemModifier } from "#app/modifier/held-item-modifier"; +import { modifierSortFunc } from "#app/modifier/modifier-bar"; enum Page { PROFILE,