Parameter to force shiny Rayquaza

This commit is contained in:
Wlowscha 2025-03-28 01:40:30 +01:00
parent 21d4245b75
commit 5d7cd97db0
No known key found for this signature in database
GPG Key ID: 3C8F1AD330565D04

View File

@ -1689,17 +1689,19 @@ function getGymLeaderPartyTemplate() {
/** /**
* Randomly selects one of the `Species` from `speciesPool`, determines its evolution, level, and strength. * Randomly selects one of the `Species` from `speciesPool`, determines its evolution, level, and strength.
* Then adds Pokemon to globalScene. * Locks shiny unless forced to generate a shiny. Then adds Pokemon to globalScene.
* @param speciesPool * @param speciesPool
* @param trainerSlot * @param trainerSlot
* @param ignoreEvolution * @param ignoreEvolution
* @param postProcess * @param postProcess
* @param forceShiny
*/ */
export function getRandomPartyMemberFunc( export function getRandomPartyMemberFunc(
speciesPool: Species[], speciesPool: Species[],
trainerSlot: TrainerSlot = TrainerSlot.TRAINER, trainerSlot: TrainerSlot = TrainerSlot.TRAINER,
ignoreEvolution = false, ignoreEvolution = false,
postProcess?: (enemyPokemon: EnemyPokemon) => void, postProcess?: (enemyPokemon: EnemyPokemon) => void,
forceShiny = false,
) { ) {
return (level: number, strength: PartyMemberStrength) => { return (level: number, strength: PartyMemberStrength) => {
let species = Utils.randSeedItem(speciesPool); let species = Utils.randSeedItem(speciesPool);
@ -1716,7 +1718,7 @@ export function getRandomPartyMemberFunc(
level, level,
trainerSlot, trainerSlot,
undefined, undefined,
true, // Shiny lock all trainer Pokémon #TODO: does this affect Ivy's Ray? !forceShiny, // Shiny lock all trainer Pokémon #TODO: does this affect Ivy's Ray?
undefined, undefined,
postProcess, postProcess,
); );
@ -4760,12 +4762,18 @@ export const trainerConfigs: TrainerConfigs = {
.setSpeciesFilter(species => species.baseTotal >= 540) .setSpeciesFilter(species => species.baseTotal >= 540)
.setPartyMemberFunc( .setPartyMemberFunc(
5, 5,
getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { getRandomPartyMemberFunc(
p.setBoss(true, 3); [Species.RAYQUAZA],
p.pokeball = PokeballType.MASTER_BALL; TrainerSlot.TRAINER,
p.shiny = true; true,
p.variant = 1; p => {
}), p.setBoss(true, 3);
p.pokeball = PokeballType.MASTER_BALL;
p.shiny = true;
p.variant = 1;
},
true,
),
) )
.setInstantTera(0), // Tera starter to primary type .setInstantTera(0), // Tera starter to primary type
[TrainerType.RIVAL_6]: new TrainerConfig(++t) [TrainerType.RIVAL_6]: new TrainerConfig(++t)
@ -4856,15 +4864,21 @@ export const trainerConfigs: TrainerConfigs = {
.setSpeciesFilter(species => species.baseTotal >= 540) .setSpeciesFilter(species => species.baseTotal >= 540)
.setPartyMemberFunc( .setPartyMemberFunc(
5, 5,
getRandomPartyMemberFunc([Species.RAYQUAZA], TrainerSlot.TRAINER, true, p => { getRandomPartyMemberFunc(
p.setBoss(); [Species.RAYQUAZA],
p.generateAndPopulateMoveset(); TrainerSlot.TRAINER,
p.pokeball = PokeballType.MASTER_BALL; true,
p.shiny = true; p => {
p.variant = 1; p.setBoss();
p.formIndex = 1; // Mega Rayquaza p.generateAndPopulateMoveset();
p.generateName(); p.pokeball = PokeballType.MASTER_BALL;
}), p.shiny = true;
p.variant = 1;
p.formIndex = 1; // Mega Rayquaza
p.generateName();
},
true,
),
) )
.setInstantTera(0), // Tera starter to primary type .setInstantTera(0), // Tera starter to primary type