Add missing pipeline data for shiny recolors in certain screens
parent
c9dfb199f2
commit
706a85ed5b
|
@ -1082,3 +1082,15 @@ export enum Species {
|
||||||
PALDEA_WOOPER = 8194,
|
PALDEA_WOOPER = 8194,
|
||||||
BLOODMOON_URSALUNA = 8901,
|
BLOODMOON_URSALUNA = 8901,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const defaultStarterSpecies: Species[] = [
|
||||||
|
Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE,
|
||||||
|
Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE,
|
||||||
|
Species.TREECKO, Species.TORCHIC, Species.MUDKIP,
|
||||||
|
Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP,
|
||||||
|
Species.SNIVY, Species.TEPIG, Species.OSHAWOTT,
|
||||||
|
Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE,
|
||||||
|
Species.ROWLET, Species.LITTEN, Species.POPPLIO,
|
||||||
|
Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE,
|
||||||
|
Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY
|
||||||
|
];
|
|
@ -246,6 +246,9 @@ export class EggHatchPhase extends Phase {
|
||||||
this.eggContainer.setVisible(false);
|
this.eggContainer.setVisible(false);
|
||||||
this.pokemonSprite.play(this.pokemon.getSpriteKey(true));
|
this.pokemonSprite.play(this.pokemon.getSpriteKey(true));
|
||||||
this.pokemonSprite.pipelineData['ignoreTimeTint'] = true;
|
this.pokemonSprite.pipelineData['ignoreTimeTint'] = true;
|
||||||
|
this.pokemonSprite.setPipelineData('spriteKey', this.pokemon.getSpriteKey());
|
||||||
|
this.pokemonSprite.setPipelineData('shiny', this.pokemon.shiny);
|
||||||
|
this.pokemonSprite.setPipelineData('variant', this.pokemon.variant);
|
||||||
this.pokemonSprite.setVisible(true);
|
this.pokemonSprite.setVisible(true);
|
||||||
this.scene.time.delayedCall(Utils.fixedInt(250), () => {
|
this.scene.time.delayedCall(Utils.fixedInt(250), () => {
|
||||||
this.pokemon.cry();
|
this.pokemon.cry();
|
||||||
|
|
|
@ -115,7 +115,10 @@ export class EvolutionPhase extends Phase {
|
||||||
|
|
||||||
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(evolvedPokemon.getSpriteKey(true));
|
sprite.play(evolvedPokemon.getSpriteKey(true));
|
||||||
sprite.pipelineData['ignoreTimeTint'] = true;
|
sprite.setPipelineData('ignoreTimeTint', true);
|
||||||
|
sprite.setPipelineData('spriteKey', evolvedPokemon.getSpriteKey());
|
||||||
|
sprite.setPipelineData('shiny', evolvedPokemon.shiny);
|
||||||
|
sprite.setPipelineData('variant', evolvedPokemon.variant);
|
||||||
[ 'spriteColors', 'fusionSpriteColors' ].map(k => {
|
[ 'spriteColors', 'fusionSpriteColors' ].map(k => {
|
||||||
if (evolvedPokemon.summonData?.speciesForm)
|
if (evolvedPokemon.summonData?.speciesForm)
|
||||||
k += 'Base';
|
k += 'Base';
|
||||||
|
|
|
@ -39,7 +39,10 @@ export class FormChangePhase extends EvolutionPhase {
|
||||||
|
|
||||||
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(transformedPokemon.getSpriteKey(true));
|
sprite.play(transformedPokemon.getSpriteKey(true));
|
||||||
sprite.pipelineData['ignoreTimeTint'] = true;
|
sprite.setPipelineData('ignoreTimeTint', true);
|
||||||
|
sprite.setPipelineData('spriteKey', transformedPokemon.getSpriteKey());
|
||||||
|
sprite.setPipelineData('shiny', transformedPokemon.shiny);
|
||||||
|
sprite.setPipelineData('variant', transformedPokemon.variant);
|
||||||
[ 'spriteColors', 'fusionSpriteColors' ].map(k => {
|
[ 'spriteColors', 'fusionSpriteColors' ].map(k => {
|
||||||
if (transformedPokemon.summonData?.speciesForm)
|
if (transformedPokemon.summonData?.speciesForm)
|
||||||
k += 'Base';
|
k += 'Base';
|
||||||
|
|
|
@ -2,7 +2,7 @@ import BattleScene, { PokeballCounts, bypassLogin } from "../battle-scene";
|
||||||
import Pokemon, { EnemyPokemon, PlayerPokemon } from "../field/pokemon";
|
import Pokemon, { EnemyPokemon, PlayerPokemon } from "../field/pokemon";
|
||||||
import { pokemonPrevolutions } from "../data/pokemon-evolutions";
|
import { pokemonPrevolutions } from "../data/pokemon-evolutions";
|
||||||
import PokemonSpecies, { SpeciesFormKey, allSpecies, getPokemonSpecies, noStarterFormKeys, speciesStarters } from "../data/pokemon-species";
|
import PokemonSpecies, { SpeciesFormKey, allSpecies, getPokemonSpecies, noStarterFormKeys, speciesStarters } from "../data/pokemon-species";
|
||||||
import { Species } from "../data/enums/species";
|
import { Species, defaultStarterSpecies } from "../data/enums/species";
|
||||||
import * as Utils from "../utils";
|
import * as Utils from "../utils";
|
||||||
import PokemonData from "./pokemon-data";
|
import PokemonData from "./pokemon-data";
|
||||||
import PersistentModifierData from "./modifier-data";
|
import PersistentModifierData from "./modifier-data";
|
||||||
|
@ -922,30 +922,18 @@ export class GameData {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultStarters: Species[] = [
|
|
||||||
Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE,
|
|
||||||
Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE,
|
|
||||||
Species.TREECKO, Species.TORCHIC, Species.MUDKIP,
|
|
||||||
Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP,
|
|
||||||
Species.SNIVY, Species.TEPIG, Species.OSHAWOTT,
|
|
||||||
Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE,
|
|
||||||
Species.ROWLET, Species.LITTEN, Species.POPPLIO,
|
|
||||||
Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE,
|
|
||||||
Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY
|
|
||||||
];
|
|
||||||
|
|
||||||
const defaultStarterAttr = DexAttr.NON_SHINY | DexAttr.MALE | DexAttr.DEFAULT_VARIANT | DexAttr.DEFAULT_FORM;
|
const defaultStarterAttr = DexAttr.NON_SHINY | DexAttr.MALE | DexAttr.DEFAULT_VARIANT | DexAttr.DEFAULT_FORM;
|
||||||
|
|
||||||
const defaultStarterNatures: Nature[] = [];
|
const defaultStarterNatures: Nature[] = [];
|
||||||
|
|
||||||
this.scene.executeWithSeedOffset(() => {
|
this.scene.executeWithSeedOffset(() => {
|
||||||
const neutralNatures = [ Nature.HARDY, Nature.DOCILE, Nature.SERIOUS, Nature.BASHFUL, Nature.QUIRKY ];
|
const neutralNatures = [ Nature.HARDY, Nature.DOCILE, Nature.SERIOUS, Nature.BASHFUL, Nature.QUIRKY ];
|
||||||
for (let s = 0; s < defaultStarters.length; s++)
|
for (let s = 0; s < defaultStarterSpecies.length; s++)
|
||||||
defaultStarterNatures.push(Utils.randSeedItem(neutralNatures));
|
defaultStarterNatures.push(Utils.randSeedItem(neutralNatures));
|
||||||
}, 0, 'default');
|
}, 0, 'default');
|
||||||
|
|
||||||
for (let ds = 0; ds < defaultStarters.length; ds++) {
|
for (let ds = 0; ds < defaultStarterSpecies.length; ds++) {
|
||||||
let entry = data[defaultStarters[ds]] as DexEntry;
|
let entry = data[defaultStarterSpecies[ds]] as DexEntry;
|
||||||
entry.seenAttr = defaultStarterAttr;
|
entry.seenAttr = defaultStarterAttr;
|
||||||
entry.caughtAttr = defaultStarterAttr;
|
entry.caughtAttr = defaultStarterAttr;
|
||||||
entry.natureAttr = Math.pow(2, defaultStarterNatures[ds] + 1);
|
entry.natureAttr = Math.pow(2, defaultStarterNatures[ds] + 1);
|
||||||
|
|
Loading…
Reference in New Issue