From 9611948d80d35a951fa929d26ec72e467c9d3cbb Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Tue, 17 Jun 2025 21:27:03 +0200 Subject: [PATCH] Some changes to modifier files --- src/enums/modifier-pool-type.ts | 7 ++- src/modifier/modifier.ts | 79 +++------------------------------ src/utils/modifier-utils.ts | 12 +---- 3 files changed, 11 insertions(+), 87 deletions(-) diff --git a/src/enums/modifier-pool-type.ts b/src/enums/modifier-pool-type.ts index 0d2b92ba80d..c4928516f71 100644 --- a/src/enums/modifier-pool-type.ts +++ b/src/enums/modifier-pool-type.ts @@ -1,7 +1,10 @@ export enum ModifierPoolType { PLAYER, - WILD, - TRAINER, ENEMY_BUFF, DAILY_STARTER } + +export enum HeldItemPoolType { + WILD, + TRAINER, +} diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 752b238c701..89fee2dbb8f 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -1,6 +1,5 @@ import { FusionSpeciesFormEvolution, pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; import { getLevelTotalExp } from "#app/data/exp"; -import { allMoves, modifierTypes } from "#app/data/data-lists"; import { MAX_PER_TYPE_POKEBALLS } from "#app/data/pokeball"; import { getStatusEffectHealText } from "#app/data/status-effect"; import type Pokemon from "#app/field/pokemon"; @@ -33,42 +32,26 @@ import { type ModifierType, type TerastallizeModifierType, type TmModifierType, - getModifierType, - ModifierTypeGenerator, modifierTypes, } from "./modifier-type"; -import { getModifierType } from "#app/utils/modifier-utils"; import { FRIENDSHIP_GAIN_FROM_RARE_CANDY } from "#app/data/balance/starters"; import { globalScene } from "#app/global-scene"; import type { ModifierInstanceMap, ModifierString } from "#app/@types/modifier-types"; export type ModifierPredicate = (modifier: Modifier) => boolean; - const iconOverflowIndex = 24; 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; + //Then sort by item type + if (typeNameMatch === 0) { + return itemNameMatch; + //Finally sort by item name } - 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; + return typeNameMatch; }; export class ModifierBar extends Phaser.GameObjects.Container { @@ -172,23 +155,6 @@ export abstract class Modifier { return this instanceof targetModifier; } - /** - * Return whether this modifier is of the given class - * - * @remarks - * Used to avoid requiring the caller to have imported the specific modifier class, avoiding circular dependencies. - * - * @param modifier - The modifier to check against - * @returns Whether the modiifer is an instance of the given type - */ - public is(modifier: T): this is ModifierInstanceMap[T] { - const targetModifier = ModifierClassMap[modifier]; - if (!targetModifier) { - return false; - } - return this instanceof targetModifier; - } - match(_modifier: Modifier): boolean { return false; } @@ -1289,41 +1255,6 @@ export class ExpBalanceModifier extends PersistentModifier { } } -export class MoneyRewardModifier extends ConsumableModifier { - private moneyMultiplier: number; - - constructor(type: ModifierType, moneyMultiplier: number) { - super(type); - - this.moneyMultiplier = moneyMultiplier; - } - - /** - * Applies {@linkcode MoneyRewardModifier} - * @returns always `true` - */ - override apply(): boolean { - const moneyAmount = new NumberHolder(globalScene.getWaveMoneyAmount(this.moneyMultiplier)); - - globalScene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount); - - globalScene.addMoney(moneyAmount.value); - - globalScene.getPlayerParty().map(p => { - if (p.species?.speciesId === SpeciesId.GIMMIGHOUL || p.fusionSpecies?.speciesId === SpeciesId.GIMMIGHOUL) { - const factor = Math.min(Math.floor(this.moneyMultiplier), 3); - const modifier = getModifierType(modifierTypes.EVOLUTION_TRACKER_GIMMIGHOUL).newModifier( - p, - factor, - ) as EvoTrackerModifier; - globalScene.addModifier(modifier); - } - }); - - return true; - } -} - export class MoneyMultiplierModifier extends PersistentModifier { match(modifier: Modifier): boolean { return modifier instanceof MoneyMultiplierModifier; diff --git a/src/utils/modifier-utils.ts b/src/utils/modifier-utils.ts index 3be4af3730c..dfd04fa852e 100644 --- a/src/utils/modifier-utils.ts +++ b/src/utils/modifier-utils.ts @@ -1,11 +1,5 @@ import { ModifierPoolType } from "#enums/modifier-pool-type"; -import { - dailyStarterModifierPool, - enemyBuffModifierPool, - modifierPool, - trainerModifierPool, - wildModifierPool, -} from "#app/modifier/modifier-pools"; +import { dailyStarterModifierPool, enemyBuffModifierPool, modifierPool } from "#app/modifier/modifier-pools"; import type { ModifierPool, ModifierTypeFunc } from "#app/@types/modifier-types"; import { modifierTypes } from "#app/data/data-lists"; import type { ModifierType } from "#app/modifier/modifier-type"; @@ -14,10 +8,6 @@ export function getModifierPoolForType(poolType: ModifierPoolType): ModifierPool switch (poolType) { case ModifierPoolType.PLAYER: return modifierPool; - case ModifierPoolType.WILD: - return wildModifierPool; - case ModifierPoolType.TRAINER: - return trainerModifierPool; case ModifierPoolType.ENEMY_BUFF: return enemyBuffModifierPool; case ModifierPoolType.DAILY_STARTER: