mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-06 15:39:27 +02:00
Merge e59fb05043
into 3b36ab17e4
This commit is contained in:
commit
25ff62f722
@ -63,12 +63,12 @@ export const ATrainersTestEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
||||
break;
|
||||
case 3:
|
||||
trainerType = TrainerType.MIRA;
|
||||
spriteKeys = getSpriteKeysFromSpecies(SpeciesId.ALAKAZAM, false, 1);
|
||||
spriteKeys = getSpriteKeysFromSpecies(SpeciesId.ALAKAZAM);
|
||||
trainerNameKey = "mira";
|
||||
break;
|
||||
case 4:
|
||||
trainerType = TrainerType.RILEY;
|
||||
spriteKeys = getSpriteKeysFromSpecies(SpeciesId.LUCARIO, false, 1);
|
||||
spriteKeys = getSpriteKeysFromSpecies(SpeciesId.LUCARIO);
|
||||
trainerNameKey = "riley";
|
||||
break;
|
||||
default:
|
||||
@ -164,8 +164,8 @@ export const ATrainersTestEncounter: MysteryEncounter = MysteryEncounterBuilder.
|
||||
encounter.setDialogueToken("eggType", i18next.t(`${namespace}:eggTypes.epic`));
|
||||
setEncounterRewards(
|
||||
{
|
||||
guaranteedModifierTypeFuncs: [modifierTypes.SACRED_ASH],
|
||||
guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ULTRA],
|
||||
guaranteedModifierTypeFuncs: [modifierTypes.RELIC_GOLD],
|
||||
guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE],
|
||||
fillRemaining: true,
|
||||
},
|
||||
[eggOptions],
|
||||
|
@ -23,12 +23,8 @@ const namespace = "mysteryEncounters/darkDeal";
|
||||
|
||||
/** Exclude Ultra Beasts (inludes Cosmog/Solgaleo/Lunala/Necrozma), Paradox (includes Miraidon/Koraidon), Eternatus, and Mythicals */
|
||||
const excludedBosses = [
|
||||
SpeciesId.NECROZMA,
|
||||
SpeciesId.COSMOG,
|
||||
SpeciesId.COSMOEM,
|
||||
SpeciesId.SOLGALEO,
|
||||
SpeciesId.LUNALA,
|
||||
SpeciesId.ETERNATUS,
|
||||
/** UBs */
|
||||
SpeciesId.NIHILEGO,
|
||||
SpeciesId.BUZZWOLE,
|
||||
SpeciesId.PHEROMOSA,
|
||||
@ -40,6 +36,12 @@ const excludedBosses = [
|
||||
SpeciesId.NAGANADEL,
|
||||
SpeciesId.STAKATAKA,
|
||||
SpeciesId.BLACEPHALON,
|
||||
SpeciesId.COSMOG,
|
||||
SpeciesId.COSMOEM,
|
||||
SpeciesId.SOLGALEO,
|
||||
SpeciesId.LUNALA,
|
||||
SpeciesId.NECROZMA,
|
||||
/** Paradox */
|
||||
SpeciesId.GREAT_TUSK,
|
||||
SpeciesId.SCREAM_TAIL,
|
||||
SpeciesId.BRUTE_BONNET,
|
||||
@ -47,10 +49,10 @@ const excludedBosses = [
|
||||
SpeciesId.SLITHER_WING,
|
||||
SpeciesId.SANDY_SHOCKS,
|
||||
SpeciesId.ROARING_MOON,
|
||||
SpeciesId.KORAIDON,
|
||||
SpeciesId.WALKING_WAKE,
|
||||
SpeciesId.GOUGING_FIRE,
|
||||
SpeciesId.RAGING_BOLT,
|
||||
SpeciesId.KORAIDON,
|
||||
SpeciesId.IRON_TREADS,
|
||||
SpeciesId.IRON_BUNDLE,
|
||||
SpeciesId.IRON_HANDS,
|
||||
@ -58,22 +60,23 @@ const excludedBosses = [
|
||||
SpeciesId.IRON_MOTH,
|
||||
SpeciesId.IRON_THORNS,
|
||||
SpeciesId.IRON_VALIANT,
|
||||
SpeciesId.MIRAIDON,
|
||||
SpeciesId.IRON_LEAVES,
|
||||
SpeciesId.IRON_BOULDER,
|
||||
SpeciesId.IRON_CROWN,
|
||||
SpeciesId.MIRAIDON,
|
||||
/** Mythical */
|
||||
SpeciesId.MEW,
|
||||
SpeciesId.CELEBI,
|
||||
SpeciesId.DEOXYS,
|
||||
SpeciesId.JIRACHI,
|
||||
SpeciesId.DARKRAI,
|
||||
SpeciesId.DEOXYS,
|
||||
SpeciesId.PHIONE,
|
||||
SpeciesId.MANAPHY,
|
||||
SpeciesId.ARCEUS,
|
||||
SpeciesId.DARKRAI,
|
||||
SpeciesId.SHAYMIN,
|
||||
SpeciesId.ARCEUS,
|
||||
SpeciesId.VICTINI,
|
||||
SpeciesId.MELOETTA,
|
||||
SpeciesId.KELDEO,
|
||||
SpeciesId.MELOETTA,
|
||||
SpeciesId.GENESECT,
|
||||
SpeciesId.DIANCIE,
|
||||
SpeciesId.HOOPA,
|
||||
@ -81,9 +84,9 @@ const excludedBosses = [
|
||||
SpeciesId.MAGEARNA,
|
||||
SpeciesId.MARSHADOW,
|
||||
SpeciesId.ZERAORA,
|
||||
SpeciesId.ZARUDE,
|
||||
SpeciesId.MELTAN,
|
||||
SpeciesId.MELMETAL,
|
||||
SpeciesId.ZARUDE,
|
||||
SpeciesId.PECHARUNT,
|
||||
];
|
||||
|
||||
|
@ -52,37 +52,6 @@ class BreederSpeciesEvolution {
|
||||
}
|
||||
|
||||
const POOL_1_POKEMON: (SpeciesId | BreederSpeciesEvolution)[][] = [
|
||||
[SpeciesId.MUNCHLAX, new BreederSpeciesEvolution(SpeciesId.SNORLAX, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[
|
||||
SpeciesId.HAPPINY,
|
||||
new BreederSpeciesEvolution(SpeciesId.CHANSEY, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.BLISSEY, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.MAGBY,
|
||||
new BreederSpeciesEvolution(SpeciesId.MAGMAR, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.MAGMORTAR, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.ELEKID,
|
||||
new BreederSpeciesEvolution(SpeciesId.ELECTABUZZ, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.ELECTIVIRE, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[SpeciesId.RIOLU, new BreederSpeciesEvolution(SpeciesId.LUCARIO, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[
|
||||
SpeciesId.BUDEW,
|
||||
new BreederSpeciesEvolution(SpeciesId.ROSELIA, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.ROSERADE, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[SpeciesId.TOXEL, new BreederSpeciesEvolution(SpeciesId.TOXTRICITY, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[
|
||||
SpeciesId.MIME_JR,
|
||||
new BreederSpeciesEvolution(SpeciesId.GALAR_MR_MIME, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.MR_RIME, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
];
|
||||
|
||||
const POOL_2_POKEMON: (SpeciesId | BreederSpeciesEvolution)[][] = [
|
||||
[
|
||||
SpeciesId.PICHU,
|
||||
new BreederSpeciesEvolution(SpeciesId.PIKACHU, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
@ -93,24 +62,103 @@ const POOL_2_POKEMON: (SpeciesId | BreederSpeciesEvolution)[][] = [
|
||||
new BreederSpeciesEvolution(SpeciesId.PIKACHU, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.ALOLA_RAICHU, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[SpeciesId.SMOOCHUM, new BreederSpeciesEvolution(SpeciesId.JYNX, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[SpeciesId.TYROGUE, new BreederSpeciesEvolution(SpeciesId.HITMONLEE, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[SpeciesId.TYROGUE, new BreederSpeciesEvolution(SpeciesId.HITMONCHAN, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[SpeciesId.TYROGUE, new BreederSpeciesEvolution(SpeciesId.HITMONTOP, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[
|
||||
SpeciesId.IGGLYBUFF,
|
||||
new BreederSpeciesEvolution(SpeciesId.JIGGLYPUFF, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.WIGGLYTUFF, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.TOGEPI,
|
||||
new BreederSpeciesEvolution(SpeciesId.TOGETIC, SECOND_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.TOGEKISS, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.TYROGUE,
|
||||
new BreederSpeciesEvolution(SpeciesId.HITMONLEE, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.TYROGUE,
|
||||
new BreederSpeciesEvolution(SpeciesId.HITMONCHAN, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.TYROGUE,
|
||||
new BreederSpeciesEvolution(SpeciesId.HITMONTOP, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.SMOOCHUM,
|
||||
new BreederSpeciesEvolution(SpeciesId.JYNX, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.AZURILL,
|
||||
new BreederSpeciesEvolution(SpeciesId.MARILL, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.AZUMARILL, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[SpeciesId.WYNAUT, new BreederSpeciesEvolution(SpeciesId.WOBBUFFET, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[SpeciesId.CHINGLING, new BreederSpeciesEvolution(SpeciesId.CHIMECHO, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[SpeciesId.BONSLY, new BreederSpeciesEvolution(SpeciesId.SUDOWOODO, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[SpeciesId.MANTYKE, new BreederSpeciesEvolution(SpeciesId.MANTINE, SECOND_STAGE_EVOLUTION_WAVE)],
|
||||
[
|
||||
SpeciesId.BUDEW,
|
||||
new BreederSpeciesEvolution(SpeciesId.ROSELIA, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.ROSERADE, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.CHINGLING,
|
||||
new BreederSpeciesEvolution(SpeciesId.CHIMECHO, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.BONSLY,
|
||||
new BreederSpeciesEvolution(SpeciesId.SUDOWOODO, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.MIME_JR,
|
||||
new BreederSpeciesEvolution(SpeciesId.MR_MIME, SECOND_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.MIME_JR,
|
||||
new BreederSpeciesEvolution(SpeciesId.GALAR_MR_MIME, SECOND_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.MR_RIME, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.HAPPINY,
|
||||
new BreederSpeciesEvolution(SpeciesId.CHANSEY, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.BLISSEY, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.MANTYKE,
|
||||
new BreederSpeciesEvolution(SpeciesId.MANTINE, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.TOXEL,
|
||||
new BreederSpeciesEvolution(SpeciesId.TOXTRICITY, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
];
|
||||
|
||||
const POOL_2_POKEMON: (SpeciesId | BreederSpeciesEvolution)[][] = [
|
||||
[
|
||||
SpeciesId.DITTO
|
||||
],
|
||||
[
|
||||
SpeciesId.ELEKID,
|
||||
new BreederSpeciesEvolution(SpeciesId.ELECTABUZZ, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.ELECTIVIRE, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.MAGBY,
|
||||
new BreederSpeciesEvolution(SpeciesId.MAGMAR, FIRST_STAGE_EVOLUTION_WAVE),
|
||||
new BreederSpeciesEvolution(SpeciesId.MAGMORTAR, FINAL_STAGE_EVOLUTION_WAVE),
|
||||
],
|
||||
[
|
||||
SpeciesId.WYNAUT,
|
||||
new BreederSpeciesEvolution(SpeciesId.WOBBUFFET, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.MUNCHLAX,
|
||||
new BreederSpeciesEvolution(SpeciesId.SNORLAX, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.RIOLU,
|
||||
new BreederSpeciesEvolution(SpeciesId.LUCARIO, SECOND_STAGE_EVOLUTION_WAVE)
|
||||
],
|
||||
[
|
||||
SpeciesId.AUDINO
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
@ -502,7 +550,7 @@ function getPartyConfig(): EnemyPartyConfig {
|
||||
shiny: true,
|
||||
variant: 1,
|
||||
nature: Nature.MODEST,
|
||||
moveSet: [MoveId.MOONBLAST, MoveId.MYSTICAL_FIRE, MoveId.ICE_BEAM, MoveId.THUNDERBOLT],
|
||||
moveSet: [MoveId.DAZZLING_GLEAM, MoveId.MYSTICAL_FIRE, MoveId.ICE_BEAM, MoveId.THUNDERBOLT], // Make this one have an item gimmick when we have more items/finish implementations
|
||||
ivs: [31, 31, 31, 31, 31, 31],
|
||||
},
|
||||
{
|
||||
@ -515,7 +563,7 @@ function getPartyConfig(): EnemyPartyConfig {
|
||||
shiny: true,
|
||||
variant: 2,
|
||||
nature: Nature.BOLD,
|
||||
moveSet: [MoveId.TRI_ATTACK, MoveId.STORED_POWER, MoveId.TAKE_HEART, MoveId.MOONLIGHT],
|
||||
moveSet: [MoveId.TRI_ATTACK, MoveId.STORED_POWER, MoveId.CALM_MIND, MoveId.MOONLIGHT],
|
||||
ivs: [31, 31, 31, 31, 31, 31],
|
||||
},
|
||||
);
|
||||
|
@ -13,8 +13,9 @@ import { HitHealModifier, PokemonHeldItemModifier, TurnHealModifier } from "#mod
|
||||
import type { PokemonHeldItemModifierType } from "#modifiers/modifier-type";
|
||||
import { PokemonMove } from "#moves/pokemon-move";
|
||||
import { showEncounterText } from "#mystery-encounters/encounter-dialogue-utils";
|
||||
import type { EnemyPartyConfig, EnemyPokemonConfig } from "#mystery-encounters/encounter-phase-utils";
|
||||
import {
|
||||
type EnemyPartyConfig,
|
||||
type EnemyPokemonConfig,
|
||||
generateModifierType,
|
||||
initBattleWithEnemyConfig,
|
||||
leaveEncounterWithoutBattle,
|
||||
@ -23,8 +24,7 @@ import {
|
||||
transitionMysteryEncounterIntroVisuals,
|
||||
} from "#mystery-encounters/encounter-phase-utils";
|
||||
import { applyModifierTypeToPlayerPokemon } from "#mystery-encounters/encounter-pokemon-utils";
|
||||
import type { MysteryEncounter } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { type MysteryEncounter, MysteryEncounterBuilder } from "#mystery-encounters/mystery-encounter";
|
||||
import { MysteryEncounterOptionBuilder } from "#mystery-encounters/mystery-encounter-option";
|
||||
import i18next from "#plugins/i18n";
|
||||
import { randSeedInt } from "#utils/common";
|
||||
@ -200,7 +200,8 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde
|
||||
const encounter = globalScene.currentBattle.mysteryEncounter!;
|
||||
|
||||
setEncounterRewards({
|
||||
guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.GREAT],
|
||||
guaranteedModifierTypeFuncs: [modifierTypes.LEFTOVERS],
|
||||
guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.GREAT],
|
||||
fillRemaining: true,
|
||||
});
|
||||
encounter.startOfBattleEffects.push(
|
||||
|
@ -47,6 +47,7 @@ const namespace = "mysteryEncounters/weirdDream";
|
||||
|
||||
/** Exclude Ultra Beasts, Paradox, Eternatus, and all legendary/mythical/trio pokemon that are below 570 BST */
|
||||
const EXCLUDED_TRANSFORMATION_SPECIES = [
|
||||
SpeciesId.ARCEUS,
|
||||
SpeciesId.ETERNATUS,
|
||||
/** UBs */
|
||||
SpeciesId.NIHILEGO,
|
||||
@ -82,20 +83,19 @@ const EXCLUDED_TRANSFORMATION_SPECIES = [
|
||||
SpeciesId.IRON_BOULDER,
|
||||
SpeciesId.IRON_CROWN,
|
||||
/** These are banned so they don't appear in the < 570 BST pool */
|
||||
SpeciesId.PHIONE,
|
||||
SpeciesId.TYPE_NULL,
|
||||
SpeciesId.COSMOG,
|
||||
SpeciesId.COSMOEM,
|
||||
SpeciesId.MELTAN,
|
||||
SpeciesId.KUBFU,
|
||||
SpeciesId.COSMOEM,
|
||||
SpeciesId.POIPOLE,
|
||||
SpeciesId.TERAPAGOS,
|
||||
SpeciesId.TYPE_NULL,
|
||||
SpeciesId.CALYREX,
|
||||
SpeciesId.NAGANADEL,
|
||||
SpeciesId.URSHIFU,
|
||||
SpeciesId.CALYREX,
|
||||
SpeciesId.OGERPON,
|
||||
SpeciesId.OKIDOGI,
|
||||
SpeciesId.MUNKIDORI,
|
||||
SpeciesId.FEZANDIPITI,
|
||||
SpeciesId.TERAPAGOS,
|
||||
];
|
||||
|
||||
const SUPER_LEGENDARY_BST_THRESHOLD = 600;
|
||||
@ -226,6 +226,7 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit
|
||||
modifierTypes.MINT,
|
||||
modifierTypes.MINT,
|
||||
modifierTypes.MINT,
|
||||
modifierTypes.MINT,
|
||||
],
|
||||
fillRemaining: false,
|
||||
});
|
||||
|
@ -147,12 +147,13 @@ describe("Weird Dream - Mystery Encounter", () => {
|
||||
const modifierSelectHandler = scene.ui.handlers.find(
|
||||
h => h instanceof ModifierSelectUiHandler,
|
||||
) as ModifierSelectUiHandler;
|
||||
expect(modifierSelectHandler.options.length).toEqual(5);
|
||||
expect(modifierSelectHandler.options.length).toEqual(6);
|
||||
expect(modifierSelectHandler.options[0].modifierTypeOption.type.id).toEqual("MEMORY_MUSHROOM");
|
||||
expect(modifierSelectHandler.options[1].modifierTypeOption.type.id).toEqual("ROGUE_BALL");
|
||||
expect(modifierSelectHandler.options[2].modifierTypeOption.type.id).toEqual("MINT");
|
||||
expect(modifierSelectHandler.options[3].modifierTypeOption.type.id).toEqual("MINT");
|
||||
expect(modifierSelectHandler.options[3].modifierTypeOption.type.id).toEqual("MINT");
|
||||
expect(modifierSelectHandler.options[4].modifierTypeOption.type.id).toEqual("MINT");
|
||||
expect(modifierSelectHandler.options[5].modifierTypeOption.type.id).toEqual("MINT");
|
||||
});
|
||||
|
||||
it("should leave encounter without battle", async () => {
|
||||
|
Loading…
Reference in New Issue
Block a user