diff --git a/public/audio/cry/890-eternamax.mp3 b/public/audio/cry/890-eternamax.mp3 new file mode 100644 index 000000000..4c48ef387 Binary files /dev/null and b/public/audio/cry/890-eternamax.mp3 differ diff --git a/public/images/pokemon/890-eternamax.json b/public/images/pokemon/890-eternamax.json new file mode 100644 index 000000000..4555295b1 --- /dev/null +++ b/public/images/pokemon/890-eternamax.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890-eternamax.png", + "format": "RGBA8888", + "size": { + "w": 96, + "h": 96 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 96, + "h": 96 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 96 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:2f58479d6e423d47c2e020de79121c9e:2b0d210cee7325446481599b7b95c52b:4db8b375066b8984bad6ce8eed9a5f6f$" + } +} diff --git a/public/images/pokemon/890-eternamax.png b/public/images/pokemon/890-eternamax.png new file mode 100644 index 000000000..9fe4ab5f1 Binary files /dev/null and b/public/images/pokemon/890-eternamax.png differ diff --git a/public/images/pokemon/back/890-eternamax.json b/public/images/pokemon/back/890-eternamax.json new file mode 100644 index 000000000..c16d75615 --- /dev/null +++ b/public/images/pokemon/back/890-eternamax.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890-eternamax.png", + "format": "RGBA8888", + "size": { + "w": 90, + "h": 93 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 3, + "y": 1, + "w": 90, + "h": 93 + }, + "frame": { + "x": 0, + "y": 0, + "w": 90, + "h": 93 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:738a2cfd221406bb9d8534d43b2c0d8c:fdc46223ac70aab887f92339bd388aae:4db8b375066b8984bad6ce8eed9a5f6f$" + } +} diff --git a/public/images/pokemon/back/890-eternamax.png b/public/images/pokemon/back/890-eternamax.png new file mode 100644 index 000000000..10391ae47 Binary files /dev/null and b/public/images/pokemon/back/890-eternamax.png differ diff --git a/public/images/pokemon/back/890.json b/public/images/pokemon/back/890.json new file mode 100644 index 000000000..0cede8509 --- /dev/null +++ b/public/images/pokemon/back/890.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890.png", + "format": "RGBA8888", + "size": { + "w": 96, + "h": 87 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 96, + "h": 87 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 87 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:68cea60de1e85909e966a17ef70e474d:3d6d6ced53d515306034265d2b15d017:cedd2711a12bbacba5623505fe88bd92$" + } +} diff --git a/public/images/pokemon/back/890.png b/public/images/pokemon/back/890.png new file mode 100644 index 000000000..c3e559370 Binary files /dev/null and b/public/images/pokemon/back/890.png differ diff --git a/public/images/pokemon/back/shiny/890-eternamax.json b/public/images/pokemon/back/shiny/890-eternamax.json new file mode 100644 index 000000000..e9e6baf63 --- /dev/null +++ b/public/images/pokemon/back/shiny/890-eternamax.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890-eternamax.png", + "format": "RGBA8888", + "size": { + "w": 90, + "h": 93 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 3, + "y": 1, + "w": 90, + "h": 93 + }, + "frame": { + "x": 0, + "y": 0, + "w": 90, + "h": 93 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:10f5965fa457e5969925a13356a353e5:66f41100f21673db5180345da7afaaaf:4db8b375066b8984bad6ce8eed9a5f6f$" + } +} diff --git a/public/images/pokemon/back/shiny/890-eternamax.png b/public/images/pokemon/back/shiny/890-eternamax.png new file mode 100644 index 000000000..760ee8723 Binary files /dev/null and b/public/images/pokemon/back/shiny/890-eternamax.png differ diff --git a/public/images/pokemon/back/shiny/890.json b/public/images/pokemon/back/shiny/890.json new file mode 100644 index 000000000..7f0816a82 --- /dev/null +++ b/public/images/pokemon/back/shiny/890.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890.png", + "format": "RGBA8888", + "size": { + "w": 96, + "h": 87 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 0, + "y": 4, + "w": 96, + "h": 87 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 87 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:9990f3acdbb206c8c845aa2543caadfd:7fb6e5e61638e70cf23c6cfade157826:cedd2711a12bbacba5623505fe88bd92$" + } +} diff --git a/public/images/pokemon/back/shiny/890.png b/public/images/pokemon/back/shiny/890.png new file mode 100644 index 000000000..1689401a1 Binary files /dev/null and b/public/images/pokemon/back/shiny/890.png differ diff --git a/public/images/pokemon/shiny/890-eternamax.json b/public/images/pokemon/shiny/890-eternamax.json new file mode 100644 index 000000000..a6acc7b8b --- /dev/null +++ b/public/images/pokemon/shiny/890-eternamax.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890-eternamax.png", + "format": "RGBA8888", + "size": { + "w": 96, + "h": 96 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 96, + "h": 96 + }, + "frame": { + "x": 0, + "y": 0, + "w": 96, + "h": 96 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:0cac0dd79f7ca3a2c1898bd0fe75b738:8407b6d20dfa128fb562fb521b0ce248:4db8b375066b8984bad6ce8eed9a5f6f$" + } +} diff --git a/public/images/pokemon/shiny/890-eternamax.png b/public/images/pokemon/shiny/890-eternamax.png new file mode 100644 index 000000000..d12db471d Binary files /dev/null and b/public/images/pokemon/shiny/890-eternamax.png differ diff --git a/public/images/pokemon/shiny/890.json b/public/images/pokemon/shiny/890.json new file mode 100644 index 000000000..15d4be503 --- /dev/null +++ b/public/images/pokemon/shiny/890.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "890.png", + "format": "RGBA8888", + "size": { + "w": 92, + "h": 88 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 96, + "h": 96 + }, + "spriteSourceSize": { + "x": 2, + "y": 4, + "w": 92, + "h": 88 + }, + "frame": { + "x": 0, + "y": 0, + "w": 92, + "h": 88 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:15403e46a7a5b364c2a2147d4eb7d7c3:2e867b4ea704cf035cb5af056c17a9c3:cedd2711a12bbacba5623505fe88bd92$" + } +} diff --git a/public/images/pokemon/shiny/890.png b/public/images/pokemon/shiny/890.png new file mode 100644 index 000000000..d2d3d3964 Binary files /dev/null and b/public/images/pokemon/shiny/890.png differ diff --git a/src/battle-phases.ts b/src/battle-phases.ts index 82f4402ae..e8d317eae 100644 --- a/src/battle-phases.ts +++ b/src/battle-phases.ts @@ -30,6 +30,7 @@ import { Unlockables, getUnlockableName } from "./system/unlockables"; import { getBiomeKey } from "./arena"; import { BattleType, BattlerIndex, TurnCommand } from "./battle"; import { GameMode } from "./game-mode"; +import { Species } from "./data/species"; export class CheckLoadPhase extends BattlePhase { private loaded: boolean; @@ -253,6 +254,9 @@ export class EncounterPhase extends BattlePhase { this.scene.gameData.setPokemonSeen(enemyPokemon); } + if (this.scene.gameMode === GameMode.CLASSIC && battle.waveIndex === 200 && enemyPokemon.species.speciesId === Species.ETERNATUS) + enemyPokemon.formIndex = 1; + loadEnemyAssets.push(enemyPokemon.loadAssets()); console.log(enemyPokemon.species.name, enemyPokemon.species.speciesId, enemyPokemon.stats); diff --git a/src/battle.ts b/src/battle.ts index d639b625a..de0cbc2c2 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -184,6 +184,6 @@ export const fixedBattles: FixedBattleConfigs = { .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.CAITLIN)), [190]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, Phaser.Math.RND.pick([ TrainerType.BLUE, TrainerType.RED, TrainerType.LANCE, TrainerType.STEVEN, TrainerType.WALLACE, TrainerType.CYNTHIA, TrainerType.IRIS, TrainerType.ALDER, TrainerType.CYNTHIA ]))), - [199]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) + [195]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_6, true)) } \ No newline at end of file diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 729d2a15d..822ae0642 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -142,8 +142,11 @@ export abstract class PokemonSpeciesForm { getCryKey(formIndex?: integer): string { let ret = this.speciesId.toString(); const forms = getPokemonSpecies(this.speciesId).forms; - if (forms.length && forms[formIndex || 0].formKey === 'mega') - ret += '-mega'; + if (forms.length) { + const formKey = forms[formIndex || 0].formKey; + if (formKey === 'mega' || formKey === 'eternamax') + ret += `-${formKey}`; + } return ret; } @@ -1115,7 +1118,9 @@ export function initSpecies() { new PokemonSpecies(Species.GENESECT, "Genesect", 5, false, false, true, "Paleozoic Pokémon", Type.BUG, Type.STEEL, 1.5, 82.5, Abilities.DOWNLOAD, Abilities.NONE, Abilities.NONE, 600, 71, 120, 95, 120, 95, 99, 3, 0, 270, GrowthRate.SLOW, "Undiscovered", null, null, 120, false), new PokemonSpecies(Species.XERNEAS, "Xerneas", 6, false, true, false, "Life Pokémon", Type.FAIRY, null, 3, 215, Abilities.FAIRY_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 306, GrowthRate.SLOW, "Undiscovered", null, null, 120, false), new PokemonSpecies(Species.YVELTAL, "Yveltal", 6, false, true, false, "Destruction Pokémon", Type.DARK, Type.FLYING, 5.8, 203, Abilities.DARK_AURA, Abilities.NONE, Abilities.NONE, 680, 126, 131, 95, 131, 98, 99, 45, 0, 306, GrowthRate.SLOW, "Undiscovered", null, null, 120, false), - new PokemonSpecies(Species.ETERNATUS, 'Eternatus', 8, false, true, false, 'Gigantic Pokemon', Type.POISON, Type.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false, false) + new PokemonSpecies(Species.ETERNATUS, "Eternatus", 8, false, true, false, "Gigantic Pokemon", Type.POISON, Type.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false, false, + new PokemonForm("Normal", "", Type.POISON, Type.DRAGON, 20, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 690, 140, 85, 95, 145, 95, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false), + new PokemonForm("Eternamax", "eternamax", Type.POISON, Type.DRAGON, 100, 950, Abilities.PRESSURE, Abilities.NONE, Abilities.NONE, 1125, 255, 115, 250, 125, 250, 130, 255, 0, 345, GrowthRate.SLOW, "Undiscovered", null, null, 120, false)) ); }