Zoroark keep illusion between battles

This commit is contained in:
Lylian 2025-03-02 22:10:52 +01:00
parent e522ab3d31
commit 83f5968c27
4 changed files with 18 additions and 18 deletions

View File

@ -812,12 +812,12 @@ export default class BattleScene extends SceneBase {
} }
public getPlayerParty(fakeShininess: boolean = true): PlayerPokemon[] { public getPlayerParty(fakeShininess: boolean = true): PlayerPokemon[] {
const party = this.party const party = this.party;
if (!fakeShininess) { if (!fakeShininess) {
party.map(pokemon => { party.map(pokemon => {
pokemon.shiny = pokemon.isShiny() pokemon.shiny = pokemon.isShiny();
pokemon.variant = pokemon.getVariant() pokemon.variant = pokemon.getVariant();
pokemon.name = pokemon.getNameToRender() pokemon.name = pokemon.getNameToRender();
if (pokemon.isFusion()) { if (pokemon.isFusion()) {
pokemon.fusionVariant = pokemon.battleData?.illusion.basePokemon!.fusionVariant ?? pokemon.fusionVariant; pokemon.fusionVariant = pokemon.battleData?.illusion.basePokemon!.fusionVariant ?? pokemon.fusionVariant;
pokemon.fusionShiny = pokemon.battleData?.illusion.basePokemon!.fusionShiny ?? pokemon.fusionShiny; pokemon.fusionShiny = pokemon.battleData?.illusion.basePokemon!.fusionShiny ?? pokemon.fusionShiny;

View File

@ -4778,7 +4778,7 @@ export class IllusionPostBattleAbAttr extends PostBattleAbAttr {
* @returns {boolean} - Whether the illusion was applied. * @returns {boolean} - Whether the illusion was applied.
*/ */
applyPostBattle(pokemon: Pokemon, passive: boolean, simulated:boolean, args: any[]): boolean { applyPostBattle(pokemon: Pokemon, passive: boolean, simulated:boolean, args: any[]): boolean {
console.log("POSTBATTLE") console.log("POSTBATTLE");
pokemon.breakIllusion(); pokemon.breakIllusion();
pokemon.battleData.illusion.available = true; pokemon.battleData.illusion.available = true;
return true; return true;

View File

@ -455,7 +455,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
fusionGender: lastPokemon.fusionGender fusionGender: lastPokemon.fusionGender
}; };
console.log("GENERATE ILLUSION ", this.battleData.illusion.basePokemon!.name) console.log("GENERATE ILLUSION ", this.battleData.illusion.basePokemon!.name);
this.name = lastPokemon.name; this.name = lastPokemon.name;
this.nickname = lastPokemon.nickname; this.nickname = lastPokemon.nickname;
@ -3966,12 +3966,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
resetBattleData(): void { resetBattleData(): void {
console.log("RESETBATTLEDATA : ", this.getNameToRender(false)) console.log("RESETBATTLEDATA : ", this.getNameToRender(false));
const illusionActive: boolean = this.battleData?.illusion.active; const illusionActive: boolean = this.battleData?.illusion.active;
this.breakIllusion(); this.breakIllusion();
this.battleData = new PokemonBattleData(); this.battleData = new PokemonBattleData();
if (illusionActive) { if (illusionActive) {
this.generateIllusion() this.generateIllusion();
} }
} }

View File

@ -11,7 +11,7 @@ import { TrainerSlot } from "#app/data/trainer-config";
import { getRandomWeatherType } from "#app/data/weather"; import { getRandomWeatherType } from "#app/data/weather";
import { EncounterPhaseEvent } from "#app/events/battle-scene"; import { EncounterPhaseEvent } from "#app/events/battle-scene";
import type Pokemon from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon";
import { FieldPosition, PlayerPokemon } from "#app/field/pokemon"; import { FieldPosition } from "#app/field/pokemon";
import { getPokemonNameWithAffix } from "#app/messages"; import { getPokemonNameWithAffix } from "#app/messages";
import { BoostBugSpawnModifier, IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier"; import { BoostBugSpawnModifier, IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier";
import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type";