Compare commits

..

4 Commits

Author SHA1 Message Date
Bertie690
318b1808be
Merge 1e644e453c into 907e3c8208 2025-08-12 16:05:34 +00:00
Bertie690
1e644e453c
Update turn-start-phase.ts 2025-08-12 12:05:29 -04:00
Bertie690
c3bc15a0a9
Update src/phases/turn-start-phase.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-08-12 10:33:24 -04:00
Blitzy
907e3c8208
[Balance] Updates to Twins Trainer Class Pool (#6239)
* Update trainer-config.ts

* Update trainer-config.ts

* Update trainer-config.ts

* Update trainer-config.ts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-08-12 01:10:35 -04:00
2 changed files with 30 additions and 14 deletions

View File

@ -1865,27 +1865,43 @@ export const trainerConfigs: TrainerConfigs = {
.setPartyMemberFunc( .setPartyMemberFunc(
0, 0,
getRandomPartyMemberFunc([ getRandomPartyMemberFunc([
SpeciesId.METAPOD,
SpeciesId.LEDYBA,
SpeciesId.CLEFFA,
SpeciesId.WOOPER,
SpeciesId.TEDDIURSA,
SpeciesId.REMORAID,
SpeciesId.HOUNDOUR,
SpeciesId.SILCOON,
SpeciesId.PLUSLE, SpeciesId.PLUSLE,
SpeciesId.VOLBEAT, SpeciesId.VOLBEAT,
SpeciesId.PACHIRISU, SpeciesId.SPINDA,
SpeciesId.SILCOON, SpeciesId.BONSLY,
SpeciesId.METAPOD,
SpeciesId.IGGLYBUFF,
SpeciesId.PETILIL, SpeciesId.PETILIL,
SpeciesId.EEVEE, SpeciesId.SPRITZEE,
SpeciesId.MILCERY,
SpeciesId.PICHU,
]), ]),
) )
.setPartyMemberFunc( .setPartyMemberFunc(
1, 1,
getRandomPartyMemberFunc( getRandomPartyMemberFunc(
[ [
SpeciesId.KAKUNA,
SpeciesId.SPINARAK,
SpeciesId.IGGLYBUFF,
SpeciesId.PALDEA_WOOPER,
SpeciesId.PHANPY,
SpeciesId.MANTYKE,
SpeciesId.ELECTRIKE,
SpeciesId.CASCOON,
SpeciesId.MINUN, SpeciesId.MINUN,
SpeciesId.ILLUMISE, SpeciesId.ILLUMISE,
SpeciesId.EMOLGA, SpeciesId.SPINDA,
SpeciesId.CASCOON, SpeciesId.MIME_JR,
SpeciesId.KAKUNA,
SpeciesId.CLEFFA,
SpeciesId.COTTONEE, SpeciesId.COTTONEE,
SpeciesId.SWIRLIX,
SpeciesId.FIDOUGH,
SpeciesId.EEVEE, SpeciesId.EEVEE,
], ],
TrainerSlot.TRAINER_PARTNER, TrainerSlot.TRAINER_PARTNER,

View File

@ -17,9 +17,9 @@ export class TurnStartPhase extends FieldPhase {
public readonly phaseName = "TurnStartPhase"; public readonly phaseName = "TurnStartPhase";
/** /**
* This orders the active Pokemon on the field by speed into an BattlerIndex array and returns that array. * Helper method to retrieve the current speed order of the combattants.
* It also checks for Trick Room and reverses the array if it is present. * It also checks for Trick Room and reverses the array if it is present.
* @returns An array of {@linkcode BattlerIndex}es containing all on-field Pokemon sorted in speed order. * @returns The {@linkcode BattlerIndex}es of all on-field Pokemon, sorted in speed order.
*/ */
getSpeedOrder(): BattlerIndex[] { getSpeedOrder(): BattlerIndex[] {
const playerField = globalScene.getPlayerField().filter(p => p.isActive()); const playerField = globalScene.getPlayerField().filter(p => p.isActive());
@ -53,9 +53,9 @@ export class TurnStartPhase extends FieldPhase {
} }
/** /**
* This takes the result of getSpeedOrder and applies priority / bypass speed attributes to it. * This takes the result of {@linkcode getSpeedOrder} and applies priority / bypass speed attributes to it.
* This also considers the priority levels of various commands and changes the result of `getSpeedOrder` based on such. * This also considers the priority levels of various commands and changes the result of `getSpeedOrder` based on such.
* @returns An array of {@linkcode BattlerIndex}es containing all on-field Pokemon sorted in action order. * @returns The `BattlerIndex`es of all on-field Pokemon sorted in action order.
*/ */
getCommandOrder(): BattlerIndex[] { getCommandOrder(): BattlerIndex[] {
let moveOrder = this.getSpeedOrder(); let moveOrder = this.getSpeedOrder();
@ -164,7 +164,7 @@ export class TurnStartPhase extends FieldPhase {
// TODO: Remove `turnData.order` - // TODO: Remove `turnData.order` -
// it is used exclusively for Fusion Flare/Bolt // it is used exclusively for Fusion Flare/Bolt
// and uses a really jank implementation // and uses a really jank (and incorrect) implementation
if (turnCommand.command === Command.FIGHT) { if (turnCommand.command === Command.FIGHT) {
pokemon.turnData.order = index; pokemon.turnData.order = index;
} }