mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-16 21:32: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;
|
return false;
|
||||||
}
|
}
|
||||||
// Evil team no longer shows up after beating the boss
|
// Evil team no longer shows up after beating the boss
|
||||||
if (waveIndex > 105) {
|
if (waveIndex >= 105) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Evil team always spawns leading up to the boss
|
// 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)),
|
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_3, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
|
||||||
[95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
[95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
|
.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)
|
[145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
|
||||||
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_5, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
|
.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)
|
[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 ])),
|
.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)
|
[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]: {
|
[TrainerType.BROCK]: {
|
||||||
encounter: [
|
encounter: [
|
||||||
`My expertise on Rock-type Pokémon will take you down! Come on!`,
|
`My expertise on Rock-type Pokémon will take you down! Come on!`,
|
||||||
|
@ -51,6 +51,8 @@ export enum TrainerType {
|
|||||||
WORKER,
|
WORKER,
|
||||||
YOUNGSTER,
|
YOUNGSTER,
|
||||||
ROCKET_GRUNT,
|
ROCKET_GRUNT,
|
||||||
|
ROCKET_BOSS_GIOVANNI_1,
|
||||||
|
ROCKET_BOSS_GIOVANNI_2,
|
||||||
MAGMA_GRUNT,
|
MAGMA_GRUNT,
|
||||||
AQUA_GRUNT,
|
AQUA_GRUNT,
|
||||||
GALACTIC_GRUNT,
|
GALACTIC_GRUNT,
|
||||||
|
@ -276,6 +276,10 @@ export class TrainerConfig {
|
|||||||
case TrainerType.LARRY_ELITE:
|
case TrainerType.LARRY_ELITE:
|
||||||
trainerType = TrainerType.LARRY;
|
trainerType = TrainerType.LARRY;
|
||||||
break;
|
break;
|
||||||
|
case TrainerType.ROCKET_BOSS_GIOVANNI_1:
|
||||||
|
case TrainerType.ROCKET_BOSS_GIOVANNI_2:
|
||||||
|
trainerType = TrainerType.GIOVANNI;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return trainerType;
|
return trainerType;
|
||||||
@ -402,7 +406,8 @@ export class TrainerConfig {
|
|||||||
if (!getIsInitialized()) {
|
if (!getIsInitialized()) {
|
||||||
initI18n();
|
initI18n();
|
||||||
}
|
}
|
||||||
|
this.setPartyTemplates(trainerPartyTemplates.RIVAL_5);
|
||||||
|
console.log(signatureSpecies);
|
||||||
signatureSpecies.forEach((speciesPool, s) => {
|
signatureSpecies.forEach((speciesPool, s) => {
|
||||||
if (!Array.isArray(speciesPool)) {
|
if (!Array.isArray(speciesPool)) {
|
||||||
speciesPool = [speciesPool];
|
speciesPool = [speciesPool];
|
||||||
@ -419,12 +424,8 @@ export class TrainerConfig {
|
|||||||
this.setMoneyMultiplier(2.5);
|
this.setMoneyMultiplier(2.5);
|
||||||
this.setBoss();
|
this.setBoss();
|
||||||
this.setStaticParty();
|
this.setStaticParty();
|
||||||
this.setBattleBgm('battle_unova_gym');
|
this.setBattleBgm('battle_unova_gym'); // TODO: change
|
||||||
this.setVictoryBgm('victory_gym');
|
this.setVictoryBgm('victory_gym'); // TODO: change
|
||||||
// this.setGenModifiersFunc(party => {
|
|
||||||
// const waveIndex = party[0].scene.currentBattle.waveIndex;
|
|
||||||
// return getRandomTeraModifiers(party, waveIndex >= 100 ? 1 : 0, specialtyTypes.length ? specialtyTypes : null);
|
|
||||||
// });
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -841,6 +842,7 @@ export const trainerConfigs: TrainerConfigs = {
|
|||||||
[TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN],
|
[TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN],
|
||||||
[TrainerPoolTier.ULTRA_RARE]: []
|
[TrainerPoolTier.ULTRA_RARE]: []
|
||||||
}),
|
}),
|
||||||
|
|
||||||
[TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader([ Species.GEODUDE, Species.ONIX ], Type.ROCK).setBattleBgm('battle_kanto_gym'),
|
[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.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'),
|
[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];
|
const starter = party[0];
|
||||||
return [ modifierTypes.TERA_SHARD().generateType(null, [ starter.species.type1 ]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier ];
|
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 () {
|
(function () {
|
||||||
initTrainerTypeDialogue();
|
initTrainerTypeDialogue();
|
||||||
})();
|
})();
|
||||||
|
@ -9,6 +9,7 @@ export const titles: SimpleTranslationEntries = {
|
|||||||
"rival": "Rival",
|
"rival": "Rival",
|
||||||
"professor": "Professor",
|
"professor": "Professor",
|
||||||
"frontier_brain": "Frontier Brain",
|
"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.
|
// 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;
|
} as const;
|
||||||
|
|
||||||
@ -253,4 +254,6 @@ export const trainerNames: SimpleTranslationEntries = {
|
|||||||
"leon": "Leon",
|
"leon": "Leon",
|
||||||
"rival": "Finn",
|
"rival": "Finn",
|
||||||
"rival_female": "Ivy",
|
"rival_female": "Ivy",
|
||||||
|
"rocket_boss_giovanni_1": "Giovanni",
|
||||||
|
"rocket_boss_giovanni_2": "Giovanni",
|
||||||
} as const;
|
} as const;
|
||||||
|
Loading…
Reference in New Issue
Block a user