Move playerFaints to arena data

This commit is contained in:
AJ Fontaine 2025-02-26 20:30:20 -05:00
parent de148277ea
commit d7f4b53b58
5 changed files with 9 additions and 13 deletions

View File

@ -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 = {

View File

@ -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() {

View File

@ -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;
}
}

View File

@ -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) {

View File

@ -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;