fix trainer wave disable override
This commit is contained in:
parent
c7ed5bee97
commit
4133302c5d
|
@ -50,4 +50,4 @@ jobs:
|
||||||
run: npm ci # Use 'npm ci' to install dependencies
|
run: npm ci # Use 'npm ci' to install dependencies
|
||||||
|
|
||||||
- name: tests # Step to run tests
|
- 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.
|
||||||
|
|
|
@ -36,7 +36,7 @@ describe("Department Store Sale - Mystery Encounter", () => {
|
||||||
game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON);
|
game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON);
|
||||||
game.override.startingWave(defaultWave);
|
game.override.startingWave(defaultWave);
|
||||||
game.override.startingBiome(defaultBiome);
|
game.override.startingBiome(defaultBiome);
|
||||||
game.override.disableTrainerWave(true);
|
game.override.disableTrainerWaves(true);
|
||||||
|
|
||||||
const biomeMap = new Map<Biome, MysteryEncounterType[]>([
|
const biomeMap = new Map<Biome, MysteryEncounterType[]>([
|
||||||
[Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]],
|
[Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]],
|
||||||
|
@ -54,7 +54,6 @@ describe("Department Store Sale - Mystery Encounter", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should have the correct properties", async () => {
|
it("should have the correct properties", async () => {
|
||||||
game.override.mysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE);
|
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE, defaultParty);
|
||||||
|
|
||||||
expect(DepartmentStoreSaleEncounter.encounterType).toBe(MysteryEncounterType.DEPARTMENT_STORE_SALE);
|
expect(DepartmentStoreSaleEncounter.encounterType).toBe(MysteryEncounterType.DEPARTMENT_STORE_SALE);
|
||||||
|
|
|
@ -58,7 +58,6 @@ describe("Fiery Fallout - Mystery Encounter", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should have the correct properties", async () => {
|
it("should have the correct properties", async () => {
|
||||||
game.override.mysteryEncounter(MysteryEncounterType.FIERY_FALLOUT);
|
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, defaultParty);
|
||||||
|
|
||||||
expect(FieryFalloutEncounter.encounterType).toBe(MysteryEncounterType.FIERY_FALLOUT);
|
expect(FieryFalloutEncounter.encounterType).toBe(MysteryEncounterType.FIERY_FALLOUT);
|
||||||
|
|
|
@ -48,7 +48,6 @@ describe("Lost at Sea - Mystery Encounter", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should have the correct properties", async () => {
|
it("should have the correct properties", async () => {
|
||||||
game.override.mysteryEncounter(MysteryEncounterType.LOST_AT_SEA);
|
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty);
|
||||||
|
|
||||||
expect(LostAtSeaEncounter.encounterType).toBe(MysteryEncounterType.LOST_AT_SEA);
|
expect(LostAtSeaEncounter.encounterType).toBe(MysteryEncounterType.LOST_AT_SEA);
|
||||||
|
|
|
@ -60,7 +60,6 @@ describe("The Strong Stuff - Mystery Encounter", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should have the correct properties", async () => {
|
it("should have the correct properties", async () => {
|
||||||
game.override.mysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF);
|
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF, defaultParty);
|
||||||
|
|
||||||
expect(TheStrongStuffEncounter.encounterType).toBe(MysteryEncounterType.THE_STRONG_STUFF);
|
expect(TheStrongStuffEncounter.encounterType).toBe(MysteryEncounterType.THE_STRONG_STUFF);
|
||||||
|
|
|
@ -23,8 +23,6 @@ describe("Mystery Encounters", () => {
|
||||||
game = new GameManager(phaserGame);
|
game = new GameManager(phaserGame);
|
||||||
game.override.startingWave(11);
|
game.override.startingWave(11);
|
||||||
game.override.mysteryEncounterChance(100);
|
game.override.mysteryEncounterChance(100);
|
||||||
game.override.mysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS);
|
|
||||||
game.override.disableTrainerWave(true);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Spawns a mystery encounter", async () => {
|
it("Spawns a mystery encounter", async () => {
|
||||||
|
|
|
@ -28,7 +28,6 @@ describe("Mystery Encounter Phases", () => {
|
||||||
game = new GameManager(phaserGame);
|
game = new GameManager(phaserGame);
|
||||||
game.override.startingWave(11);
|
game.override.startingWave(11);
|
||||||
game.override.mysteryEncounterChance(100);
|
game.override.mysteryEncounterChance(100);
|
||||||
game.override.mysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS);
|
|
||||||
// Seed guarantees wild encounter to be replaced by ME
|
// Seed guarantees wild encounter to be replaced by ME
|
||||||
game.override.seed("test");
|
game.override.seed("test");
|
||||||
});
|
});
|
||||||
|
|
|
@ -153,7 +153,7 @@ export default class GameManager {
|
||||||
*/
|
*/
|
||||||
async runToMysteryEncounter(encounterType?: MysteryEncounterType, species?: Species[]) {
|
async runToMysteryEncounter(encounterType?: MysteryEncounterType, species?: Species[]) {
|
||||||
if (!isNullOrUndefined(encounterType)) {
|
if (!isNullOrUndefined(encounterType)) {
|
||||||
this.override.disableTrainerWave(true);
|
this.override.disableTrainerWaves(true);
|
||||||
this.override.mysteryEncounter(encounterType);
|
this.override.mysteryEncounter(encounterType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ import GameManager from "#test/utils/gameManager";
|
||||||
import { MysteryEncounterType } from "#enums/mystery-encounter-type";
|
import { MysteryEncounterType } from "#enums/mystery-encounter-type";
|
||||||
import * as overrides from "#app/overrides";
|
import * as overrides from "#app/overrides";
|
||||||
import { MysteryEncounterTier } from "#app/data/mystery-encounters/mystery-encounter";
|
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
|
* Helper to handle overrides in tests
|
||||||
|
@ -77,8 +79,13 @@ export class OverridesHelper {
|
||||||
* @returns spy instance
|
* @returns spy instance
|
||||||
* @param disable - true
|
* @param disable - true
|
||||||
*/
|
*/
|
||||||
disableTrainerWave(disable: boolean): MockInstance {
|
disableTrainerWaves(disable: boolean): MockInstance {
|
||||||
const spy = vi.spyOn(this.game.scene.gameMode, "isWaveTrainer").mockReturnValue(!disable);
|
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"}!`);
|
this.log(`Standard trainer waves are ${disable? "disabled" : "enabled"}!`);
|
||||||
return spy;
|
return spy;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue