mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-04-23 10:05:36 +01:00
add overrides helper to gameManager
This commit is contained in:
parent
75bf80cbad
commit
cb4162252c
@ -35,6 +35,7 @@ import { BattlerIndex } from "#app/battle.js";
|
|||||||
import TargetSelectUiHandler from "#app/ui/target-select-ui-handler.js";
|
import TargetSelectUiHandler from "#app/ui/target-select-ui-handler.js";
|
||||||
import BattleMessageUiHandler from "#app/ui/battle-message-ui-handler";
|
import BattleMessageUiHandler from "#app/ui/battle-message-ui-handler";
|
||||||
import {MysteryEncounterPhase} from "#app/phases/mystery-encounter-phase";
|
import {MysteryEncounterPhase} from "#app/phases/mystery-encounter-phase";
|
||||||
|
import { OverridesHelper } from "./overridesHelper";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to manage the game state and transitions between phases.
|
* Class to manage the game state and transitions between phases.
|
||||||
@ -45,6 +46,7 @@ export default class GameManager {
|
|||||||
public phaseInterceptor: PhaseInterceptor;
|
public phaseInterceptor: PhaseInterceptor;
|
||||||
public textInterceptor: TextInterceptor;
|
public textInterceptor: TextInterceptor;
|
||||||
public inputsHandler: InputsHandler;
|
public inputsHandler: InputsHandler;
|
||||||
|
public readonly override: OverridesHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an instance of GameManager.
|
* Creates an instance of GameManager.
|
||||||
@ -60,6 +62,7 @@ export default class GameManager {
|
|||||||
this.phaseInterceptor = new PhaseInterceptor(this.scene);
|
this.phaseInterceptor = new PhaseInterceptor(this.scene);
|
||||||
this.textInterceptor = new TextInterceptor(this.scene);
|
this.textInterceptor = new TextInterceptor(this.scene);
|
||||||
this.gameWrapper.setScene(this.scene);
|
this.gameWrapper.setScene(this.scene);
|
||||||
|
this.override = new OverridesHelper();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
45
src/test/utils/overridesHelper.ts
Normal file
45
src/test/utils/overridesHelper.ts
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import { Biome } from "#app/enums/biome";
|
||||||
|
import * as Overrides from "#app/overrides";
|
||||||
|
import { vi } from "vitest";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to handle overrides in tests
|
||||||
|
*/
|
||||||
|
export class OverridesHelper {
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the encounter chance for a mystery encounter.
|
||||||
|
* @param percentage the encounter chance in %
|
||||||
|
*/
|
||||||
|
mysteryEncounterChance(percentage: number) {
|
||||||
|
const maxRate: number = 256; // 100%
|
||||||
|
const rate = maxRate * (percentage / 100);
|
||||||
|
vi.spyOn(Overrides, "MYSTERY_ENCOUNTER_RATE_OVERRIDE", "get").mockReturnValue(rate);
|
||||||
|
this.log(`Mystery encounter chance set to ${percentage}% (=${rate})!`);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the starting biome
|
||||||
|
* @warning The biome will not be overridden unless you call `workaround_reInitSceneWithOverrides()` (testUtils)
|
||||||
|
* @param biome the biome to set
|
||||||
|
*/
|
||||||
|
startingBiome(biome: Biome) {
|
||||||
|
vi.spyOn(Overrides, "STARTING_BIOME_OVERRIDE", "get").mockReturnValue(biome);
|
||||||
|
this.log(`Starting biome set to ${Biome[biome]} (=${biome})!`);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the starting wave (index)
|
||||||
|
*
|
||||||
|
* @param wave the wave (index) to set. Classic: `1`-`200`
|
||||||
|
*/
|
||||||
|
startingWave(wave: number) {
|
||||||
|
vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(wave);
|
||||||
|
this.log(`Starting wave set to ${wave}!`);
|
||||||
|
}
|
||||||
|
|
||||||
|
private log(...params: any[]) {
|
||||||
|
console.log("Overrides:", ...params);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user