mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-12-16 14:55:22 +01:00
[Balance] Expert Breeder ME tweaks (#6643)
* Change Strength Template * Add friendship value to EnemyPokemonConfig, set Cleffa friendship values Custom friendship values can now be set within Mystery Encounters. Set the Expert Pokemon Breeder's Cleffas to max friendship. * Set all items as 3 Soothe Bells and nothing else --------- Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com> Co-authored-by: damocleas <damocleas25@gmail.com>
This commit is contained in:
parent
b6f64aacd2
commit
120f8a2f33
@ -16,9 +16,11 @@ import { PokemonType } from "#enums/pokemon-type";
|
|||||||
import { SpeciesId } from "#enums/species-id";
|
import { SpeciesId } from "#enums/species-id";
|
||||||
import { TrainerType } from "#enums/trainer-type";
|
import { TrainerType } from "#enums/trainer-type";
|
||||||
import type { PlayerPokemon } from "#field/pokemon";
|
import type { PlayerPokemon } from "#field/pokemon";
|
||||||
|
import type { PokemonHeldItemModifierType } from "#modifiers/modifier-type";
|
||||||
import { getEncounterText } from "#mystery-encounters/encounter-dialogue-utils";
|
import { getEncounterText } from "#mystery-encounters/encounter-dialogue-utils";
|
||||||
import type { EnemyPartyConfig } from "#mystery-encounters/encounter-phase-utils";
|
import type { EnemyPartyConfig } from "#mystery-encounters/encounter-phase-utils";
|
||||||
import {
|
import {
|
||||||
|
generateModifierType,
|
||||||
handleMysteryEncounterBattleFailed,
|
handleMysteryEncounterBattleFailed,
|
||||||
initBattleWithEnemyConfig,
|
initBattleWithEnemyConfig,
|
||||||
setEncounterRewards,
|
setEncounterRewards,
|
||||||
@ -494,7 +496,14 @@ function getPartyConfig(): EnemyPartyConfig {
|
|||||||
nature: Nature.ADAMANT,
|
nature: Nature.ADAMANT,
|
||||||
moveSet: [MoveId.FIRE_PUNCH, MoveId.ICE_PUNCH, MoveId.THUNDER_PUNCH, MoveId.METEOR_MASH],
|
moveSet: [MoveId.FIRE_PUNCH, MoveId.ICE_PUNCH, MoveId.THUNDER_PUNCH, MoveId.METEOR_MASH],
|
||||||
ivs: [31, 31, 31, 31, 31, 31],
|
ivs: [31, 31, 31, 31, 31, 31],
|
||||||
|
modifierConfigs: [
|
||||||
|
{
|
||||||
|
modifier: generateModifierType(modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType,
|
||||||
|
stackCount: 3,
|
||||||
|
},
|
||||||
|
],
|
||||||
tera: PokemonType.FAIRY,
|
tera: PokemonType.FAIRY,
|
||||||
|
friendship: 255,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
@ -514,6 +523,13 @@ function getPartyConfig(): EnemyPartyConfig {
|
|||||||
nature: Nature.MODEST,
|
nature: Nature.MODEST,
|
||||||
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
|
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],
|
ivs: [31, 31, 31, 31, 31, 31],
|
||||||
|
modifierConfigs: [
|
||||||
|
{
|
||||||
|
modifier: generateModifierType(modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType,
|
||||||
|
stackCount: 3,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
friendship: 255,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nickname: i18next.t(`${namespace}:cleffa3Nickname`, {
|
nickname: i18next.t(`${namespace}:cleffa3Nickname`, {
|
||||||
@ -527,6 +543,13 @@ function getPartyConfig(): EnemyPartyConfig {
|
|||||||
nature: Nature.BOLD,
|
nature: Nature.BOLD,
|
||||||
moveSet: [MoveId.TRI_ATTACK, MoveId.STORED_POWER, MoveId.CALM_MIND, MoveId.MOONLIGHT],
|
moveSet: [MoveId.TRI_ATTACK, MoveId.STORED_POWER, MoveId.CALM_MIND, MoveId.MOONLIGHT],
|
||||||
ivs: [31, 31, 31, 31, 31, 31],
|
ivs: [31, 31, 31, 31, 31, 31],
|
||||||
|
modifierConfigs: [
|
||||||
|
{
|
||||||
|
modifier: generateModifierType(modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType,
|
||||||
|
stackCount: 3,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
friendship: 255,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -539,12 +562,22 @@ function getPartyConfig(): EnemyPartyConfig {
|
|||||||
{
|
{
|
||||||
species: getPokemonSpecies(pool1Species),
|
species: getPokemonSpecies(pool1Species),
|
||||||
isBoss: false,
|
isBoss: false,
|
||||||
ivs: [31, 31, 31, 31, 31, 31],
|
modifierConfigs: [
|
||||||
|
{
|
||||||
|
modifier: generateModifierType(modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType,
|
||||||
|
stackCount: 3,
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
species: getPokemonSpecies(pool2Species),
|
species: getPokemonSpecies(pool2Species),
|
||||||
isBoss: false,
|
isBoss: false,
|
||||||
ivs: [31, 31, 31, 31, 31, 31],
|
modifierConfigs: [
|
||||||
|
{
|
||||||
|
modifier: generateModifierType(modifierTypes.SOOTHE_BELL) as PokemonHeldItemModifierType,
|
||||||
|
stackCount: 3,
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -108,6 +108,7 @@ export interface EnemyPokemonConfig {
|
|||||||
dataSource?: PokemonData;
|
dataSource?: PokemonData;
|
||||||
tera?: PokemonType;
|
tera?: PokemonType;
|
||||||
aiType?: AiType;
|
aiType?: AiType;
|
||||||
|
friendship?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface EnemyPartyConfig {
|
export interface EnemyPartyConfig {
|
||||||
@ -352,6 +353,11 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig):
|
|||||||
enemyPokemon.aiType = config.aiType;
|
enemyPokemon.aiType = config.aiType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set friendship
|
||||||
|
if (config.friendship != null) {
|
||||||
|
enemyPokemon.friendship = config.friendship;
|
||||||
|
}
|
||||||
|
|
||||||
// Set moves
|
// Set moves
|
||||||
if (config?.moveSet && config.moveSet.length > 0) {
|
if (config?.moveSet && config.moveSet.length > 0) {
|
||||||
const moves = config.moveSet.map(m => new PokemonMove(m));
|
const moves = config.moveSet.map(m => new PokemonMove(m));
|
||||||
@ -406,6 +412,7 @@ export async function initBattleWithEnemyConfig(partyConfig: EnemyPartyConfig):
|
|||||||
`| Species ID: ${enemyPokemon.species.speciesId}`,
|
`| Species ID: ${enemyPokemon.species.speciesId}`,
|
||||||
`| Level: ${enemyPokemon.level}`,
|
`| Level: ${enemyPokemon.level}`,
|
||||||
`| Nature: ${getNatureName(enemyPokemon.nature, true, true, true)}`,
|
`| Nature: ${getNatureName(enemyPokemon.nature, true, true, true)}`,
|
||||||
|
`| Friendship: ${enemyPokemon.friendship}`,
|
||||||
);
|
);
|
||||||
console.log(`Stats (IVs): ${stats}`);
|
console.log(`Stats (IVs): ${stats}`);
|
||||||
console.log(
|
console.log(
|
||||||
|
|||||||
@ -6078,7 +6078,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
.setMoneyMultiplier(3)
|
.setMoneyMultiplier(3)
|
||||||
.setEncounterBgm(TrainerType.ACE_TRAINER)
|
.setEncounterBgm(TrainerType.ACE_TRAINER)
|
||||||
.setLocalizedName("Expert Pokemon Breeder")
|
.setLocalizedName("Expert Pokemon Breeder")
|
||||||
.setPartyTemplates(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE)),
|
.setPartyTemplates(new TrainerPartyTemplate(3, PartyMemberStrength.WEAK)),
|
||||||
[TrainerType.FUTURE_SELF_M]: new TrainerConfig(++t)
|
[TrainerType.FUTURE_SELF_M]: new TrainerConfig(++t)
|
||||||
.setMoneyMultiplier(0)
|
.setMoneyMultiplier(0)
|
||||||
.setEncounterBgm("mystery_encounter_weird_dream")
|
.setEncounterBgm("mystery_encounter_weird_dream")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user