diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 996c3b0de87..0f8475e714b 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1794,8 +1794,8 @@ export default class BattleScene extends SceneBase { return this.currentBattle; } - newArena(biome: Biome, playerFaints?: number): Arena { - this.arena = new Arena(biome, Biome[biome].toLowerCase(), playerFaints); + newArena(biome: Biome): Arena { + this.arena = new Arena(biome, Biome[biome].toLowerCase()); this.eventTarget.dispatchEvent(new NewArenaEvent()); this.arenaBg.pipelineData = { diff --git a/src/field/arena.ts b/src/field/arena.ts index 752eef81596..e8f792a34be 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -58,14 +58,14 @@ export class Arena { public readonly eventTarget: EventTarget = new EventTarget(); - constructor(biome: Biome, bgm: string, playerFaints: number = 0) { + constructor(biome: Biome, bgm: string) { this.biomeType = biome; this.tags = []; this.bgm = bgm; this.trainerPool = biomeTrainerPools[biome]; this.updatePoolsForTimeOfDay(); this.playerTerasUsed = 0; - this.playerFaints = playerFaints; + this.playerFaints = 0; } init() { diff --git a/src/phases/game-over-phase.ts b/src/phases/game-over-phase.ts index d4b529fe00e..5e4e8e1cdf7 100644 --- a/src/phases/game-over-phase.ts +++ b/src/phases/game-over-phase.ts @@ -249,8 +249,7 @@ export class GameOverPhase extends BattlePhase { timestamp: new Date().getTime(), challenges: globalScene.gameMode.challenges.map(c => new ChallengeData(c)), mysteryEncounterType: globalScene.currentBattle.mysteryEncounter?.encounterType ?? -1, - mysteryEncounterSaveData: globalScene.mysteryEncounterSaveData, - playerFaints: globalScene.arena.playerFaints + mysteryEncounterSaveData: globalScene.mysteryEncounterSaveData } as SessionSaveData; } } diff --git a/src/system/arena-data.ts b/src/system/arena-data.ts index 518acb55c89..62c1ff9e9da 100644 --- a/src/system/arena-data.ts +++ b/src/system/arena-data.ts @@ -11,6 +11,7 @@ export default class ArenaData { public terrain: Terrain | null; public tags: ArenaTag[]; public playerTerasUsed: number; + public playerFaints: number; constructor(source: Arena | any) { const sourceArena = source instanceof Arena ? source as Arena : null; @@ -18,6 +19,7 @@ export default class ArenaData { this.weather = sourceArena ? sourceArena.weather : source.weather ? new Weather(source.weather.weatherType, source.weather.turnsLeft) : null; this.terrain = sourceArena ? sourceArena.terrain : source.terrain ? new Terrain(source.terrain.terrainType, source.terrain.turnsLeft) : null; this.playerTerasUsed = (sourceArena ? sourceArena.playerTerasUsed : source.playerTerasUsed) ?? 0; + this.playerFaints = (sourceArena ? sourceArena.playerFaints : source.playerFaints ) ?? 0; this.tags = []; if (source.tags) { diff --git a/src/system/game-data.ts b/src/system/game-data.ts index 57e25325ba4..d5e7381a443 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -143,10 +143,6 @@ export interface SessionSaveData { challenges: ChallengeData[]; mysteryEncounterType: MysteryEncounterType | -1; // Only defined when current wave is ME, mysteryEncounterSaveData: MysteryEncounterSaveData; - /** - * Counts the amount of pokemon fainted in your party during the current arena encounter. - */ - playerFaints: number; } interface Unlocks { @@ -971,8 +967,7 @@ export class GameData { timestamp: new Date().getTime(), challenges: globalScene.gameMode.challenges.map(c => new ChallengeData(c)), mysteryEncounterType: globalScene.currentBattle.mysteryEncounter?.encounterType ?? -1, - mysteryEncounterSaveData: globalScene.mysteryEncounterSaveData, - playerFaints: globalScene.arena.playerFaints + mysteryEncounterSaveData: globalScene.mysteryEncounterSaveData } as SessionSaveData; } @@ -1064,7 +1059,7 @@ export class GameData { globalScene.mysteryEncounterSaveData = new MysteryEncounterSaveData(sessionData.mysteryEncounterSaveData); - globalScene.newArena(sessionData.arena.biome, sessionData.playerFaints); + globalScene.newArena(sessionData.arena.biome); const battleType = sessionData.battleType || 0; const trainerConfig = sessionData.trainer ? trainerConfigs[sessionData.trainer.trainerType] : null;