mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-03 06:52:16 +02:00
Fix Gigantamax on Pokémon with forms
Co-Authored-By: Samuel H <3542488+Flashfyre@users.noreply.github.com>
This commit is contained in:
parent
b975c106ab
commit
6ce256c288
@ -174,7 +174,7 @@ export const pokemonEvolutions: PokemonEvolutions = {
|
|||||||
new SpeciesEvolution(Species.DUGTRIO, 26, null, null)
|
new SpeciesEvolution(Species.DUGTRIO, 26, null, null)
|
||||||
],
|
],
|
||||||
[Species.MEOWTH]: [
|
[Species.MEOWTH]: [
|
||||||
new SpeciesEvolution(Species.PERSIAN, 28, null, null)
|
new SpeciesFormEvolution(Species.PERSIAN, '', '', 28, null, null)
|
||||||
],
|
],
|
||||||
[Species.PSYDUCK]: [
|
[Species.PSYDUCK]: [
|
||||||
new SpeciesEvolution(Species.GOLDUCK, 33, null, null)
|
new SpeciesEvolution(Species.GOLDUCK, 33, null, null)
|
||||||
@ -1199,8 +1199,8 @@ export const pokemonEvolutions: PokemonEvolutions = {
|
|||||||
new SpeciesEvolution(Species.CLODSIRE, 20, null, null)
|
new SpeciesEvolution(Species.CLODSIRE, 20, null, null)
|
||||||
],
|
],
|
||||||
[Species.PIKACHU]: [
|
[Species.PIKACHU]: [
|
||||||
new SpeciesEvolution(Species.ALOLA_RAICHU, 1, EvolutionItem.THUNDER_STONE, new SpeciesEvolutionCondition(p => p.scene.arena.biomeType === Biome.ISLAND), SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.ALOLA_RAICHU, '', '', 1, EvolutionItem.THUNDER_STONE, new SpeciesEvolutionCondition(p => p.scene.arena.biomeType === Biome.ISLAND), SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.RAICHU, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG)
|
new SpeciesFormEvolution(Species.RAICHU, '', '', 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.LONG)
|
||||||
],
|
],
|
||||||
[Species.NIDORINA]: [
|
[Species.NIDORINA]: [
|
||||||
new SpeciesEvolution(Species.NIDOQUEEN, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG)
|
new SpeciesEvolution(Species.NIDOQUEEN, 1, EvolutionItem.MOON_STONE, null, SpeciesWildEvolutionDelay.LONG)
|
||||||
@ -1251,14 +1251,14 @@ export const pokemonEvolutions: PokemonEvolutions = {
|
|||||||
new SpeciesEvolution(Species.STARMIE, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM)
|
new SpeciesEvolution(Species.STARMIE, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM)
|
||||||
],
|
],
|
||||||
[Species.EEVEE]: [
|
[Species.EEVEE]: [
|
||||||
new SpeciesEvolution(Species.SYLVEON, 1, null, new SpeciesFriendshipEvolutionCondition(70, p => !!p.getMoveset().find(m => m.getMove().type === Type.FAIRY)), SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.SYLVEON, '', '', 1, null, new SpeciesFriendshipEvolutionCondition(70, p => !!p.getMoveset().find(m => m.getMove().type === Type.FAIRY)), SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.ESPEON, 1, null, new SpeciesFriendshipEvolutionCondition(70, p => p.scene.arena.getTimeOfDay() === TimeOfDay.DAY), SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.ESPEON, '', '', 1, null, new SpeciesFriendshipEvolutionCondition(70, p => p.scene.arena.getTimeOfDay() === TimeOfDay.DAY), SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.UMBREON, 1, null, new SpeciesFriendshipEvolutionCondition(70, p => p.scene.arena.getTimeOfDay() === TimeOfDay.NIGHT), SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.UMBREON, '', '', 1, null, new SpeciesFriendshipEvolutionCondition(70, p => p.scene.arena.getTimeOfDay() === TimeOfDay.NIGHT), SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.VAPOREON, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.VAPOREON, '', '', 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.JOLTEON, 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.JOLTEON, '', '', 1, EvolutionItem.THUNDER_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.FLAREON, 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.FLAREON, '', '', 1, EvolutionItem.FIRE_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.LEAFEON, 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.LEAFEON, '', '', 1, EvolutionItem.LEAF_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
new SpeciesEvolution(Species.GLACEON, 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
new SpeciesFormEvolution(Species.GLACEON, '', '', 1, EvolutionItem.ICE_STONE, null, SpeciesWildEvolutionDelay.MEDIUM),
|
||||||
],
|
],
|
||||||
[Species.TOGETIC]: [
|
[Species.TOGETIC]: [
|
||||||
new SpeciesEvolution(Species.TOGEKISS, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG)
|
new SpeciesEvolution(Species.TOGEKISS, 1, EvolutionItem.SHINY_STONE, null, SpeciesWildEvolutionDelay.VERY_LONG)
|
||||||
@ -1410,7 +1410,7 @@ export const pokemonEvolutions: PokemonEvolutions = {
|
|||||||
new SpeciesEvolution(Species.ALCREMIE, 1, EvolutionItem.STRAWBERRY_SWEET, null, SpeciesWildEvolutionDelay.MEDIUM)
|
new SpeciesEvolution(Species.ALCREMIE, 1, EvolutionItem.STRAWBERRY_SWEET, null, SpeciesWildEvolutionDelay.MEDIUM)
|
||||||
],
|
],
|
||||||
[Species.DURALUDON]: [
|
[Species.DURALUDON]: [
|
||||||
new SpeciesEvolution(Species.ARCHALUDON, 1, EvolutionItem.METAL_ALLOY, null, SpeciesWildEvolutionDelay.VERY_LONG)
|
new SpeciesFormEvolution(Species.ARCHALUDON, '', '', 1, EvolutionItem.METAL_ALLOY, null, SpeciesWildEvolutionDelay.VERY_LONG)
|
||||||
],
|
],
|
||||||
[Species.KUBFU]: [
|
[Species.KUBFU]: [
|
||||||
new SpeciesFormEvolution(Species.URSHIFU, '', 'single-strike', 1, EvolutionItem.SCROLL_OF_DARKNESS, null, null),
|
new SpeciesFormEvolution(Species.URSHIFU, '', 'single-strike', 1, EvolutionItem.SCROLL_OF_DARKNESS, null, null),
|
||||||
|
@ -177,7 +177,7 @@ export class SpeciesFormChangeItemTrigger extends SpeciesFormChangeTrigger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
canChange(pokemon: Pokemon): boolean {
|
canChange(pokemon: Pokemon): boolean {
|
||||||
return !!pokemon.scene.findModifier(m => m instanceof PokemonFormChangeItemModifier && m.pokemonId === pokemon.id && m.formChangeItem === this.item && m.active === this.active && (!pokemon.formIndex === this.active));
|
return !!pokemon.scene.findModifier(m => m instanceof PokemonFormChangeItemModifier && m.pokemonId === pokemon.id && m.formChangeItem === this.item && m.active === this.active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,6 +254,19 @@ export class SpeciesFormChangeMoveUsedTrigger extends SpeciesFormChangeTrigger {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class SpeciesDefaultFormMatchTrigger extends SpeciesFormChangeTrigger {
|
||||||
|
private formKey: string;
|
||||||
|
|
||||||
|
constructor(formKey: string) {
|
||||||
|
super();
|
||||||
|
this.formKey = formKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
canChange(pokemon: Pokemon): boolean {
|
||||||
|
return this.formKey === pokemon.species.forms[pokemon.scene.getSpeciesFormIndex(pokemon.species, pokemon.gender, pokemon.nature, true)].formKey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function getSpeciesFormChangeMessage(pokemon: Pokemon, formChange: SpeciesFormChange, preName: string): string {
|
export function getSpeciesFormChangeMessage(pokemon: Pokemon, formChange: SpeciesFormChange, preName: string): string {
|
||||||
const isMega = formChange.formKey.indexOf(SpeciesFormKey.MEGA) > -1;
|
const isMega = formChange.formKey.indexOf(SpeciesFormKey.MEGA) > -1;
|
||||||
const isGmax = formChange.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) > -1;
|
const isGmax = formChange.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) > -1;
|
||||||
@ -490,8 +503,8 @@ export const pokemonFormChanges: PokemonFormChanges = {
|
|||||||
new SpeciesFormChange(Species.MELMETAL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.MELMETAL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
],
|
],
|
||||||
[Species.ETERNATUS]: [
|
[Species.ETERNATUS]: [
|
||||||
new SpeciesFormChange(Species.ETERNATUS, '', 'eternamax', new SpeciesFormChangeManualTrigger()),
|
new SpeciesFormChange(Species.ETERNATUS, '', SpeciesFormKey.ETERNAMAX, new SpeciesFormChangeManualTrigger()),
|
||||||
new SpeciesFormChange(Species.ETERNATUS, '', 'eternamax', new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.ETERNATUS, '', SpeciesFormKey.ETERNAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
],
|
],
|
||||||
[Species.ENAMORUS]: [
|
[Species.ENAMORUS]: [
|
||||||
new SpeciesFormChange(Species.ENAMORUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS))
|
new SpeciesFormChange(Species.ENAMORUS, SpeciesFormKey.INCARNATE, SpeciesFormKey.THERIAN, new SpeciesFormChangeItemTrigger(FormChangeItem.REVEAL_GLASS))
|
||||||
@ -527,7 +540,10 @@ export const pokemonFormChanges: PokemonFormChanges = {
|
|||||||
new SpeciesFormChange(Species.SANDACONDA, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.SANDACONDA, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
],
|
],
|
||||||
[Species.TOXTRICITY]: [
|
[Species.TOXTRICITY]: [
|
||||||
new SpeciesFormChange(Species.TOXTRICITY, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.TOXTRICITY, 'amped', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)),
|
||||||
|
new SpeciesFormChange(Species.TOXTRICITY, 'lowkey', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)),
|
||||||
|
new SpeciesFormChange(Species.TOXTRICITY, SpeciesFormKey.GIGANTAMAX, 'amped', new SpeciesFormChangeCompoundTrigger(new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS, false), new SpeciesDefaultFormMatchTrigger('amped'))),
|
||||||
|
new SpeciesFormChange(Species.TOXTRICITY, SpeciesFormKey.GIGANTAMAX, 'lowkey', new SpeciesFormChangeCompoundTrigger(new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS, false), new SpeciesDefaultFormMatchTrigger('lowkey')))
|
||||||
],
|
],
|
||||||
[Species.CENTISKORCH]: [
|
[Species.CENTISKORCH]: [
|
||||||
new SpeciesFormChange(Species.CENTISKORCH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.CENTISKORCH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
@ -539,7 +555,7 @@ export const pokemonFormChanges: PokemonFormChanges = {
|
|||||||
new SpeciesFormChange(Species.GRIMMSNARL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.GRIMMSNARL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
],
|
],
|
||||||
[Species.ALCREMIE]: [
|
[Species.ALCREMIE]: [
|
||||||
new SpeciesFormChange(Species.ALCREMIE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.ALCREMIE, 'vanilla-cream', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
],
|
],
|
||||||
[Species.COPPERAJAH]: [
|
[Species.COPPERAJAH]: [
|
||||||
new SpeciesFormChange(Species.COPPERAJAH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
new SpeciesFormChange(Species.COPPERAJAH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
||||||
@ -553,109 +569,6 @@ export const pokemonFormChanges: PokemonFormChanges = {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
export const gigantamaxFormChanges: PokemonFormChanges = {
|
|
||||||
[Species.VENUSAUR]: [
|
|
||||||
new SpeciesFormChange(Species.VENUSAUR, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.BLASTOISE]: [
|
|
||||||
new SpeciesFormChange(Species.BLASTOISE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.CHARIZARD]: [
|
|
||||||
new SpeciesFormChange(Species.CHARIZARD, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.BUTTERFREE]: [
|
|
||||||
new SpeciesFormChange(Species.BUTTERFREE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.PIKACHU]: [
|
|
||||||
new SpeciesFormChange(Species.PIKACHU, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.MEOWTH]: [
|
|
||||||
new SpeciesFormChange(Species.MEOWTH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.MACHAMP]: [
|
|
||||||
new SpeciesFormChange(Species.MACHAMP, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.GENGAR]: [
|
|
||||||
new SpeciesFormChange(Species.GENGAR, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.KINGLER]: [
|
|
||||||
new SpeciesFormChange(Species.KINGLER, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.LAPRAS]: [
|
|
||||||
new SpeciesFormChange(Species.LAPRAS, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.EEVEE]: [
|
|
||||||
new SpeciesFormChange(Species.EEVEE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.SNORLAX]: [
|
|
||||||
new SpeciesFormChange(Species.SNORLAX, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.GARBODOR]: [
|
|
||||||
new SpeciesFormChange(Species.GARBODOR, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.MELMETAL]: [
|
|
||||||
new SpeciesFormChange(Species.MELMETAL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.RILLABOOM]: [
|
|
||||||
new SpeciesFormChange(Species.RILLABOOM, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.CINDERACE]: [
|
|
||||||
new SpeciesFormChange(Species.CINDERACE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.INTELEON]: [
|
|
||||||
new SpeciesFormChange(Species.INTELEON, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.CORVIKNIGHT]: [
|
|
||||||
new SpeciesFormChange(Species.CORVIKNIGHT, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.ORBEETLE]: [
|
|
||||||
new SpeciesFormChange(Species.ORBEETLE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.DREDNAW]: [
|
|
||||||
new SpeciesFormChange(Species.DREDNAW, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.COALOSSAL]: [
|
|
||||||
new SpeciesFormChange(Species.COALOSSAL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.FLAPPLE]: [
|
|
||||||
new SpeciesFormChange(Species.FLAPPLE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.APPLETUN]: [
|
|
||||||
new SpeciesFormChange(Species.APPLETUN, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.SANDACONDA]: [
|
|
||||||
new SpeciesFormChange(Species.SANDACONDA, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.TOXTRICITY]: [
|
|
||||||
new SpeciesFormChange(Species.TOXTRICITY, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.CENTISKORCH]: [
|
|
||||||
new SpeciesFormChange(Species.CENTISKORCH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.HATTERENE]: [
|
|
||||||
new SpeciesFormChange(Species.HATTERENE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.GRIMMSNARL]: [
|
|
||||||
new SpeciesFormChange(Species.GRIMMSNARL, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.ALCREMIE]: [
|
|
||||||
new SpeciesFormChange(Species.ALCREMIE, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.COPPERAJAH]: [
|
|
||||||
new SpeciesFormChange(Species.COPPERAJAH, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.DURALUDON]: [
|
|
||||||
new SpeciesFormChange(Species.DURALUDON, '', SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.ETERNATUS]: [
|
|
||||||
new SpeciesFormChange(Species.ETERNATUS, '', 'eternamax', new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
],
|
|
||||||
[Species.URSHIFU]: [
|
|
||||||
new SpeciesFormChange(Species.URSHIFU, 'single-strike', SpeciesFormKey.GIGANTAMAX_SINGLE, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)),
|
|
||||||
new SpeciesFormChange(Species.URSHIFU, 'rapid-strike', SpeciesFormKey.GIGANTAMAX_RAPID, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
{
|
{
|
||||||
const formChangeKeys = Object.keys(pokemonFormChanges);
|
const formChangeKeys = Object.keys(pokemonFormChanges);
|
||||||
formChangeKeys.forEach(pk => {
|
formChangeKeys.forEach(pk => {
|
||||||
|
@ -342,13 +342,15 @@ export default class PokemonSpecies extends PokemonSpeciesForm {
|
|||||||
const form = this.forms[formIndex];
|
const form = this.forms[formIndex];
|
||||||
switch (form.formKey) {
|
switch (form.formKey) {
|
||||||
case SpeciesFormKey.MEGA:
|
case SpeciesFormKey.MEGA:
|
||||||
case SpeciesFormKey.MEGA_X:
|
case SpeciesFormKey.ETERNAMAX:
|
||||||
case SpeciesFormKey.MEGA_Y:
|
|
||||||
case SpeciesFormKey.GIGANTAMAX:
|
|
||||||
case SpeciesFormKey.GIGANTAMAX_SINGLE:
|
|
||||||
case SpeciesFormKey.GIGANTAMAX_RAPID:
|
|
||||||
case 'eternamax':
|
|
||||||
return `${form.formName} ${this.name}`;
|
return `${form.formName} ${this.name}`;
|
||||||
|
case SpeciesFormKey.MEGA_X:
|
||||||
|
return `Mega ${this.name} X`;
|
||||||
|
case SpeciesFormKey.MEGA_X:
|
||||||
|
return `Mega ${this.name} Y`;
|
||||||
|
default:
|
||||||
|
if (form.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) > -1)
|
||||||
|
return `G-Max ${this.name}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return this.name;
|
return this.name;
|
||||||
@ -528,7 +530,7 @@ export enum SpeciesFormKey {
|
|||||||
GIGANTAMAX = "gigantamax",
|
GIGANTAMAX = "gigantamax",
|
||||||
GIGANTAMAX_SINGLE = "gigantamax-single",
|
GIGANTAMAX_SINGLE = "gigantamax-single",
|
||||||
GIGANTAMAX_RAPID = "gigantamax-rapid",
|
GIGANTAMAX_RAPID = "gigantamax-rapid",
|
||||||
"eternamax" = "eternamax"
|
ETERNAMAX = "eternamax"
|
||||||
}
|
}
|
||||||
|
|
||||||
export const allSpecies: PokemonSpecies[] = [];
|
export const allSpecies: PokemonSpecies[] = [];
|
||||||
@ -2018,8 +2020,8 @@ export function initSpecies() {
|
|||||||
new PokemonSpecies(Species.URSHIFU, "Urshifu", 8, true, false, false, "Wushu Pokémon", Type.FIGHTING, Type.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true,
|
new PokemonSpecies(Species.URSHIFU, "Urshifu", 8, true, false, false, "Wushu Pokémon", Type.FIGHTING, Type.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, GrowthRate.SLOW, 87.5, false, true,
|
||||||
new PokemonForm("Single Strike Style", "single-strike", Type.FIGHTING, Type.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, ""),
|
new PokemonForm("Single Strike Style", "single-strike", Type.FIGHTING, Type.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, ""),
|
||||||
new PokemonForm("Rapid Strike Style", "rapid-strike", Type.FIGHTING, Type.WATER, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275),
|
new PokemonForm("Rapid Strike Style", "rapid-strike", Type.FIGHTING, Type.WATER, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275),
|
||||||
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX_SINGLE, Type.FIGHTING, Type.DARK, 29, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 160, 120, 75, 70, 100, 3, 50, 275),
|
new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, Type.FIGHTING, Type.DARK, 29, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 160, 120, 75, 70, 100, 3, 50, 275),
|
||||||
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX_RAPID, Type.FIGHTING, Type.WATER, 26, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 160, 120, 75, 70, 100, 3, 50, 275),
|
new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, Type.FIGHTING, Type.WATER, 26, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 160, 120, 75, 70, 100, 3, 50, 275),
|
||||||
),
|
),
|
||||||
new PokemonSpecies(Species.ZARUDE, "Zarude", 8, false, false, true, "Rogue Monkey Pokémon", Type.DARK, Type.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, GrowthRate.SLOW, null, false, false,
|
new PokemonSpecies(Species.ZARUDE, "Zarude", 8, false, false, true, "Rogue Monkey Pokémon", Type.DARK, Type.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, GrowthRate.SLOW, null, false, false,
|
||||||
new PokemonForm("Normal", "", Type.DARK, Type.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300),
|
new PokemonForm("Normal", "", Type.DARK, Type.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300),
|
||||||
|
@ -17,7 +17,7 @@ import { StatusEffect, getStatusEffectDescriptor } from '../data/status-effect';
|
|||||||
import { SpeciesFormKey } from '../data/pokemon-species';
|
import { SpeciesFormKey } from '../data/pokemon-species';
|
||||||
import BattleScene from '../battle-scene';
|
import BattleScene from '../battle-scene';
|
||||||
import { VoucherType, getVoucherTypeIcon, getVoucherTypeName } from '../system/voucher';
|
import { VoucherType, getVoucherTypeIcon, getVoucherTypeName } from '../system/voucher';
|
||||||
import { FormChangeItem, SpeciesFormChangeItemTrigger, gigantamaxFormChanges, pokemonFormChanges } from '../data/pokemon-forms';
|
import { FormChangeItem, SpeciesFormChangeItemTrigger, pokemonFormChanges } from '../data/pokemon-forms';
|
||||||
import { ModifierTier } from './modifier-tier';
|
import { ModifierTier } from './modifier-tier';
|
||||||
|
|
||||||
type Modifier = Modifiers.Modifier;
|
type Modifier = Modifiers.Modifier;
|
||||||
@ -602,27 +602,8 @@ class FormChangeItemModifierTypeGenerator extends ModifierTypeGenerator {
|
|||||||
|
|
||||||
const formChangeItemPool = party.filter(p => pokemonFormChanges.hasOwnProperty(p.species.speciesId)).map(p => {
|
const formChangeItemPool = party.filter(p => pokemonFormChanges.hasOwnProperty(p.species.speciesId)).map(p => {
|
||||||
const formChanges = pokemonFormChanges[p.species.speciesId];
|
const formChanges = pokemonFormChanges[p.species.speciesId];
|
||||||
return formChanges.filter(fc => (fc.formKey.indexOf(SpeciesFormKey.MEGA) === -1 && fc.formKey.indexOf(SpeciesFormKey.PRIMAL) === -1) || party[0].scene.getModifiers(Modifiers.MegaEvolutionAccessModifier).length)
|
return formChanges.filter(fc => ((fc.formKey.indexOf(SpeciesFormKey.MEGA) === -1 && fc.formKey.indexOf(SpeciesFormKey.PRIMAL) === -1) || party[0].scene.getModifiers(Modifiers.MegaEvolutionAccessModifier).length)
|
||||||
.map(fc => fc.findTrigger(SpeciesFormChangeItemTrigger) as SpeciesFormChangeItemTrigger).filter(t => t && t.active);
|
&& ((fc.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) === -1 && fc.formKey.indexOf(SpeciesFormKey.ETERNAMAX) === -1) || party[0].scene.getModifiers(Modifiers.GigantamaxAccessModifier).length))
|
||||||
}).flat().flatMap(fc => fc.item);
|
|
||||||
|
|
||||||
if (!formChangeItemPool.length)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
return new FormChangeItemModifierType(formChangeItemPool[Utils.randSeedInt(formChangeItemPool.length)]);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class GigantamaxItemModifierTypeGenerator extends ModifierTypeGenerator {
|
|
||||||
constructor() {
|
|
||||||
super((party: Pokemon[], pregenArgs?: any[]) => {
|
|
||||||
if (pregenArgs)
|
|
||||||
return new FormChangeItemModifierType(FormChangeItem.MAX_MUSHROOMS);
|
|
||||||
|
|
||||||
const formChangeItemPool = party.filter(p => gigantamaxFormChanges.hasOwnProperty(p.species.speciesId)).map(p => {
|
|
||||||
const formChanges = gigantamaxFormChanges[p.species.speciesId];
|
|
||||||
return formChanges.filter(fc => (fc.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) === -1 && fc.formKey.indexOf(SpeciesFormKey.GIGANTAMAX_RAPID) === -1 && fc.formKey.indexOf(SpeciesFormKey.GIGANTAMAX_SINGLE) === -1 && fc.formKey.indexOf('eternamax') === -1) || party[0].scene.getModifiers(Modifiers.GigantamaxAccessModifier).length)
|
|
||||||
.map(fc => fc.findTrigger(SpeciesFormChangeItemTrigger) as SpeciesFormChangeItemTrigger).filter(t => t && t.active);
|
.map(fc => fc.findTrigger(SpeciesFormChangeItemTrigger) as SpeciesFormChangeItemTrigger).filter(t => t && t.active);
|
||||||
}).flat().flatMap(fc => fc.item);
|
}).flat().flatMap(fc => fc.item);
|
||||||
|
|
||||||
@ -687,7 +668,6 @@ export const modifierTypes = {
|
|||||||
|
|
||||||
EVOLUTION_ITEM: () => new EvolutionItemModifierTypeGenerator(),
|
EVOLUTION_ITEM: () => new EvolutionItemModifierTypeGenerator(),
|
||||||
FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(),
|
FORM_CHANGE_ITEM: () => new FormChangeItemModifierTypeGenerator(),
|
||||||
GIGANTAMAX_ITEM: () => new GigantamaxItemModifierTypeGenerator(),
|
|
||||||
|
|
||||||
MEGA_BRACELET: () => new ModifierType('Mega Bracelet', 'Mega stones become available', (type, _args) => new Modifiers.MegaEvolutionAccessModifier(type)),
|
MEGA_BRACELET: () => new ModifierType('Mega Bracelet', 'Mega stones become available', (type, _args) => new Modifiers.MegaEvolutionAccessModifier(type)),
|
||||||
DYNAMAX_BAND: () => new ModifierType('Dynamax Band', 'Gigantamaxing becomes available', (type, _args) => new Modifiers.GigantamaxAccessModifier(type)),
|
DYNAMAX_BAND: () => new ModifierType('Dynamax Band', 'Gigantamaxing becomes available', (type, _args) => new Modifiers.GigantamaxAccessModifier(type)),
|
||||||
@ -951,7 +931,6 @@ const modifierPool = {
|
|||||||
new WeightedModifierType(modifierTypes.IV_SCANNER, 2),
|
new WeightedModifierType(modifierTypes.IV_SCANNER, 2),
|
||||||
new WeightedModifierType(modifierTypes.EXP_BALANCE, 1),
|
new WeightedModifierType(modifierTypes.EXP_BALANCE, 1),
|
||||||
new WeightedModifierType(modifierTypes.FORM_CHANGE_ITEM, 1),
|
new WeightedModifierType(modifierTypes.FORM_CHANGE_ITEM, 1),
|
||||||
new WeightedModifierType(modifierTypes.GIGANTAMAX_ITEM, 1),
|
|
||||||
new WeightedModifierType(modifierTypes.REVERSE_DNA_SPLICERS, (party: Pokemon[]) => party[0].scene.gameMode !== GameMode.SPLICED_ENDLESS && party.filter(p => p.fusionSpecies).length ? 3 : 0),
|
new WeightedModifierType(modifierTypes.REVERSE_DNA_SPLICERS, (party: Pokemon[]) => party[0].scene.gameMode !== GameMode.SPLICED_ENDLESS && party.filter(p => p.fusionSpecies).length ? 3 : 0),
|
||||||
].map(m => { m.setTier(ModifierTier.ULTRA); return m; }),
|
].map(m => { m.setTier(ModifierTier.ULTRA); return m; }),
|
||||||
[ModifierTier.MASTER]: [
|
[ModifierTier.MASTER]: [
|
||||||
|
@ -1905,7 +1905,7 @@ export class PlayerPokemon extends Pokemon {
|
|||||||
this.scene.gameData.setPokemonCaught(this, false);
|
this.scene.gameData.setPokemonCaught(this, false);
|
||||||
this.loadAssets().then(() => {
|
this.loadAssets().then(() => {
|
||||||
this.calculateStats();
|
this.calculateStats();
|
||||||
this.updateInfo().then(() => resolve());
|
this.updateInfo(true).then(() => resolve());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1948,11 +1948,10 @@ export class PlayerPokemon extends Pokemon {
|
|||||||
this.generateCompatibleTms();
|
this.generateCompatibleTms();
|
||||||
this.scene.gameData.setPokemonSeen(this, false);
|
this.scene.gameData.setPokemonSeen(this, false);
|
||||||
this.scene.gameData.setPokemonCaught(this, false);
|
this.scene.gameData.setPokemonCaught(this, false);
|
||||||
this.scene.gameData.gameStats.pokemonFused++;
|
|
||||||
this.loadAssets().then(() => {
|
this.loadAssets().then(() => {
|
||||||
this.calculateStats();
|
this.calculateStats();
|
||||||
this.scene.updateModifiers(true, true);
|
this.scene.updateModifiers(true, true);
|
||||||
this.updateInfo().then(() => resolve());
|
this.updateInfo(true).then(() => resolve());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1979,6 +1978,7 @@ export class PlayerPokemon extends Pokemon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.scene.validateAchv(achvs.SPLICE);
|
this.scene.validateAchv(achvs.SPLICE);
|
||||||
|
this.scene.gameData.gameStats.pokemonFused++;
|
||||||
|
|
||||||
this.generateName();
|
this.generateName();
|
||||||
this.calculateStats();
|
this.calculateStats();
|
||||||
|
@ -237,10 +237,8 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
|
|||||||
|
|
||||||
updateInfo(pokemon: Pokemon, instant?: boolean): Promise<void> {
|
updateInfo(pokemon: Pokemon, instant?: boolean): Promise<void> {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
if (!this.scene) {
|
if (!this.scene)
|
||||||
resolve();
|
return resolve();
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.lastName !== pokemon.name) {
|
if (this.lastName !== pokemon.name) {
|
||||||
this.updateNameText(pokemon);
|
this.updateNameText(pokemon);
|
||||||
@ -306,10 +304,9 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
|
|||||||
this.lastLevelCapped = isLevelCapped;
|
this.lastLevelCapped = isLevelCapped;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.lastHp !== pokemon.hp || this.lastMaxHp !== pokemon.getMaxHp()) {
|
if (this.lastHp !== pokemon.hp || this.lastMaxHp !== pokemon.getMaxHp())
|
||||||
updatePokemonHp();
|
return updatePokemonHp();
|
||||||
return;
|
else if (!this.player && this.lastLevel !== pokemon.level) {
|
||||||
} else if (!this.player && this.lastLevel !== pokemon.level) {
|
|
||||||
this.setLevel(pokemon.level);
|
this.setLevel(pokemon.level);
|
||||||
this.lastLevel = pokemon.level;
|
this.lastLevel = pokemon.level;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user