mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-06 22:59:31 +02:00
rename to Expert Pokemon Breeder
This commit is contained in:
parent
280db86999
commit
3085f2e224
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"textures": [
|
"textures": [
|
||||||
{
|
{
|
||||||
"image": "expert_breeder.png",
|
"image": "expert_pokemon_breeder.png",
|
||||||
"format": "RGBA8888",
|
"format": "RGBA8888",
|
||||||
"size": {
|
"size": {
|
||||||
"w": 39,
|
"w": 39,
|
Before Width: | Height: | Size: 1006 B After Width: | Height: | Size: 1006 B |
@ -1139,7 +1139,10 @@ export default class BattleScene extends SceneBase {
|
|||||||
|
|
||||||
let battleConfig: FixedBattleConfig | null = null;
|
let battleConfig: FixedBattleConfig | null = null;
|
||||||
|
|
||||||
this.newArena(Biome.SPACE);
|
this.fieldUI.setVisible(false);
|
||||||
|
this.trainer.setVisible(false);
|
||||||
|
this.ui.setVisible(false);
|
||||||
|
this.modifierBar.setVisible(false);
|
||||||
|
|
||||||
this.resetSeed(newWaveIndex);
|
this.resetSeed(newWaveIndex);
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode
|
|||||||
import { achvs } from "#app/system/achv";
|
import { achvs } from "#app/system/achv";
|
||||||
|
|
||||||
/** the i18n namespace for the encounter */
|
/** the i18n namespace for the encounter */
|
||||||
const namespace = "mysteryEncounter:expertBreeder";
|
const namespace = "mysteryEncounter:expertPokemonBreeder";
|
||||||
|
|
||||||
const trainerNameKey = "trainerNames:expert_breeder";
|
const trainerNameKey = "trainerNames:expert_pokemon_breeder";
|
||||||
|
|
||||||
const FIRST_STAGE_EVOLUTION_WAVE = 30;
|
const FIRST_STAGE_EVOLUTION_WAVE = 30;
|
||||||
const SECOND_STAGE_EVOLUTION_WAVE = 45;
|
const SECOND_STAGE_EVOLUTION_WAVE = 45;
|
||||||
@ -73,12 +73,12 @@ const POOL_2_POKEMON: (Species | BreederSpeciesEvolution)[][] = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Expert Breeder encounter.
|
* The Expert Pokémon Breeder encounter.
|
||||||
* @see {@link https://github.com/pagefaultgames/pokerogue/issues/3818 | GitHub Issue #3818}
|
* @see {@link https://github.com/pagefaultgames/pokerogue/issues/3818 | GitHub Issue #3818}
|
||||||
* @see For biome requirements check {@linkcode mysteryEncountersByBiome}
|
* @see For biome requirements check {@linkcode mysteryEncountersByBiome}
|
||||||
*/
|
*/
|
||||||
export const TheExpertBreederEncounter: MysteryEncounter =
|
export const TheExpertPokemonBreederEncounter: MysteryEncounter =
|
||||||
MysteryEncounterBuilder.withEncounterType(MysteryEncounterType.THE_EXPERT_BREEDER)
|
MysteryEncounterBuilder.withEncounterType(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER)
|
||||||
.withEncounterTier(MysteryEncounterTier.ULTRA)
|
.withEncounterTier(MysteryEncounterTier.ULTRA)
|
||||||
.withSceneWaveRangeRequirement(...CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES)
|
.withSceneWaveRangeRequirement(...CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES)
|
||||||
.withScenePartySizeRequirement(4, 6, true) // Must have at least 4 legal pokemon in party
|
.withScenePartySizeRequirement(4, 6, true) // Must have at least 4 legal pokemon in party
|
||||||
@ -114,7 +114,7 @@ export const TheExpertBreederEncounter: MysteryEncounter =
|
|||||||
yShadow: -2
|
yShadow: -2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
spriteKey: "expert_breeder",
|
spriteKey: "expert_pokemon_breeder",
|
||||||
fileRoot: "trainer",
|
fileRoot: "trainer",
|
||||||
hasShadow: true,
|
hasShadow: true,
|
||||||
x: -14,
|
x: -14,
|
||||||
@ -370,13 +370,13 @@ export const TheExpertBreederEncounter: MysteryEncounter =
|
|||||||
function getPartyConfig(scene: BattleScene): EnemyPartyConfig {
|
function getPartyConfig(scene: BattleScene): EnemyPartyConfig {
|
||||||
// Bug type superfan trainer config
|
// Bug type superfan trainer config
|
||||||
const waveIndex = scene.currentBattle.waveIndex;
|
const waveIndex = scene.currentBattle.waveIndex;
|
||||||
const breederConfig = trainerConfigs[TrainerType.EXPERT_BREEDER].clone();
|
const breederConfig = trainerConfigs[TrainerType.EXPERT_POKEMON_BREEDER].clone();
|
||||||
breederConfig.name = i18next.t(trainerNameKey);
|
breederConfig.name = i18next.t(trainerNameKey);
|
||||||
|
|
||||||
// First mon is *always* this special cleffa
|
// First mon is *always* this special cleffa
|
||||||
const cleffaSpecies = waveIndex < FIRST_STAGE_EVOLUTION_WAVE ? Species.CLEFFA : waveIndex < FINAL_STAGE_EVOLUTION_WAVE ? Species.CLEFAIRY : Species.CLEFABLE;
|
const cleffaSpecies = waveIndex < FIRST_STAGE_EVOLUTION_WAVE ? Species.CLEFFA : waveIndex < FINAL_STAGE_EVOLUTION_WAVE ? Species.CLEFAIRY : Species.CLEFABLE;
|
||||||
const baseConfig: EnemyPartyConfig = {
|
const baseConfig: EnemyPartyConfig = {
|
||||||
trainerType: TrainerType.EXPERT_BREEDER,
|
trainerType: TrainerType.EXPERT_POKEMON_BREEDER,
|
||||||
pokemonConfigs: [
|
pokemonConfigs: [
|
||||||
{
|
{
|
||||||
nickname: i18next.t(`${namespace}.cleffa_1_nickname`),
|
nickname: i18next.t(`${namespace}.cleffa_1_nickname`),
|
@ -31,7 +31,7 @@ import { BugTypeSuperfanEncounter } from "#app/data/mystery-encounters/encounter
|
|||||||
import { FunAndGamesEncounter } from "#app/data/mystery-encounters/encounters/fun-and-games-encounter";
|
import { FunAndGamesEncounter } from "#app/data/mystery-encounters/encounters/fun-and-games-encounter";
|
||||||
import { UncommonBreedEncounter } from "#app/data/mystery-encounters/encounters/uncommon-breed-encounter";
|
import { UncommonBreedEncounter } from "#app/data/mystery-encounters/encounters/uncommon-breed-encounter";
|
||||||
import { GlobalTradeSystemEncounter } from "#app/data/mystery-encounters/encounters/global-trade-system-encounter";
|
import { GlobalTradeSystemEncounter } from "#app/data/mystery-encounters/encounters/global-trade-system-encounter";
|
||||||
import { TheExpertBreederEncounter } from "#app/data/mystery-encounters/encounters/the-expert-breeder-encounter";
|
import { TheExpertPokemonBreederEncounter } from "#app/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spawn chance: (BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT + WIGHT_INCREMENT_ON_SPAWN_MISS * <number of missed spawns>) / MYSTERY_ENCOUNTER_SPAWN_MAX_WEIGHT
|
* Spawn chance: (BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT + WIGHT_INCREMENT_ON_SPAWN_MISS * <number of missed spawns>) / MYSTERY_ENCOUNTER_SPAWN_MAX_WEIGHT
|
||||||
@ -186,7 +186,7 @@ const humanTransitableBiomeEncounters: MysteryEncounterType[] = [
|
|||||||
MysteryEncounterType.THE_POKEMON_SALESMAN,
|
MysteryEncounterType.THE_POKEMON_SALESMAN,
|
||||||
MysteryEncounterType.AN_OFFER_YOU_CANT_REFUSE,
|
MysteryEncounterType.AN_OFFER_YOU_CANT_REFUSE,
|
||||||
MysteryEncounterType.THE_WINSTRATE_CHALLENGE,
|
MysteryEncounterType.THE_WINSTRATE_CHALLENGE,
|
||||||
MysteryEncounterType.THE_EXPERT_BREEDER
|
MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER
|
||||||
];
|
];
|
||||||
|
|
||||||
const civilizationBiomeEncounters: MysteryEncounterType[] = [
|
const civilizationBiomeEncounters: MysteryEncounterType[] = [
|
||||||
@ -277,7 +277,7 @@ export const mysteryEncountersByBiome = new Map<Biome, MysteryEncounterType[]>([
|
|||||||
MysteryEncounterType.DANCING_LESSONS
|
MysteryEncounterType.DANCING_LESSONS
|
||||||
]],
|
]],
|
||||||
[Biome.SPACE, [
|
[Biome.SPACE, [
|
||||||
MysteryEncounterType.THE_EXPERT_BREEDER
|
MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER
|
||||||
]],
|
]],
|
||||||
[Biome.CONSTRUCTION_SITE, []],
|
[Biome.CONSTRUCTION_SITE, []],
|
||||||
[Biome.JUNGLE, [
|
[Biome.JUNGLE, [
|
||||||
@ -322,7 +322,7 @@ export function initMysteryEncounters() {
|
|||||||
allMysteryEncounters[MysteryEncounterType.FUN_AND_GAMES] = FunAndGamesEncounter;
|
allMysteryEncounters[MysteryEncounterType.FUN_AND_GAMES] = FunAndGamesEncounter;
|
||||||
allMysteryEncounters[MysteryEncounterType.UNCOMMON_BREED] = UncommonBreedEncounter;
|
allMysteryEncounters[MysteryEncounterType.UNCOMMON_BREED] = UncommonBreedEncounter;
|
||||||
allMysteryEncounters[MysteryEncounterType.GLOBAL_TRADE_SYSTEM] = GlobalTradeSystemEncounter;
|
allMysteryEncounters[MysteryEncounterType.GLOBAL_TRADE_SYSTEM] = GlobalTradeSystemEncounter;
|
||||||
allMysteryEncounters[MysteryEncounterType.THE_EXPERT_BREEDER] = TheExpertBreederEncounter;
|
allMysteryEncounters[MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER] = TheExpertPokemonBreederEncounter;
|
||||||
|
|
||||||
// Add extreme encounters to biome map
|
// Add extreme encounters to biome map
|
||||||
extremeBiomeEncounters.forEach(encounter => {
|
extremeBiomeEncounters.forEach(encounter => {
|
||||||
|
@ -2311,7 +2311,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
.setPartyTemplates(new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG))),
|
.setPartyTemplates(new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG))),
|
||||||
[TrainerType.BUG_TYPE_SUPERFAN]: new TrainerConfig(++t).setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER)
|
[TrainerType.BUG_TYPE_SUPERFAN]: new TrainerConfig(++t).setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER)
|
||||||
.setPartyTemplates(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE)),
|
.setPartyTemplates(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE)),
|
||||||
[TrainerType.EXPERT_BREEDER]: new TrainerConfig(++t).setMoneyMultiplier(3).setEncounterBgm(TrainerType.ACE_TRAINER)
|
[TrainerType.EXPERT_POKEMON_BREEDER]: new TrainerConfig(++t).setMoneyMultiplier(3).setEncounterBgm(TrainerType.ACE_TRAINER)
|
||||||
.setPartyTemplates(new TrainerPartyTemplate(3, PartyMemberStrength.STRONG))
|
.setPartyTemplates(new TrainerPartyTemplate(3, PartyMemberStrength.STRONG))
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,5 +29,5 @@ export enum MysteryEncounterType {
|
|||||||
FUN_AND_GAMES,
|
FUN_AND_GAMES,
|
||||||
UNCOMMON_BREED,
|
UNCOMMON_BREED,
|
||||||
GLOBAL_TRADE_SYSTEM,
|
GLOBAL_TRADE_SYSTEM,
|
||||||
THE_EXPERT_BREEDER
|
THE_EXPERT_POKEMON_BREEDER
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ export enum TrainerType {
|
|||||||
VICKY,
|
VICKY,
|
||||||
VITO,
|
VITO,
|
||||||
BUG_TYPE_SUPERFAN,
|
BUG_TYPE_SUPERFAN,
|
||||||
EXPERT_BREEDER,
|
EXPERT_POKEMON_BREEDER,
|
||||||
|
|
||||||
BROCK = 200,
|
BROCK = 200,
|
||||||
MISTY,
|
MISTY,
|
||||||
|
@ -286,6 +286,6 @@
|
|||||||
},
|
},
|
||||||
"BREEDERS_IN_SPACE": {
|
"BREEDERS_IN_SPACE": {
|
||||||
"name": "Breeders in Space!",
|
"name": "Breeders in Space!",
|
||||||
"description": "Beat the Expert Breeder in the Space Biome."
|
"description": "Beat the Expert Pokémon Breeder in the Space Biome."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ import bugTypeSuperfan from "#app/locales/en/mystery-encounters/bug-type-superfa
|
|||||||
import funAndGames from "#app/locales/en/mystery-encounters/fun-and-games-dialogue.json";
|
import funAndGames from "#app/locales/en/mystery-encounters/fun-and-games-dialogue.json";
|
||||||
import uncommonBreed from "#app/locales/en/mystery-encounters/uncommon-breed-dialogue.json";
|
import uncommonBreed from "#app/locales/en/mystery-encounters/uncommon-breed-dialogue.json";
|
||||||
import globalTradeSystem from "#app/locales/en/mystery-encounters/global-trade-system-dialogue.json";
|
import globalTradeSystem from "#app/locales/en/mystery-encounters/global-trade-system-dialogue.json";
|
||||||
import expertBreeder from "#app/locales/en/mystery-encounters/the-expert-breeder-dialogue.json";
|
import expertPokemonBreeder from "#app/locales/en/mystery-encounters/the-expert-pokemon-breeder-dialogue.json";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dialogue/Text token injection patterns that can be used:
|
* Dialogue/Text token injection patterns that can be used:
|
||||||
@ -185,7 +185,7 @@ export const enConfig = {
|
|||||||
funAndGames,
|
funAndGames,
|
||||||
uncommonBreed,
|
uncommonBreed,
|
||||||
globalTradeSystem,
|
globalTradeSystem,
|
||||||
expertBreeder
|
expertPokemonBreeder
|
||||||
},
|
},
|
||||||
mysteryEncounterMessages
|
mysteryEncounterMessages
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"intro": "It's a trainer carrying tons of Pokémon Eggs!",
|
"intro": "It's a trainer carrying tons of Pokémon Eggs!",
|
||||||
"intro_dialogue": "Hey there, trainer!$It looks like some of your\npartner Pokémon are feeling a little down.$Why not have a battle with me to cheer them up?",
|
"intro_dialogue": "Hey there, trainer!$It looks like some of your\npartner Pokémon are feeling a little down.$Why not have a battle with me to cheer them up?",
|
||||||
"title": "The Expert Breeder",
|
"title": "The Expert Pokémon Breeder",
|
||||||
"description": "You've been challenged to a battle where @[TOOLTIP_TITLE]{you can only use a single Pokémon}. It might be tough, but it would surely deepen the bond you have with the Pokémon you choose!\nThe breeder will also give you some @[TOOLTIP_TITLE]{Pokémon Eggs} if you win!",
|
"description": "You've been challenged to a battle where @[TOOLTIP_TITLE]{you can only use a single Pokémon}. It might be tough, but it would surely deepen the bond you have with the Pokémon you choose!\nThe breeder will also give you some @[TOOLTIP_TITLE]{Pokémon Eggs} if you win!",
|
||||||
"query": "Who will you battle with?",
|
"query": "Who will you battle with?",
|
||||||
"cleffa_1_nickname": "Ace",
|
"cleffa_1_nickname": "Ace",
|
@ -173,5 +173,5 @@
|
|||||||
"vicky": "Vicky",
|
"vicky": "Vicky",
|
||||||
"vito": "Vito",
|
"vito": "Vito",
|
||||||
"bug_type_superfan": "Bug-Type Superfan",
|
"bug_type_superfan": "Bug-Type Superfan",
|
||||||
"expert_breeder": "Expert Breeder"
|
"expert_pokemon_breeder": "Expert Pokémon Breeder"
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ class DefaultOverrides {
|
|||||||
/** 1 to 256, set to null to ignore */
|
/** 1 to 256, set to null to ignore */
|
||||||
readonly MYSTERY_ENCOUNTER_RATE_OVERRIDE: number | null = 256;
|
readonly MYSTERY_ENCOUNTER_RATE_OVERRIDE: number | null = 256;
|
||||||
readonly MYSTERY_ENCOUNTER_TIER_OVERRIDE: MysteryEncounterTier | null = null;
|
readonly MYSTERY_ENCOUNTER_TIER_OVERRIDE: MysteryEncounterTier | null = null;
|
||||||
readonly MYSTERY_ENCOUNTER_OVERRIDE: MysteryEncounterType | null = MysteryEncounterType.THE_EXPERT_BREEDER;
|
readonly MYSTERY_ENCOUNTER_OVERRIDE: MysteryEncounterType | null = MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER;
|
||||||
|
|
||||||
// -------------------------
|
// -------------------------
|
||||||
// MODIFIER / ITEM OVERRIDES
|
// MODIFIER / ITEM OVERRIDES
|
||||||
|
@ -14,7 +14,7 @@ import { MysteryEncounterMode } from "#enums/mystery-encounter-mode";
|
|||||||
import MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter";
|
import MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter";
|
||||||
import { CommandPhase } from "#app/phases/command-phase";
|
import { CommandPhase } from "#app/phases/command-phase";
|
||||||
import { SelectModifierPhase } from "#app/phases/select-modifier-phase";
|
import { SelectModifierPhase } from "#app/phases/select-modifier-phase";
|
||||||
import { TheExpertBreederEncounter } from "#app/data/mystery-encounters/encounters/the-expert-breeder-encounter";
|
import { TheExpertPokemonBreederEncounter } from "#app/data/mystery-encounters/encounters/the-expert-pokemon-breeder-encounter";
|
||||||
import { TrainerType } from "#enums/trainer-type";
|
import { TrainerType } from "#enums/trainer-type";
|
||||||
import { EggTier } from "#enums/egg-type";
|
import { EggTier } from "#enums/egg-type";
|
||||||
import { PostMysteryEncounterPhase } from "#app/phases/mystery-encounter-phases";
|
import { PostMysteryEncounterPhase } from "#app/phases/mystery-encounter-phases";
|
||||||
@ -24,7 +24,7 @@ const defaultParty = [Species.LAPRAS, Species.GENGAR, Species.ABRA];
|
|||||||
const defaultBiome = Biome.CAVE;
|
const defaultBiome = Biome.CAVE;
|
||||||
const defaultWave = 45;
|
const defaultWave = 45;
|
||||||
|
|
||||||
describe("The Expert Breeder - Mystery Encounter", () => {
|
describe("The Expert Pokémon Breeder - Mystery Encounter", () => {
|
||||||
let phaserGame: Phaser.Game;
|
let phaserGame: Phaser.Game;
|
||||||
let game: GameManager;
|
let game: GameManager;
|
||||||
let scene: BattleScene;
|
let scene: BattleScene;
|
||||||
@ -45,7 +45,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
[Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]],
|
[Biome.VOLCANO, [MysteryEncounterType.FIGHT_OR_FLIGHT]],
|
||||||
]);
|
]);
|
||||||
HUMAN_TRANSITABLE_BIOMES.forEach(biome => {
|
HUMAN_TRANSITABLE_BIOMES.forEach(biome => {
|
||||||
biomeMap.set(biome, [MysteryEncounterType.THE_EXPERT_BREEDER]);
|
biomeMap.set(biome, [MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER]);
|
||||||
});
|
});
|
||||||
vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue(biomeMap);
|
vi.spyOn(MysteryEncounters, "mysteryEncountersByBiome", "get").mockReturnValue(biomeMap);
|
||||||
});
|
});
|
||||||
@ -57,24 +57,24 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should have the correct properties", async () => {
|
it("should have the correct properties", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
|
|
||||||
expect(TheExpertBreederEncounter.encounterType).toBe(MysteryEncounterType.THE_EXPERT_BREEDER);
|
expect(TheExpertPokemonBreederEncounter.encounterType).toBe(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER);
|
||||||
expect(TheExpertBreederEncounter.encounterTier).toBe(MysteryEncounterTier.ULTRA);
|
expect(TheExpertPokemonBreederEncounter.encounterTier).toBe(MysteryEncounterTier.ULTRA);
|
||||||
expect(TheExpertBreederEncounter.dialogue).toBeDefined();
|
expect(TheExpertPokemonBreederEncounter.dialogue).toBeDefined();
|
||||||
expect(TheExpertBreederEncounter.dialogue.intro).toStrictEqual([
|
expect(TheExpertPokemonBreederEncounter.dialogue.intro).toStrictEqual([
|
||||||
{
|
{
|
||||||
text: `${namespace}.intro`
|
text: `${namespace}.intro`
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
speaker: "trainerNames:expert_breeder",
|
speaker: "trainerNames:expert_pokemon_breeder",
|
||||||
text: `${namespace}.intro_dialogue`
|
text: `${namespace}.intro_dialogue`
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
expect(TheExpertBreederEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}.title`);
|
expect(TheExpertPokemonBreederEncounter.dialogue.encounterOptionsDialogue?.title).toBe(`${namespace}.title`);
|
||||||
expect(TheExpertBreederEncounter.dialogue.encounterOptionsDialogue?.description).toBe(`${namespace}.description`);
|
expect(TheExpertPokemonBreederEncounter.dialogue.encounterOptionsDialogue?.description).toBe(`${namespace}.description`);
|
||||||
expect(TheExpertBreederEncounter.dialogue.encounterOptionsDialogue?.query).toBe(`${namespace}.query`);
|
expect(TheExpertPokemonBreederEncounter.dialogue.encounterOptionsDialogue?.query).toBe(`${namespace}.query`);
|
||||||
expect(TheExpertBreederEncounter.options.length).toBe(3);
|
expect(TheExpertPokemonBreederEncounter.options.length).toBe(3);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => {
|
it("should not spawn outside of HUMAN_TRANSITABLE_BIOMES", async () => {
|
||||||
@ -82,12 +82,12 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
game.override.startingBiome(Biome.VOLCANO);
|
game.override.startingBiome(Biome.VOLCANO);
|
||||||
await game.runToMysteryEncounter();
|
await game.runToMysteryEncounter();
|
||||||
|
|
||||||
expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.THE_EXPERT_BREEDER);
|
expect(scene.currentBattle?.mysteryEncounter?.encounterType).not.toBe(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should initialize fully", async () => {
|
it("should initialize fully", async () => {
|
||||||
initSceneWithoutEncounterPhase(scene, defaultParty);
|
initSceneWithoutEncounterPhase(scene, defaultParty);
|
||||||
scene.currentBattle.mysteryEncounter = new MysteryEncounter(TheExpertBreederEncounter);
|
scene.currentBattle.mysteryEncounter = new MysteryEncounter(TheExpertPokemonBreederEncounter);
|
||||||
const encounter = scene.currentBattle.mysteryEncounter!;
|
const encounter = scene.currentBattle.mysteryEncounter!;
|
||||||
scene.currentBattle.waveIndex = defaultWave;
|
scene.currentBattle.waveIndex = defaultWave;
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
|
|
||||||
expect(encounter.enemyPartyConfigs).toBeDefined();
|
expect(encounter.enemyPartyConfigs).toBeDefined();
|
||||||
expect(encounter.enemyPartyConfigs.length).toBe(1);
|
expect(encounter.enemyPartyConfigs.length).toBe(1);
|
||||||
expect(encounter.enemyPartyConfigs[0].trainerType).toBe(TrainerType.EXPERT_BREEDER);
|
expect(encounter.enemyPartyConfigs[0].trainerType).toBe(TrainerType.EXPERT_POKEMON_BREEDER);
|
||||||
expect(encounter.enemyPartyConfigs[0].pokemonConfigs?.length).toBe(3);
|
expect(encounter.enemyPartyConfigs[0].pokemonConfigs?.length).toBe(3);
|
||||||
expect(encounter.spriteConfigs).toBeDefined();
|
expect(encounter.spriteConfigs).toBeDefined();
|
||||||
expect(encounter.spriteConfigs.length).toBe(2);
|
expect(encounter.spriteConfigs.length).toBe(2);
|
||||||
@ -109,7 +109,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
|
|
||||||
describe("Option 1 - Battle with Pokemon 1", () => {
|
describe("Option 1 - Battle with Pokemon 1", () => {
|
||||||
it("should have the correct properties", () => {
|
it("should have the correct properties", () => {
|
||||||
const option = TheExpertBreederEncounter.options[0];
|
const option = TheExpertPokemonBreederEncounter.options[0];
|
||||||
expect(option.optionMode).toBe(MysteryEncounterOptionMode.DEFAULT);
|
expect(option.optionMode).toBe(MysteryEncounterOptionMode.DEFAULT);
|
||||||
expect(option.dialogue).toBeDefined();
|
expect(option.dialogue).toBeDefined();
|
||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
@ -117,7 +117,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
buttonTooltip: expect.any(String), // Varies based on pokemon
|
buttonTooltip: expect.any(String), // Varies based on pokemon
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
speaker: "trainerNames:expert_breeder",
|
speaker: "trainerNames:expert_pokemon_breeder",
|
||||||
text: `${namespace}.option.selected`,
|
text: `${namespace}.option.selected`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -125,7 +125,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should start battle against the trainer", async () => {
|
it("should start battle against the trainer", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
await runMysteryEncounterToEnd(game, 1, undefined, true);
|
await runMysteryEncounterToEnd(game, 1, undefined, true);
|
||||||
|
|
||||||
expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name);
|
expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name);
|
||||||
@ -135,7 +135,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("Should reward the player with friendship and eggs based on pokemon selected", async () => {
|
it("Should reward the player with friendship and eggs based on pokemon selected", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
|
|
||||||
const friendshipBefore = scene.currentBattle.mysteryEncounter!.misc.pokemon1.friendship;
|
const friendshipBefore = scene.currentBattle.mysteryEncounter!.misc.pokemon1.friendship;
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
|
|
||||||
describe("Option 2 - Battle with Pokemon 2", () => {
|
describe("Option 2 - Battle with Pokemon 2", () => {
|
||||||
it("should have the correct properties", () => {
|
it("should have the correct properties", () => {
|
||||||
const option = TheExpertBreederEncounter.options[1];
|
const option = TheExpertPokemonBreederEncounter.options[1];
|
||||||
expect(option.optionMode).toBe(MysteryEncounterOptionMode.DEFAULT);
|
expect(option.optionMode).toBe(MysteryEncounterOptionMode.DEFAULT);
|
||||||
expect(option.dialogue).toBeDefined();
|
expect(option.dialogue).toBeDefined();
|
||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
@ -175,7 +175,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
buttonTooltip: expect.any(String), // Varies based on pokemon
|
buttonTooltip: expect.any(String), // Varies based on pokemon
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
speaker: "trainerNames:expert_breeder",
|
speaker: "trainerNames:expert_pokemon_breeder",
|
||||||
text: `${namespace}.option.selected`,
|
text: `${namespace}.option.selected`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -183,7 +183,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should start battle against the trainer", async () => {
|
it("should start battle against the trainer", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
await runMysteryEncounterToEnd(game, 2, undefined, true);
|
await runMysteryEncounterToEnd(game, 2, undefined, true);
|
||||||
|
|
||||||
expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name);
|
expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name);
|
||||||
@ -193,7 +193,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("Should reward the player with friendship and eggs based on pokemon selected", async () => {
|
it("Should reward the player with friendship and eggs based on pokemon selected", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
|
|
||||||
const friendshipBefore = scene.currentBattle.mysteryEncounter!.misc.pokemon2.friendship;
|
const friendshipBefore = scene.currentBattle.mysteryEncounter!.misc.pokemon2.friendship;
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
|
|
||||||
describe("Option 3 - Battle with Pokemon 3", () => {
|
describe("Option 3 - Battle with Pokemon 3", () => {
|
||||||
it("should have the correct properties", () => {
|
it("should have the correct properties", () => {
|
||||||
const option = TheExpertBreederEncounter.options[2];
|
const option = TheExpertPokemonBreederEncounter.options[2];
|
||||||
expect(option.optionMode).toBe(MysteryEncounterOptionMode.DEFAULT);
|
expect(option.optionMode).toBe(MysteryEncounterOptionMode.DEFAULT);
|
||||||
expect(option.dialogue).toBeDefined();
|
expect(option.dialogue).toBeDefined();
|
||||||
expect(option.dialogue).toStrictEqual({
|
expect(option.dialogue).toStrictEqual({
|
||||||
@ -233,7 +233,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
buttonTooltip: expect.any(String), // Varies based on pokemon
|
buttonTooltip: expect.any(String), // Varies based on pokemon
|
||||||
selected: [
|
selected: [
|
||||||
{
|
{
|
||||||
speaker: "trainerNames:expert_breeder",
|
speaker: "trainerNames:expert_pokemon_breeder",
|
||||||
text: `${namespace}.option.selected`,
|
text: `${namespace}.option.selected`,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -241,7 +241,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should start battle against the trainer", async () => {
|
it("should start battle against the trainer", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
await runMysteryEncounterToEnd(game, 3, undefined, true);
|
await runMysteryEncounterToEnd(game, 3, undefined, true);
|
||||||
|
|
||||||
expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name);
|
expect(scene.getCurrentPhase()?.constructor.name).toBe(CommandPhase.name);
|
||||||
@ -251,7 +251,7 @@ describe("The Expert Breeder - Mystery Encounter", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("Should reward the player with friendship and eggs based on pokemon selected", async () => {
|
it("Should reward the player with friendship and eggs based on pokemon selected", async () => {
|
||||||
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_BREEDER, defaultParty);
|
await game.runToMysteryEncounter(MysteryEncounterType.THE_EXPERT_POKEMON_BREEDER, defaultParty);
|
||||||
|
|
||||||
const friendshipBefore = scene.currentBattle.mysteryEncounter!.misc.pokemon3.friendship;
|
const friendshipBefore = scene.currentBattle.mysteryEncounter!.misc.pokemon3.friendship;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user