mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-15 21:02:18 +02:00
Add Giovanni
This commit is contained in:
parent
6881d158d6
commit
c0c9b34a05
@ -857,7 +857,7 @@ export default class BattleScene extends SceneBase {
|
||||
return false;
|
||||
}
|
||||
// Evil team no longer shows up after beating the boss
|
||||
if (waveIndex > 105) {
|
||||
if (waveIndex >= 105) {
|
||||
return false;
|
||||
}
|
||||
// Evil team always spawns leading up to the boss
|
||||
|
@ -312,8 +312,12 @@ export const fixedBattles: FixedBattleConfigs = {
|
||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_3, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
|
||||
[95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
|
||||
[105]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.ROCKET_BOSS_GIOVANNI_1, TrainerVariant.DEFAULT)),
|
||||
[145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_5, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
|
||||
[165]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.ROCKET_BOSS_GIOVANNI_2, TrainerVariant.DEFAULT)),
|
||||
[182]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||
.setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.LORELEI, TrainerType.WILL, TrainerType.SIDNEY, TrainerType.AARON, TrainerType.SHAUNTAL, TrainerType.MALVA, [ TrainerType.HALA, TrainerType.MOLAYNE ], TrainerType.RIKA, TrainerType.CRISPIN ])),
|
||||
[184]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(182)
|
||||
|
@ -478,6 +478,26 @@ export const trainerTypeDialogue = {
|
||||
]
|
||||
}
|
||||
],
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_1]: [
|
||||
{
|
||||
encounter: [
|
||||
`So! I must say, I am impressed you got here!`
|
||||
],
|
||||
victory: [
|
||||
`You only won since my abilities are (N)`
|
||||
]
|
||||
}
|
||||
],
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_2]: [
|
||||
{
|
||||
encounter: [
|
||||
`For your insolence, you will feel a world of pain!`
|
||||
],
|
||||
victory: [
|
||||
`How is this possible...?`
|
||||
]
|
||||
}
|
||||
],
|
||||
[TrainerType.BROCK]: {
|
||||
encounter: [
|
||||
`My expertise on Rock-type Pokémon will take you down! Come on!`,
|
||||
|
@ -51,6 +51,8 @@ export enum TrainerType {
|
||||
WORKER,
|
||||
YOUNGSTER,
|
||||
ROCKET_GRUNT,
|
||||
ROCKET_BOSS_GIOVANNI_1,
|
||||
ROCKET_BOSS_GIOVANNI_2,
|
||||
MAGMA_GRUNT,
|
||||
AQUA_GRUNT,
|
||||
GALACTIC_GRUNT,
|
||||
|
@ -276,6 +276,10 @@ export class TrainerConfig {
|
||||
case TrainerType.LARRY_ELITE:
|
||||
trainerType = TrainerType.LARRY;
|
||||
break;
|
||||
case TrainerType.ROCKET_BOSS_GIOVANNI_1:
|
||||
case TrainerType.ROCKET_BOSS_GIOVANNI_2:
|
||||
trainerType = TrainerType.GIOVANNI;
|
||||
break;
|
||||
}
|
||||
|
||||
return trainerType;
|
||||
@ -402,7 +406,8 @@ export class TrainerConfig {
|
||||
if (!getIsInitialized()) {
|
||||
initI18n();
|
||||
}
|
||||
|
||||
this.setPartyTemplates(trainerPartyTemplates.RIVAL_5);
|
||||
console.log(signatureSpecies);
|
||||
signatureSpecies.forEach((speciesPool, s) => {
|
||||
if (!Array.isArray(speciesPool)) {
|
||||
speciesPool = [speciesPool];
|
||||
@ -419,12 +424,8 @@ export class TrainerConfig {
|
||||
this.setMoneyMultiplier(2.5);
|
||||
this.setBoss();
|
||||
this.setStaticParty();
|
||||
this.setBattleBgm('battle_unova_gym');
|
||||
this.setVictoryBgm('victory_gym');
|
||||
// this.setGenModifiersFunc(party => {
|
||||
// const waveIndex = party[0].scene.currentBattle.waveIndex;
|
||||
// return getRandomTeraModifiers(party, waveIndex >= 100 ? 1 : 0, specialtyTypes.length ? specialtyTypes : null);
|
||||
// });
|
||||
this.setBattleBgm('battle_unova_gym'); // TODO: change
|
||||
this.setVictoryBgm('victory_gym'); // TODO: change
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -841,6 +842,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN],
|
||||
[TrainerPoolTier.ULTRA_RARE]: []
|
||||
}),
|
||||
|
||||
[TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader([ Species.GEODUDE, Species.ONIX ], Type.ROCK).setBattleBgm('battle_kanto_gym'),
|
||||
[TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader([ Species.STARYU, Species.PSYDUCK ], Type.WATER).setBattleBgm('battle_kanto_gym'),
|
||||
[TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader([ Species.VOLTORB, Species.PIKACHU, Species.ELECTABUZZ ], Type.ELECTRIC).setBattleBgm('battle_kanto_gym'),
|
||||
@ -1032,8 +1034,43 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
const starter = party[0];
|
||||
return [ modifierTypes.TERA_SHARD().generateType(null, [ starter.species.type1 ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier ];
|
||||
}),
|
||||
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(t = TrainerType.GIOVANNI).setName('Giovanni').initForEvilTeamLeader("Rocket Boss",[])
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.PERSIAN , Species.ALOLA_PERSIAN]))
|
||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.NIDOKING , Species.NIDOQUEEN ]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.RHYPERIOR ]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.DUGTRIO, Species.ALOLA_DUGTRIO, Species.WUGTRIO]))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.MAROWAK , Species.ALOLA_MAROWAK]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KANGASKHAN ], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
p.pokeball = PokeballType.ULTRA_BALL;
|
||||
p.formIndex = 1;
|
||||
})),
|
||||
[TrainerType.ROCKET_BOSS_GIOVANNI_2]: new TrainerConfig(++t).setName('Giovanni').initForEvilTeamLeader("Rocket Boss", [])
|
||||
.setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.TYRANITAR , Species.IRON_THORNS], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
p.pokeball = PokeballType.ULTRA_BALL;
|
||||
}))
|
||||
.setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.EXCADRILL ]))
|
||||
.setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.HIPPOWDON ]))
|
||||
.setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.KANGASKHAN ], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 2);
|
||||
p.generateAndPopulateMoveset();
|
||||
p.pokeball = PokeballType.ULTRA_BALL;
|
||||
p.formIndex = 1;
|
||||
}))
|
||||
.setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GASTRODON]))
|
||||
.setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.MEWTWO ], TrainerSlot.TRAINER, true, p => {
|
||||
p.setBoss(true, 3);
|
||||
p.generateAndPopulateMoveset();
|
||||
p.pokeball = PokeballType.MASTER_BALL;
|
||||
})),
|
||||
};
|
||||
|
||||
|
||||
|
||||
(function () {
|
||||
initTrainerTypeDialogue();
|
||||
})();
|
||||
|
@ -9,6 +9,7 @@ export const titles: SimpleTranslationEntries = {
|
||||
"rival": "Rival",
|
||||
"professor": "Professor",
|
||||
"frontier_brain": "Frontier Brain",
|
||||
"rocket_boss": "Team Rocket Boss",
|
||||
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
|
||||
} as const;
|
||||
|
||||
@ -253,4 +254,6 @@ export const trainerNames: SimpleTranslationEntries = {
|
||||
"leon": "Leon",
|
||||
"rival": "Finn",
|
||||
"rival_female": "Ivy",
|
||||
"rocket_boss_giovanni_1": "Giovanni",
|
||||
"rocket_boss_giovanni_2": "Giovanni",
|
||||
} as const;
|
||||
|
Loading…
Reference in New Issue
Block a user