From 1a19065a45e29f166dc29886715a9e9f174573b9 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Fri, 27 Sep 2024 16:57:46 -0400 Subject: [PATCH] [Bug] [Balance] Gimmighoul evolution adjustments/fixes (#4463) * Fix Gimmighoul evolution * Fix counter * Less janky maxStack check --------- Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com> --- src/data/pokemon-evolutions.ts | 5 +++-- src/modifier/modifier.ts | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/data/pokemon-evolutions.ts b/src/data/pokemon-evolutions.ts index f9602d1386a..a262b84b18a 100644 --- a/src/data/pokemon-evolutions.ts +++ b/src/data/pokemon-evolutions.ts @@ -11,6 +11,7 @@ import { Biome } from "#enums/biome"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { TimeOfDay } from "#enums/time-of-day"; +import { DamageMoneyRewardModifier, ExtraModifierModifier, MoneyMultiplierModifier } from "#app/modifier/modifier"; export enum SpeciesWildEvolutionDelay { NONE, @@ -1647,8 +1648,8 @@ export const pokemonEvolutions: PokemonEvolutions = { new SpeciesEvolution(Species.FROSMOTH, 1, null, new SpeciesFriendshipEvolutionCondition(90, p => p.scene.arena.getTimeOfDay() === TimeOfDay.DUSK || p.scene.arena.getTimeOfDay() === TimeOfDay.NIGHT), SpeciesWildEvolutionDelay.MEDIUM) ], [Species.GIMMIGHOUL]: [ - new SpeciesFormEvolution(Species.GHOLDENGO, "chest", "", 1, null, new SpeciesEvolutionCondition( p => p.evoCounter > 9 ), SpeciesWildEvolutionDelay.VERY_LONG), - new SpeciesFormEvolution(Species.GHOLDENGO, "roaming", "", 1, null, new SpeciesEvolutionCondition( p => p.evoCounter > 9 ), SpeciesWildEvolutionDelay.VERY_LONG) + new SpeciesFormEvolution(Species.GHOLDENGO, "chest", "", 1, null, new SpeciesEvolutionCondition( p => p.evoCounter > 9 - p.getHeldItems().filter(m => m instanceof DamageMoneyRewardModifier).length - p.scene.findModifiers(m => m instanceof MoneyMultiplierModifier || m instanceof ExtraModifierModifier).length ), SpeciesWildEvolutionDelay.VERY_LONG), + new SpeciesFormEvolution(Species.GHOLDENGO, "roaming", "", 1, null, new SpeciesEvolutionCondition( p => p.evoCounter > 9 - p.getHeldItems().filter(m => m instanceof DamageMoneyRewardModifier).length - p.scene.findModifiers(m => m instanceof MoneyMultiplierModifier || m instanceof ExtraModifierModifier).length ), SpeciesWildEvolutionDelay.VERY_LONG) ] }; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index cf9cf78225e..0a683ca8d27 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -859,7 +859,7 @@ export class EvoTrackerModifier extends PokemonHeldItemModifier { } clone(): PersistentModifier { - return new EvoTrackerModifier(this.type, this.pokemonId, this.species, this.stackCount); + return new EvoTrackerModifier(this.type, this.pokemonId, this.species, this.required, this.stackCount); } getArgs(): any[] { @@ -870,8 +870,9 @@ export class EvoTrackerModifier extends PokemonHeldItemModifier { return true; } - getMaxHeldItemCount(_pokemon: Pokemon): integer { - return this.required; + getMaxHeldItemCount(pokemon: Pokemon): integer { + this.stackCount = pokemon.evoCounter + pokemon.getHeldItems().filter(m => m instanceof DamageMoneyRewardModifier).length + pokemon.scene.findModifiers(m => m instanceof MoneyMultiplierModifier || m instanceof ExtraModifierModifier).length; + return this.stackCount < this.required ? this.required : this.stackCount + 1; } }