Fix Treasure tracker not saving

This commit is contained in:
AJ Fontaine 2024-09-28 16:31:33 -04:00
parent 4ba94f5245
commit 75a4000eef
2 changed files with 5 additions and 9 deletions

View File

@ -1387,7 +1387,7 @@ export const modifierTypes = {
FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(false), FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(false),
RARE_FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(true), RARE_FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(true),
EVOLUTION_TRACKER_GIMMIGHOUL: () => new PokemonHeldItemModifierType("modifierType:ModifierType.EVOLUTION_TRACKER_GIMMIGHOUL", "relic_gold", (type, _args) => new Modifiers.EvoTrackerModifier(type, (_args[0] as Pokemon).id, Species.GIMMIGHOUL, 10)), EVOLUTION_TRACKER_GIMMIGHOUL: () => new PokemonHeldItemModifierType("modifierType:ModifierType.EVOLUTION_TRACKER_GIMMIGHOUL", "relic_gold", (type, args) => new Modifiers.EvoTrackerModifier(type, (args[0] as Pokemon).id, Species.GIMMIGHOUL, 10)),
MEGA_BRACELET: () => new ModifierType("modifierType:ModifierType.MEGA_BRACELET", "mega_bracelet", (type, _args) => new Modifiers.MegaEvolutionAccessModifier(type)), MEGA_BRACELET: () => new ModifierType("modifierType:ModifierType.MEGA_BRACELET", "mega_bracelet", (type, _args) => new Modifiers.MegaEvolutionAccessModifier(type)),
DYNAMAX_BAND: () => new ModifierType("modifierType:ModifierType.DYNAMAX_BAND", "dynamax_band", (type, _args) => new Modifiers.GigantamaxAccessModifier(type)), DYNAMAX_BAND: () => new ModifierType("modifierType:ModifierType.DYNAMAX_BAND", "dynamax_band", (type, _args) => new Modifiers.GigantamaxAccessModifier(type)),

View File

@ -1,5 +1,5 @@
import * as ModifierTypes from "./modifier-type"; import * as ModifierTypes from "./modifier-type";
import { ModifierType, modifierTypes } from "./modifier-type"; import { getModifierType, ModifierType, modifierTypes } from "./modifier-type";
import BattleScene from "../battle-scene"; import BattleScene from "../battle-scene";
import { getLevelTotalExp } from "../data/exp"; import { getLevelTotalExp } from "../data/exp";
import { MAX_PER_TYPE_POKEBALLS, PokeballType } from "../data/pokeball"; import { MAX_PER_TYPE_POKEBALLS, PokeballType } from "../data/pokeball";
@ -852,10 +852,7 @@ export class EvoTrackerModifier extends PokemonHeldItemModifier {
} }
matchType(modifier: Modifier): boolean { matchType(modifier: Modifier): boolean {
if (modifier instanceof EvoTrackerModifier) { return modifier instanceof EvoTrackerModifier && modifier.species === this.species && modifier.required === this.required;
return (modifier as EvoTrackerModifier).species === this.species;
}
return false;
} }
clone(): PersistentModifier { clone(): PersistentModifier {
@ -863,7 +860,7 @@ export class EvoTrackerModifier extends PokemonHeldItemModifier {
} }
getArgs(): any[] { getArgs(): any[] {
return super.getArgs().concat(this.species); return super.getArgs().concat([this.species, this.required]);
} }
apply(args: any[]): boolean { apply(args: any[]): boolean {
@ -2437,8 +2434,7 @@ export class MoneyRewardModifier extends ConsumableModifier {
scene.getParty().map(p => { scene.getParty().map(p => {
if (p.species?.speciesId === Species.GIMMIGHOUL || p.fusionSpecies?.speciesId === Species.GIMMIGHOUL) { if (p.species?.speciesId === Species.GIMMIGHOUL || p.fusionSpecies?.speciesId === Species.GIMMIGHOUL) {
p.evoCounter ? p.evoCounter++ : p.evoCounter = 1; p.evoCounter ? p.evoCounter++ : p.evoCounter = 1;
const modifierType: ModifierType = modifierTypes.EVOLUTION_TRACKER_GIMMIGHOUL(); const modifier = getModifierType(modifierTypes.EVOLUTION_TRACKER_GIMMIGHOUL).newModifier(p) as EvoTrackerModifier;
const modifier = modifierType!.newModifier(p);
scene.addModifier(modifier); scene.addModifier(modifier);
} }
}); });