Fix Gimmighoul

This commit is contained in:
AJ Fontaine 2025-06-12 19:36:40 -04:00
parent 9e64af2e52
commit e23ac1de8e
3 changed files with 17 additions and 13 deletions

View File

@ -177,7 +177,10 @@ export class SpeciesEvolutionCondition {
case EvoCondKey.PARTY_TYPE: case EvoCondKey.PARTY_TYPE:
return !!globalScene.getPlayerParty().find(p => p.getTypes(false, false, true).indexOf(cond.pkmnType) > -1) return !!globalScene.getPlayerParty().find(p => p.getTypes(false, false, true).indexOf(cond.pkmnType) > -1)
case EvoCondKey.EVO_TREASURE_TRACKER: case EvoCondKey.EVO_TREASURE_TRACKER:
return pokemon.getHeldItems().some(m => m.is("EvoTrackerModifier") && m.getStackCount() >= cond.value); return pokemon.getHeldItems().some(m =>
m.is("EvoTrackerModifier") &&
m.getStackCount() + pokemon.getPersistentTreasureCount() >= cond.value
);
case EvoCondKey.GENDER: case EvoCondKey.GENDER:
return pokemon.gender === cond.gender; return pokemon.gender === cond.gender;
case EvoCondKey.SHEDINJA: // Shedinja cannot be evolved into directly case EvoCondKey.SHEDINJA: // Shedinja cannot be evolved into directly

View File

@ -5449,6 +5449,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
this.turnData.berriesEaten.push(berryType); this.turnData.berriesEaten.push(berryType);
} }
getPersistentTreasureCount(): number {
return this.getHeldItems().filter(m => m.is("DamageMoneyRewardModifier")).length +
globalScene.findModifiers(
m =>
m.is("MoneyMultiplierModifier") ||
m.is("ExtraModifierModifier"),
).length;
}
} }
export class PlayerPokemon extends Pokemon { export class PlayerPokemon extends Pokemon {

View File

@ -923,21 +923,13 @@ export class EvoTrackerModifier extends PokemonHeldItemModifier {
} }
getIconStackText(virtual?: boolean): Phaser.GameObjects.BitmapText | null { getIconStackText(virtual?: boolean): Phaser.GameObjects.BitmapText | null {
const pokemon = globalScene.getPokemonById(this.pokemonId); const pokemon = this.getPokemon();
this.virtualStackCount = pokemon const count = (pokemon?.getPersistentTreasureCount() || 0) + this.getStackCount();
? pokemon.getHeldItems().filter(m => m instanceof DamageMoneyRewardModifier).length +
globalScene.findModifiers(
m =>
m instanceof MoneyMultiplierModifier ||
m instanceof ExtraModifierModifier ||
m instanceof TempExtraModifierModifier,
).length
: 0;
const text = globalScene.add.bitmapText(10, 15, "item-count", this.getStackCount().toString(), 11); const text = globalScene.add.bitmapText(10, 15, "item-count", count.toString(), 11);
text.letterSpacing = -0.5; text.letterSpacing = -0.5;
if (this.getStackCount() >= this.required) { if (count >= this.required) {
text.setTint(0xf89890); text.setTint(0xf89890);
} }
text.setOrigin(0, 0); text.setOrigin(0, 0);