fix trainer wave disable override

This commit is contained in:
ImperialSympathizer 2024-07-20 14:38:48 -04:00
parent c7ed5bee97
commit 4133302c5d
9 changed files with 12 additions and 12 deletions

View File

@ -50,4 +50,4 @@ jobs:
run: npm ci # Use 'npm ci' to install dependencies
- name: tests # Step to run tests
run: npm run test${{ runner.debug == '0' &&':silent' || '' }} -- --retry=3 # silent on default. if debug run loud. Retry failed tests up to 3 times
run: npm run test${{ runner.debug == '0' &&':silent' || '' }} # silent on default. if debug run loud.

View File

@ -36,7 +36,7 @@ describe("Department Store Sale - Mystery Encounter", () => {
game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON);
game.override.startingWave(defaultWave);
game.override.startingBiome(defaultBiome);
game.override.disableTrainerWave(true);
game.override.disableTrainerWaves(true);
const biomeMap = new Map<Biome, MysteryEncounterType[]>([
[Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]],
@ -54,7 +54,6 @@ describe("Department Store Sale - Mystery Encounter", () => {
});
it("should have the correct properties", async () => {
game.override.mysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE);
await game.runToMysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE, defaultParty);
expect(DepartmentStoreSaleEncounter.encounterType).toBe(MysteryEncounterType.DEPARTMENT_STORE_SALE);

View File

@ -58,7 +58,6 @@ describe("Fiery Fallout - Mystery Encounter", () => {
});
it("should have the correct properties", async () => {
game.override.mysteryEncounter(MysteryEncounterType.FIERY_FALLOUT);
await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, defaultParty);
expect(FieryFalloutEncounter.encounterType).toBe(MysteryEncounterType.FIERY_FALLOUT);

View File

@ -48,7 +48,6 @@ describe("Lost at Sea - Mystery Encounter", () => {
});
it("should have the correct properties", async () => {
game.override.mysteryEncounter(MysteryEncounterType.LOST_AT_SEA);
await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty);
expect(LostAtSeaEncounter.encounterType).toBe(MysteryEncounterType.LOST_AT_SEA);

View File

@ -60,7 +60,6 @@ describe("The Strong Stuff - Mystery Encounter", () => {
});
it("should have the correct properties", async () => {
game.override.mysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF);
await game.runToMysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF, defaultParty);
expect(TheStrongStuffEncounter.encounterType).toBe(MysteryEncounterType.THE_STRONG_STUFF);

View File

@ -23,8 +23,6 @@ describe("Mystery Encounters", () => {
game = new GameManager(phaserGame);
game.override.startingWave(11);
game.override.mysteryEncounterChance(100);
game.override.mysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS);
game.override.disableTrainerWave(true);
});
it("Spawns a mystery encounter", async () => {

View File

@ -28,7 +28,6 @@ describe("Mystery Encounter Phases", () => {
game = new GameManager(phaserGame);
game.override.startingWave(11);
game.override.mysteryEncounterChance(100);
game.override.mysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS);
// Seed guarantees wild encounter to be replaced by ME
game.override.seed("test");
});

View File

@ -153,7 +153,7 @@ export default class GameManager {
*/
async runToMysteryEncounter(encounterType?: MysteryEncounterType, species?: Species[]) {
if (!isNullOrUndefined(encounterType)) {
this.override.disableTrainerWave(true);
this.override.disableTrainerWaves(true);
this.override.mysteryEncounter(encounterType);
}

View File

@ -6,6 +6,8 @@ import GameManager from "#test/utils/gameManager";
import { MysteryEncounterType } from "#enums/mystery-encounter-type";
import * as overrides from "#app/overrides";
import { MysteryEncounterTier } from "#app/data/mystery-encounters/mystery-encounter";
import * as GameMode from "#app/game-mode";
import { GameModes, getGameMode } from "#app/game-mode";
/**
* Helper to handle overrides in tests
@ -77,8 +79,13 @@ export class OverridesHelper {
* @returns spy instance
* @param disable - true
*/
disableTrainerWave(disable: boolean): MockInstance {
const spy = vi.spyOn(this.game.scene.gameMode, "isWaveTrainer").mockReturnValue(!disable);
disableTrainerWaves(disable: boolean): MockInstance {
const realFn = getGameMode;
const spy = vi.spyOn(GameMode, "getGameMode").mockImplementation((gameMode: GameModes) => {
const mode = realFn(gameMode);
mode.hasTrainers = !disable;
return mode;
});
this.log(`Standard trainer waves are ${disable? "disabled" : "enabled"}!`);
return spy;
}