From 02ae7952ad26f3df133c99f6b7f02024af4d4d6c Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Sun, 16 Mar 2025 04:44:48 -0700 Subject: [PATCH 001/129] [Bug] Fix Commander crash after 5267 (#5524) Fix reversed commander checks --- src/data/ability.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index 0b5b3624c73..ab78d1dd06c 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -2783,8 +2783,8 @@ export class CommanderAbAttr extends AbAttr { // another Pokemon, this effect cannot apply. // TODO: Should this work with X + Dondozo fusions? - return !(pokemon.getAlly().isFainted() || pokemon.getAlly().getTag(BattlerTagType.COMMANDED)) - && globalScene.currentBattle?.double && pokemon.getAlly()?.species.speciesId === Species.DONDOZO; + return globalScene.currentBattle?.double && pokemon.getAlly()?.species.speciesId === Species.DONDOZO + && !(pokemon.getAlly().isFainted() || pokemon.getAlly().getTag(BattlerTagType.COMMANDED)); } override apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: null, args: any[]): void { From a5ed9c5191393a73cb66677feb42a18447dc271d Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Mon, 17 Mar 2025 02:51:27 +0100 Subject: [PATCH 002/129] [UI/UX] Mark Revavroom forms as unobtainable (#5525) --- src/data/pokemon-species.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 1bf97209613..d172173e9df 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -2987,11 +2987,11 @@ export function initSpecies() { new PokemonSpecies(Species.VAROOM, 9, false, false, false, "Single-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1, 35, Abilities.OVERCOAT, Abilities.NONE, Abilities.SLOW_START, 300, 45, 70, 63, 30, 45, 47, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.REVAVROOM, 9, false, false, false, "Multi-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, Abilities.OVERCOAT, Abilities.NONE, Abilities.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, false, new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, Abilities.OVERCOAT, Abilities.NONE, Abilities.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, false, null, true), - new PokemonForm("Segin Starmobile", "segin-starmobile", PokemonType.STEEL, PokemonType.DARK, 1.8, 240, Abilities.INTIMIDATE, Abilities.NONE, Abilities.INTIMIDATE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175), - new PokemonForm("Schedar Starmobile", "schedar-starmobile", PokemonType.STEEL, PokemonType.FIRE, 1.8, 240, Abilities.SPEED_BOOST, Abilities.NONE, Abilities.SPEED_BOOST, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175), - new PokemonForm("Navi Starmobile", "navi-starmobile", PokemonType.STEEL, PokemonType.POISON, 1.8, 240, Abilities.TOXIC_DEBRIS, Abilities.NONE, Abilities.TOXIC_DEBRIS, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175), - new PokemonForm("Ruchbah Starmobile", "ruchbah-starmobile", PokemonType.STEEL, PokemonType.FAIRY, 1.8, 240, Abilities.MISTY_SURGE, Abilities.NONE, Abilities.MISTY_SURGE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175), - new PokemonForm("Caph Starmobile", "caph-starmobile", PokemonType.STEEL, PokemonType.FIGHTING, 1.8, 240, Abilities.STAMINA, Abilities.NONE, Abilities.STAMINA, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175), + new PokemonForm("Segin Starmobile", "segin-starmobile", PokemonType.STEEL, PokemonType.DARK, 1.8, 240, Abilities.INTIMIDATE, Abilities.NONE, Abilities.INTIMIDATE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Schedar Starmobile", "schedar-starmobile", PokemonType.STEEL, PokemonType.FIRE, 1.8, 240, Abilities.SPEED_BOOST, Abilities.NONE, Abilities.SPEED_BOOST, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Navi Starmobile", "navi-starmobile", PokemonType.STEEL, PokemonType.POISON, 1.8, 240, Abilities.TOXIC_DEBRIS, Abilities.NONE, Abilities.TOXIC_DEBRIS, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Ruchbah Starmobile", "ruchbah-starmobile", PokemonType.STEEL, PokemonType.FAIRY, 1.8, 240, Abilities.MISTY_SURGE, Abilities.NONE, Abilities.MISTY_SURGE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), + new PokemonForm("Caph Starmobile", "caph-starmobile", PokemonType.STEEL, PokemonType.FIGHTING, 1.8, 240, Abilities.STAMINA, Abilities.NONE, Abilities.STAMINA, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), ), new PokemonSpecies(Species.CYCLIZAR, 9, false, false, false, "Mount Pokémon", PokemonType.DRAGON, PokemonType.NORMAL, 1.6, 63, Abilities.SHED_SKIN, Abilities.NONE, Abilities.REGENERATOR, 501, 70, 95, 65, 85, 65, 121, 190, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(Species.ORTHWORM, 9, false, false, false, "Earthworm Pokémon", PokemonType.STEEL, null, 2.5, 310, Abilities.EARTH_EATER, Abilities.NONE, Abilities.SAND_VEIL, 480, 70, 85, 145, 60, 55, 65, 25, 50, 240, GrowthRate.SLOW, 50, false), From d9288a7908c2fa9ae65f17b9a54573d4c48cab6e Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Tue, 18 Mar 2025 13:19:37 -0700 Subject: [PATCH 003/129] [Bug] Add Neutralizing Gas Message for each user (#5527) Add message to onOverlap Co-authored-by: damocleas --- src/data/arena-tag.ts | 23 +++++++++++++++-------- src/field/arena.ts | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 276cfa035b8..6e8339dd54c 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -64,7 +64,7 @@ export abstract class ArenaTag { } } - onOverlap(_arena: Arena): void {} + onOverlap(_arena: Arena, _source: Pokemon | null): void {} lapse(_arena: Arena): boolean { return this.turnCount < 1 || !!--this.turnCount; @@ -706,7 +706,7 @@ export class ArenaTrapTag extends ArenaTag { this.maxLayers = maxLayers; } - onOverlap(arena: Arena): void { + onOverlap(arena: Arena, _source: Pokemon | null): void { if (this.layers < this.maxLayers) { this.layers++; @@ -1427,11 +1427,7 @@ export class SuppressAbilitiesTag extends ArenaTag { public override onAdd(_arena: Arena): void { const pokemon = this.getSourcePokemon(); if (pokemon) { - globalScene.queueMessage( - i18next.t("arenaTag:neutralizingGasOnAdd", { - pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), - }), - ); + this.playActivationMessage(pokemon); for (const fieldPokemon of globalScene.getField(true)) { if (fieldPokemon && fieldPokemon.id !== pokemon.id) { @@ -1441,8 +1437,9 @@ export class SuppressAbilitiesTag extends ArenaTag { } } - public override onOverlap(_arena: Arena): void { + public override onOverlap(_arena: Arena, source: Pokemon | null): void { this.sourceCount++; + this.playActivationMessage(source); } public onSourceLeave(arena: Arena): void { @@ -1481,6 +1478,16 @@ export class SuppressAbilitiesTag extends ArenaTag { public isBeingRemoved() { return this.beingRemoved; } + + private playActivationMessage(pokemon: Pokemon | null) { + if (pokemon) { + globalScene.queueMessage( + i18next.t("arenaTag:neutralizingGasOnAdd", { + pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), + }), + ); + } + } } // TODO: swap `sourceMove` and `sourceId` and make `sourceMove` an optional parameter diff --git a/src/field/arena.ts b/src/field/arena.ts index 997b80b3237..2c538de890f 100644 --- a/src/field/arena.ts +++ b/src/field/arena.ts @@ -673,7 +673,7 @@ export class Arena { ): boolean { const existingTag = this.getTagOnSide(tagType, side); if (existingTag) { - existingTag.onOverlap(this); + existingTag.onOverlap(this, globalScene.getPokemonById(sourceId)); if (existingTag instanceof ArenaTrapTag) { const { tagType, side, turnCount, layers, maxLayers } = existingTag as ArenaTrapTag; From 3b99d3aea211e3421f4cbf99271f190c95815b52 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Tue, 18 Mar 2025 18:52:49 -0700 Subject: [PATCH 004/129] [Misc] Add `* -crlf` to `.gitattributes` (#5539) --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index dfe0770424b..a6bfb838587 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ # Auto detect text files and perform LF normalization * text=auto +* -crlf From b1d494eadbf057da6e11bdb330a462935f321e12 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Wed, 19 Mar 2025 04:22:52 +0100 Subject: [PATCH 005/129] [UI/UX] [Bug] Icons for egg moves and passives show up even when not unlocked (#5540) Reworked icons to more compact code --- src/ui/pokedex-ui-handler.ts | 50 +++++++++++++++--------------------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index f4cb9f51c16..f3625f64476 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -1742,36 +1742,26 @@ export default class PokedexUiHandler extends MessageUiHandler { container.icon.setTint(0); } - if (data.eggMove1) { - container.eggMove1Icon.setVisible(true); - } else { - container.eggMove1Icon.setVisible(false); - } - if (data.eggMove2) { - container.eggMove2Icon.setVisible(true); - } else { - container.eggMove2Icon.setVisible(false); - } - if (data.tmMove1) { - container.tmMove1Icon.setVisible(true); - } else { - container.tmMove1Icon.setVisible(false); - } - if (data.tmMove2) { - container.tmMove2Icon.setVisible(true); - } else { - container.tmMove2Icon.setVisible(false); - } - if (data.passive1) { - container.passive1Icon.setVisible(true); - } else { - container.passive1Icon.setVisible(false); - } - if (data.passive2) { - container.passive2Icon.setVisible(true); - } else { - container.passive2Icon.setVisible(false); - } + const pairs: [boolean | undefined, Phaser.GameObjects.Image][] = [ + [data.eggMove1, container.eggMove1Icon], + [data.eggMove2, container.eggMove2Icon], + [data.tmMove1, container.tmMove1Icon], + [data.tmMove2, container.tmMove2Icon], + [data.passive1, container.passive1Icon], + [data.passive2, container.passive2Icon], + ]; + + pairs.forEach(([unlocked, icon]) => { + if (unlocked) { + icon.setVisible(true); + icon.clearTint(); + } else if (unlocked === false) { + icon.setVisible(true); + icon.setTint(0x808080); + } else { + icon.setVisible(false); + } + }); if (this.showDecorations) { if (this.pokerusSpecies.includes(data.species)) { From b2848af8990da1b4d5d8ee45736a3c8fc6a6a88a Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Tue, 18 Mar 2025 21:00:46 -0700 Subject: [PATCH 006/129] [Test] Add ability overrides to Tailwind tests (#5541) --- test/moves/tailwind.test.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/test/moves/tailwind.test.ts b/test/moves/tailwind.test.ts index 24a7fa25061..591b94408ce 100644 --- a/test/moves/tailwind.test.ts +++ b/test/moves/tailwind.test.ts @@ -1,9 +1,9 @@ -import { Stat } from "#enums/stat"; import { ArenaTagSide } from "#app/data/arena-tag"; import { ArenaTagType } from "#app/enums/arena-tag-type"; -import { TurnEndPhase } from "#app/phases/turn-end-phase"; +import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; +import { Stat } from "#enums/stat"; import GameManager from "#test/testUtils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; @@ -24,13 +24,16 @@ describe("Moves - Tailwind", () => { beforeEach(() => { game = new GameManager(phaserGame); - game.override.battleType("double"); - game.override.moveset([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]); - game.override.enemyMoveset(Moves.SPLASH); + game.override + .battleType("double") + .moveset([Moves.TAILWIND, Moves.SPLASH]) + .enemyMoveset(Moves.SPLASH) + .enemyAbility(Abilities.BALL_FETCH) + .ability(Abilities.BALL_FETCH); }); it("doubles the Speed stat of the Pokemons on its side", async () => { - await game.startBattle([Species.MAGIKARP, Species.MEOWTH]); + await game.classicMode.startBattle([Species.MAGIKARP, Species.MEOWTH]); const magikarp = game.scene.getPlayerField()[0]; const meowth = game.scene.getPlayerField()[1]; @@ -43,7 +46,7 @@ describe("Moves - Tailwind", () => { game.move.select(Moves.TAILWIND); game.move.select(Moves.SPLASH, 1); - await game.phaseInterceptor.to(TurnEndPhase); + await game.phaseInterceptor.to("TurnEndPhase"); expect(magikarp.getEffectiveStat(Stat.SPD)).toBe(magikarpSpd * 2); expect(meowth.getEffectiveStat(Stat.SPD)).toBe(meowthSpd * 2); @@ -53,7 +56,7 @@ describe("Moves - Tailwind", () => { it("lasts for 4 turns", async () => { game.override.battleType("single"); - await game.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([Species.MAGIKARP]); game.move.select(Moves.TAILWIND); await game.toNextTurn(); @@ -76,7 +79,7 @@ describe("Moves - Tailwind", () => { it("does not affect the opposing side", async () => { game.override.battleType("single"); - await game.startBattle([Species.MAGIKARP]); + await game.classicMode.startBattle([Species.MAGIKARP]); const ally = game.scene.getPlayerPokemon()!; const enemy = game.scene.getEnemyPokemon()!; @@ -91,7 +94,7 @@ describe("Moves - Tailwind", () => { game.move.select(Moves.TAILWIND); - await game.phaseInterceptor.to(TurnEndPhase); + await game.phaseInterceptor.to("TurnEndPhase"); expect(ally.getEffectiveStat(Stat.SPD)).toBe(allySpd * 2); expect(enemy.getEffectiveStat(Stat.SPD)).equal(enemySpd); From a1a6b0dd5a66e9323289f20aeb0c49da1d375b30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matilde=20Sim=C3=B5es?= Date: Wed, 19 Mar 2025 22:01:33 +0000 Subject: [PATCH 007/129] [Bug] Nicknames not properly sanitized (#5537) * Fix #5082: Nicknames not properly sanitized When a player changes the name of the pokemon to one that uses one of the following combination of letters: "@c{}", "@s{}", "@d{}", "@f{}" and "$" the game shows the name of the pokemon incorrectly in a battle. Changes made: - on message-ui-handler.ts file I updated the "showTextInternal" function to get the original name of the pokemon or pokemons (in case it's a double battle) saving it in a list named "pokename" and change it in the text for their correspondent placeholder which is saved in the list "repname" (e.g "#POKEMON1" for the first pokemon and "#POKEMON2" for the second pokemon). After the text is properly modified because of the special characters ("@c{}", "@s{}", "@d{}", "@f{}") the name of the pokemons is replaced to it's original value. - on message-phase.ts file I updated the "start" function to use a similar approach but only change the pokemon name to it's original form after the "pageIndex" (which checks the index of the "$") is updated, so the text is cut properly. - on ui.ts file I updated the "showtext" function to use same approach of the previous files, ensuring that the pokemon names were only replaced back to their original values after all text processing on "$" was completed. * Replace `let` with `const` --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/phases/message-phase.ts | 31 +++++++++++++++++++++---------- src/ui/message-ui-handler.ts | 9 +++++++++ src/ui/ui.ts | 11 +++++++++++ 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/phases/message-phase.ts b/src/phases/message-phase.ts index f671307d86a..2a5bcf6b99c 100644 --- a/src/phases/message-phase.ts +++ b/src/phases/message-phase.ts @@ -28,17 +28,28 @@ export class MessagePhase extends Phase { super.start(); if (this.text.indexOf("$") > -1) { + const pokename: string[] = []; + const repname = [ "#POKEMON1", "#POKEMON2" ]; + for (let p = 0; p < globalScene.getPlayerField().length; p++) { + pokename.push(globalScene.getPlayerField()[p].getNameToRender()); + this.text = this.text.split(pokename[p]).join(repname[p]); + } const pageIndex = this.text.indexOf("$"); - globalScene.unshiftPhase( - new MessagePhase( - this.text.slice(pageIndex + 1), - this.callbackDelay, - this.prompt, - this.promptDelay, - this.speaker, - ), - ); - this.text = this.text.slice(0, pageIndex).trim(); + for (let p = 0; p < globalScene.getPlayerField().length; p++) { + this.text = this.text.split(repname[p]).join(pokename[p]); + } + if (pageIndex !== -1) { + globalScene.unshiftPhase( + new MessagePhase( + this.text.slice(pageIndex + 1), + this.callbackDelay, + this.prompt, + this.promptDelay, + this.speaker, + ), + ); + this.text = this.text.slice(0, pageIndex).trim(); + } } if (this.speaker) { diff --git a/src/ui/message-ui-handler.ts b/src/ui/message-ui-handler.ts index 50522152021..230b951de59 100644 --- a/src/ui/message-ui-handler.ts +++ b/src/ui/message-ui-handler.ts @@ -76,6 +76,12 @@ export default abstract class MessageUiHandler extends AwaitableUiHandler { const fadeMap = new Map(); const actionPattern = /@(c|d|s|f)\{(.*?)\}/; let actionMatch: RegExpExecArray | null; + const pokename: string[] = []; + const repname = [ "#POKEMON1", "#POKEMON2" ]; + for (let p = 0; p < globalScene.getPlayerField().length; p++) { + pokename.push(globalScene.getPlayerField()[p].getNameToRender()); + text = text.split(pokename[p]).join(repname[p]); + } while ((actionMatch = actionPattern.exec(text))) { switch (actionMatch[1]) { case "c": @@ -94,6 +100,9 @@ export default abstract class MessageUiHandler extends AwaitableUiHandler { text = text.slice(0, actionMatch.index) + text.slice(actionMatch.index + actionMatch[2].length + 4); } + for (let p = 0; p < globalScene.getPlayerField().length; p++) { + text = text.split(repname[p]).join(pokename[p]); + } if (text) { // Predetermine overflow line breaks to avoid words breaking while displaying const textWords = text.split(" "); diff --git a/src/ui/ui.ts b/src/ui/ui.ts index 7c202e9210d..026e42ccf46 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -328,17 +328,28 @@ export default class UI extends Phaser.GameObjects.Container { prompt?: boolean | null, promptDelay?: number | null, ): void { + const pokename: string[] = []; + const repname = [ "#POKEMON1", "#POKEMON2" ]; + for (let p = 0; p < globalScene.getPlayerField().length; p++) { + pokename.push(globalScene.getPlayerField()[p].getNameToRender()); + text = text.split(pokename[p]).join(repname[p]); + } if (prompt && text.indexOf("$") > -1) { const messagePages = text.split(/\$/g).map(m => m.trim()); // biome-ignore lint/complexity/useOptionalChain: optional chain would change this to be null instead of undefined. let showMessageAndCallback = () => callback && callback(); for (let p = messagePages.length - 1; p >= 0; p--) { const originalFunc = showMessageAndCallback; + messagePages[p] = messagePages[p].split(repname[0]).join(pokename[0]); + messagePages[p] = messagePages[p].split(repname[1]).join(pokename[1]); showMessageAndCallback = () => this.showText(messagePages[p], null, originalFunc, null, true); } showMessageAndCallback(); } else { const handler = this.getHandler(); + for (let p = 0; p < globalScene.getPlayerField().length; p++) { + text = text.split(repname[p]).join(pokename[p]); + } if (handler instanceof MessageUiHandler) { (handler as MessageUiHandler).showText(text, delay, callback, callbackDelay, prompt, promptDelay); } else { From 3f887988a6126d96e3624c3dcd34884746c04e6e Mon Sep 17 00:00:00 2001 From: Matheus Rabello Noya Alves Date: Wed, 19 Mar 2025 22:45:41 +0000 Subject: [PATCH 008/129] [Bug] [UI/UX] Smack Down and Thousand Arrows now display a message for Grounding (#5536) Fix #5027: Missing confirmation message for moves special effects When using the moves Thousand Arrows and Smack Down, though the special effect of grounding the opponent is applied, a confirming message was not displayed. In this fix a new AddBattlerTagAttr subclass has been created to handle the message display, compared to previous multiple attribute additions. This new subclass verifies the conditions for the message to be displayed through asserting if target is grounded and accesses a new locale message created to display if necessary. --- src/data/moves/move.ts | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index f2157ab65b7..3d80b6b3f4c 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -5542,6 +5542,31 @@ export class LeechSeedAttr extends AddBattlerTagAttr { } } +/** + * Adds the appropriate battler tag for Smack Down and Thousand arrows + * @extends AddBattlerTagAttr + */ +export class FallDownAttr extends AddBattlerTagAttr { + constructor() { + super(BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true); + } + + /** + * Adds Grounded Tag to the target and checks if fallDown message should be displayed + * @param user the {@linkcode Pokemon} using the move + * @param target the {@linkcode Pokemon} targeted by the move + * @param move the {@linkcode Move} invoking this effect + * @param args n/a + * @returns `true` if the effect successfully applies; `false` otherwise + */ + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + if (!target.isGrounded()) { + globalScene.queueMessage(i18next.t("moveTriggers:fallDown", { targetPokemonName: getPokemonNameWithAffix(target) })); + } + return super.apply(user, target, move, args); + } +} + /** * Adds the appropriate battler tag for Gulp Missile when Surf or Dive is used. * @extends MoveEffectAttr @@ -9646,7 +9671,7 @@ export function initMoves() { .target(MoveTarget.BOTH_SIDES) .unimplemented(), new AttackMove(Moves.SMACK_DOWN, PokemonType.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, 100, 0, 5) - .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true) + .attr(FallDownAttr) .attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED) .attr(RemoveBattlerTagAttr, [ BattlerTagType.FLYING, BattlerTagType.FLOATING, BattlerTagType.TELEKINESIS ]) .attr(HitsTagAttr, BattlerTagType.FLYING) @@ -10097,7 +10122,7 @@ export function initMoves() { .triageMove(), new AttackMove(Moves.THOUSAND_ARROWS, PokemonType.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) .attr(NeutralDamageAgainstFlyingTypeMultiplierAttr) - .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true) + .attr(FallDownAttr) .attr(HitsTagAttr, BattlerTagType.FLYING) .attr(HitsTagAttr, BattlerTagType.FLOATING) .attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED) From 585f040057d0eef323918bb28b46981252da9aa4 Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Wed, 19 Mar 2025 16:25:14 -0700 Subject: [PATCH 009/129] [Test] Fix Chilly Reception Test Ability Overrides (#5543) * Fix ability overrides * Remove extraneous resets --- test/moves/chilly_reception.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test/moves/chilly_reception.test.ts b/test/moves/chilly_reception.test.ts index f90aaf6bb02..39342a921b6 100644 --- a/test/moves/chilly_reception.test.ts +++ b/test/moves/chilly_reception.test.ts @@ -27,8 +27,8 @@ describe("Moves - Chilly Reception", () => { .battleType("single") .moveset([Moves.CHILLY_RECEPTION, Moves.SNOWSCAPE]) .enemyMoveset(Array(4).fill(Moves.SPLASH)) - .enemyAbility(Abilities.NONE) - .ability(Abilities.NONE); + .enemyAbility(Abilities.BALL_FETCH) + .ability(Abilities.BALL_FETCH); }); it("should still change the weather if user can't switch out", async () => { @@ -72,7 +72,6 @@ describe("Moves - Chilly Reception", () => { game.override .battleType("single") .enemyMoveset([Moves.CHILLY_RECEPTION, Moves.TACKLE]) - .enemyAbility(Abilities.NONE) .moveset(Array(4).fill(Moves.SPLASH)); await game.classicMode.startBattle([Species.SLOWKING, Species.MEOWTH]); @@ -89,7 +88,6 @@ describe("Moves - Chilly Reception", () => { .battleType("single") .startingWave(8) .enemyMoveset(Array(4).fill(Moves.CHILLY_RECEPTION)) - .enemyAbility(Abilities.NONE) .enemySpecies(Species.MAGIKARP) .moveset([Moves.SPLASH, Moves.THUNDERBOLT]); From b3c7300c37ce0b7a13e54e12abe3df91f28f936c Mon Sep 17 00:00:00 2001 From: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com> Date: Thu, 20 Mar 2025 20:15:12 +0100 Subject: [PATCH 010/129] [Sprite] Fixing the naming issue in exp-sprite.json +Disabling few problematic exp's (#5526) * fixing the naming in exp-sprite.json * Did the same thing to 931 * Undo for 3 pokemons due to exp animation quality. * Corrected the Indicator for the exp being disabled * Charcadet line exp disable --- public/exp-sprites.json | 256 ++++++++++++++++++++-------------------- 1 file changed, 129 insertions(+), 127 deletions(-) diff --git a/public/exp-sprites.json b/public/exp-sprites.json index 50e10a8822d..c83fb910010 100644 --- a/public/exp-sprites.json +++ b/public/exp-sprites.json @@ -13,10 +13,10 @@ "1005", "1006", "1006", - "1007-apex", - "1007-apex", - "1008-ultimate", - "1008-ultimate", + "1007-apex-build-Disabled", + "1007-apex-build-Disabled", + "1008-ultimate-mode-Disabled", + "1008-ultimate-mode-Disabled", "115-mega", "115-mega", "127-mega", @@ -185,9 +185,9 @@ "531-mega", "569-gigantamax", "569-gigantamax", - "6-mega", - "6-mega", "6-mega-x", + "6-mega-x", + "6-mega-y", "6-mega-y", "6058", "6058", @@ -825,8 +825,8 @@ "873", "874", "874", - "875-no", - "875-no", + "875-no-ice", + "875-no-ice", "875", "875", "876-female", @@ -963,26 +963,26 @@ "929", "930", "930", - "931-blue", - "931-blue", - "931-green", - "931-green", - "931-white", - "931-white", - "931-yellow", - "931-yellow", + "931-blue-plumage-Disabled", + "931-blue-plumage-Disabled", + "931-green-plumage-Disabled", + "931-green-plumage-Disabled", + "931-white-plumage-Disabled", + "931-white-plumage-Disabled", + "931-yellow-plumage-Disabled", + "931-yellow-plumage-Disabled", "932", "932", "933", "933", "934", "934", - "935", - "935", - "936", - "936", - "937", - "937", + "935-Disabled", + "935-Disabled", + "936-Disabled", + "936-Disabled", + "937-Disabled", + "937-Disabled", "938", "938", "939", @@ -1073,6 +1073,8 @@ "978-droopy", "978-stretchy", "978-stretchy", + "979-Disabled", + "979-Disabled", "980", "980", "981", @@ -1131,10 +1133,10 @@ "1005b", "1006b", "1006b", - "1007b-apex", - "1007b-apex", - "1008b-ultimate", - "1008b-ultimate", + "1007b-apex-build-Disabled", + "1007b-apex-build-Disabled", + "1008b-ultimate-mode-Disabled", + "1008b-ultimate-mode-Disabled", "115b-mega", "115b-mega", "127b-mega", @@ -1303,9 +1305,9 @@ "531b-mega", "569b-gigantamax", "569b-gigantamax", - "6b-mega", - "6b-mega", "6b-mega-x", + "6b-mega-x", + "6b-mega-y", "6b-mega-y", "6058b", "6058b", @@ -1943,8 +1945,8 @@ "873b", "874b", "874b", - "875b-no", - "875b-no", + "875b-no-ice", + "875b-no-ice", "875b", "875b", "876b-female", @@ -2083,26 +2085,26 @@ "929b", "930b", "930b", - "931b-blue", - "931b-blue", - "931b-green", - "931b-green", - "931b-white", - "931b-white", - "931b-yellow", - "931b-yellow", + "931b-blue-plumage-Disabled", + "931b-blue-plumage-Disabled", + "931b-green-plumage-Disabled", + "931b-green-plumage-Disabled", + "931b-white-plumage-Disabled", + "931b-white-plumage-Disabled", + "931b-yellow-plumage-Disabled", + "931b-yellow-plumage-Disabled", "932b", "932b", "933b", "933b", "934b", "934b", - "935b", - "935b", - "936b", - "936b", - "937b", - "937b", + "935b-Disabled", + "935b-Disabled", + "936b-Disabled", + "936b-Disabled", + "937b-Disabled", + "937b-Disabled", "938b", "938b", "939b", @@ -2251,10 +2253,10 @@ "1005sb", "1006sb", "1006sb", - "1007sb-apex", - "1007sb-apex", - "1008sb-ultimate", - "1008sb-ultimate", + "1007sb-apex-build-Disabled", + "1007sb-apex-build-Disabled", + "1008sb-ultimate-mode-Disabled", + "1008sb-ultimate-mode-Disabled", "115sb-mega", "115sb-mega", "127sb-mega", @@ -3063,8 +3065,8 @@ "873sb", "874sb", "874sb", - "875sb-no", - "875sb-no", + "875sb-no-ice", + "875sb-no-ice", "875sb", "875sb", "876sb-female", @@ -3203,26 +3205,26 @@ "929sb", "930sb", "930sb", - "931sb-blue", - "931sb-blue", - "931sb-green", - "931sb-green", - "931sb-white", - "931sb-white", - "931sb-yellow", - "931sb-yellow", + "931sb-blue-plumage-Disabled", + "931sb-blue-plumage-Disabled", + "931sb-green-plumage-Disabled", + "931sb-green-plumage-Disabled", + "931sb-white-plumage-Disabled", + "931sb-white-plumage-Disabled", + "931sb-yellow-plumage-Disabled", + "931sb-yellow-plumage-Disabled", "932sb", "932sb", "933sb", "933sb", "934sb", "934sb", - "935sb", - "935sb", - "936sb", - "936sb", - "937sb", - "937sb", + "935sb-Disabled", + "935sb-Disabled", + "936sb-Disabled", + "936sb-Disabled", + "937sb-Disabled", + "937sb-Disabled", "938sb", "938sb", "939sb", @@ -3376,10 +3378,10 @@ "1005s", "1006s", "1006s", - "1007s-apex", - "1007s-apex", - "1008s-ultimate", - "1008s-ultimate", + "1007s-apex-build-Disabled", + "1007s-apex-build-Disabled", + "1008s-ultimate-mode-Disabled", + "1008s-ultimate-mode-Disabled", "115s-mega", "115s-mega", "127s-mega", @@ -4188,8 +4190,8 @@ "873s", "874s", "874s", - "875s-no", - "875s-no", + "875s-no-ice", + "875s-no-ice", "875s", "875s", "876s-female", @@ -4328,26 +4330,26 @@ "929s", "930s", "930s", - "931s-blue", - "931s-blue", - "931s-green", - "931s-green", - "931s-white", - "931s-white", - "931s-yellow", - "931s-yellow", + "931s-blue-plumage-Disabled", + "931s-blue-plumage-Disabled", + "931s-green-plumage-Disabled", + "931s-green-plumage-Disabled", + "931s-white-plumage-Disabled", + "931s-white-plumage-Disabled", + "931s-yellow-plumage-Disabled", + "931s-yellow-plumage-Disabled", "932s", "932s", "933s", "933s", "934s", "934s", - "935s", - "935s", - "936s", - "936s", - "937s", - "937s", + "935s-Disabled", + "935s-Disabled", + "936s-Disabled", + "936s-Disabled", + "937s-Disabled", + "937s-Disabled", "938s", "938s", "939s", @@ -4438,6 +4440,8 @@ "978s-droopy", "978s-stretchy", "978s-stretchy", + "979s-Disabled", + "979s-Disabled", "980s", "980s", "981s", @@ -4485,11 +4489,10 @@ "1000", "1001", "1004", - "1007-apex", - "1007-apex", - "1007-apex", - "1007-apex", - "1008-ultimate", + "1007-apex-build-Disabled", + "1007-apex-build-Disabled", + "1008-ultimate-mode-Disabled", + "1008-ultimate-mode-Disabled", "127-mega", "142-mega", "150-mega", @@ -4698,21 +4701,21 @@ "933_3", "933_3", "934", - "935", - "935_3", - "935_3", - "936_1", - "936_1", - "936_2", - "936_2", - "936_3", - "936_3", - "937_1", - "937_1", - "937_2", - "937_2", - "937_3", - "937_3", + "935-Disabled", + "935_3-Disabled", + "935_3-Disabled", + "936_1-Disabled", + "936_1-Disabled", + "936_2-Disabled", + "936_2-Disabled", + "936_3-Disabled", + "936_3-Disabled", + "937_1-Disabled", + "937_1-Disabled", + "937_2-Disabled", + "937_2-Disabled", + "937_3-Disabled", + "937_3-Disabled", "94-mega_1", "94-mega_1", "94-mega_2", @@ -4755,11 +4758,10 @@ "1000b", "1001b", "1004b", - "1007b-apex", - "1007b-apex", - "1007b-apex", - "1007b-apex", - "1008b-ultimate", + "1007b-apex-build-Disabled", + "1007b-apex-build-Disabled", + "1008b-ultimate-mode-Disabled", + "1008b-ultimate-mode-Disabled", "127b-mega", "142b-mega", "150b-mega", @@ -4920,24 +4922,24 @@ "932b", "933b", "934b", - "935_1b", - "935_1b", - "935_2b", - "935_2b", - "935_3b", - "935_3b", - "936_1b", - "936_1b", - "936_2b", - "936_2b", - "936_3b", - "936_3b", - "937_1b", - "937_1b", - "937_2b", - "937_2b", - "937_3b", - "937_3b", + "935_1b-Disabled", + "935_1b-Disabled", + "935_2b-Disabled", + "935_2b-Disabled", + "935_3b-Disabled", + "935_3b-Disabled", + "936_1b-Disabled", + "936_1b-Disabled", + "936_2b-Disabled", + "936_2b-Disabled", + "936_3b-Disabled", + "936_3b-Disabled", + "937_1b-Disabled", + "937_1b-Disabled", + "937_2b-Disabled", + "937_2b-Disabled", + "937_3b-Disabled", + "937_3b-Disabled", "94b-mega", "948b", "949b", From 17e71a1b8affcac6def2fb180b8b53064c5384f5 Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Thu, 20 Mar 2025 12:26:49 -0700 Subject: [PATCH 011/129] [Bug] Fix Poison Heal Crash on beta (#5544) Fix !== null uses --- src/data/ability.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index ab78d1dd06c..d9e29c5506c 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3860,7 +3860,7 @@ export class PostTurnStatusHealAbAttr extends PostTurnAbAttr { } override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return (pokemon.status !== null) && this.effects.includes(pokemon.status.effect) && !pokemon.isFullHp(); + return !Utils.isNullOrUndefined(pokemon.status) && this.effects.includes(pokemon.status.effect) && !pokemon.isFullHp(); } /** @@ -4103,7 +4103,7 @@ export class FetchBallAbAttr extends PostTurnAbAttr { } override canApplyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean { - return !simulated && globalScene.currentBattle.lastUsedPokeball !== null && !!pokemon.isPlayer; + return !simulated && !Utils.isNullOrUndefined(globalScene.currentBattle.lastUsedPokeball) && !!pokemon.isPlayer; } /** From 66965bf7e29f1bc9c136451565870ab4da0300d4 Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Thu, 20 Mar 2025 12:37:16 -0700 Subject: [PATCH 012/129] [Bug] Fix Slow Start Message being Deferred (#5534) Fix deferred message --- src/data/battler-tags.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 43a7072fd12..7ff74d893b6 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -1922,10 +1922,6 @@ export class SlowStartTag extends AbilityBattlerTag { i18next.t("battlerTags:slowStartOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), }), - null, - false, - null, - true, ); } From c792d5e7046f06db415078854a6a4cc2bbb007be Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:53:27 -0400 Subject: [PATCH 013/129] [Balance] Changes to several trainer classes (#5505) * Changes to Biker, Baker, Beauty, Cyclist, Parasol Lady, Hex Maniac * Linting and extra beauty mons * Further changes * Find to some --------- Co-authored-by: damocleas --- src/data/balance/biomes.ts | 28 +++++---- src/data/trainer-config.ts | 126 ++++++++++++++++++++++++++++++++++--- 2 files changed, 134 insertions(+), 20 deletions(-) diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts index 71a48162e57..a4e051d80c9 100644 --- a/src/data/balance/biomes.ts +++ b/src/data/balance/biomes.ts @@ -1680,7 +1680,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.METROPOLIS]: { - [BiomePoolTier.COMMON]: [ TrainerType.CLERK, TrainerType.CYCLIST, TrainerType.OFFICER, TrainerType.WAITER ], + [BiomePoolTier.COMMON]: [ TrainerType.CLERK, TrainerType.CYCLIST, TrainerType.OFFICER, TrainerType.WAITER, TrainerType.BEAUTY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.BREEDER, TrainerType.DEPOT_AGENT, TrainerType.GUITARIST ], [BiomePoolTier.RARE]: [ TrainerType.ARTIST ], [BiomePoolTier.SUPER_RARE]: [], @@ -1713,7 +1713,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.SWAMP]: { - [BiomePoolTier.COMMON]: [], + [BiomePoolTier.COMMON]: [ TrainerType.PARASOL_LADY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], [BiomePoolTier.SUPER_RARE]: [], @@ -1724,7 +1724,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.BEACH]: { - [BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.PARASOL_LADY, TrainerType.SAILOR ], + [BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.SAILOR ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], [BiomePoolTier.SUPER_RARE]: [], @@ -1735,7 +1735,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.LAKE]: { - [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.FISHERMAN ], + [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.FISHERMAN, TrainerType.PARASOL_LADY ], [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], [BiomePoolTier.SUPER_RARE]: [], @@ -1790,7 +1790,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.DESERT]: { - [BiomePoolTier.COMMON]: [ TrainerType.SCIENTIST ], + [BiomePoolTier.COMMON]: [ TrainerType.SCIENTIST, TrainerType.BACKPACKER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], @@ -1812,8 +1812,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.MEADOW]: { - [BiomePoolTier.COMMON]: [ TrainerType.PARASOL_LADY ], - [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER ], + [BiomePoolTier.COMMON]: [ TrainerType.PARASOL_LADY, TrainerType.BEAUTY ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER, TrainerType.BAKER ], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -1879,7 +1879,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { }, [Biome.RUINS]: { [BiomePoolTier.COMMON]: [ TrainerType.PSYCHIC, TrainerType.SCIENTIST ], - [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BLACK_BELT ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BLACK_BELT, TrainerType.HEX_MANIAC ], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -7165,14 +7165,18 @@ export function initBiomes() { [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], [ Biome.CAVE, BiomePoolTier.COMMON ], [ Biome.BADLANDS, BiomePoolTier.COMMON ], - [ Biome.JUNGLE, BiomePoolTier.COMMON ] + [ Biome.JUNGLE, BiomePoolTier.COMMON ], + [ Biome.DESERT, BiomePoolTier.COMMON ] ] ], [ TrainerType.BAKER, [ - [ Biome.SLUM, BiomePoolTier.UNCOMMON ] + [ Biome.SLUM, BiomePoolTier.UNCOMMON ], + [ Biome.MEADOW, BiomePoolTier.UNCOMMON ] ] ], [ TrainerType.BEAUTY, [ + [ Biome.METROPOLIS, BiomePoolTier.COMMON ], + [ Biome.MEADOW, BiomePoolTier.COMMON ], [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] ]], [ TrainerType.BIKER, [ @@ -7247,7 +7251,8 @@ export function initBiomes() { ] ], [ TrainerType.PARASOL_LADY, [ - [ Biome.BEACH, BiomePoolTier.COMMON ], + [ Biome.SWAMP, BiomePoolTier.COMMON ], + [ Biome.LAKE, BiomePoolTier.COMMON ], [ Biome.MEADOW, BiomePoolTier.COMMON ] ] ], @@ -7313,6 +7318,7 @@ export function initBiomes() { ] ], [ TrainerType.HEX_MANIAC, [ + [ Biome.RUINS, BiomePoolTier.UNCOMMON ], [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ] ] ], diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 3884aa05b13..ffe5cdfe04c 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -23,6 +23,7 @@ import { Species } from "#enums/species"; import { TrainerType } from "#enums/trainer-type"; import { Gender } from "#app/data/gender"; import { signatureSpecies } from "./balance/signature-species"; +import { Abilities } from "#enums/abilities"; /** Minimum BST for Pokemon generated onto the Elite Four's teams */ const ELITE_FOUR_MINIMUM_BST = 460; @@ -1811,12 +1812,92 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.BAKER]: new TrainerConfig(++t) .setEncounterBgm(TrainerType.CLERK) .setMoneyMultiplier(1.35) - .setSpeciesFilter(s => s.isOfType(PokemonType.GRASS) || s.isOfType(PokemonType.FIRE)), - [TrainerType.BEAUTY]: new TrainerConfig(++t).setMoneyMultiplier(1.55).setEncounterBgm(TrainerType.PARASOL_LADY), + .setSpeciesFilter( + s => + [s.ability1, s.ability2, s.abilityHidden].some( + a => + !!a && + [ + Abilities.WHITE_SMOKE, + Abilities.GLUTTONY, + Abilities.HONEY_GATHER, + Abilities.HARVEST, + Abilities.CHEEK_POUCH, + Abilities.SWEET_VEIL, + Abilities.RIPEN, + Abilities.PURIFYING_SALT, + Abilities.WELL_BAKED_BODY, + Abilities.SUPERSWEET_SYRUP, + Abilities.HOSPITALITY, + ].includes(a), + ) || + s + .getLevelMoves() + .some(plm => + [Moves.SOFT_BOILED, Moves.SPORE, Moves.MILK_DRINK, Moves.OVERHEAT, Moves.TEATIME].includes(plm[1]), + ), + ), // Mons with baking related abilities or who learn Overheat, Teatime, Milk Drink, Spore, or Soft-Boiled by level + [TrainerType.BEAUTY]: new TrainerConfig(++t) + .setMoneyMultiplier(1.55) + .setEncounterBgm(TrainerType.PARASOL_LADY) + .setPartyTemplates( + trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, + trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG, + trainerPartyTemplates.THREE_AVG_SAME, + trainerPartyTemplates.THREE_AVG, + trainerPartyTemplates.FOUR_WEAK, + trainerPartyTemplates.ONE_STRONG, + ) + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [ + Species.MEOWTH, + Species.GOLDEEN, + Species.MAREEP, + Species.MARILL, + Species.SKITTY, + Species.GLAMEOW, + Species.PURRLOIN, + ], + [TrainerPoolTier.UNCOMMON]: [ + Species.SMOOCHUM, + Species.ROSELIA, + Species.LUVDISC, + Species.BLITZLE, + Species.SEWADDLE, + Species.PETILIL, + Species.MINCCINO, + Species.GOTHITA, + Species.SPRITZEE, + Species.FLITTLE, + ], + [TrainerPoolTier.RARE]: [ + Species.FEEBAS, + Species.FURFROU, + Species.SALANDIT, + Species.BRUXISH, + Species.HATENNA, + Species.SNOM, + Species.ALOLA_VULPIX, + ], + [TrainerPoolTier.SUPER_RARE]: [Species.CLAMPERL, Species.AMAURA, Species.SYLVEON, Species.GOOMY, Species.POPPLIO], + }), [TrainerType.BIKER]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) .setEncounterBgm(TrainerType.ROUGHNECK) - .setSpeciesFilter(s => s.isOfType(PokemonType.POISON)), + .setSpeciesPools({ + [TrainerPoolTier.COMMON]: [Species.EKANS, Species.KOFFING, Species.CROAGUNK, Species.VENIPEDE, Species.SCRAGGY], + [TrainerPoolTier.UNCOMMON]: [ + Species.GRIMER, + Species.VOLTORB, + Species.TEDDIURSA, + Species.MAGBY, + Species.SKORUPI, + Species.SANDILE, + Species.PAWNIARD, + Species.SHROODLE, + ], + [TrainerPoolTier.RARE]: [Species.VAROOM, Species.CYCLIZAR], + }), [TrainerType.BLACK_BELT]: new TrainerConfig(++t) .setHasGenders("Battle Girl", TrainerType.PSYCHIC) .setHasDouble("Crush Kin") @@ -1918,9 +1999,15 @@ export const trainerConfigs: TrainerConfigs = { .setEncounterBgm(TrainerType.CYCLIST) .setPartyTemplates(trainerPartyTemplates.TWO_WEAK, trainerPartyTemplates.ONE_AVG) .setSpeciesPools({ - [TrainerPoolTier.COMMON]: [Species.PICHU, Species.STARLY, Species.TAILLOW, Species.BOLTUND], - [TrainerPoolTier.UNCOMMON]: [Species.DODUO, Species.ELECTRIKE, Species.BLITZLE, Species.WATTREL], - [TrainerPoolTier.RARE]: [Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA], + [TrainerPoolTier.COMMON]: [Species.DODUO, Species.PICHU, Species.TAILLOW, Species.STARLY, Species.PONYTA], + [TrainerPoolTier.UNCOMMON]: [ + Species.ELECTRIKE, + Species.SHINX, + Species.BLITZLE, + Species.DUCKLETT, + Species.WATTREL, + ], + [TrainerPoolTier.RARE]: [Species.YANMA, Species.NINJASK, Species.WHIRLIPEDE, Species.EMOLGA, Species.SKIDDO], [TrainerPoolTier.SUPER_RARE]: [Species.ACCELGOR, Species.DREEPY], }), [TrainerType.DANCER]: new TrainerConfig(++t) @@ -1936,7 +2023,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.COMMON]: [Species.RALTS, Species.SPOINK, Species.LOTAD, Species.BUDEW], [TrainerPoolTier.UNCOMMON]: [Species.SPINDA, Species.SWABLU, Species.MARACTUS], [TrainerPoolTier.RARE]: [Species.BELLOSSOM, Species.HITMONTOP, Species.MIME_JR, Species.ORICORIO], - [TrainerPoolTier.SUPER_RARE]: [Species.POPPLIO], + [TrainerPoolTier.SUPER_RARE]: [Species.QUAXLY, Species.JANGMO_O], }), [TrainerType.DEPOT_AGENT]: new TrainerConfig(++t).setMoneyMultiplier(1.45).setEncounterBgm(TrainerType.CLERK), [TrainerType.DOCTOR]: new TrainerConfig(++t) @@ -2074,7 +2161,7 @@ export const trainerConfigs: TrainerConfigs = { trainerPartyTemplates.THREE_AVG, trainerPartyTemplates.TWO_STRONG, ) - .setSpeciesFilter(s => s.isOfType(PokemonType.GHOST)), + .setSpeciesFilter(s => s.isOfType(PokemonType.GHOST) || s.isOfType(PokemonType.PSYCHIC)), [TrainerType.NURSERY_AIDE]: new TrainerConfig(++t).setMoneyMultiplier(1.3).setEncounterBgm("lass"), [TrainerType.OFFICER]: new TrainerConfig(++t) .setMoneyMultiplier(1.55) @@ -2104,7 +2191,28 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.PARASOL_LADY]: new TrainerConfig(++t) .setMoneyMultiplier(1.55) .setEncounterBgm(TrainerType.PARASOL_LADY) - .setSpeciesFilter(s => s.isOfType(PokemonType.WATER)), + .setPartyTemplates( + trainerPartyTemplates.TWO_AVG_SAME_ONE_AVG, + trainerPartyTemplates.TWO_AVG_SAME_ONE_STRONG, + trainerPartyTemplates.TWO_AVG, + trainerPartyTemplates.FOUR_WEAK, + trainerPartyTemplates.ONE_STRONG, + ) + .setSpeciesFilter( + s => + [s.ability1, s.ability2, s.abilityHidden].some( + a => + !!a && + [ + Abilities.DRIZZLE, + Abilities.SWIFT_SWIM, + Abilities.HYDRATION, + Abilities.RAIN_DISH, + Abilities.DRY_SKIN, + Abilities.WIND_POWER, + ].includes(a), + ) || s.getLevelMoves().some(plm => plm[1] === Moves.RAIN_DANCE), + ), // Mons with rain abilities or who learn Rain Dance by level [TrainerType.PILOT]: new TrainerConfig(++t) .setEncounterBgm(TrainerType.CLERK) .setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1), From 87b78e6b706924d435f57924c991d9705b93972b Mon Sep 17 00:00:00 2001 From: damocleas Date: Sat, 22 Mar 2025 15:47:41 -0400 Subject: [PATCH 014/129] [Balance] [Move] Made more moves callable with Metronome, Assist, Sleep Talk, and Copycat (#5549) Update invalid-moves.ts --- src/data/moves/invalid-moves.ts | 104 -------------------------------- 1 file changed, 104 deletions(-) diff --git a/src/data/moves/invalid-moves.ts b/src/data/moves/invalid-moves.ts index 50f815b9e58..64052902d9d 100644 --- a/src/data/moves/invalid-moves.ts +++ b/src/data/moves/invalid-moves.ts @@ -3,144 +3,47 @@ import { Moves } from "#enums/moves"; /** Set of moves that cannot be called by {@linkcode Moves.METRONOME Metronome} */ export const invalidMetronomeMoves: ReadonlySet = new Set([ Moves.AFTER_YOU, - Moves.APPLE_ACID, - Moves.ARMOR_CANNON, Moves.ASSIST, - Moves.ASTRAL_BARRAGE, - Moves.AURA_WHEEL, Moves.BANEFUL_BUNKER, Moves.BEAK_BLAST, - Moves.BEHEMOTH_BASH, - Moves.BEHEMOTH_BLADE, Moves.BELCH, Moves.BESTOW, - Moves.BLAZING_TORQUE, - Moves.BODY_PRESS, - Moves.BRANCH_POKE, - Moves.BREAKING_SWIPE, - Moves.CELEBRATE, - Moves.CHATTER, - Moves.CHILLING_WATER, - Moves.CHILLY_RECEPTION, - Moves.CLANGOROUS_SOUL, - Moves.COLLISION_COURSE, - Moves.COMBAT_TORQUE, Moves.COMEUPPANCE, Moves.COPYCAT, Moves.COUNTER, - Moves.COVET, Moves.CRAFTY_SHIELD, - Moves.DECORATE, Moves.DESTINY_BOND, Moves.DETECT, - Moves.DIAMOND_STORM, - Moves.DOODLE, - Moves.DOUBLE_IRON_BASH, - Moves.DOUBLE_SHOCK, - Moves.DRAGON_ASCENT, - Moves.DRAGON_ENERGY, - Moves.DRUM_BEATING, - Moves.DYNAMAX_CANNON, - Moves.ELECTRO_DRIFT, Moves.ENDURE, - Moves.ETERNABEAM, - Moves.FALSE_SURRENDER, Moves.FEINT, - Moves.FIERY_WRATH, - Moves.FILLET_AWAY, Moves.FLEUR_CANNON, Moves.FOCUS_PUNCH, Moves.FOLLOW_ME, - Moves.FREEZE_SHOCK, - Moves.FREEZING_GLARE, - Moves.GLACIAL_LANCE, - Moves.GRAV_APPLE, Moves.HELPING_HAND, - Moves.HOLD_HANDS, - Moves.HYPER_DRILL, - Moves.HYPERSPACE_FURY, - Moves.HYPERSPACE_HOLE, - Moves.ICE_BURN, Moves.INSTRUCT, - Moves.JET_PUNCH, - Moves.JUNGLE_HEALING, Moves.KINGS_SHIELD, - Moves.LIFE_DEW, - Moves.LIGHT_OF_RUIN, - Moves.MAKE_IT_RAIN, - Moves.MAGICAL_TORQUE, Moves.MAT_BLOCK, Moves.ME_FIRST, - Moves.METEOR_ASSAULT, Moves.METRONOME, Moves.MIMIC, - Moves.MIND_BLOWN, Moves.MIRROR_COAT, Moves.MIRROR_MOVE, - Moves.MOONGEIST_BEAM, - Moves.NATURE_POWER, - Moves.NATURES_MADNESS, - Moves.NOXIOUS_TORQUE, Moves.OBSTRUCT, - Moves.ORDER_UP, - Moves.ORIGIN_PULSE, - Moves.OVERDRIVE, - Moves.PHOTON_GEYSER, - Moves.PLASMA_FISTS, - Moves.POPULATION_BOMB, - Moves.POUNCE, - Moves.POWER_SHIFT, - Moves.PRECIPICE_BLADES, Moves.PROTECT, - Moves.PYRO_BALL, Moves.QUASH, Moves.QUICK_GUARD, - Moves.RAGE_FIST, Moves.RAGE_POWDER, - Moves.RAGING_BULL, - Moves.RAGING_FURY, - Moves.RELIC_SONG, Moves.REVIVAL_BLESSING, - Moves.RUINATION, - Moves.SALT_CURE, - Moves.SECRET_SWORD, - Moves.SHED_TAIL, Moves.SHELL_TRAP, Moves.SILK_TRAP, Moves.SKETCH, Moves.SLEEP_TALK, - Moves.SNAP_TRAP, - Moves.SNARL, Moves.SNATCH, Moves.SNORE, - Moves.SNOWSCAPE, - Moves.SPECTRAL_THIEF, - Moves.SPICY_EXTRACT, Moves.SPIKY_SHIELD, - Moves.SPIRIT_BREAK, Moves.SPOTLIGHT, - Moves.STEAM_ERUPTION, - Moves.STEEL_BEAM, - Moves.STRANGE_STEAM, Moves.STRUGGLE, - Moves.SUNSTEEL_STRIKE, - Moves.SURGING_STRIKES, - Moves.SWITCHEROO, - Moves.TECHNO_BLAST, - Moves.TERA_STARSTORM, - Moves.THIEF, - Moves.THOUSAND_ARROWS, - Moves.THOUSAND_WAVES, - Moves.THUNDER_CAGE, - Moves.THUNDEROUS_KICK, - Moves.TIDY_UP, - Moves.TRAILBLAZE, Moves.TRANSFORM, - Moves.TRICK, - Moves.TWIN_BEAM, - Moves.V_CREATE, - Moves.WICKED_BLOW, - Moves.WICKED_TORQUE, Moves.WIDE_GUARD, ]); @@ -157,7 +60,6 @@ export const invalidAssistMoves: ReadonlySet = new Set([ Moves.CIRCLE_THROW, Moves.COPYCAT, Moves.COUNTER, - Moves.COVET, Moves.DESTINY_BOND, Moves.DETECT, Moves.DIG, @@ -192,7 +94,6 @@ export const invalidAssistMoves: ReadonlySet = new Set([ Moves.SPOTLIGHT, Moves.STRUGGLE, Moves.SWITCHEROO, - Moves.THIEF, Moves.TRANSFORM, Moves.TRICK, Moves.WHIRLWIND, @@ -208,7 +109,6 @@ export const invalidSleepTalkMoves: ReadonlySet = new Set([ Moves.COPYCAT, Moves.DIG, Moves.DIVE, - Moves.DYNAMAX_CANNON, Moves.FREEZE_SHOCK, Moves.FLY, Moves.FOCUS_PUNCH, @@ -238,15 +138,12 @@ export const invalidCopycatMoves: ReadonlySet = new Set([ Moves.ASSIST, Moves.BANEFUL_BUNKER, Moves.BEAK_BLAST, - Moves.BEHEMOTH_BASH, - Moves.BEHEMOTH_BLADE, Moves.BESTOW, Moves.CELEBRATE, Moves.CHATTER, Moves.CIRCLE_THROW, Moves.COPYCAT, Moves.COUNTER, - Moves.COVET, Moves.DESTINY_BOND, Moves.DETECT, Moves.DRAGON_TAIL, @@ -274,7 +171,6 @@ export const invalidCopycatMoves: ReadonlySet = new Set([ Moves.SPOTLIGHT, Moves.STRUGGLE, Moves.SWITCHEROO, - Moves.THIEF, Moves.TRANSFORM, Moves.TRICK, Moves.WHIRLWIND, From d0a9672e91de1c7fcf87d1f81eede4faa7dc6a86 Mon Sep 17 00:00:00 2001 From: damocleas Date: Sat, 22 Mar 2025 16:18:08 -0400 Subject: [PATCH 015/129] [Balance] [Move] Add Fleur Cannon as a Metronome callableove (#5551) * Update invalid-moves.ts * forgot fleur cannon --- src/data/moves/invalid-moves.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/data/moves/invalid-moves.ts b/src/data/moves/invalid-moves.ts index 64052902d9d..7284831528a 100644 --- a/src/data/moves/invalid-moves.ts +++ b/src/data/moves/invalid-moves.ts @@ -16,7 +16,6 @@ export const invalidMetronomeMoves: ReadonlySet = new Set([ Moves.DETECT, Moves.ENDURE, Moves.FEINT, - Moves.FLEUR_CANNON, Moves.FOCUS_PUNCH, Moves.FOLLOW_ME, Moves.HELPING_HAND, From 4b8f1df8cd4bc98b985f05931befa11183e0443d Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Sat, 22 Mar 2025 14:46:58 -0700 Subject: [PATCH 016/129] [Bug] Add list of uncallable moves for Mirror Move (#5552) * Add list of uncallable moves for Mirror Move * Mirror Move now respects the uncallable moves list --------- Co-authored-by: damocleas --- src/data/moves/invalid-moves.ts | 66 +++++++++++++++++++++++++++++++++ src/data/moves/move.ts | 7 ++-- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/src/data/moves/invalid-moves.ts b/src/data/moves/invalid-moves.ts index 7284831528a..5cd45de7939 100644 --- a/src/data/moves/invalid-moves.ts +++ b/src/data/moves/invalid-moves.ts @@ -174,3 +174,69 @@ export const invalidCopycatMoves: ReadonlySet = new Set([ Moves.TRICK, Moves.WHIRLWIND, ]); + +export const invalidMirrorMoveMoves: ReadonlySet = new Set([ + Moves.ACUPRESSURE, + Moves.AFTER_YOU, + Moves.AROMATIC_MIST, + Moves.BEAK_BLAST, + Moves.BELCH, + Moves.CHILLY_RECEPTION, + Moves.COACHING, + Moves.CONVERSION_2, + Moves.COUNTER, + Moves.CRAFTY_SHIELD, + Moves.CURSE, + Moves.DECORATE, + Moves.DOODLE, + Moves.DOOM_DESIRE, + Moves.DRAGON_CHEER, + Moves.ELECTRIC_TERRAIN, + Moves.FINAL_GAMBIT, + Moves.FLORAL_HEALING, + Moves.FLOWER_SHIELD, + Moves.FOCUS_PUNCH, + Moves.FUTURE_SIGHT, + Moves.GEAR_UP, + Moves.GRASSY_TERRAIN, + Moves.GRAVITY, + Moves.GUARD_SPLIT, + Moves.HAIL, + Moves.HAZE, + Moves.HEAL_PULSE, + Moves.HELPING_HAND, + Moves.HOLD_HANDS, + Moves.INSTRUCT, + Moves.ION_DELUGE, + Moves.MAGNETIC_FLUX, + Moves.MAT_BLOCK, + Moves.ME_FIRST, + Moves.MIMIC, + Moves.MIRROR_COAT, + Moves.MIRROR_MOVE, + Moves.MIST, + Moves.MISTY_TERRAIN, + Moves.MUD_SPORT, + Moves.PERISH_SONG, + Moves.POWER_SPLIT, + Moves.PSYCH_UP, + Moves.PSYCHIC_TERRAIN, + Moves.PURIFY, + Moves.QUICK_GUARD, + Moves.RAIN_DANCE, + Moves.REFLECT_TYPE, + Moves.ROLE_PLAY, + Moves.ROTOTILLER, + Moves.SANDSTORM, + Moves.SHELL_TRAP, + Moves.SKETCH, + Moves.SNOWSCAPE, + Moves.SPIT_UP, + Moves.SPOTLIGHT, + Moves.STRUGGLE, + Moves.SUNNY_DAY, + Moves.TEATIME, + Moves.TRANSFORM, + Moves.WATER_SPORT, + Moves.WIDE_GUARD, +]); diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 3d80b6b3f4c..c7b5b4aec6b 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -125,7 +125,7 @@ import { MoveTarget } from "#enums/MoveTarget"; import { MoveFlags } from "#enums/MoveFlags"; import { MoveEffectTrigger } from "#enums/MoveEffectTrigger"; import { MultiHitType } from "#enums/MultiHitType"; -import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidSleepTalkMoves } from "./invalid-moves"; +import { invalidAssistMoves, invalidCopycatMoves, invalidMetronomeMoves, invalidMirrorMoveMoves, invalidSleepTalkMoves } from "./invalid-moves"; type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; type UserMoveConditionFunc = (user: Pokemon, move: Move) => boolean; @@ -6966,7 +6966,8 @@ export class CopyMoveAttr extends CallMoveAttr { getCondition(): MoveConditionFunc { return (user, target, move) => { if (this.mirrorMove) { - return target.getMoveHistory().length !== 0; + const lastMove = target.getLastXMoves()[0]?.move; + return !!lastMove && !this.invalidMoves.has(lastMove); } else { const lastMove = globalScene.currentBattle.lastMove; return lastMove !== undefined && !this.invalidMoves.has(lastMove); @@ -8562,7 +8563,7 @@ export function initMoves() { new SelfStatusMove(Moves.METRONOME, PokemonType.NORMAL, -1, 10, -1, 0, 1) .attr(RandomMoveAttr, invalidMetronomeMoves), new StatusMove(Moves.MIRROR_MOVE, PokemonType.FLYING, -1, 20, -1, 0, 1) - .attr(CopyMoveAttr, true), + .attr(CopyMoveAttr, true, invalidMirrorMoveMoves), new AttackMove(Moves.SELF_DESTRUCT, PokemonType.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, -1, 0, 1) .attr(SacrificialAttr) .makesContact(false) From 1e876ec595195d4094d3cccc076c8bd7d98a5099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Serrado=20Marques?= Date: Sun, 23 Mar 2025 19:07:14 +0000 Subject: [PATCH 017/129] [BUG] fixes #5472 - transform on reload (#5508) * [BUG] fixes #5472 - transform on reload * Fix the bug where transformed pokemon failed to load sprite on reload if it was not the base form * Now properly loads the transformed sprite assets during summon phase --- src/field/pokemon.ts | 2 +- src/phases/summon-phase.ts | 4 ++ src/system/pokemon-data.ts | 29 +++++++++++++- test/abilities/imposter.test.ts | 59 +++++++++++++++++++++++++++ test/moves/transform.test.ts | 70 ++++++++++++++++++++++++++++++++- 5 files changed, 160 insertions(+), 4 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 890c6bab0d6..42fe1dc1010 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -5575,7 +5575,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } this.resetBattleSummonData(); if (this.summonDataPrimer) { - for (const k of Object.keys(this.summonData)) { + for (const k of Object.keys(this.summonDataPrimer)) { if (this.summonDataPrimer[k]) { this.summonData[k] = this.summonDataPrimer[k]; } diff --git a/src/phases/summon-phase.ts b/src/phases/summon-phase.ts index 31cd2645e68..42463e7edb0 100644 --- a/src/phases/summon-phase.ts +++ b/src/phases/summon-phase.ts @@ -195,6 +195,10 @@ export class SummonPhase extends PartyMemberPokemonPhase { pokemon.cry(pokemon.getHpRatio() > 0.25 ? undefined : { rate: 0.85 }); pokemon.getSprite().clearTint(); pokemon.resetSummonData(); + // necessary to stay transformed during wild waves + if (pokemon.summonData?.speciesForm) { + pokemon.loadAssets(false); + } globalScene.time.delayedCall(1000, () => this.end()); }, }); diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts index 4e694bc1189..76f5526e407 100644 --- a/src/system/pokemon-data.ts +++ b/src/system/pokemon-data.ts @@ -3,7 +3,7 @@ import { globalScene } from "#app/global-scene"; import type { Gender } from "../data/gender"; import type { Nature } from "#enums/nature"; import type { PokeballType } from "#enums/pokeball"; -import { getPokemonSpecies } from "../data/pokemon-species"; +import { getPokemonSpecies, getPokemonSpeciesForm } from "../data/pokemon-species"; import { Status } from "../data/status-effect"; import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon"; import { TrainerSlot } from "../data/trainer-config"; @@ -14,6 +14,7 @@ import { Moves } from "#enums/moves"; import type { Species } from "#enums/species"; import { CustomPokemonData } from "#app/data/custom-pokemon-data"; import type { PokemonType } from "#enums/pokemon-type"; +import { getSpeciesFormChangeMessage } from "#app/data/pokemon-forms"; export default class PokemonData { public id: number; @@ -63,6 +64,7 @@ export default class PokemonData { public bossSegments?: number; public summonData: PokemonSummonData; + public summonDataSpeciesFormIndex: number; /** Data that can customize a Pokemon in non-standard ways from its Species */ public customPokemonData: CustomPokemonData; @@ -145,8 +147,9 @@ export default class PokemonData { this.moveset = sourcePokemon.moveset; if (!forHistory) { this.status = sourcePokemon.status; - if (this.player) { + if (this.player && sourcePokemon.summonData) { this.summonData = sourcePokemon.summonData; + this.summonDataSpeciesFormIndex = this.getSummonDataSpeciesFormIndex(); } } } else { @@ -170,6 +173,8 @@ export default class PokemonData { this.summonData.ability = source.summonData.ability; this.summonData.moveset = source.summonData.moveset?.map(m => PokemonMove.loadMove(m)); this.summonData.types = source.summonData.types; + this.summonData.speciesForm = source.summonData.speciesForm; + this.summonDataSpeciesFormIndex = source.summonDataSpeciesFormIndex; if (source.summonData.tags) { this.summonData.tags = source.summonData.tags?.map(t => loadBattlerTag(t)); @@ -213,8 +218,28 @@ export default class PokemonData { this, ); if (this.summonData) { + // when loading from saved session, recover summonData.speciesFrom and form index species object + // used to stay transformed on reload session + if (this.summonData.speciesForm) { + this.summonData.speciesForm = getPokemonSpeciesForm( + this.summonData.speciesForm.speciesId, + this.summonDataSpeciesFormIndex, + ); + } ret.primeSummonData(this.summonData); } return ret; } + + /** + * Method to save summon data species form index + * Necessary in case the pokemon is transformed + * to reload the correct form + */ + getSummonDataSpeciesFormIndex(): number { + if (this.summonData.speciesForm) { + return this.summonData.speciesForm.formIndex; + } + return 0; + } } diff --git a/test/abilities/imposter.test.ts b/test/abilities/imposter.test.ts index b4469cd9042..2c7302d04b7 100644 --- a/test/abilities/imposter.test.ts +++ b/test/abilities/imposter.test.ts @@ -127,4 +127,63 @@ describe("Abilities - Imposter", () => { expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); }); + + it("should persist transformed attributes across reloads", async () => { + game.override.moveset([Moves.ABSORB]); + + await game.classicMode.startBattle([Species.DITTO]); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.SPLASH); + await game.doKillOpponents(); + await game.toNextWave(); + + expect(game.scene.getCurrentPhase()?.constructor.name).toBe("CommandPhase"); + expect(game.scene.currentBattle.waveIndex).toBe(2); + + await game.reload.reloadSession(); + + const playerReloaded = game.scene.getPlayerPokemon()!; + const playerMoveset = player.getMoveset(); + + expect(playerReloaded.getSpeciesForm().speciesId).toBe(enemy.getSpeciesForm().speciesId); + expect(playerReloaded.getAbility()).toBe(enemy.getAbility()); + expect(playerReloaded.getGender()).toBe(enemy.getGender()); + + expect(playerReloaded.getStat(Stat.HP, false)).not.toBe(enemy.getStat(Stat.HP)); + for (const s of EFFECTIVE_STATS) { + expect(playerReloaded.getStat(s, false)).toBe(enemy.getStat(s, false)); + } + + expect(playerMoveset.length).toEqual(1); + expect(playerMoveset[0]?.moveId).toEqual(Moves.SPLASH); + }); + + it("should stay transformed with the correct form after reload", async () => { + game.override.moveset([Moves.ABSORB]); + game.override.enemySpecies(Species.UNOWN); + await game.classicMode.startBattle([Species.DITTO]); + + const enemy = game.scene.getEnemyPokemon()!; + + // change form + enemy.species.forms[5]; + enemy.species.formIndex = 5; + + game.move.select(Moves.SPLASH); + await game.doKillOpponents(); + await game.toNextWave(); + + expect(game.scene.getCurrentPhase()?.constructor.name).toBe("CommandPhase"); + expect(game.scene.currentBattle.waveIndex).toBe(2); + + await game.reload.reloadSession(); + + const playerReloaded = game.scene.getPlayerPokemon()!; + + expect(playerReloaded.getSpeciesForm().speciesId).toBe(enemy.getSpeciesForm().speciesId); + expect(playerReloaded.getSpeciesForm().formIndex).toBe(enemy.getSpeciesForm().formIndex); + }); }); diff --git a/test/moves/transform.test.ts b/test/moves/transform.test.ts index 5140202a383..d37decf28f4 100644 --- a/test/moves/transform.test.ts +++ b/test/moves/transform.test.ts @@ -6,6 +6,7 @@ import { TurnEndPhase } from "#app/phases/turn-end-phase"; import { Moves } from "#enums/moves"; import { Stat, BATTLE_STATS, EFFECTIVE_STATS } from "#enums/stat"; import { Abilities } from "#enums/abilities"; +import { BattlerIndex } from "#app/battle"; // TODO: Add more tests once Transform is fully implemented describe("Moves - Transform", () => { @@ -58,7 +59,7 @@ describe("Moves - Transform", () => { } const playerMoveset = player.getMoveset(); - const enemyMoveset = player.getMoveset(); + const enemyMoveset = enemy.getMoveset(); expect(playerMoveset.length).toBe(enemyMoveset.length); for (let i = 0; i < playerMoveset.length && i < enemyMoveset.length; i++) { @@ -127,4 +128,71 @@ describe("Moves - Transform", () => { expect(game.scene.getEnemyPokemon()?.getStatStage(Stat.ATK)).toBe(-1); }); + + it("should persist transformed attributes across reloads", async () => { + game.override.enemyMoveset([]).moveset([]); + + await game.classicMode.startBattle([Species.DITTO]); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + game.move.changeMoveset(player, Moves.TRANSFORM); + game.move.changeMoveset(enemy, Moves.MEMENTO); + + game.move.select(Moves.TRANSFORM); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.toNextWave(); + + expect(game.scene.getCurrentPhase()?.constructor.name).toBe("CommandPhase"); + expect(game.scene.currentBattle.waveIndex).toBe(2); + + await game.reload.reloadSession(); + + const playerReloaded = game.scene.getPlayerPokemon()!; + const playerMoveset = player.getMoveset(); + + expect(playerReloaded.getSpeciesForm().speciesId).toBe(enemy.getSpeciesForm().speciesId); + expect(playerReloaded.getAbility()).toBe(enemy.getAbility()); + expect(playerReloaded.getGender()).toBe(enemy.getGender()); + + expect(playerReloaded.getStat(Stat.HP, false)).not.toBe(enemy.getStat(Stat.HP)); + for (const s of EFFECTIVE_STATS) { + expect(playerReloaded.getStat(s, false)).toBe(enemy.getStat(s, false)); + } + + expect(playerMoveset.length).toEqual(1); + expect(playerMoveset[0]?.moveId).toEqual(Moves.MEMENTO); + }); + + it("should stay transformed with the correct form after reload", async () => { + game.override.enemyMoveset([]).moveset([]); + game.override.enemySpecies(Species.DARMANITAN); + + await game.classicMode.startBattle([Species.DITTO]); + + const player = game.scene.getPlayerPokemon()!; + const enemy = game.scene.getEnemyPokemon()!; + + // change form + enemy.species.forms[1]; + enemy.species.formIndex = 1; + + game.move.changeMoveset(player, Moves.TRANSFORM); + game.move.changeMoveset(enemy, Moves.MEMENTO); + + game.move.select(Moves.TRANSFORM); + await game.setTurnOrder([BattlerIndex.PLAYER, BattlerIndex.ENEMY]); + await game.toNextWave(); + + expect(game.scene.getCurrentPhase()?.constructor.name).toBe("CommandPhase"); + expect(game.scene.currentBattle.waveIndex).toBe(2); + + await game.reload.reloadSession(); + + const playerReloaded = game.scene.getPlayerPokemon()!; + + expect(playerReloaded.getSpeciesForm().speciesId).toBe(enemy.getSpeciesForm().speciesId); + expect(playerReloaded.getSpeciesForm().formIndex).toBe(enemy.getSpeciesForm().formIndex); + }); }); From 817095d8950d75c062c7c41ecf24c2f3c1bfe2d3 Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Sun, 23 Mar 2025 13:47:51 -0700 Subject: [PATCH 018/129] [Bug] Fix #2769 Revival Blessing Softlock in doubles (#5141) * Properly handle cases where enemy switches in due to revival * Fix user ally using move when revived * Move revival blessing function to move.ts * Properly filter for the right switch phase to remove * Re-add bug fix * Add test --- src/data/moves/move.ts | 14 +++++++++++--- test/moves/revival_blessing.test.ts | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index c7b5b4aec6b..9d470b86186 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -16,6 +16,7 @@ import type { AttackMoveResult, TurnMove } from "../../field/pokemon"; import type Pokemon from "../../field/pokemon"; import { EnemyPokemon, + FieldPosition, HitResult, MoveResult, PlayerPokemon, @@ -6158,9 +6159,16 @@ export class RevivalBlessingAttr extends MoveEffectAttr { if (globalScene.currentBattle.double && globalScene.getEnemyParty().length > 1) { const allyPokemon = user.getAlly(); - if (slotIndex <= 1) { - globalScene.unshiftPhase(new SwitchSummonPhase(SwitchType.SWITCH, pokemon.getFieldIndex(), slotIndex, false, false)); - } else if (allyPokemon.isFainted()) { + // Handle cases where revived pokemon needs to get switched in on same turn + if (allyPokemon.isFainted() || allyPokemon === pokemon) { + // Enemy switch phase should be removed and replaced with the revived pkmn switching in + globalScene.tryRemovePhase((phase: SwitchSummonPhase) => phase instanceof SwitchSummonPhase && phase.getPokemon() === pokemon); + // If the pokemon being revived was alive earlier in the turn, cancel its move + // (revived pokemon can't move in the turn they're brought back) + globalScene.findPhase((phase: MovePhase) => phase.pokemon === pokemon)?.cancel(); + if (user.fieldPosition === FieldPosition.CENTER) { + user.setFieldPosition(FieldPosition.LEFT); + } globalScene.unshiftPhase(new SwitchSummonPhase(SwitchType.SWITCH, allyPokemon.getFieldIndex(), slotIndex, false, false)); } } diff --git a/test/moves/revival_blessing.test.ts b/test/moves/revival_blessing.test.ts index 187b5e62e76..1ceb850edea 100644 --- a/test/moves/revival_blessing.test.ts +++ b/test/moves/revival_blessing.test.ts @@ -114,4 +114,25 @@ describe("Moves - Revival Blessing", () => { expect(feebas.hp).toBe(toDmgValue(0.5 * feebas.getMaxHp())); expect(game.scene.getPlayerField()[0]).toBe(feebas); }); + + it("should not summon multiple pokemon to the same slot when reviving the enemy ally in doubles", async () => { + game.override + .battleType("double") + .enemyMoveset([ Moves.REVIVAL_BLESSING ]) + .moveset([ Moves.SPLASH ]) + .startingWave(25); // 2nd rival battle - must have 3+ pokemon + await game.classicMode.startBattle([ Species.ARCEUS, Species.GIRATINA ]); + + const enemyFainting = game.scene.getEnemyField()[0]; + + game.move.select(Moves.SPLASH, 0); + game.move.select(Moves.SPLASH, 1); + await game.killPokemon(enemyFainting); + + await game.phaseInterceptor.to("BerryPhase"); + await game.toNextTurn(); + // If there are incorrectly two switch phases into this slot, the fainted pokemon will end up in slot 3 + // Make sure it's still in slot 1 + expect(game.scene.getEnemyParty()[0]).toBe(enemyFainting); + }); }); From 40e1e7fd4eb3a852c92433683fbe7e11279a6055 Mon Sep 17 00:00:00 2001 From: schmidtc1 <62030095+schmidtc1@users.noreply.github.com> Date: Sun, 23 Mar 2025 18:59:19 -0400 Subject: [PATCH 019/129] [Bug] Fix Reviver Seed and endure triggering on indirect damage (#5182) * Create new turnData field for tracking damageResults, check for HitResult in Reviver Seed modifier * Optional chaining for cases like stealth rock * Adds HitResult.SELF for confusion to distinguish from indirect damage * Adds HitResult.SELF to damage sound effect switch * Cover edge case of salt cure, insert HitResult for ALL damage regardless of optional variable * Change Liquid Ooze HitResult to OTHER from HEAL * Adjust OHKO moves to not bypass endure or RSeed * Add tests for reviver seed * Fixes endure to no longer block indirect damage, updates weather damage to be HitResult.OTHER, adds/fixes unit test * Change destiny bond to HitResult.OTHER so it doesn't trigger rseed * Adds destiny bond unit test * Creates additional unit tests for endure * Rename SELF hitresult to CONFUSION * Update CONFUSION enum * Refactors implementation per Wlowscha's suggestions: removes damageSources array and preventEndure variable * Rename HitResult.OTHER to INDIRECT, create INDIRECT_KO for PSong/DBond, add functionality for INDIRECT_KO to damageanim/number handler * Fixes hit result for stealth rock * Removes unnecessary check, makes DamageResult default to EFFECTIVE, updates remaining damageAndUpdate calls to use INDIRECT * Refactors damageAndUpdate to replace optional parameters with object parameter * Fixes based on Kev's suggestions * Updates tsdocs for damageAndUpdate * Fix merge conflict --------- Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> --- public/locales | 2 +- src/data/ability.ts | 12 +-- src/data/arena-tag.ts | 6 +- src/data/battler-tags.ts | 22 ++-- src/data/moves/move.ts | 19 ++-- src/field/damage-number-handler.ts | 1 + src/field/pokemon.ts | 79 +++++++------- src/modifier/modifier.ts | 3 +- src/phases/damage-anim-phase.ts | 6 +- src/phases/faint-phase.ts | 2 +- src/phases/pokemon-heal-phase.ts | 3 +- src/phases/weather-effect-phase.ts | 2 +- test/items/reviver_seed.test.ts | 159 +++++++++++++++++++++++++++++ test/moves/endure.test.ts | 39 +++++-- 14 files changed, 272 insertions(+), 83 deletions(-) create mode 100644 test/items/reviver_seed.test.ts diff --git a/public/locales b/public/locales index 6b3f37cb351..0e5c6096ba2 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 6b3f37cb351552721232f4dabefa17bddb5b9004 +Subproject commit 0e5c6096ba26f6b87aed1aab3fe9b0b23f6cbb7b diff --git a/src/data/ability.ts b/src/data/ability.ts index d9e29c5506c..3a14ad1456d 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -1064,7 +1064,7 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr { } override applyPostDefend(pokemon: Pokemon, _passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, _hitResult: HitResult, _args: any[]): void { - attacker.damageAndUpdate(Utils.toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER); + attacker.damageAndUpdate(Utils.toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); attacker.turnData.damageTaken += Utils.toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)); } @@ -3792,7 +3792,7 @@ export class PostWeatherLapseDamageAbAttr extends PostWeatherLapseAbAttr { if (!simulated) { const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name; globalScene.queueMessage(i18next.t("abilityTriggers:postWeatherLapseDamage", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName })); - pokemon.damageAndUpdate(Utils.toDmgValue(pokemon.getMaxHp() / (16 / this.damageFactor)), HitResult.OTHER); + pokemon.damageAndUpdate(Utils.toDmgValue(pokemon.getMaxHp() / (16 / this.damageFactor)), { result: HitResult.INDIRECT }); } } } @@ -4084,7 +4084,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr { for (const opp of pokemon.getOpponents()) { if ((opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(Abilities.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus) { if (!simulated) { - opp.damageAndUpdate(Utils.toDmgValue(opp.getMaxHp() / 8), HitResult.OTHER); + opp.damageAndUpdate(Utils.toDmgValue(opp.getMaxHp() / 8), { result: HitResult.INDIRECT }); globalScene.queueMessage(i18next.t("abilityTriggers:badDreams", { pokemonName: getPokemonNameWithAffix(opp) })); } } @@ -4567,7 +4567,7 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr { override applyPostFaint(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker?: Pokemon, move?: Move, hitResult?: HitResult, ...args: any[]): void { if (!simulated) { - attacker!.damageAndUpdate(Utils.toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER); + attacker!.damageAndUpdate(Utils.toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); attacker!.turnData.damageTaken += Utils.toDmgValue(attacker!.getMaxHp() * (1 / this.damageRatio)); } } @@ -4588,7 +4588,7 @@ export class PostFaintHPDamageAbAttr extends PostFaintAbAttr { override applyPostFaint(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker?: Pokemon, move?: Move, hitResult?: HitResult, ...args: any[]): void { if (move !== undefined && attacker !== undefined && !simulated) { //If the mon didn't die to indirect damage const damage = pokemon.turnData.attacksReceived[0].damage; - attacker.damageAndUpdate((damage), HitResult.OTHER); + attacker.damageAndUpdate((damage), { result: HitResult.INDIRECT }); attacker.turnData.damageTaken += damage; } } @@ -4989,7 +4989,7 @@ export class FormBlockDamageAbAttr extends ReceivedMoveDamageMultiplierAbAttr { (args[0] as Utils.NumberHolder).value = this.multiplier; pokemon.removeTag(this.tagType); if (this.recoilDamageFunc) { - pokemon.damageAndUpdate(this.recoilDamageFunc(pokemon), HitResult.OTHER, false, false, true, true); + pokemon.damageAndUpdate(this.recoilDamageFunc(pokemon), { result: HitResult.INDIRECT, ignoreSegments: true, ignoreFaintPhase: true }); } } } diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index 6e8339dd54c..8f1d6b09a73 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -788,7 +788,7 @@ class SpikesTag extends ArenaTrapTag { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), }), ); - pokemon.damageAndUpdate(damage, HitResult.OTHER); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); if (pokemon.turnData) { pokemon.turnData.damageTaken += damage; } @@ -982,7 +982,7 @@ class StealthRockTag extends ArenaTrapTag { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), }), ); - pokemon.damageAndUpdate(damage, HitResult.OTHER); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT }); if (pokemon.turnData) { pokemon.turnData.damageTaken += damage; } @@ -1327,7 +1327,7 @@ class FireGrassPledgeTag extends ArenaTag { globalScene.unshiftPhase( new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.MAGMA_STORM), ); - pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8)); + pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8), { result: HitResult.INDIRECT }); }); return super.lapse(arena); diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 7ff74d893b6..4952488b48e 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -757,7 +757,7 @@ export class ConfusedTag extends BattlerTag { ((((2 * pokemon.level) / 5 + 2) * 40 * atk) / def / 50 + 2) * (pokemon.randSeedIntRange(85, 100) / 100), ); globalScene.queueMessage(i18next.t("battlerTags:confusedLapseHurtItself")); - pokemon.damageAndUpdate(damage); + pokemon.damageAndUpdate(damage, { result: HitResult.CONFUSION }); pokemon.battleData.hitCount++; (globalScene.getCurrentPhase() as MovePhase).cancel(); } @@ -818,7 +818,7 @@ export class DestinyBondTag extends BattlerTag { pokemonNameWithAffix2: getPokemonNameWithAffix(pokemon), }), ); - pokemon.damageAndUpdate(pokemon.hp, HitResult.ONE_HIT_KO, false, false, true); + pokemon.damageAndUpdate(pokemon.hp, { result: HitResult.INDIRECT_KO, ignoreSegments: true }); return false; } } @@ -952,7 +952,7 @@ export class SeedTag extends BattlerTag { new CommonAnimPhase(source.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.LEECH_SEED), ); - const damage = pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8)); + const damage = pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8), { result: HitResult.INDIRECT }); const reverseDrain = pokemon.hasAbilityWithAttr(ReverseDrainAbAttr, false); globalScene.unshiftPhase( new PokemonHealPhase( @@ -1029,7 +1029,7 @@ export class PowderTag extends BattlerTag { const cancelDamage = new BooleanHolder(false); applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelDamage); if (!cancelDamage.value) { - pokemon.damageAndUpdate(Math.floor(pokemon.getMaxHp() / 4), HitResult.OTHER); + pokemon.damageAndUpdate(Math.floor(pokemon.getMaxHp() / 4), { result: HitResult.INDIRECT }); } // "When the flame touched the powder\non the Pokémon, it exploded!" @@ -1082,7 +1082,7 @@ export class NightmareTag extends BattlerTag { applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); if (!cancelled.value) { - pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 4)); + pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 4), { result: HitResult.INDIRECT }); } } @@ -1440,7 +1440,7 @@ export abstract class DamagingTrapTag extends TrappedTag { applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); if (!cancelled.value) { - pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8)); + pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8), { result: HitResult.INDIRECT }); } } @@ -1644,7 +1644,7 @@ export class ContactDamageProtectedTag extends ProtectedTag { if (effectPhase instanceof MoveEffectPhase && effectPhase.move.getMove().hasFlag(MoveFlags.MAKES_CONTACT)) { const attacker = effectPhase.getPokemon(); if (!attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) { - attacker.damageAndUpdate(toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER); + attacker.damageAndUpdate(toDmgValue(attacker.getMaxHp() * (1 / this.damageRatio)), { result: HitResult.INDIRECT }); } } } @@ -1810,7 +1810,7 @@ export class PerishSongTag extends BattlerTag { }), ); } else { - pokemon.damageAndUpdate(pokemon.hp, HitResult.ONE_HIT_KO, false, true, true); + pokemon.damageAndUpdate(pokemon.hp, { result: HitResult.INDIRECT_KO, ignoreSegments: true }); } return ret; @@ -2240,7 +2240,7 @@ export class SaltCuredTag extends BattlerTag { if (!cancelled.value) { const pokemonSteelOrWater = pokemon.isOfType(PokemonType.STEEL) || pokemon.isOfType(PokemonType.WATER); - pokemon.damageAndUpdate(toDmgValue(pokemonSteelOrWater ? pokemon.getMaxHp() / 4 : pokemon.getMaxHp() / 8)); + pokemon.damageAndUpdate(toDmgValue(pokemonSteelOrWater ? pokemon.getMaxHp() / 4 : pokemon.getMaxHp() / 8), { result: HitResult.INDIRECT }); globalScene.queueMessage( i18next.t("battlerTags:saltCuredLapse", { @@ -2288,7 +2288,7 @@ export class CursedTag extends BattlerTag { applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled); if (!cancelled.value) { - pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 4)); + pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 4), { result: HitResult.INDIRECT }); globalScene.queueMessage( i18next.t("battlerTags:cursedLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), @@ -2611,7 +2611,7 @@ export class GulpMissileTag extends BattlerTag { applyAbAttrs(BlockNonDirectDamageAbAttr, attacker, cancelled); if (!cancelled.value) { - attacker.damageAndUpdate(Math.max(1, Math.floor(attacker.getMaxHp() / 4)), HitResult.OTHER); + attacker.damageAndUpdate(Math.max(1, Math.floor(attacker.getMaxHp() / 4)), { result: HitResult.INDIRECT }); } if (this.tagType === BattlerTagType.GULP_MISSILE_ARROKUDA) { diff --git a/src/data/moves/move.ts b/src/data/moves/move.ts index 9d470b86186..1555967789c 100644 --- a/src/data/moves/move.ts +++ b/src/data/moves/move.ts @@ -1647,7 +1647,7 @@ export class RecoilAttr extends MoveEffectAttr { return false; } - user.damageAndUpdate(recoilDamage, HitResult.OTHER, false, true, true); + user.damageAndUpdate(recoilDamage, { result: HitResult.INDIRECT, ignoreSegments: true }); globalScene.queueMessage(i18next.t("moveTriggers:hitWithRecoil", { pokemonName: getPokemonNameWithAffix(user) })); user.turnData.damageTaken += recoilDamage; @@ -1679,7 +1679,7 @@ export class SacrificialAttr extends MoveEffectAttr { * @returns true if the function succeeds **/ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - user.damageAndUpdate(user.hp, HitResult.OTHER, false, true, true); + user.damageAndUpdate(user.hp, { result: HitResult.INDIRECT, ignoreSegments: true }); user.turnData.damageTaken += user.hp; return true; @@ -1717,7 +1717,7 @@ export class SacrificialAttrOnHit extends MoveEffectAttr { return false; } - user.damageAndUpdate(user.hp, HitResult.OTHER, false, true, true); + user.damageAndUpdate(user.hp, { result: HitResult.INDIRECT, ignoreSegments: true }); user.turnData.damageTaken += user.hp; return true; @@ -1759,7 +1759,7 @@ export class HalfSacrificialAttr extends MoveEffectAttr { // Check to see if the Pokemon has an ability that blocks non-direct damage applyAbAttrs(BlockNonDirectDamageAbAttr, user, cancelled); if (!cancelled.value) { - user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / 2), HitResult.OTHER, false, true, true); + user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / 2), { result: HitResult.INDIRECT, ignoreSegments: true }); globalScene.queueMessage(i18next.t("moveTriggers:cutHpPowerUpMove", { pokemonName: getPokemonNameWithAffix(user) })); // Queue recoil message } return true; @@ -1806,7 +1806,7 @@ export class AddSubstituteAttr extends MoveEffectAttr { } const damageTaken = this.roundUp ? Math.ceil(user.getMaxHp() * this.hpCost) : Math.floor(user.getMaxHp() * this.hpCost); - user.damageAndUpdate(damageTaken, HitResult.OTHER, false, true, true); + user.damageAndUpdate(damageTaken, { result: HitResult.INDIRECT, ignoreSegments: true, ignoreFaintPhase: true }); user.addTag(BattlerTagType.SUBSTITUTE, 0, move.id, user.id); return true; } @@ -1956,7 +1956,7 @@ export class FlameBurstAttr extends MoveEffectAttr { return false; } - targetAlly.damageAndUpdate(Math.max(1, Math.floor(1 / 16 * targetAlly.getMaxHp())), HitResult.OTHER); + targetAlly.damageAndUpdate(Math.max(1, Math.floor(1 / 16 * targetAlly.getMaxHp())), { result: HitResult.INDIRECT }); return true; } @@ -3435,9 +3435,8 @@ export class CutHpStatStageBoostAttr extends StatStageChangeAttr { this.cutRatio = cutRatio; this.messageCallback = messageCallback; } - override apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / this.cutRatio), HitResult.OTHER, false, true); + user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / this.cutRatio), { result: HitResult.INDIRECT }); user.updateInfo(); const ret = super.apply(user, target, move, args); if (this.messageCallback) { @@ -5329,7 +5328,7 @@ const crashDamageFunc = (user: Pokemon, move: Move) => { return false; } - user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / 2), HitResult.OTHER, false, true); + user.damageAndUpdate(Utils.toDmgValue(user.getMaxHp() / 2), { result: HitResult.INDIRECT }); globalScene.queueMessage(i18next.t("moveTriggers:keptGoingAndCrashed", { pokemonName: getPokemonNameWithAffix(user) })); user.turnData.damageTaken += Utils.toDmgValue(user.getMaxHp() / 2); @@ -5650,7 +5649,7 @@ export class CurseAttr extends MoveEffectAttr { return false; } const curseRecoilDamage = Math.max(1, Math.floor(user.getMaxHp() / 2)); - user.damageAndUpdate(curseRecoilDamage, HitResult.OTHER, false, true, true); + user.damageAndUpdate(curseRecoilDamage, { result: HitResult.INDIRECT, ignoreSegments: true }); globalScene.queueMessage( i18next.t("battlerTags:cursedOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(user), diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts index 63da641a114..9e0010a0c10 100644 --- a/src/field/damage-number-handler.ts +++ b/src/field/damage-number-handler.ts @@ -46,6 +46,7 @@ export default class DamageNumberHandler { case HitResult.NOT_VERY_EFFECTIVE: [textColor, shadowColor] = ["#f08030", "#c03028"]; break; + case HitResult.INDIRECT_KO: case HitResult.ONE_HIT_KO: [textColor, shadowColor] = ["#a040a0", "#483850"]; break; diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 42fe1dc1010..43bab0f049d 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -4465,11 +4465,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return result; } - // In case of fatal damage, this tag would have gotten cleared before we could lapse it. - const destinyTag = this.getTag(BattlerTagType.DESTINY_BOND); - const grudgeTag = this.getTag(BattlerTagType.GRUDGE); - - const isOneHitKo = result === HitResult.ONE_HIT_KO; + // In case of fatal damage, this tag would have gotten cleared before we could lapse it. + const destinyTag = this.getTag(BattlerTagType.DESTINY_BOND); + const grudgeTag = this.getTag(BattlerTagType.GRUDGE); if (dmg) { this.lapseTags(BattlerTagLapseType.HIT); @@ -4484,19 +4482,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { globalScene.applyModifiers(EnemyEndureChanceModifier, false, this); } - /** - * We explicitly require to ignore the faint phase here, as we want to show the messages - * about the critical hit and the super effective/not very effective messages before the faint phase. - */ - const damage = this.damageAndUpdate( - isBlockedBySubstitute ? 0 : dmg, - result as DamageResult, - isCritical, - isOneHitKo, - isOneHitKo, - true, - source, - ); + /** + * We explicitly require to ignore the faint phase here, as we want to show the messages + * about the critical hit and the super effective/not very effective messages before the faint phase. + */ + const damage = this.damageAndUpdate(isBlockedBySubstitute ? 0 : dmg, + { + result: result as DamageResult, + isCritical, + ignoreFaintPhase: true, + source + }); if (damage > 0) { if (source.isPlayer()) { @@ -4557,7 +4553,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { globalScene.unshiftPhase( new FaintPhase( this.getBattlerIndex(), - isOneHitKo, + false, destinyTag, grudgeTag, source, @@ -4635,28 +4631,37 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /** * Called by apply(), given the damage, adds a new DamagePhase and actually updates HP values, etc. + * Checks for 'Indirect' HitResults to account for Endure/Reviver Seed applying correctly * @param damage integer - passed to damage() * @param result an enum if it's super effective, not very, etc. - * @param critical boolean if move is a critical hit + * @param isCritical boolean if move is a critical hit * @param ignoreSegments boolean, passed to damage() and not used currently * @param preventEndure boolean, ignore endure properties of pokemon, passed to damage() * @param ignoreFaintPhase boolean to ignore adding a FaintPhase, passsed to damage() * @returns integer of damage done */ - damageAndUpdate( - damage: number, - result?: DamageResult, - critical = false, - ignoreSegments = false, - preventEndure = false, - ignoreFaintPhase = false, - source?: Pokemon, + damageAndUpdate(damage: number, + { + result = HitResult.EFFECTIVE, + isCritical = false, + ignoreSegments = false, + ignoreFaintPhase = false, + source = undefined, + }: + { + result?: DamageResult, + isCritical?: boolean, + ignoreSegments?: boolean, + ignoreFaintPhase?: boolean, + source?: Pokemon, + } = {} ): number { + const isIndirectDamage = [ HitResult.INDIRECT, HitResult.INDIRECT_KO ].includes(result); const damagePhase = new DamageAnimPhase( - this.getBattlerIndex(), - damage, - result as DamageResult, - critical, + this.getBattlerIndex(), + damage, + result as DamageResult, + isCritical ); globalScene.unshiftPhase(damagePhase); if (this.switchOutStatus && source) { @@ -4665,7 +4670,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { damage = this.damage( damage, ignoreSegments, - preventEndure, + isIndirectDamage, ignoreFaintPhase, ); // Damage amount may have changed, but needed to be queued before calling damage function @@ -7711,8 +7716,10 @@ export enum HitResult { HEAL, FAIL, MISS, - OTHER, + INDIRECT, IMMUNE, + CONFUSION, + INDIRECT_KO, } export type DamageResult = @@ -7720,7 +7727,9 @@ export type DamageResult = | HitResult.SUPER_EFFECTIVE | HitResult.NOT_VERY_EFFECTIVE | HitResult.ONE_HIT_KO - | HitResult.OTHER; + | HitResult.CONFUSION + | HitResult.INDIRECT_KO + | HitResult.INDIRECT; /** Interface containing the results of a damage calculation for a given move */ export interface DamageCalculationResult { diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index a084474ddac..4c59bfe1ef1 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -5,8 +5,7 @@ import { allMoves } from "#app/data/moves/move"; import { MAX_PER_TYPE_POKEBALLS } from "#app/data/pokeball"; import { type FormChangeItem, SpeciesFormChangeItemTrigger } from "#app/data/pokemon-forms"; import { getStatusEffectHealText } from "#app/data/status-effect"; -import type { PlayerPokemon } from "#app/field/pokemon"; -import Pokemon from "#app/field/pokemon"; +import Pokemon, { type PlayerPokemon } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import Overrides from "#app/overrides"; import { EvolutionPhase } from "#app/phases/evolution-phase"; diff --git a/src/phases/damage-anim-phase.ts b/src/phases/damage-anim-phase.ts index e31fe8c9475..703cd3d160e 100644 --- a/src/phases/damage-anim-phase.ts +++ b/src/phases/damage-anim-phase.ts @@ -21,7 +21,7 @@ export class DamageAnimPhase extends PokemonPhase { start() { super.start(); - if (this.damageResult === HitResult.ONE_HIT_KO) { + if (this.damageResult === HitResult.ONE_HIT_KO || this.damageResult === HitResult.INDIRECT_KO) { if (globalScene.moveAnimations) { globalScene.toggleInvert(true); } @@ -42,9 +42,11 @@ export class DamageAnimPhase extends PokemonPhase { applyDamage() { switch (this.damageResult) { case HitResult.EFFECTIVE: + case HitResult.CONFUSION: globalScene.playSound("se/hit"); break; case HitResult.SUPER_EFFECTIVE: + case HitResult.INDIRECT_KO: case HitResult.ONE_HIT_KO: globalScene.playSound("se/hit_strong"); break; @@ -57,7 +59,7 @@ export class DamageAnimPhase extends PokemonPhase { globalScene.damageNumberHandler.add(this.getPokemon(), this.amount, this.damageResult, this.critical); } - if (this.damageResult !== HitResult.OTHER && this.amount > 0) { + if (this.damageResult !== HitResult.INDIRECT && this.amount > 0) { const flashTimer = globalScene.time.addEvent({ delay: 100, repeat: 5, diff --git a/src/phases/faint-phase.ts b/src/phases/faint-phase.ts index 7fc7a517853..dfc0e0653a5 100644 --- a/src/phases/faint-phase.ts +++ b/src/phases/faint-phase.ts @@ -258,7 +258,7 @@ export class FaintPhase extends PokemonPhase { } else { // Final boss' HP threshold has been bypassed; cancel faint and force check for 2nd phase enemy.hp++; - globalScene.unshiftPhase(new DamageAnimPhase(enemy.getBattlerIndex(), 0, HitResult.OTHER)); + globalScene.unshiftPhase(new DamageAnimPhase(enemy.getBattlerIndex(), 0, HitResult.INDIRECT)); this.end(); } return true; diff --git a/src/phases/pokemon-heal-phase.ts b/src/phases/pokemon-heal-phase.ts index ab49def5a3d..ecfe99389eb 100644 --- a/src/phases/pokemon-heal-phase.ts +++ b/src/phases/pokemon-heal-phase.ts @@ -3,7 +3,6 @@ import type { BattlerIndex } from "#app/battle"; import { CommonAnim } from "#app/data/battle-anims"; import { getStatusEffectHealText } from "#app/data/status-effect"; import { StatusEffect } from "#app/enums/status-effect"; -import type { DamageResult } from "#app/field/pokemon"; import { HitResult } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; import { HealingBoosterModifier } from "#app/modifier/modifier"; @@ -79,7 +78,7 @@ export class PokemonHealPhase extends CommonAnimPhase { } const healAmount = new Utils.NumberHolder(Math.floor(this.hpHealed * hpRestoreMultiplier.value)); if (healAmount.value < 0) { - pokemon.damageAndUpdate(healAmount.value * -1, HitResult.HEAL as DamageResult); + pokemon.damageAndUpdate(healAmount.value * -1, { result: HitResult.INDIRECT }); healAmount.value = 0; } // Prevent healing to full if specified (in case of healing tokens so Sturdy doesn't cause a softlock) diff --git a/src/phases/weather-effect-phase.ts b/src/phases/weather-effect-phase.ts index 9199b7996bc..d7a1f193029 100644 --- a/src/phases/weather-effect-phase.ts +++ b/src/phases/weather-effect-phase.ts @@ -66,7 +66,7 @@ export class WeatherEffectPhase extends CommonAnimPhase { const damage = Utils.toDmgValue(pokemon.getMaxHp() / 16); globalScene.queueMessage(getWeatherDamageMessage(this.weather?.weatherType!, pokemon)!); // TODO: are those bangs correct? - pokemon.damageAndUpdate(damage, HitResult.EFFECTIVE, false, false, true); + pokemon.damageAndUpdate(damage, { result: HitResult.INDIRECT, ignoreSegments: true }); }; this.executeForAll((pokemon: Pokemon) => { diff --git a/test/items/reviver_seed.test.ts b/test/items/reviver_seed.test.ts new file mode 100644 index 00000000000..ab249d48a23 --- /dev/null +++ b/test/items/reviver_seed.test.ts @@ -0,0 +1,159 @@ +import { BattlerIndex } from "#app/battle"; +import { allMoves } from "#app/data/moves/move"; +import { BattlerTagType } from "#app/enums/battler-tag-type"; +import type { PokemonInstantReviveModifier } from "#app/modifier/modifier"; +import { Abilities } from "#enums/abilities"; +import { Moves } from "#enums/moves"; +import { Species } from "#enums/species"; +import GameManager from "#test/testUtils/gameManager"; +import Phaser from "phaser"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +describe("Items - Reviver Seed", () => { + let phaserGame: Phaser.Game; + let game: GameManager; + + beforeAll(() => { + phaserGame = new Phaser.Game({ + type: Phaser.HEADLESS, + }); + }); + + afterEach(() => { + game.phaseInterceptor.restoreOg(); + }); + + beforeEach(() => { + game = new GameManager(phaserGame); + game.override + .moveset([ Moves.SPLASH, Moves.TACKLE, Moves.ENDURE ]) + .ability(Abilities.BALL_FETCH) + .battleType("single") + .disableCrits() + .enemySpecies(Species.MAGIKARP) + .enemyAbility(Abilities.BALL_FETCH) + .startingHeldItems([{ name: "REVIVER_SEED" }]) + .enemyHeldItems([{ name: "REVIVER_SEED" }]) + .enemyMoveset(Moves.SPLASH); + vi.spyOn(allMoves[Moves.SHEER_COLD], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[Moves.LEECH_SEED], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[Moves.WHIRLPOOL], "accuracy", "get").mockReturnValue(100); + vi.spyOn(allMoves[Moves.WILL_O_WISP], "accuracy", "get").mockReturnValue(100); + }); + + it.each([ + { moveType: "Special Move", move: Moves.WATER_GUN }, + { moveType: "Physical Move", move: Moves.TACKLE }, + { moveType: "Fixed Damage Move", move: Moves.SEISMIC_TOSS }, + { moveType: "Final Gambit", move: Moves.FINAL_GAMBIT }, + { moveType: "Counter", move: Moves.COUNTER }, + { moveType: "OHKO", move: Moves.SHEER_COLD } + ])("should activate the holder's reviver seed from a $moveType", async ({ move }) => { + game.override + .enemyLevel(100) + .startingLevel(1) + .enemyMoveset(move); + await game.classicMode.startBattle([ Species.MAGIKARP, Species.FEEBAS ]); + const player = game.scene.getPlayerPokemon()!; + player.damageAndUpdate(player.hp - 1); + + const reviverSeed = player.getHeldItems()[0] as PokemonInstantReviveModifier; + vi.spyOn(reviverSeed, "apply"); + + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase"); + + expect(player.isFainted()).toBeFalsy(); + }); + + it("should activate the holder's reviver seed from confusion self-hit", async () => { + game.override + .enemyLevel(1) + .startingLevel(100) + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([ Species.MAGIKARP, Species.FEEBAS ]); + const player = game.scene.getPlayerPokemon()!; + player.damageAndUpdate(player.hp - 1); + player.addTag(BattlerTagType.CONFUSED, 3); + + const reviverSeed = player.getHeldItems()[0] as PokemonInstantReviveModifier; + vi.spyOn(reviverSeed, "apply"); + + vi.spyOn(player, "randSeedInt").mockReturnValue(0); // Force confusion self-hit + game.move.select(Moves.TACKLE); + await game.phaseInterceptor.to("BerryPhase"); + + expect(player.isFainted()).toBeFalsy(); + }); + + // Damaging opponents tests + it.each([ + { moveType: "Damaging Move Chip Damage", move: Moves.SALT_CURE }, + { moveType: "Chip Damage", move: Moves.LEECH_SEED }, + { moveType: "Trapping Chip Damage", move: Moves.WHIRLPOOL }, + { moveType: "Status Effect Damage", move: Moves.WILL_O_WISP }, + { moveType: "Weather", move: Moves.SANDSTORM }, + ])("should not activate the holder's reviver seed from $moveType", async ({ move }) => { + game.override + .enemyLevel(1) + .startingLevel(100) + .enemySpecies(Species.MAGIKARP) + .moveset(move) + .enemyMoveset(Moves.ENDURE); + await game.classicMode.startBattle([ Species.MAGIKARP, Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon()!; + enemy.damageAndUpdate(enemy.hp - 1); + + game.move.select(move); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(enemy.isFainted()).toBeTruthy(); + }); + + // Self-damage tests + it.each([ + { moveType: "Recoil", move: Moves.DOUBLE_EDGE }, + { moveType: "Self-KO", move: Moves.EXPLOSION }, + { moveType: "Self-Deduction", move: Moves.CURSE }, + { moveType: "Liquid Ooze", move: Moves.GIGA_DRAIN }, + ])("should not activate the holder's reviver seed from $moveType", async ({ move }) => { + game.override + .enemyLevel(100) + .startingLevel(1) + .enemySpecies(Species.MAGIKARP) + .moveset(move) + .enemyAbility(Abilities.LIQUID_OOZE) + .enemyMoveset(Moves.SPLASH); + await game.classicMode.startBattle([ Species.GASTLY, Species.FEEBAS ]); + const player = game.scene.getPlayerPokemon()!; + player.damageAndUpdate(player.hp - 1); + + const playerSeed = player.getHeldItems()[0] as PokemonInstantReviveModifier; + vi.spyOn(playerSeed, "apply"); + + game.move.select(move); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(player.isFainted()).toBeTruthy(); + }); + + it("should not activate the holder's reviver seed from Destiny Bond fainting", async () => { + game.override + .enemyLevel(100) + .startingLevel(1) + .enemySpecies(Species.MAGIKARP) + .moveset(Moves.DESTINY_BOND) + .startingHeldItems([]) // reset held items to nothing so user doesn't revive and not trigger Destiny Bond + .enemyMoveset(Moves.TACKLE); + await game.classicMode.startBattle([ Species.MAGIKARP, Species.FEEBAS ]); + const player = game.scene.getPlayerPokemon()!; + player.damageAndUpdate(player.hp - 1); + const enemy = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.DESTINY_BOND); + await game.setTurnOrder([ BattlerIndex.PLAYER, BattlerIndex.ENEMY ]); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(enemy.isFainted()).toBeTruthy(); + }); +}); diff --git a/test/moves/endure.test.ts b/test/moves/endure.test.ts index 8151128479d..d706d5d9581 100644 --- a/test/moves/endure.test.ts +++ b/test/moves/endure.test.ts @@ -22,7 +22,7 @@ describe("Moves - Endure", () => { beforeEach(() => { game = new GameManager(phaserGame); game.override - .moveset([Moves.THUNDER, Moves.BULLET_SEED, Moves.TOXIC]) + .moveset([ Moves.THUNDER, Moves.BULLET_SEED, Moves.TOXIC, Moves.SHEER_COLD ]) .ability(Abilities.SKILL_LINK) .startingLevel(100) .battleType("single") @@ -50,16 +50,37 @@ describe("Moves - Endure", () => { expect(game.scene.getEnemyPokemon()!.hp).toBe(1); }); - it("shouldn't prevent fainting from indirect damage", async () => { - game.override.enemyLevel(100); - await game.classicMode.startBattle([Species.ARCEUS]); - + it("should let the pokemon survive against OHKO moves", async () => { + await game.classicMode.startBattle([ Species.MAGIKARP ]); const enemy = game.scene.getEnemyPokemon()!; - enemy.hp = 2; - game.move.select(Moves.TOXIC); - await game.phaseInterceptor.to("VictoryPhase"); + game.move.select(Moves.SHEER_COLD); + await game.phaseInterceptor.to("TurnEndPhase"); - expect(enemy.isFainted()).toBe(true); + expect(enemy.isFainted()).toBeFalsy(); + }); + + // comprehensive indirect damage test copied from Reviver Seed test + it.each([ + { moveType: "Damaging Move Chip Damage", move: Moves.SALT_CURE }, + { moveType: "Chip Damage", move: Moves.LEECH_SEED }, + { moveType: "Trapping Chip Damage", move: Moves.WHIRLPOOL }, + { moveType: "Status Effect Damage", move: Moves.TOXIC }, + { moveType: "Weather", move: Moves.SANDSTORM }, + ])("should not prevent fainting from $moveType", async ({ move }) => { + game.override + .enemyLevel(1) + .startingLevel(100) + .enemySpecies(Species.MAGIKARP) + .moveset(move) + .enemyMoveset(Moves.ENDURE); + await game.classicMode.startBattle([ Species.MAGIKARP, Species.FEEBAS ]); + const enemy = game.scene.getEnemyPokemon()!; + enemy.damageAndUpdate(enemy.hp - 1); + + game.move.select(move); + await game.phaseInterceptor.to("TurnEndPhase"); + + expect(enemy.isFainted()).toBeTruthy(); }); }); From dbc8ac26af131ae09caec5a2872d820eb38dc43d Mon Sep 17 00:00:00 2001 From: Dean <69436131+emdeann@users.noreply.github.com> Date: Sun, 23 Mar 2025 16:27:20 -0700 Subject: [PATCH 020/129] [Bug] Fix #5422 Neut. Gas and Primal Weather Persist After Flee (#5496) * Add applyPreLeaveFieldAbAttrs call to AttemptRunPhase * Update tests --- src/phases/attempt-run-phase.ts | 4 +++- test/abilities/desolate-land.test.ts | 18 ++++++++++++++++++ test/abilities/neutralizing_gas.test.ts | 18 ++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/phases/attempt-run-phase.ts b/src/phases/attempt-run-phase.ts index c9c0e23dabb..dab5b8789da 100644 --- a/src/phases/attempt-run-phase.ts +++ b/src/phases/attempt-run-phase.ts @@ -1,4 +1,4 @@ -import { applyAbAttrs, RunSuccessAbAttr } from "#app/data/ability"; +import { applyAbAttrs, applyPreLeaveFieldAbAttrs, PreLeaveFieldAbAttr, RunSuccessAbAttr } from "#app/data/ability"; import { Stat } from "#app/enums/stat"; import { StatusEffect } from "#app/enums/status-effect"; import type { PlayerPokemon, EnemyPokemon } from "#app/field/pokemon"; @@ -29,6 +29,8 @@ export class AttemptRunPhase extends PokemonPhase { applyAbAttrs(RunSuccessAbAttr, playerPokemon, null, false, escapeChance); if (playerPokemon.randSeedInt(100) < escapeChance.value && !this.forceFailEscape) { + enemyField.forEach(enemyPokemon => applyPreLeaveFieldAbAttrs(PreLeaveFieldAbAttr, enemyPokemon)); + globalScene.playSound("se/flee"); globalScene.queueMessage(i18next.t("battle:runAwaySuccess"), null, true, 500); diff --git a/test/abilities/desolate-land.test.ts b/test/abilities/desolate-land.test.ts index 67d9ac1cdf5..405aab873aa 100644 --- a/test/abilities/desolate-land.test.ts +++ b/test/abilities/desolate-land.test.ts @@ -1,5 +1,7 @@ import { PokeballType } from "#app/enums/pokeball"; import { WeatherType } from "#app/enums/weather-type"; +import type { CommandPhase } from "#app/phases/command-phase"; +import { Command } from "#app/ui/command-ui-handler"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; @@ -131,4 +133,20 @@ describe("Abilities - Desolate Land", () => { expect(game.scene.arena.weather?.weatherType).not.toBe(WeatherType.HARSH_SUN); }); + + it("should lift after fleeing from a wild pokemon", async () => { + game.override + .enemyAbility(Abilities.DESOLATE_LAND) + .ability(Abilities.BALL_FETCH); + await game.classicMode.startBattle([ Species.MAGIKARP ]); + expect(game.scene.arena.weather?.weatherType).toBe(WeatherType.HARSH_SUN); + + vi.spyOn(game.scene.getPlayerPokemon()!, "randSeedInt").mockReturnValue(0); + + const commandPhase = game.scene.getCurrentPhase() as CommandPhase; + commandPhase.handleCommand(Command.RUN, 0); + await game.phaseInterceptor.to("BerryPhase"); + + expect(game.scene.arena.weather?.weatherType).not.toBe(WeatherType.HARSH_SUN); + }); }); diff --git a/test/abilities/neutralizing_gas.test.ts b/test/abilities/neutralizing_gas.test.ts index 08ab884d806..0003ee56598 100644 --- a/test/abilities/neutralizing_gas.test.ts +++ b/test/abilities/neutralizing_gas.test.ts @@ -1,4 +1,6 @@ import { BattlerIndex } from "#app/battle"; +import type { CommandPhase } from "#app/phases/command-phase"; +import { Command } from "#app/ui/command-ui-handler"; import { PostSummonWeatherChangeAbAttr } from "#app/data/ability"; import { Abilities } from "#enums/abilities"; import { ArenaTagType } from "#enums/arena-tag-type"; @@ -157,6 +159,22 @@ describe("Abilities - Neutralizing Gas", () => { expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeUndefined(); }); + it("should deactivate after fleeing from a wild pokemon", async () => { + game.override + .enemyAbility(Abilities.NEUTRALIZING_GAS) + .ability(Abilities.BALL_FETCH); + await game.classicMode.startBattle([ Species.MAGIKARP ]); + expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeDefined(); + + vi.spyOn(game.scene.getPlayerPokemon()!, "randSeedInt").mockReturnValue(0); + + const commandPhase = game.scene.getCurrentPhase() as CommandPhase; + commandPhase.handleCommand(Command.RUN, 0); + await game.phaseInterceptor.to("BerryPhase"); + + expect(game.scene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS)).toBeUndefined(); + }); + it("should not activate abilities of pokemon no longer on the field", async () => { game.override .battleType("single") From 37e51e965740dd986310ae436c8940db8db82781 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Mon, 24 Mar 2025 03:40:17 +0100 Subject: [PATCH 021/129] [Bug][Challenge][UI/UX] Exclude invalid starters when combining challenges (#5509) * Filtering correctly when combining gen and monotype challenges * Clean-up * Apply suggestions from code review Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Always check requested form first * Fixing Basculin * Only check forms which are starter selectable * Exclude form changes that are not triggered by an item --------- Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> --- src/data/challenge.ts | 153 +++++++++++++++++----------- src/ui/pokedex-page-ui-handler.ts | 19 ---- src/ui/starter-select-ui-handler.ts | 85 +++++----------- 3 files changed, 115 insertions(+), 142 deletions(-) diff --git a/src/data/challenge.ts b/src/data/challenge.ts index b9d817836c3..a54f72aa7cc 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -18,9 +18,10 @@ import { TrainerType } from "#enums/trainer-type"; import { Nature } from "#enums/nature"; import type { Moves } from "#enums/moves"; import { TypeColor, TypeShadow } from "#enums/color"; -import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions"; -import { pokemonFormChanges } from "#app/data/pokemon-forms"; import { ModifierTier } from "#app/modifier/modifier-tier"; +import { globalScene } from "#app/global-scene"; +import { pokemonFormChanges } from "./pokemon-forms"; +import { pokemonEvolutions } from "./balance/pokemon-evolutions"; /** A constant for the default max cost of the starting party before a run */ const DEFAULT_PARTY_MAX_COST = 10; @@ -285,15 +286,9 @@ export abstract class Challenge { * @param _pokemon {@link PokemonSpecies} The pokemon to check the validity of. * @param _valid {@link Utils.BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. * @param _dexAttr {@link DexAttrProps} The dex attributes of the pokemon. - * @param _soft {@link boolean} If true, allow it if it could become a valid pokemon. * @returns {@link boolean} Whether this function did anything. */ - applyStarterChoice( - _pokemon: PokemonSpecies, - _valid: Utils.BooleanHolder, - _dexAttr: DexAttrProps, - _soft = false, - ): boolean { + applyStarterChoice(_pokemon: PokemonSpecies, _valid: Utils.BooleanHolder, _dexAttr: DexAttrProps): boolean { return false; } @@ -445,27 +440,8 @@ export class SingleGenerationChallenge extends Challenge { super(Challenges.SINGLE_GENERATION, 9); } - applyStarterChoice( - pokemon: PokemonSpecies, - valid: Utils.BooleanHolder, - _dexAttr: DexAttrProps, - soft = false, - ): boolean { - const generations = [pokemon.generation]; - if (soft) { - const speciesToCheck = [pokemon.speciesId]; - while (speciesToCheck.length) { - const checking = speciesToCheck.pop(); - if (checking && pokemonEvolutions.hasOwnProperty(checking)) { - pokemonEvolutions[checking].forEach(e => { - speciesToCheck.push(e.speciesId); - generations.push(getPokemonSpecies(e.speciesId).generation); - }); - } - } - } - - if (!generations.includes(this.value)) { + applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder): boolean { + if (pokemon.generation !== this.value) { valid.value = false; return true; } @@ -739,41 +715,14 @@ export class SingleTypeChallenge extends Challenge { { species: Species.CASTFORM, type: PokemonType.NORMAL, fusion: false }, ]; // TODO: Find a solution for all Pokemon with this ssui issue, including Basculin and Burmy - private static SPECIES_OVERRIDES: Species[] = [Species.MELOETTA]; constructor() { super(Challenges.SINGLE_TYPE, 18); } - override applyStarterChoice( - pokemon: PokemonSpecies, - valid: Utils.BooleanHolder, - dexAttr: DexAttrProps, - soft = false, - ): boolean { + override applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder, dexAttr: DexAttrProps): boolean { const speciesForm = getPokemonSpeciesForm(pokemon.speciesId, dexAttr.formIndex); const types = [speciesForm.type1, speciesForm.type2]; - if (soft && !SingleTypeChallenge.SPECIES_OVERRIDES.includes(pokemon.speciesId)) { - const speciesToCheck = [pokemon.speciesId]; - while (speciesToCheck.length) { - const checking = speciesToCheck.pop(); - if (checking && pokemonEvolutions.hasOwnProperty(checking)) { - pokemonEvolutions[checking].forEach(e => { - speciesToCheck.push(e.speciesId); - types.push(getPokemonSpecies(e.speciesId).type1, getPokemonSpecies(e.speciesId).type2); - }); - } - if (checking && pokemonFormChanges.hasOwnProperty(checking)) { - pokemonFormChanges[checking].forEach(f1 => { - getPokemonSpecies(checking).forms.forEach(f2 => { - if (f1.formKey === f2.formKey) { - types.push(f2.type1, f2.type2); - } - }); - }); - } - } - } if (!types.includes(this.value - 1)) { valid.value = false; return true; @@ -1030,7 +979,6 @@ export class LowerStarterPointsChallenge extends Challenge { * @param pokemon {@link PokemonSpecies} The pokemon to check the validity of. * @param valid {@link Utils.BooleanHolder} A BooleanHolder, the value gets set to false if the pokemon isn't allowed. * @param dexAttr {@link DexAttrProps} The dex attributes of the pokemon. - * @param soft {@link boolean} If true, allow it if it could become a valid pokemon. * @returns True if any challenge was successfully applied. */ export function applyChallenges( @@ -1039,7 +987,6 @@ export function applyChallenges( pokemon: PokemonSpecies, valid: Utils.BooleanHolder, dexAttr: DexAttrProps, - soft: boolean, ): boolean; /** * Apply all challenges that modify available total starter points. @@ -1222,7 +1169,7 @@ export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType if (c.value !== 0) { switch (challengeType) { case ChallengeType.STARTER_CHOICE: - ret ||= c.applyStarterChoice(args[0], args[1], args[2], args[3]); + ret ||= c.applyStarterChoice(args[0], args[1], args[2]); break; case ChallengeType.STARTER_POINTS: ret ||= c.applyStarterPoints(args[0]); @@ -1305,3 +1252,87 @@ export function initChallenges() { new FlipStatChallenge(), ); } + +/** + * Apply all challenges to the given starter (and form) to check its validity. + * Differs from {@linkcode checkSpeciesValidForChallenge} which only checks form changes. + * @param species - The {@linkcode PokemonSpecies} to check the validity of. + * @param dexAttr - The {@linkcode DexAttrProps | dex attributes} of the species, including its form index. + * @param soft - If `true`, allow it if it could become valid through evolution or form change. + * @returns `true` if the species is considered valid. + */ +export function checkStarterValidForChallenge(species: PokemonSpecies, props: DexAttrProps, soft: boolean) { + if (!soft) { + const isValidForChallenge = new Utils.BooleanHolder(true); + applyChallenges(globalScene.gameMode, ChallengeType.STARTER_CHOICE, species, isValidForChallenge, props); + return isValidForChallenge.value; + } + // We check the validity of every evolution and form change, and require that at least one is valid + const speciesToCheck = [species.speciesId]; + while (speciesToCheck.length) { + const checking = speciesToCheck.pop(); + // Linter complains if we don't handle this + if (!checking) { + return false; + } + const checkingSpecies = getPokemonSpecies(checking); + if (checkSpeciesValidForChallenge(checkingSpecies, props, true)) { + return true; + } + if (checking && pokemonEvolutions.hasOwnProperty(checking)) { + pokemonEvolutions[checking].forEach(e => { + // Form check to deal with cases such as Basculin -> Basculegion + // TODO: does this miss anything if checking forms of a stage 2 Pokémon? + if (!e?.preFormKey || e.preFormKey === species.forms[props.formIndex].formKey) { + speciesToCheck.push(e.speciesId); + } + }); + } + } + return false; +} + +/** + * Apply all challenges to the given species (and form) to check its validity. + * Differs from {@linkcode checkStarterValidForChallenge} which also checks evolutions. + * @param species - The {@linkcode PokemonSpecies} to check the validity of. + * @param dexAttr - The {@linkcode DexAttrProps | dex attributes} of the species, including its form index. + * @param soft - If `true`, allow it if it could become valid through a form change. + * @returns `true` if the species is considered valid. + */ +function checkSpeciesValidForChallenge(species: PokemonSpecies, props: DexAttrProps, soft: boolean) { + const isValidForChallenge = new Utils.BooleanHolder(true); + applyChallenges(globalScene.gameMode, ChallengeType.STARTER_CHOICE, species, isValidForChallenge, props); + if (!soft || !pokemonFormChanges.hasOwnProperty(species.speciesId)) { + return isValidForChallenge.value; + } + // If the form in props is valid, return true before checking other form changes + if (soft && isValidForChallenge.value) { + return true; + } + pokemonFormChanges[species.speciesId].forEach(f1 => { + // Exclude form changes that require the mon to be on the field to begin with, + // such as Castform + if (!("item" in f1)) { + return; + } + species.forms.forEach((f2, formIndex) => { + if (f1.formKey === f2.formKey) { + const formProps = { ...props }; + formProps.formIndex = formIndex; + const isFormValidForChallenge = new Utils.BooleanHolder(true); + applyChallenges( + globalScene.gameMode, + ChallengeType.STARTER_CHOICE, + species, + isFormValidForChallenge, + formProps, + ); + if (isFormValidForChallenge.value) { + return true; + } + } + }); + }); + return false; +} diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 74921f13683..fc6e96d427f 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -20,7 +20,6 @@ import { allSpecies, getPokemonSpecies, getPokemonSpeciesForm, normalForm } from import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters"; import { starterPassiveAbilities } from "#app/data/balance/passives"; import { PokemonType } from "#enums/pokemon-type"; -import { GameModes } from "#app/game-mode"; import type { DexEntry, StarterAttributes } from "#app/system/game-data"; import { AbilityAttr, DexAttr } from "#app/system/game-data"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; @@ -33,7 +32,6 @@ import { Egg } from "#app/data/egg"; import Overrides from "#app/overrides"; import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { Passive as PassiveAttr } from "#enums/passive"; -import * as Challenge from "#app/data/challenge"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; import PokedexInfoOverlay from "#app/ui/pokedex-info-overlay"; import { getEggTierForSpecies } from "#app/data/egg"; @@ -51,7 +49,6 @@ import { BooleanHolder, getLocalizedSpriteKey, isNullOrUndefined, - NumberHolder, padInt, rgbHexToRgba, toReadableString, @@ -2128,22 +2125,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { } } - getValueLimit(): number { - const valueLimit = new NumberHolder(0); - switch (globalScene.gameMode.modeId) { - case GameModes.ENDLESS: - case GameModes.SPLICED_ENDLESS: - valueLimit.value = 15; - break; - default: - valueLimit.value = 10; - } - - Challenge.applyChallenges(globalScene.gameMode, Challenge.ChallengeType.STARTER_POINTS, valueLimit); - - return valueLimit.value; - } - setCursor(cursor: number): boolean { const ret = super.setCursor(cursor); diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index ccc56f38368..ab8ea0adf7c 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -1,6 +1,6 @@ import type { CandyUpgradeNotificationChangedEvent } from "#app/events/battle-scene"; import { BattleSceneEventType } from "#app/events/battle-scene"; -import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; +import { pokemonEvolutions, pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions"; import type { Variant } from "#app/data/variant"; import { getVariantTint, getVariantIcon } from "#app/data/variant"; import { argbFromRgba } from "@material/material-color-utilities"; @@ -19,7 +19,7 @@ import { pokemonFormChanges } from "#app/data/pokemon-forms"; import type { LevelMoves } from "#app/data/balance/pokemon-level-moves"; import { pokemonFormLevelMoves, pokemonSpeciesLevelMoves } from "#app/data/balance/pokemon-level-moves"; import type PokemonSpecies from "#app/data/pokemon-species"; -import { allSpecies, getPokemonSpeciesForm, getPokerusStarters } from "#app/data/pokemon-species"; +import { allSpecies, getPokemonSpecies, getPokemonSpeciesForm, getPokerusStarters } from "#app/data/pokemon-species"; import { getStarterValueFriendshipCap, speciesStarterCosts, POKERUS_STARTER_COUNT } from "#app/data/balance/starters"; import { PokemonType } from "#enums/pokemon-type"; import { GameModes } from "#app/game-mode"; @@ -80,6 +80,7 @@ import { PLAYER_PARTY_MAX_SIZE } from "#app/constants"; import { achvs } from "#app/system/achv"; import * as Utils from "../utils"; import type { GameObjects } from "phaser"; +import { checkStarterValidForChallenge } from "#app/data/challenge"; export type StarterSelectCallback = (starters: Starter[]) => void; @@ -1760,21 +1761,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const species = starter.species; const [isDupe] = this.isInParty(species); const starterCost = globalScene.gameData.getSpeciesStarterValue(species.speciesId); - const isValidForChallenge = new BooleanHolder(true); - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isValidForChallenge = checkStarterValidForChallenge( species, - isValidForChallenge, globalScene.gameData.getSpeciesDexAttrProps(species, this.getCurrentDexProps(species.speciesId)), this.isPartyValid(), ); const isCaught = globalScene.gameData.dexData[species.speciesId].caughtAttr; return ( - !isDupe && - isValidForChallenge.value && - currentPartyValue + starterCost <= this.getValueLimit() && - isCaught + !isDupe && isValidForChallenge && currentPartyValue + starterCost <= this.getValueLimit() && isCaught ); }); if (validStarters.length === 0) { @@ -1861,16 +1855,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const ui = this.getUi(); let options: any[] = []; // TODO: add proper type - const [isDupe, removeIndex]: [boolean, number] = this.isInParty(this.lastSpecies); // checks to see if the pokemon is a duplicate; if it is, returns the index that will be removed + const [isDupe, removeIndex]: [boolean, number] = this.isInParty(this.lastSpecies); const isPartyValid = this.isPartyValid(); - const isValidForChallenge = new BooleanHolder(true); - - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isValidForChallenge = checkStarterValidForChallenge( this.lastSpecies, - isValidForChallenge, globalScene.gameData.getSpeciesDexAttrProps( this.lastSpecies, this.getCurrentDexProps(this.lastSpecies.speciesId), @@ -1888,11 +1877,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler { const newCost = globalScene.gameData.getSpeciesStarterValue(this.lastSpecies.speciesId); if ( !isDupe && - isValidForChallenge.value && + isValidForChallenge && currentPartyValue + newCost <= this.getValueLimit() && this.starterSpecies.length < PLAYER_PARTY_MAX_SIZE ) { - // this checks to make sure the pokemon doesn't exist in your party, it's valid for the challenge and that it won't go over the cost limit; if it meets all these criteria it will add it to your party options = [ { label: i18next.t("starterSelectUiHandler:addToParty"), @@ -1902,7 +1890,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { globalScene.gameData.getSpeciesStarterValue(this.lastSpecies.speciesId), true, ); - if (!isDupe && isValidForChallenge.value && isOverValueLimit) { + if (!isDupe && isValidForChallenge && isOverValueLimit) { const cursorObj = this.starterCursorObjs[this.starterSpecies.length]; cursorObj.setVisible(true); cursorObj.setPosition(this.cursorObj.x, this.cursorObj.y); @@ -2993,32 +2981,27 @@ export default class StarterSelectUiHandler extends MessageUiHandler { /* Here we are making a fake form index dex props for challenges * Since some pokemon rely on forms to be valid (i.e. blaze tauros for fire challenges), we make a fake form and dex props to use in the challenge */ + if (!species.forms[i].isStarterSelectable) { + continue; + } const tempFormProps = BigInt(Math.pow(2, i)) * DexAttr.DEFAULT_FORM; - const isValidForChallenge = new BooleanHolder(true); - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isValidForChallenge = checkStarterValidForChallenge( container.species, - isValidForChallenge, globalScene.gameData.getSpeciesDexAttrProps(species, tempFormProps), true, ); - allFormsValid = allFormsValid || isValidForChallenge.value; + allFormsValid = allFormsValid || isValidForChallenge; } } else { - const isValidForChallenge = new BooleanHolder(true); - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isValidForChallenge = checkStarterValidForChallenge( container.species, - isValidForChallenge, globalScene.gameData.getSpeciesDexAttrProps( species, globalScene.gameData.getSpeciesDefaultDexAttr(container.species, false, true), ), true, ); - allFormsValid = isValidForChallenge.value; + allFormsValid = isValidForChallenge; } if (allFormsValid) { this.validStarterContainers.push(container); @@ -3851,15 +3834,6 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonSprite.setVisible(!this.statsMode); } - const isValidForChallenge = new BooleanHolder(true); - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, - species, - isValidForChallenge, - globalScene.gameData.getSpeciesDexAttrProps(species, this.dexAttrCursor), - !!this.starterSpecies.length, - ); const currentFilteredContainer = this.filteredStarterContainers.find( p => p.species.speciesId === species.speciesId, ); @@ -4233,20 +4207,15 @@ export default class StarterSelectUiHandler extends MessageUiHandler { globalScene.time.delayedCall(fixedInt(500), () => this.tryUpdateValue()); return false; } - let isPartyValid: boolean = this.isPartyValid(); // this checks to see if the party is valid + let isPartyValid: boolean = this.isPartyValid(); if (addingToParty) { - // this does a check to see if the pokemon being added is valid; if so, it will update the isPartyValid boolean - const isNewPokemonValid = new BooleanHolder(true); const species = this.filteredStarterContainers[this.cursor].species; - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isNewPokemonValid = checkStarterValidForChallenge( species, - isNewPokemonValid, globalScene.gameData.getSpeciesDexAttrProps(species, this.getCurrentDexProps(species.speciesId)), false, ); - isPartyValid = isPartyValid || isNewPokemonValid.value; + isPartyValid = isPartyValid || isNewPokemonValid; } /** @@ -4270,12 +4239,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { * If speciesStarterDexEntry?.caughtAttr is true, this species registered in stater. * we change to can AddParty value to true since the user has enough cost to choose this pokemon and this pokemon registered too. */ - const isValidForChallenge = new BooleanHolder(true); - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isValidForChallenge = checkStarterValidForChallenge( this.allSpecies[s], - isValidForChallenge, globalScene.gameData.getSpeciesDexAttrProps( this.allSpecies[s], this.getCurrentDexProps(this.allSpecies[s].speciesId), @@ -4283,7 +4248,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { isPartyValid, ); - const canBeChosen = remainValue >= speciesStarterValue && isValidForChallenge.value; + const canBeChosen = remainValue >= speciesStarterValue && isValidForChallenge; const isPokemonInParty = this.isInParty(this.allSpecies[s])[0]; // this will get the valud of isDupe from isInParty. This will let us see if the pokemon in question is in our party already so we don't grey out the sprites if they're invalid @@ -4417,17 +4382,13 @@ export default class StarterSelectUiHandler extends MessageUiHandler { isPartyValid(): boolean { let canStart = false; for (let s = 0; s < this.starterSpecies.length; s++) { - const isValidForChallenge = new BooleanHolder(true); const species = this.starterSpecies[s]; - Challenge.applyChallenges( - globalScene.gameMode, - Challenge.ChallengeType.STARTER_CHOICE, + const isValidForChallenge = checkStarterValidForChallenge( species, - isValidForChallenge, globalScene.gameData.getSpeciesDexAttrProps(species, this.getCurrentDexProps(species.speciesId)), false, ); - canStart = canStart || isValidForChallenge.value; + canStart = canStart || isValidForChallenge; } return canStart; } From 7f72794d2343825a0b8148cfa970663389e18a6b Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Mon, 24 Mar 2025 06:03:11 +0100 Subject: [PATCH 022/129] =?UTF-8?q?[UI/UX]=20Cancel=20button=20on=20Pok?= =?UTF-8?q?=C3=A9dex=20page=20to=20previously=20selected=20Pok=C3=A9mon=20?= =?UTF-8?q?(#5528)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removed redundant form index argument in show() of pokedex page * Storing previous pokémon for cancel button --- src/ui/party-ui-handler.ts | 4 +-- src/ui/pokedex-page-ui-handler.ts | 48 +++++++++++++++++++++++------ src/ui/pokedex-ui-handler.ts | 4 +-- src/ui/starter-select-ui-handler.ts | 2 +- 4 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index 21e5f9077f4..6a9b565989d 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -574,9 +574,7 @@ export default class PartyUiHandler extends MessageUiHandler { form: pokemon.formIndex, female: pokemon.gender === Gender.FEMALE, }; - ui.setOverlayMode(Mode.POKEDEX_PAGE, pokemon.species, pokemon.formIndex, attributes).then(() => - this.clearOptions(), - ); + ui.setOverlayMode(Mode.POKEDEX_PAGE, pokemon.species, attributes).then(() => this.clearOptions()); return true; } else if (option === PartyOption.UNPAUSE_EVOLUTION) { this.clearOptions(); diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index fc6e96d427f..86460a24fdc 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -239,6 +239,9 @@ export default class PokedexPageUiHandler extends MessageUiHandler { private starterAttributes: StarterAttributes; private savedStarterAttributes: StarterAttributes; + private previousSpecies: PokemonSpecies[]; + private previousStarterAttributes: StarterAttributes[]; + protected blockInput = false; protected blockInputOverlay = false; @@ -653,6 +656,9 @@ export default class PokedexPageUiHandler extends MessageUiHandler { // Filter bar sits above everything, except the message box this.starterSelectContainer.bringToTop(this.starterSelectMessageBoxContainer); + + this.previousSpecies = []; + this.previousStarterAttributes = []; } show(args: any[]): boolean { @@ -665,14 +671,14 @@ export default class PokedexPageUiHandler extends MessageUiHandler { return false; } this.species = args[0]; - this.formIndex = args[1] ?? 0; - this.savedStarterAttributes = args[2] ?? { + this.savedStarterAttributes = args[1] ?? { shiny: false, female: true, variant: 0, form: 0, }; - this.filteredIndices = args[3] ?? null; + this.formIndex = this.savedStarterAttributes.form ?? 0; + this.filteredIndices = args[2] ?? null; this.starterSetup(); this.moveInfoOverlay.clear(); // clear this when removing a menu; the cancel button doesn't seem to trigger this automatically on controllers @@ -1088,8 +1094,19 @@ export default class PokedexPageUiHandler extends MessageUiHandler { if (this.statsMode) { this.toggleStatsMode(false); success = true; + } else if (this.previousSpecies.length > 0) { + this.blockInput = true; + ui.setModeWithoutClear(Mode.OPTION_SELECT).then(() => { + const species = this.previousSpecies.pop(); + const starterAttributes = this.previousStarterAttributes.pop(); + this.moveInfoOverlay.clear(); + this.clearText(); + ui.setModeForceTransition(Mode.POKEDEX_PAGE, species, starterAttributes); + success = true; + }); + this.blockInput = false; } else { - this.getUi().revertMode(); + ui.revertMode(); success = true; } } else { @@ -1504,6 +1521,8 @@ export default class PokedexPageUiHandler extends MessageUiHandler { ? (preSpecies ?? this.species).getFormNameToDisplay(preFormIndex, true) : (preSpecies ?? this.species).getExpandedSpeciesName(), handler: () => { + this.previousSpecies.push(this.species); + this.previousStarterAttributes.push({ ...this.savedStarterAttributes }); const newSpecies = allSpecies.find( species => species.speciesId === pokemonPrevolutions[pre.speciesId], ); @@ -1519,7 +1538,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.savedStarterAttributes.form = newFormIndex; this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, newSpecies, newFormIndex, this.savedStarterAttributes); + ui.setMode(Mode.POKEDEX_PAGE, newSpecies, this.savedStarterAttributes); return true; }, onHover: () => this.showText(conditionText), @@ -1555,11 +1574,13 @@ export default class PokedexPageUiHandler extends MessageUiHandler { : (evoSpecies ?? this.species).getExpandedSpeciesName(), style: isCaughtEvo && isFormCaughtEvo ? TextStyle.WINDOW : TextStyle.SHADOW_TEXT, handler: () => { + this.previousSpecies.push(this.species); + this.previousStarterAttributes.push({ ...this.savedStarterAttributes }); this.starterAttributes.form = newFormIndex; this.savedStarterAttributes.form = newFormIndex; this.moveInfoOverlay.clear(); this.clearText(); - ui.setMode(Mode.POKEDEX_PAGE, evoSpecies, newFormIndex, this.savedStarterAttributes); + ui.setMode(Mode.POKEDEX_PAGE, evoSpecies, this.savedStarterAttributes); return true; }, onHover: () => this.showText(conditionText), @@ -1595,6 +1616,8 @@ export default class PokedexPageUiHandler extends MessageUiHandler { label: label, style: isFormCaught ? TextStyle.WINDOW : TextStyle.SHADOW_TEXT, handler: () => { + this.previousSpecies.push(this.species); + this.previousStarterAttributes.push({ ...this.savedStarterAttributes }); const newSpecies = this.species; const newFormIndex = this.species.forms.find(f => f.formKey === bf.formKey)?.formIndex; this.starterAttributes.form = newFormIndex; @@ -1604,7 +1627,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { ui.setMode( Mode.POKEDEX_PAGE, newSpecies, - newFormIndex, this.savedStarterAttributes, this.filteredIndices, ); @@ -1955,6 +1977,11 @@ export default class PokedexPageUiHandler extends MessageUiHandler { case Button.LEFT: this.blockInput = true; ui.setModeWithoutClear(Mode.OPTION_SELECT).then(() => { + // Always go back to first selection after scrolling around + if (this.previousSpecies.length === 0) { + this.previousSpecies.push(this.species); + this.previousStarterAttributes.push({ ...this.savedStarterAttributes }); + } let newSpecies: PokemonSpecies; if (this.filteredIndices) { const index = this.filteredIndices.findIndex(id => id === this.species.speciesId); @@ -1976,7 +2003,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { ui.setModeForceTransition( Mode.POKEDEX_PAGE, newSpecies, - newFormIndex, this.savedStarterAttributes, this.filteredIndices, ); @@ -1985,6 +2011,11 @@ export default class PokedexPageUiHandler extends MessageUiHandler { break; case Button.RIGHT: ui.setModeWithoutClear(Mode.OPTION_SELECT).then(() => { + // Always go back to first selection after scrolling around + if (this.previousSpecies.length === 0) { + this.previousSpecies.push(this.species); + this.previousStarterAttributes.push({ ...this.savedStarterAttributes }); + } let newSpecies: PokemonSpecies; if (this.filteredIndices) { const index = this.filteredIndices.findIndex(id => id === this.species.speciesId); @@ -2006,7 +2037,6 @@ export default class PokedexPageUiHandler extends MessageUiHandler { ui.setModeForceTransition( Mode.POKEDEX_PAGE, newSpecies, - newFormIndex, this.savedStarterAttributes, this.filteredIndices, ); diff --git a/src/ui/pokedex-ui-handler.ts b/src/ui/pokedex-ui-handler.ts index f3625f64476..1f79d7006b0 100644 --- a/src/ui/pokedex-ui-handler.ts +++ b/src/ui/pokedex-ui-handler.ts @@ -1125,7 +1125,7 @@ export default class PokedexUiHandler extends MessageUiHandler { } else if (this.showingTray) { if (button === Button.ACTION) { const formIndex = this.trayForms[this.trayCursor].formIndex; - ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, formIndex, { form: formIndex }, this.filteredIndices); + ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, { form: formIndex }, this.filteredIndices); success = true; } else { const numberOfForms = this.trayContainers.length; @@ -1174,7 +1174,7 @@ export default class PokedexUiHandler extends MessageUiHandler { } } else { if (button === Button.ACTION) { - ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, 0, null, this.filteredIndices); + ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, null, this.filteredIndices); success = true; } else { switch (button) { diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index ab8ea0adf7c..8265ad827bc 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -2324,7 +2324,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { form: starterAttributes.form, female: starterAttributes.female, }; - ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, starterAttributes.form, attributes); + ui.setOverlayMode(Mode.POKEDEX_PAGE, this.lastSpecies, attributes); }); return true; }, From f3141280c91174cd7e7fef0cf4e1979cec58057d Mon Sep 17 00:00:00 2001 From: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> Date: Tue, 25 Mar 2025 00:51:59 -0500 Subject: [PATCH 023/129] [Balance] Implement more trainer types & add to biomes (#5520) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add more trainer types to biomes This makes the Hooligans, Musician, Pilot, Poké Fan, Rich, and Rich Kid trainer types able to be battled. * Adjusted Rich and Rich Kid $$$ multipliers * Add basic dialogue for trainer types Also added the Clerk's dialogue entries, as that trainer type has localized text, but no entry in the code. * Fix Musician to Pokefan encounter music * Add dialogue entries for new dialogue --------- Co-authored-by: damocleas --- src/data/balance/biomes.ts | 94 ++++++++++++++++++++------------ src/data/dialogue.ts | 107 +++++++++++++++++++++++++++++++++++++ src/data/trainer-config.ts | 48 ++++++++++++++--- 3 files changed, 208 insertions(+), 41 deletions(-) diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts index a4e051d80c9..3dff1722af6 100644 --- a/src/data/balance/biomes.ts +++ b/src/data/balance/biomes.ts @@ -1659,7 +1659,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { }, [Biome.GRASS]: { [BiomePoolTier.COMMON]: [ TrainerType.BREEDER, TrainerType.SCHOOL_KID ], - [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.POKEFAN ], [BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -1680,9 +1680,9 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.METROPOLIS]: { - [BiomePoolTier.COMMON]: [ TrainerType.CLERK, TrainerType.CYCLIST, TrainerType.OFFICER, TrainerType.WAITER, TrainerType.BEAUTY ], + [BiomePoolTier.COMMON]: [ TrainerType.BEAUTY, TrainerType.CLERK, TrainerType.CYCLIST, TrainerType.OFFICER, TrainerType.WAITER ], [BiomePoolTier.UNCOMMON]: [ TrainerType.BREEDER, TrainerType.DEPOT_AGENT, TrainerType.GUITARIST ], - [BiomePoolTier.RARE]: [ TrainerType.ARTIST ], + [BiomePoolTier.RARE]: [ TrainerType.ARTIST, TrainerType.RICH_KID ], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], [BiomePoolTier.BOSS]: [ TrainerType.WHITNEY, TrainerType.NORMAN, TrainerType.IONO, TrainerType.LARRY ], @@ -1702,7 +1702,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.SEA]: { - [BiomePoolTier.COMMON]: [ TrainerType.SWIMMER, TrainerType.SAILOR ], + [BiomePoolTier.COMMON]: [ TrainerType.SAILOR, TrainerType.SWIMMER ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], @@ -1758,7 +1758,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { }, [Biome.MOUNTAIN]: { [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.BLACK_BELT, TrainerType.HIKER ], - [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.PILOT ], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -1790,7 +1790,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.DESERT]: { - [BiomePoolTier.COMMON]: [ TrainerType.SCIENTIST, TrainerType.BACKPACKER ], + [BiomePoolTier.COMMON]: [ TrainerType.BACKPACKER, TrainerType.SCIENTIST ], [BiomePoolTier.UNCOMMON]: [], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], @@ -1812,8 +1812,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.MEADOW]: { - [BiomePoolTier.COMMON]: [ TrainerType.PARASOL_LADY, TrainerType.BEAUTY ], - [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER, TrainerType.BAKER ], + [BiomePoolTier.COMMON]: [ TrainerType.BEAUTY, TrainerType.MUSICIAN, TrainerType.PARASOL_LADY ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BAKER, TrainerType.BREEDER, TrainerType.POKEFAN ], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -1967,7 +1967,7 @@ export const biomeTrainerPools: BiomeTrainerPools = { }, [Biome.SLUM]: { [BiomePoolTier.COMMON]: [ TrainerType.BIKER, TrainerType.OFFICER, TrainerType.ROUGHNECK ], - [BiomePoolTier.UNCOMMON]: [ TrainerType.BAKER ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.BAKER, TrainerType.HOOLIGANS ], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -1988,8 +1988,8 @@ export const biomeTrainerPools: BiomeTrainerPools = { [BiomePoolTier.BOSS_ULTRA_RARE]: [] }, [Biome.ISLAND]: { - [BiomePoolTier.COMMON]: [], - [BiomePoolTier.UNCOMMON]: [], + [BiomePoolTier.COMMON]: [ TrainerType.RICH_KID ], + [BiomePoolTier.UNCOMMON]: [ TrainerType.RICH ], [BiomePoolTier.RARE]: [], [BiomePoolTier.SUPER_RARE]: [], [BiomePoolTier.ULTRA_RARE]: [], @@ -7178,7 +7178,8 @@ export function initBiomes() { [ Biome.METROPOLIS, BiomePoolTier.COMMON ], [ Biome.MEADOW, BiomePoolTier.COMMON ], [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ] - ]], + ] + ], [ TrainerType.BIKER, [ [ Biome.SLUM, BiomePoolTier.COMMON ] ] @@ -7208,7 +7209,8 @@ export function initBiomes() { ], [ TrainerType.CLERK, [ [ Biome.METROPOLIS, BiomePoolTier.COMMON ] - ]], + ] + ], [ TrainerType.CYCLIST, [ [ Biome.PLAINS, BiomePoolTier.UNCOMMON ], [ Biome.METROPOLIS, BiomePoolTier.COMMON ] @@ -7217,18 +7219,23 @@ export function initBiomes() { [ TrainerType.DANCER, []], [ TrainerType.DEPOT_AGENT, [ [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ] - ]], + ] + ], [ TrainerType.DOCTOR, []], + [ TrainerType.FIREBREATHER, [ + [ Biome.VOLCANO, BiomePoolTier.COMMON ] + ] + ], [ TrainerType.FISHERMAN, [ [ Biome.LAKE, BiomePoolTier.COMMON ], [ Biome.BEACH, BiomePoolTier.COMMON ] ] ], - [ TrainerType.RICH, []], [ TrainerType.GUITARIST, [ [ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ], [ Biome.POWER_PLANT, BiomePoolTier.COMMON ] - ]], + ] + ], [ TrainerType.HARLEQUIN, []], [ TrainerType.HIKER, [ [ Biome.MOUNTAIN, BiomePoolTier.COMMON ], @@ -7236,13 +7243,24 @@ export function initBiomes() { [ Biome.BADLANDS, BiomePoolTier.COMMON ] ] ], - [ TrainerType.HOOLIGANS, []], + [ TrainerType.HOOLIGANS, [ + [ Biome.SLUM, BiomePoolTier.UNCOMMON ] + ] + ], [ TrainerType.HOOPSTER, []], [ TrainerType.INFIELDER, []], [ TrainerType.JANITOR, []], [ TrainerType.LINEBACKER, []], [ TrainerType.MAID, []], - [ TrainerType.MUSICIAN, []], + [ TrainerType.MUSICIAN, [ + [ Biome.MEADOW, BiomePoolTier.COMMON ] + ] + ], + [ TrainerType.HEX_MANIAC, [ + [ Biome.RUINS, BiomePoolTier.UNCOMMON ], + [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ] + ] + ], [ TrainerType.NURSERY_AIDE, []], [ TrainerType.OFFICER, [ [ Biome.METROPOLIS, BiomePoolTier.COMMON ], @@ -7256,8 +7274,15 @@ export function initBiomes() { [ Biome.MEADOW, BiomePoolTier.COMMON ] ] ], - [ TrainerType.PILOT, []], - [ TrainerType.POKEFAN, []], + [ TrainerType.PILOT, [ + [ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ] + ] + ], + [ TrainerType.POKEFAN, [ + [ Biome.GRASS, BiomePoolTier.UNCOMMON ], + [ Biome.MEADOW, BiomePoolTier.UNCOMMON ] + ] + ], [ TrainerType.PRESCHOOLER, []], [ TrainerType.PSYCHIC, [ [ Biome.GRAVEYARD, BiomePoolTier.COMMON ], @@ -7270,11 +7295,24 @@ export function initBiomes() { [ Biome.JUNGLE, BiomePoolTier.COMMON ] ] ], - [ TrainerType.RICH_KID, []], + [ TrainerType.RICH, [ + [ Biome.ISLAND, BiomePoolTier.UNCOMMON ] + ] + ], + [ TrainerType.RICH_KID, [ + [ Biome.METROPOLIS, BiomePoolTier.RARE ], + [ Biome.ISLAND, BiomePoolTier.COMMON ] + ] + ], [ TrainerType.ROUGHNECK, [ [ Biome.SLUM, BiomePoolTier.COMMON ] ] ], + [ TrainerType.SAILOR, [ + [ Biome.SEA, BiomePoolTier.COMMON ], + [ Biome.BEACH, BiomePoolTier.COMMON ] + ] + ], [ TrainerType.SCIENTIST, [ [ Biome.DESERT, BiomePoolTier.COMMON ], [ Biome.RUINS, BiomePoolTier.COMMON ] @@ -7317,20 +7355,6 @@ export function initBiomes() { [ Biome.TOWN, BiomePoolTier.COMMON ] ] ], - [ TrainerType.HEX_MANIAC, [ - [ Biome.RUINS, BiomePoolTier.UNCOMMON ], - [ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ] - ] - ], - [ TrainerType.FIREBREATHER, [ - [ Biome.VOLCANO, BiomePoolTier.COMMON ] - ] - ], - [ TrainerType.SAILOR, [ - [ Biome.SEA, BiomePoolTier.COMMON ], - [ Biome.BEACH, BiomePoolTier.COMMON ] - ] - ], [ TrainerType.BROCK, [ [ Biome.CAVE, BiomePoolTier.BOSS ] ] diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index 208e269bd9c..0e755d54e15 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -312,6 +312,113 @@ export const trainerTypeDialogue: TrainerTypeDialogue = { victory: ["dialogue:sailor.victory.1", "dialogue:sailor.victory.2", "dialogue:sailor.victory.3"], }, ], + [TrainerType.CLERK]: [ + { + encounter: ["dialogue:clerk.encounter.1", "dialogue:clerk.encounter.2", "dialogue:clerk.encounter.3"], + victory: ["dialogue:clerk.victory.1", "dialogue:clerk.victory.2", "dialogue:clerk.victory.3"], + }, + { + encounter: [ + "dialogue:clerk_female.encounter.1", + "dialogue:clerk_female.encounter.2", + "dialogue:clerk_female.encounter.3", + ], + victory: [ + "dialogue:clerk_female.victory.1", + "dialogue:clerk_female.victory.2", + "dialogue:clerk_female.victory.3", + ], + }, + ], + [TrainerType.HOOLIGANS]: [ + { + encounter: ["dialogue:hooligans.encounter.1", "dialogue:hooligans.encounter.2"], + victory: ["dialogue:hooligans.victory.1", "dialogue:hooligans.victory.2"], + }, + ], + [TrainerType.MUSICIAN]: [ + { + encounter: [ + "dialogue:musician.encounter.1", + "dialogue:musician.encounter.2", + "dialogue:musician.encounter.3", + "dialogue:musician.encounter.4", + ], + victory: ["dialogue:musician.victory.1", "dialogue:musician.victory.2", "dialogue:musician.victory.3"], + }, + ], + [TrainerType.PILOT]: [ + { + encounter: [ + "dialogue:pilot.encounter.1", + "dialogue:pilot.encounter.2", + "dialogue:pilot.encounter.3", + "dialogue:pilot.encounter.4", + ], + victory: [ + "dialogue:pilot.victory.1", + "dialogue:pilot.victory.2", + "dialogue:pilot.victory.3", + "dialogue:pilot.victory.4", + ], + }, + ], + [TrainerType.POKEFAN]: [ + { + encounter: ["dialogue:pokefan.encounter.1", "dialogue:pokefan.encounter.2", "dialogue:pokefan.encounter.3"], + victory: ["dialogue:pokefan.victory.1", "dialogue:pokefan.victory.2", "dialogue:pokefan.victory.3"], + }, + { + encounter: [ + "dialogue:pokefan_female.encounter.1", + "dialogue:pokefan_female.encounter.2", + "dialogue:pokefan_female.encounter.3", + ], + victory: [ + "dialogue:pokefan_female.victory.1", + "dialogue:pokefan_female.victory.2", + "dialogue:pokefan_female.victory.3", + ], + }, + ], + [TrainerType.RICH]: [ + { + encounter: ["dialogue:rich.encounter.1", "dialogue:rich.encounter.2", "dialogue:rich.encounter.3"], + victory: ["dialogue:rich.victory.1", "dialogue:rich.victory.2", "dialogue:rich.victory.3"], + }, + { + encounter: [ + "dialogue:rich_female.encounter.1", + "dialogue:rich_female.encounter.2", + "dialogue:rich_female.encounter.3", + ], + victory: ["dialogue:rich_female.victory.1", "dialogue:rich_female.victory.2", "dialogue:rich_female.victory.3"], + }, + ], + [TrainerType.RICH_KID]: [ + { + encounter: ["dialogue:rich_kid.encounter.1", "dialogue:rich_kid.encounter.2", "dialogue:rich_kid.encounter.3"], + victory: [ + "dialogue:rich_kid.victory.1", + "dialogue:rich_kid.victory.2", + "dialogue:rich_kid.victory.3", + "dialogue:rich_kid.victory.4", + ], + }, + { + encounter: [ + "dialogue:rich_kid_female.encounter.1", + "dialogue:rich_kid_female.encounter.2", + "dialogue:rich_kid_female.encounter.3", + ], + victory: [ + "dialogue:rich_kid_female.victory.1", + "dialogue:rich_kid_female.victory.2", + "dialogue:rich_kid_female.victory.3", + "dialogue:rich_kid_female.victory.4", + ], + }, + ], [TrainerType.ROCKET_GRUNT]: [ { encounter: [ diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index ffe5cdfe04c..0417e7abc32 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -2141,7 +2141,15 @@ export const trainerConfigs: TrainerConfigs = { }), [TrainerType.HOOLIGANS]: new TrainerConfig(++t) .setDoubleOnly() + .setMoneyMultiplier(1.5) .setEncounterBgm(TrainerType.ROUGHNECK) + .setPartyTemplateFunc(() => + getWavePartyTemplate( + trainerPartyTemplates.TWO_WEAK, + trainerPartyTemplates.TWO_AVG, + trainerPartyTemplates.ONE_AVG_ONE_STRONG, + ), + ) .setSpeciesFilter(s => s.isOfType(PokemonType.POISON) || s.isOfType(PokemonType.DARK)), [TrainerType.HOOPSTER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), [TrainerType.INFIELDER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), @@ -2149,7 +2157,14 @@ export const trainerConfigs: TrainerConfigs = { [TrainerType.LINEBACKER]: new TrainerConfig(++t).setMoneyMultiplier(1.2).setEncounterBgm(TrainerType.CYCLIST), [TrainerType.MAID]: new TrainerConfig(++t).setMoneyMultiplier(1.6).setEncounterBgm(TrainerType.RICH), [TrainerType.MUSICIAN]: new TrainerConfig(++t) - .setEncounterBgm(TrainerType.ROUGHNECK) + .setMoneyMultiplier(1.1) + .setEncounterBgm(TrainerType.POKEFAN) + .setPartyTemplates( + trainerPartyTemplates.FOUR_WEAKER, + trainerPartyTemplates.THREE_WEAK, + trainerPartyTemplates.TWO_WEAK_ONE_AVG, + trainerPartyTemplates.TWO_AVG, + ) .setSpeciesFilter(s => !!s.getLevelMoves().find(plm => plm[1] === Moves.SING)), [TrainerType.HEX_MANIAC]: new TrainerConfig(++t) .setMoneyMultiplier(1.5) @@ -2214,7 +2229,14 @@ export const trainerConfigs: TrainerConfigs = { ) || s.getLevelMoves().some(plm => plm[1] === Moves.RAIN_DANCE), ), // Mons with rain abilities or who learn Rain Dance by level [TrainerType.PILOT]: new TrainerConfig(++t) + .setMoneyMultiplier(1.75) .setEncounterBgm(TrainerType.CLERK) + .setPartyTemplates( + trainerPartyTemplates.THREE_WEAK, + trainerPartyTemplates.TWO_WEAK_ONE_AVG, + trainerPartyTemplates.TWO_AVG, + trainerPartyTemplates.THREE_AVG, + ) .setSpeciesFilter(s => tmSpecies[Moves.FLY].indexOf(s.speciesId) > -1), [TrainerType.POKEFAN]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) @@ -2230,7 +2252,8 @@ export const trainerConfigs: TrainerConfigs = { trainerPartyTemplates.FOUR_WEAK_SAME, trainerPartyTemplates.FIVE_WEAK, trainerPartyTemplates.SIX_WEAKER_SAME, - ), + ) + .setSpeciesFilter(s => tmSpecies[Moves.HELPING_HAND].indexOf(s.speciesId) > -1), [TrainerType.PRESCHOOLER]: new TrainerConfig(++t) .setMoneyMultiplier(0.2) .setEncounterBgm(TrainerType.YOUNGSTER) @@ -2352,16 +2375,29 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.SUPER_RARE]: [Species.LARVESTA], }), [TrainerType.RICH]: new TrainerConfig(++t) - .setMoneyMultiplier(5) + .setMoneyMultiplier(3.25) .setName("Gentleman") .setHasGenders("Madame") - .setHasDouble("Rich Couple"), + .setHasDouble("Rich Couple") + .setPartyTemplates( + trainerPartyTemplates.THREE_WEAK, + trainerPartyTemplates.FOUR_WEAK, + trainerPartyTemplates.TWO_WEAK_ONE_AVG, + trainerPartyTemplates.THREE_AVG, + ) + .setSpeciesFilter(s => s.isOfType(PokemonType.NORMAL) || s.isOfType(PokemonType.ELECTRIC)), [TrainerType.RICH_KID]: new TrainerConfig(++t) - .setMoneyMultiplier(3.75) + .setMoneyMultiplier(2.5) .setName("Rich Boy") .setHasGenders("Lady") .setHasDouble("Rich Kids") - .setEncounterBgm(TrainerType.RICH), + .setEncounterBgm(TrainerType.RICH) + .setPartyTemplates( + trainerPartyTemplates.FOUR_WEAKER, + trainerPartyTemplates.THREE_WEAK_SAME, + trainerPartyTemplates.TWO_WEAK_SAME_ONE_AVG, + ) + .setSpeciesFilter(s => s.baseTotal <= 460), [TrainerType.ROUGHNECK]: new TrainerConfig(++t) .setMoneyMultiplier(1.4) .setEncounterBgm(TrainerType.ROUGHNECK) From 443264a3ea377da4ef4f25554aa156395dc1cf6f Mon Sep 17 00:00:00 2001 From: damocleas Date: Tue, 25 Mar 2025 01:55:26 -0400 Subject: [PATCH 024/129] [i18n] Update locales submodule --- public/locales | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales b/public/locales index 0e5c6096ba2..cd4057af258 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 0e5c6096ba26f6b87aed1aab3fe9b0b23f6cbb7b +Subproject commit cd4057af258b659ba2c1ed2778bb2793fa1f6141 From f78015d75730d205d4bf08a4fd09547d8b8a8b37 Mon Sep 17 00:00:00 2001 From: Lugiad <2070109+Adri1@users.noreply.github.com> Date: Tue, 25 Mar 2025 21:06:24 +0100 Subject: [PATCH 025/129] [Localization] Catalan reactivation (#5555) * Add files via upload * Update settings.ts * Add files via upload * Add files via upload * Update starter-select-ui-handler.ts * Update utils.ts with Catalan * Update loading-scene.ts --- public/images/statuses_ca-ES.png | Bin 441 -> 2244 bytes public/images/types_ca-ES.json | 440 ++++++++++++++++++++++++++++ public/images/types_ca-ES.png | Bin 0 -> 6383 bytes src/loading-scene.ts | 2 +- src/system/settings/settings.ts | 8 +- src/ui/starter-select-ui-handler.ts | 2 +- src/utils.ts | 1 + 7 files changed, 447 insertions(+), 6 deletions(-) create mode 100644 public/images/types_ca-ES.json create mode 100644 public/images/types_ca-ES.png diff --git a/public/images/statuses_ca-ES.png b/public/images/statuses_ca-ES.png index d372b989be966007e5fccac5f54fe341457e598b..fe05e243f7a5cd6de4d3b9a340707ebf06cc7e58 100644 GIT binary patch literal 2244 zcmbVO4Nw$i7+$d-vQWaTbkep33$wlbxgYKpP6dtx^U%{%FlENQ-92vOZg<;VjypzY z(EJ~Nl7dMAr=gU>$)rY7F^g=lI#J0&MXpR#RL~-uL4>UD__?&HoZOjjzi)S+?|I+n zec$h$T{}B-den$6eD^xG%Gqdjn5+iGz2A0^+`07$EmP`%jE?#@^js12+Xr)Buj6_tx_uI z;?oOdZf;?wohi&?Oe`{W3Y_Gl0D*^7Y1rp+3ku~kBmKM-SchI?2;2`*^UO$c$RM0; zoeigoG6(B529zOmB%EN<5C+^t>Ry0JoJhd%1dPz4I6>hCN^61#F9cYVStm8e^5UQ^ z@MK0@swzgb^A%B&i?BGGUyQFT4AVvkb<$IS(hO3cwO!tmG0^ zQE`d?LLL5mhXD{;t2J!nAARw7!X^|o%?o4<2IL>nirp`9*c?s~^JRuh^8z^qS6AxWmwDzP^{s3mNIfQj?)Py)L=A{sE*WWQJQejsE%Ru9Em#| zq|-38-y$;kp}Y?5XaDE^SuzjK745!f9#H>(DI8)+28tArIA!p3q|mv8D>pwSBs1hD zVbl|x!>C2I2~GypYjrGYB5@8Sw6vZv7zl%b!IQAiQ2?9Zfz<#J_TLu!3zSOdLmv1C z?at+14SN9h*Ca(Vp|fU2m{5^%EHe0-zvqk$&=$BjK>8o$Hvm&ar&>VETyieR-d&0t z8Q^=96tpQn{Kd^O4+Ej9JMnfKZb*Rz?s+P@tAL=};;g`cZ)t!s$x zG9R1Ov!dfebIQW`?2(F`v)(0RHa8xBuq<+|A{5tH)7PDv9~*e0f$wZ=&Ju5xKNnp^ zM0_3;4m2whkxSm;MYpnBTWWL8UrH&CThm=tbZz*gtxrvcrq%s8u3K~T>=s{K+CFVg zuQ3)nA$wOgZjLq0f8&Vh*`=K^o9iz|Bx+0dc)Aygt72@$ar+Ie{)|b!#fyFZ6^XTH zZY4mi`vY9b?r%sa@?6`~(4oMI%IfMp^e4fY#&aHT@Ipihm#}``8g|E`*@+we_}Du$ z&sJw!l~lB$Ej#Xjj@fwH-#5?ld|-XcjnYQ{&YaR=Pd0P}TTtWoLAW))V?{|s(c7ou zq0|jgO+jUOP;nSDj(W|nw5}Po-Q^c-+ZJA3-1e?_5F|51mtWbF1&%BJZN4 zH@7tBuiKxw=ekp=kPL~?*_XS^gyPo&7hB6KvQ9ZK?L{u4k zRzAISi@v^*#u_SN-kY_VUJE9fk2@I(~mO zK5b{UWnRhXaScoTlHtM_nOSM0{KZO-TQ>G}+I zIn7o0!+Dp;xZJZk++_QIf*BQ_vO9cL>_x7%KzeP1y+B2_I7G_xHE-s8-)5{aFy1?z zvW;$NS#fE(5J*QH>;TO#qj-;m3y@V^jDKUiXB4T~am+que5?h|bD2QvJlYc8%_G~a zG}z~@!Q2dSmt873PQXLUg+O|T!QM`p^A|K=@Suc&?b@)04>kGLv3=K17yh?|Mhx#G)+hhQwMYUUT0RT>1-XbQdPI;dWdHyG07*qoM6N<$g7t5` A=>Px# diff --git a/public/images/types_ca-ES.json b/public/images/types_ca-ES.json new file mode 100644 index 00000000000..fa3abaaf259 --- /dev/null +++ b/public/images/types_ca-ES.json @@ -0,0 +1,440 @@ +{ + "textures": [ + { + "image": "types_ca-ES.png", + "format": "RGBA8888", + "size": { + "w": 32, + "h": 280 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 32, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 32, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 32, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 32, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 32, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 32, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 32, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 32, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 32, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 32, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 32, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 32, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 32, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 32, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 32, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 32, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 32, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 32, + "h": 14 + } + }, + { + "filename": "stellar", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 14 + }, + "frame": { + "x": 0, + "y": 266, + "w": 32, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$" + } +} diff --git a/public/images/types_ca-ES.png b/public/images/types_ca-ES.png new file mode 100644 index 0000000000000000000000000000000000000000..e85c84ed9c987049fd9965771a4a64a12dcc6b0b GIT binary patch literal 6383 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 literal 0 HcmV?d00001 diff --git a/src/loading-scene.ts b/src/loading-scene.ts index 295dc318db4..7f05634db48 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -250,7 +250,7 @@ export class LoadingScene extends SceneBase { this.loadAtlas("statuses", ""); this.loadAtlas("types", ""); } - const availableLangs = ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"]; + const availableLangs = ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN", "zh-TW", "ca-ES"]; if (lang && availableLangs.includes(lang)) { this.loadImage(`pkmnday2025event-${lang}`, "events"); } else { diff --git a/src/system/settings/settings.ts b/src/system/settings/settings.ts index 1a7279d371c..b2b1d3eb298 100644 --- a/src/system/settings/settings.ts +++ b/src/system/settings/settings.ts @@ -948,10 +948,10 @@ export function setSetting(setting: string, value: number): boolean { label: "日本語", handler: () => changeLocaleHandler("ja"), }, - // { - // label: "Català", - // handler: () => changeLocaleHandler("ca-ES") - // }, + { + label: "Català", + handler: () => changeLocaleHandler("ca-ES") + }, { label: i18next.t("settings:back"), handler: () => cancelHandler(), diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 8265ad827bc..91940d3af76 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -150,7 +150,7 @@ const languageSettings: { [key: string]: LanguageSetting } = { instructionTextSize: "38px", }, "ca-ES": { - starterInfoTextSize: "56px", + starterInfoTextSize: "52px", instructionTextSize: "38px", }, }; diff --git a/src/utils.ts b/src/utils.ts index 7d3dea0247e..fbca8410feb 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -464,6 +464,7 @@ export function hasAllLocalizedSprites(lang?: string): boolean { case "pt-BR": case "ko": case "ja": + case "ca-ES": return true; default: return false; From bba7c1610de9b1b5e0c685f9375214a58cca89fd Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Tue, 25 Mar 2025 21:36:12 +0100 Subject: [PATCH 026/129] =?UTF-8?q?[UI/UX]=20Option=20to=20see=20Pokedex?= =?UTF-8?q?=20entry=20after=20catching=20wild=20Pok=C3=A9mon=20(#5538)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * pokedex option after catching * Also changing catching for mystery encounters --- .../utils/encounter-pokemon-utils.ts | 20 ++++++++++++++++ src/phases/attempt-capture-phase.ts | 21 ++++++++++++++++ src/ui/confirm-ui-handler.ts | 24 ++++++++++++------- src/ui/pokedex-page-ui-handler.ts | 15 +++++++++++- src/ui/pokemon-info-container.ts | 2 +- 5 files changed, 72 insertions(+), 10 deletions(-) diff --git a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts index 275078dbace..a4787e819b8 100644 --- a/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts +++ b/src/data/mystery-encounters/utils/encounter-pokemon-utils.ts @@ -741,6 +741,26 @@ export async function catchPokemon( false, ); }, + () => { + const attributes = { + shiny: pokemon.shiny, + variant: pokemon.variant, + form: pokemon.formIndex, + female: pokemon.gender === Gender.FEMALE, + }; + globalScene.ui.setOverlayMode( + Mode.POKEDEX_PAGE, + pokemon.species, + pokemon.formIndex, + attributes, + null, + () => { + globalScene.ui.setMode(Mode.MESSAGE).then(() => { + promptRelease(); + }); + }, + ); + }, () => { globalScene.ui.setMode( Mode.PARTY, diff --git a/src/phases/attempt-capture-phase.ts b/src/phases/attempt-capture-phase.ts index 6b905c2a07f..6e2a2d29af4 100644 --- a/src/phases/attempt-capture-phase.ts +++ b/src/phases/attempt-capture-phase.ts @@ -24,6 +24,7 @@ import type { PokeballType } from "#enums/pokeball"; import { StatusEffect } from "#enums/status-effect"; import i18next from "i18next"; import { globalScene } from "#app/global-scene"; +import { Gender } from "#app/data/gender"; export class AttemptCapturePhase extends PokemonPhase { private pokeballType: PokeballType; @@ -321,6 +322,26 @@ export class AttemptCapturePhase extends PokemonPhase { false, ); }, + () => { + const attributes = { + shiny: pokemon.shiny, + variant: pokemon.variant, + form: pokemon.formIndex, + female: pokemon.gender === Gender.FEMALE, + }; + globalScene.ui.setOverlayMode( + Mode.POKEDEX_PAGE, + pokemon.species, + pokemon.formIndex, + attributes, + null, + () => { + globalScene.ui.setMode(Mode.MESSAGE).then(() => { + promptRelease(); + }); + }, + ); + }, () => { globalScene.ui.setMode( Mode.PARTY, diff --git a/src/ui/confirm-ui-handler.ts b/src/ui/confirm-ui-handler.ts index a8710b0ab01..eb7018051b7 100644 --- a/src/ui/confirm-ui-handler.ts +++ b/src/ui/confirm-ui-handler.ts @@ -21,11 +21,12 @@ export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler { show(args: any[]): boolean { if ( - args.length === 4 && + args.length === 5 && args[0] instanceof Function && args[1] instanceof Function && args[2] instanceof Function && - args[3] === "fullParty" + args[3] instanceof Function && + args[4] === "fullParty" ) { const config: OptionSelectConfig = { options: [ @@ -37,29 +38,36 @@ export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler { }, }, { - label: i18next.t("menu:yes"), + label: i18next.t("partyUiHandler:POKEDEX"), handler: () => { args[1](); return true; }, }, { - label: i18next.t("menu:no"), + label: i18next.t("menu:yes"), handler: () => { args[2](); return true; }, }, + { + label: i18next.t("menu:no"), + handler: () => { + args[3](); + return true; + }, + }, ], - delay: args.length >= 8 && args[7] !== null ? (args[7] as number) : 0, + delay: args.length >= 9 && args[8] !== null ? (args[8] as number) : 0, }; super.show([config]); - this.switchCheck = args.length >= 5 && args[4] !== null && (args[4] as boolean); + this.switchCheck = args.length >= 6 && args[5] !== null && (args[5] as boolean); - const xOffset = args.length >= 6 && args[5] !== null ? (args[5] as number) : 0; - const yOffset = args.length >= 7 && args[6] !== null ? (args[6] as number) : 0; + const xOffset = args.length >= 7 && args[6] !== null ? (args[6] as number) : 0; + const yOffset = args.length >= 8 && args[7] !== null ? (args[7] as number) : 0; this.optionSelectContainer.setPosition(globalScene.game.canvas.width / 6 - 1 + xOffset, -48 + yOffset); diff --git a/src/ui/pokedex-page-ui-handler.ts b/src/ui/pokedex-page-ui-handler.ts index 86460a24fdc..8f96f1e44c2 100644 --- a/src/ui/pokedex-page-ui-handler.ts +++ b/src/ui/pokedex-page-ui-handler.ts @@ -261,6 +261,7 @@ export default class PokedexPageUiHandler extends MessageUiHandler { private unlockedVariants: boolean[]; private canUseCandies: boolean; + private exitCallback; constructor() { super(Mode.POKEDEX_PAGE); @@ -681,6 +682,10 @@ export default class PokedexPageUiHandler extends MessageUiHandler { this.filteredIndices = args[2] ?? null; this.starterSetup(); + if (args[4] instanceof Function) { + this.exitCallback = args[4]; + } + this.moveInfoOverlay.clear(); // clear this when removing a menu; the cancel button doesn't seem to trigger this automatically on controllers this.infoOverlay.clear(); @@ -1106,7 +1111,15 @@ export default class PokedexPageUiHandler extends MessageUiHandler { }); this.blockInput = false; } else { - ui.revertMode(); + ui.revertMode() + .then(() => { + console.log("exitCallback", this.exitCallback); + if (this.exitCallback instanceof Function) { + const exitCallback = this.exitCallback; + this.exitCallback = null; + exitCallback(); + } + }); success = true; } } else { diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 64c743ec88d..56201f38748 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -458,7 +458,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container { makeRoomForConfirmUi(speedMultiplier = 1, fromCatch = false): Promise { const xPosition = fromCatch - ? this.initialX - this.infoWindowWidth - 65 + ? this.initialX - this.infoWindowWidth - 67 : this.initialX - this.infoWindowWidth - ConfirmUiHandler.windowWidth; return new Promise(resolve => { globalScene.tweens.add({ From ead1bc6cce6a4ea1d9884f153b227c35988af93a Mon Sep 17 00:00:00 2001 From: damocleas Date: Tue, 25 Mar 2025 21:06:28 -0400 Subject: [PATCH 027/129] [UI/UX] Autofill login text color changed to gray (#5523) Update index.css --- index.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/index.css b/index.css index 49e570bdccc..62ad6266d30 100644 --- a/index.css +++ b/index.css @@ -68,6 +68,10 @@ input:-internal-autofill-selected { background-clip: text; } +input:-webkit-autofill { + -webkit-text-fill-color: #a1a1a1; +} + /* Need adjust input font-size */ input { font-size: 3.2rem; From f911ffc2663bae17196de9f33a3f6524119a2669 Mon Sep 17 00:00:00 2001 From: damocleas Date: Wed, 26 Mar 2025 16:01:54 -0400 Subject: [PATCH 028/129] [Balance] Split Passives and related (#5531) * Initial Split Passives * Lock Battle Bond Froakie/Frogadier Ability, Gallade back to Inner Focus --- src/data/balance/passives.ts | 843 ++++++++++++++++++++++++++++------- src/data/pokemon-species.ts | 8 +- 2 files changed, 680 insertions(+), 171 deletions(-) diff --git a/src/data/balance/passives.ts b/src/data/balance/passives.ts index c613be0137b..f7929650e67 100644 --- a/src/data/balance/passives.ts +++ b/src/data/balance/passives.ts @@ -11,418 +11,824 @@ interface StarterPassiveAbilities { export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.BULBASAUR]: { 0: Abilities.GRASSY_SURGE }, + [Species.IVYSAUR]: { 0: Abilities.GRASSY_SURGE }, + [Species.VENUSAUR]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.SEED_SOWER, 2: Abilities.FLOWER_VEIL }, [Species.CHARMANDER]: { 0: Abilities.BEAST_BOOST }, + [Species.CHARMELEON]: { 0: Abilities.BEAST_BOOST }, + [Species.CHARIZARD]: { 0: Abilities.BEAST_BOOST, 1: Abilities.LEVITATE, 2: Abilities.INTIMIDATE, 3: Abilities.UNNERVE }, [Species.SQUIRTLE]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.CATERPIE]: { 0: Abilities.MAGICIAN }, - [Species.WEEDLE]: { 0: Abilities.TINTED_LENS }, + [Species.WARTORTLE]: { 0: Abilities.DAUNTLESS_SHIELD }, + [Species.BLASTOISE]: { 0: Abilities.DAUNTLESS_SHIELD, 1: Abilities.BULLETPROOF, 2: Abilities.BULLETPROOF }, + [Species.CATERPIE]: { 0: Abilities.GLUTTONY }, + [Species.METAPOD]: { 0: Abilities.STURDY }, + [Species.BUTTERFREE]: { 0: Abilities.MAGICIAN, 1: Abilities.MAGICIAN }, + [Species.WEEDLE]: { 0: Abilities.POISON_TOUCH }, + [Species.KAKUNA]: { 0: Abilities.STURDY }, + [Species.BEEDRILL]: { 0: Abilities.ADAPTABILITY, 1: Abilities.TINTED_LENS }, [Species.PIDGEY]: { 0: Abilities.SHEER_FORCE }, + [Species.PIDGEOTTO]: { 0: Abilities.SHEER_FORCE }, + [Species.PIDGEOT]: { 0: Abilities.SHEER_FORCE, 1: Abilities.SHEER_FORCE }, [Species.RATTATA]: { 0: Abilities.STRONG_JAW }, + [Species.RATICATE]: { 0: Abilities.STRONG_JAW }, [Species.SPEAROW]: { 0: Abilities.MOXIE }, + [Species.FEAROW]: { 0: Abilities.MOXIE }, [Species.EKANS]: { 0: Abilities.REGENERATOR }, + [Species.ARBOK]: { 0: Abilities.REGENERATOR }, [Species.SANDSHREW]: { 0: Abilities.TOUGH_CLAWS }, + [Species.SANDSLASH]: { 0: Abilities.TOUGH_CLAWS }, [Species.NIDORAN_F]: { 0: Abilities.FLARE_BOOST }, + [Species.NIDORINA]: { 0: Abilities.FLARE_BOOST }, + [Species.NIDOQUEEN]: { 0: Abilities.FLARE_BOOST }, [Species.NIDORAN_M]: { 0: Abilities.GUTS }, + [Species.NIDORINO]: { 0: Abilities.GUTS }, + [Species.NIDOKING]: { 0: Abilities.GUTS }, [Species.VULPIX]: { 0: Abilities.FUR_COAT }, + [Species.NINETALES]: { 0: Abilities.FUR_COAT }, [Species.ZUBAT]: { 0: Abilities.INTIMIDATE }, + [Species.GOLBAT]: { 0: Abilities.INTIMIDATE }, + [Species.CROBAT]: { 0: Abilities.INTIMIDATE }, [Species.ODDISH]: { 0: Abilities.TRIAGE }, + [Species.GLOOM]: { 0: Abilities.TRIAGE }, + [Species.VILEPLUME]: { 0: Abilities.TRIAGE }, + [Species.BELLOSSOM]: { 0: Abilities.TRIAGE }, [Species.PARAS]: { 0: Abilities.TRIAGE }, - [Species.VENONAT]: { 0: Abilities.SIMPLE }, + [Species.PARASECT]: { 0: Abilities.TRIAGE }, + [Species.VENONAT]: { 0: Abilities.FLUFFY }, + [Species.VENOMOTH]: { 0: Abilities.SIMPLE }, [Species.DIGLETT]: { 0: Abilities.STURDY }, - [Species.MEOWTH]: { 0: Abilities.TOUGH_CLAWS }, + [Species.DUGTRIO]: { 0: Abilities.STURDY }, + [Species.MEOWTH]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, + [Species.PERSIAN]: { 0: Abilities.TOUGH_CLAWS }, [Species.PSYDUCK]: { 0: Abilities.SIMPLE }, + [Species.GOLDUCK]: { 0: Abilities.SIMPLE }, [Species.MANKEY]: { 0: Abilities.IRON_FIST }, + [Species.PRIMEAPE]: { 0: Abilities.IRON_FIST }, + [Species.ANNIHILAPE]: { 0: Abilities.IRON_FIST }, [Species.GROWLITHE]: { 0: Abilities.FLUFFY }, + [Species.ARCANINE]: { 0: Abilities.FLUFFY }, [Species.POLIWAG]: { 0: Abilities.NO_GUARD }, - [Species.ABRA]: { 0: Abilities.MAGICIAN }, + [Species.POLIWHIRL]: { 0: Abilities.NO_GUARD }, + [Species.POLIWRATH]: { 0: Abilities.NO_GUARD }, + [Species.POLITOED]: { 0: Abilities.NO_GUARD }, + [Species.ABRA]: { 0: Abilities.COMATOSE }, + [Species.KADABRA]: { 0: Abilities.MAGICIAN }, + [Species.ALAKAZAM]: { 0: Abilities.MAGICIAN, 1: Abilities.MAGICIAN }, [Species.MACHOP]: { 0: Abilities.QUICK_FEET }, + [Species.MACHOKE]: { 0: Abilities.QUICK_FEET }, + [Species.MACHAMP]: { 0: Abilities.QUICK_FEET, 1: Abilities.QUICK_FEET }, [Species.BELLSPROUT]: { 0: Abilities.FLOWER_GIFT }, + [Species.WEEPINBELL]: { 0: Abilities.FLOWER_GIFT }, + [Species.VICTREEBEL]: { 0: Abilities.FLOWER_GIFT }, [Species.TENTACOOL]: { 0: Abilities.TOXIC_CHAIN }, + [Species.TENTACRUEL]: { 0: Abilities.TOXIC_CHAIN }, [Species.GEODUDE]: { 0: Abilities.DRY_SKIN }, + [Species.GRAVELER]: { 0: Abilities.DRY_SKIN }, + [Species.GOLEM]: { 0: Abilities.DRY_SKIN }, [Species.PONYTA]: { 0: Abilities.MAGIC_GUARD }, + [Species.RAPIDASH]: { 0: Abilities.MAGIC_GUARD }, [Species.SLOWPOKE]: { 0: Abilities.UNAWARE }, + [Species.SLOWBRO]: { 0: Abilities.UNAWARE, 1: Abilities.REGENERATOR }, + [Species.SLOWKING]: { 0: Abilities.UNAWARE }, [Species.MAGNEMITE]: { 0: Abilities.LEVITATE }, + [Species.MAGNETON]: { 0: Abilities.LEVITATE }, + [Species.MAGNEZONE]: { 0: Abilities.LEVITATE }, [Species.FARFETCHD]: { 0: Abilities.SNIPER }, [Species.DODUO]: { 0: Abilities.PARENTAL_BOND }, + [Species.DODRIO]: { 0: Abilities.PARENTAL_BOND }, [Species.SEEL]: { 0: Abilities.WATER_BUBBLE }, + [Species.DEWGONG]: { 0: Abilities.WATER_BUBBLE }, [Species.GRIMER]: { 0: Abilities.WATER_ABSORB }, - [Species.SHELLDER]: { 0: Abilities.ICE_SCALES }, + [Species.MUK]: { 0: Abilities.WATER_ABSORB }, + [Species.SHELLDER]: { 0: Abilities.STURDY }, + [Species.CLOYSTER]: { 0: Abilities.ICE_SCALES }, [Species.GASTLY]: { 0: Abilities.SHADOW_SHIELD }, + [Species.HAUNTER]: { 0: Abilities.SHADOW_SHIELD }, + [Species.GENGAR]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.UNNERVE, 2: Abilities.GLUTTONY }, [Species.ONIX]: { 0: Abilities.ROCKY_PAYLOAD }, + [Species.STEELIX]: { 0: Abilities.ROCKY_PAYLOAD, 1: Abilities.SAND_SPIT }, [Species.DROWZEE]: { 0: Abilities.MAGICIAN }, + [Species.HYPNO]: { 0: Abilities.MAGICIAN }, [Species.KRABBY]: { 0: Abilities.UNBURDEN }, + [Species.KINGLER]: { 0: Abilities.UNBURDEN, 1: Abilities.UNBURDEN }, [Species.VOLTORB]: { 0: Abilities.TRANSISTOR }, + [Species.ELECTRODE]: { 0: Abilities.TRANSISTOR }, [Species.EXEGGCUTE]: { 0: Abilities.RIPEN }, + [Species.EXEGGUTOR]: { 0: Abilities.RIPEN }, + [Species.ALOLA_EXEGGUTOR]: { 0: Abilities.UNBURDEN }, [Species.CUBONE]: { 0: Abilities.PARENTAL_BOND }, + [Species.MAROWAK]: { 0: Abilities.PARENTAL_BOND }, + [Species.ALOLA_MAROWAK]: { 0: Abilities.PARENTAL_BOND }, [Species.LICKITUNG]: { 0: Abilities.CHEEK_POUCH }, - [Species.KOFFING]: { 0: Abilities.PARENTAL_BOND }, - [Species.RHYHORN]: { 0: Abilities.FILTER }, + [Species.LICKILICKY]: { 0: Abilities.CHEEK_POUCH }, + [Species.KOFFING]: { 0: Abilities.WHITE_SMOKE }, + [Species.WEEZING]: { 0: Abilities.PARENTAL_BOND }, + [Species.GALAR_WEEZING]: { 0: Abilities.PARENTAL_BOND }, + [Species.RHYHORN]: { 0: Abilities.SOLID_ROCK }, + [Species.RHYDON]: { 0: Abilities.SOLID_ROCK }, + [Species.RHYPERIOR]: { 0: Abilities.FILTER }, [Species.TANGELA]: { 0: Abilities.SEED_SOWER }, - [Species.KANGASKHAN]: { 0: Abilities.TECHNICIAN }, + [Species.TANGROWTH]: { 0: Abilities.SEED_SOWER }, + [Species.KANGASKHAN]: { 0: Abilities.TECHNICIAN, 1: Abilities.TECHNICIAN }, [Species.HORSEA]: { 0: Abilities.DRAGONS_MAW }, + [Species.SEADRA]: { 0: Abilities.DRAGONS_MAW }, + [Species.KINGDRA]: { 0: Abilities.MULTISCALE }, [Species.GOLDEEN]: { 0: Abilities.MULTISCALE }, + [Species.SEAKING]: { 0: Abilities.MULTISCALE }, [Species.STARYU]: { 0: Abilities.REGENERATOR }, + [Species.STARMIE]: { 0: Abilities.REGENERATOR }, [Species.SCYTHER]: { 0: Abilities.TINTED_LENS }, - [Species.PINSIR]: { 0: Abilities.TINTED_LENS }, + [Species.SCIZOR]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, + [Species.KLEAVOR]: { 0: Abilities.WEAK_ARMOR }, + [Species.PINSIR]: { 0: Abilities.TINTED_LENS, 1: Abilities.MOLD_BREAKER }, [Species.TAUROS]: { 0: Abilities.STAMINA }, [Species.MAGIKARP]: { 0: Abilities.MULTISCALE }, - [Species.LAPRAS]: { 0: Abilities.LIGHTNING_ROD }, + [Species.GYARADOS]: { 0: Abilities.MULTISCALE, 1: Abilities.MULTISCALE }, + [Species.LAPRAS]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.FILTER }, [Species.DITTO]: { 0: Abilities.ADAPTABILITY }, - [Species.EEVEE]: { 0: Abilities.PICKUP }, - [Species.PORYGON]: { 0: Abilities.PROTEAN }, + [Species.EEVEE]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP, 2: Abilities.FLUFFY }, + [Species.VAPOREON]: { 0: Abilities.REGENERATOR }, + [Species.JOLTEON]: { 0: Abilities.TRANSISTOR }, + [Species.FLAREON]: { 0: Abilities.FUR_COAT }, + [Species.ESPEON]: { 0: Abilities.MAGICIAN }, + [Species.UMBREON]: { 0: Abilities.TOXIC_CHAIN }, + [Species.LEAFEON]: { 0: Abilities.GRASSY_SURGE }, + [Species.GLACEON]: { 0: Abilities.SNOW_WARNING }, + [Species.SYLVEON]: { 0: Abilities.COMPETITIVE }, + [Species.PORYGON]: { 0: Abilities.LEVITATE }, + [Species.PORYGON2]: { 0: Abilities.LEVITATE }, + [Species.PORYGON_Z]: { 0: Abilities.PROTEAN }, [Species.OMANYTE]: { 0: Abilities.STURDY }, + [Species.OMASTAR]: { 0: Abilities.STURDY }, [Species.KABUTO]: { 0: Abilities.TOUGH_CLAWS }, - [Species.AERODACTYL]: { 0: Abilities.ORICHALCUM_PULSE }, + [Species.KABUTOPS]: { 0: Abilities.TOUGH_CLAWS }, + [Species.AERODACTYL]: { 0: Abilities.INTIMIDATE, 1: Abilities.DELTA_STREAM }, [Species.ARTICUNO]: { 0: Abilities.SNOW_WARNING }, [Species.ZAPDOS]: { 0: Abilities.DRIZZLE }, [Species.MOLTRES]: { 0: Abilities.DROUGHT }, - [Species.DRATINI]: { 0: Abilities.AERILATE }, - [Species.MEWTWO]: { 0: Abilities.NEUROFORCE }, + [Species.DRATINI]: { 0: Abilities.MULTISCALE }, + [Species.DRAGONAIR]: { 0: Abilities.MULTISCALE }, + [Species.DRAGONITE]: { 0: Abilities.AERILATE }, + [Species.MEWTWO]: { 0: Abilities.NEUROFORCE, 1: Abilities.NEUROFORCE, 2: Abilities.NEUROFORCE }, [Species.MEW]: { 0: Abilities.PROTEAN }, [Species.CHIKORITA]: { 0: Abilities.THICK_FAT }, + [Species.BAYLEEF]: { 0: Abilities.THICK_FAT }, + [Species.MEGANIUM]: { 0: Abilities.THICK_FAT }, [Species.CYNDAQUIL]: { 0: Abilities.DROUGHT }, + [Species.QUILAVA]: { 0: Abilities.DROUGHT }, + [Species.TYPHLOSION]: { 0: Abilities.DROUGHT }, + [Species.HISUI_TYPHLOSION]: { 0: Abilities.DROUGHT }, [Species.TOTODILE]: { 0: Abilities.TOUGH_CLAWS }, + [Species.CROCONAW]: { 0: Abilities.TOUGH_CLAWS }, + [Species.FERALIGATR]: { 0: Abilities.TOUGH_CLAWS }, [Species.SENTRET]: { 0: Abilities.PICKUP }, + [Species.FURRET]: { 0: Abilities.PICKUP }, [Species.HOOTHOOT]: { 0: Abilities.AERILATE }, + [Species.NOCTOWL]: { 0: Abilities.AERILATE }, [Species.LEDYBA]: { 0: Abilities.PRANKSTER }, + [Species.LEDIAN]: { 0: Abilities.PRANKSTER }, [Species.SPINARAK]: { 0: Abilities.PRANKSTER }, + [Species.ARIADOS]: { 0: Abilities.PRANKSTER }, [Species.CHINCHOU]: { 0: Abilities.REGENERATOR }, - [Species.PICHU]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.CLEFFA]: { 0: Abilities.ANALYTIC }, + [Species.LANTURN]: { 0: Abilities.REGENERATOR }, + [Species.PICHU]: { 0: Abilities.ELECTRIC_SURGE, 1: Abilities.STURDY }, + [Species.PIKACHU]: { 0: Abilities.ELECTRIC_SURGE, 1: Abilities.STURDY, 2: Abilities.COSTAR, 3: Abilities.IRON_FIST, 4: Abilities.QUEENLY_MAJESTY, 5: Abilities.MISTY_SURGE, 6: Abilities.TINTED_LENS, 7: Abilities.LIBERO, 8: Abilities.THICK_FAT }, + [Species.RAICHU]: { 0: Abilities.ELECTRIC_SURGE }, + [Species.ALOLA_RAICHU]: { 0: Abilities.ELECTRIC_SURGE }, + [Species.CLEFFA]: { 0: Abilities.PRANKSTER }, + [Species.CLEFAIRY]: { 0: Abilities.PRANKSTER }, + [Species.CLEFABLE]: { 0: Abilities.ANALYTIC }, [Species.IGGLYBUFF]: { 0: Abilities.HUGE_POWER }, + [Species.JIGGLYPUFF]: { 0: Abilities.HUGE_POWER }, + [Species.WIGGLYTUFF]: { 0: Abilities.HUGE_POWER }, [Species.TOGEPI]: { 0: Abilities.PIXILATE }, - [Species.NATU]: { 0: Abilities.SHEER_FORCE }, + [Species.TOGETIC]: { 0: Abilities.PIXILATE }, + [Species.TOGEKISS]: { 0: Abilities.PIXILATE }, + [Species.NATU]: { 0: Abilities.TINTED_LENS }, + [Species.XATU]: { 0: Abilities.SHEER_FORCE }, [Species.MAREEP]: { 0: Abilities.ELECTROMORPHOSIS }, - [Species.HOPPIP]: { 0: Abilities.FLUFFY }, + [Species.FLAAFFY]: { 0: Abilities.ELECTROMORPHOSIS }, + [Species.AMPHAROS]: { 0: Abilities.ELECTROMORPHOSIS, 1: Abilities.ELECTROMORPHOSIS }, + [Species.HOPPIP]: { 0: Abilities.WIND_RIDER }, + [Species.SKIPLOOM]: { 0: Abilities.WIND_RIDER }, + [Species.JUMPLUFF]: { 0: Abilities.FLUFFY }, [Species.AIPOM]: { 0: Abilities.SCRAPPY }, + [Species.AMBIPOM]: { 0: Abilities.SCRAPPY }, [Species.SUNKERN]: { 0: Abilities.DROUGHT }, - [Species.YANMA]: { 0: Abilities.SHEER_FORCE }, - [Species.WOOPER]: { 0: Abilities.COMATOSE }, + [Species.SUNFLORA]: { 0: Abilities.DROUGHT }, + [Species.YANMA]: { 0: Abilities.TECHNICIAN }, + [Species.YANMEGA]: { 0: Abilities.SHEER_FORCE }, + [Species.WOOPER]: { 0: Abilities.WATER_VEIL }, + [Species.QUAGSIRE]: { 0: Abilities.COMATOSE }, [Species.MURKROW]: { 0: Abilities.DARK_AURA }, + [Species.HONCHKROW]: { 0: Abilities.DARK_AURA }, [Species.MISDREAVUS]: { 0: Abilities.BEADS_OF_RUIN }, - [Species.UNOWN]: { 0: Abilities.PICKUP }, + [Species.MISMAGIUS]: { 0: Abilities.BEADS_OF_RUIN }, + [Species.UNOWN]: { 0: Abilities.ADAPTABILITY, 1: Abilities.BEAST_BOOST, 2: Abilities.CONTRARY, 3: Abilities.DAZZLING, 4: Abilities.EMERGENCY_EXIT, 5: Abilities.FRIEND_GUARD, 6: Abilities.GOOD_AS_GOLD, 7: Abilities.HONEY_GATHER, 8: Abilities.IMPOSTER, 9: Abilities.JUSTIFIED, 10: Abilities.KLUTZ, 11: Abilities.LIBERO, 12: Abilities.MOODY, 13: Abilities.NEUTRALIZING_GAS, 14: Abilities.OPPORTUNIST, 15: Abilities.PICKUP, 16: Abilities.QUICK_DRAW, 17: Abilities.RUN_AWAY, 18: Abilities.SIMPLE, 19: Abilities.TRACE, 20: Abilities.UNNERVE, 21: Abilities.VICTORY_STAR, 22: Abilities.WANDERING_SPIRIT, 23: Abilities.FAIRY_AURA, 24: Abilities.DARK_AURA, 25: Abilities.AURA_BREAK, 26: Abilities.PURE_POWER, 27: Abilities.UNAWARE }, [Species.GIRAFARIG]: { 0: Abilities.PARENTAL_BOND }, - [Species.PINECO]: { 0: Abilities.IRON_BARBS }, + [Species.FARIGIRAF]: { 0: Abilities.PARENTAL_BOND }, + [Species.PINECO]: { 0: Abilities.ROUGH_SKIN }, + [Species.FORRETRESS]: { 0: Abilities.IRON_BARBS }, [Species.DUNSPARCE]: { 0: Abilities.UNAWARE }, - [Species.GLIGAR]: { 0: Abilities.TOXIC_BOOST }, + [Species.DUDUNSPARCE]: { 0: Abilities.UNAWARE }, + [Species.GLIGAR]: { 0: Abilities.POISON_TOUCH }, + [Species.GLISCOR]: { 0: Abilities.TOXIC_BOOST }, [Species.SNUBBULL]: { 0: Abilities.PIXILATE }, + [Species.GRANBULL]: { 0: Abilities.PIXILATE }, [Species.QWILFISH]: { 0: Abilities.TOXIC_DEBRIS }, [Species.SHUCKLE]: { 0: Abilities.HARVEST }, - [Species.HERACROSS]: { 0: Abilities.TECHNICIAN }, + [Species.HERACROSS]: { 0: Abilities.TECHNICIAN, 1: Abilities.TECHNICIAN }, [Species.SNEASEL]: { 0: Abilities.TOUGH_CLAWS }, - [Species.TEDDIURSA]: { 0: Abilities.THICK_FAT }, - [Species.SLUGMA]: { 0: Abilities.DESOLATE_LAND }, - [Species.SWINUB]: { 0: Abilities.SLUSH_RUSH }, + [Species.WEAVILE]: { 0: Abilities.TOUGH_CLAWS }, + [Species.TEDDIURSA]: { 0: Abilities.RUN_AWAY }, + [Species.URSARING]: { 0: Abilities.THICK_FAT }, + [Species.URSALUNA]: { 0: Abilities.THICK_FAT }, + [Species.SLUGMA]: { 0: Abilities.DROUGHT }, + [Species.MAGCARGO]: { 0: Abilities.DESOLATE_LAND }, + [Species.SWINUB]: { 0: Abilities.UNAWARE }, + [Species.PILOSWINE]: { 0: Abilities.UNAWARE }, + [Species.MAMOSWINE]: { 0: Abilities.SLUSH_RUSH }, [Species.CORSOLA]: { 0: Abilities.STORM_DRAIN }, [Species.REMORAID]: { 0: Abilities.SIMPLE }, + [Species.OCTILLERY]: { 0: Abilities.SIMPLE }, [Species.DELIBIRD]: { 0: Abilities.HUGE_POWER }, [Species.SKARMORY]: { 0: Abilities.LIGHTNING_ROD }, - [Species.HOUNDOUR]: { 0: Abilities.LIGHTNING_ROD }, - [Species.PHANPY]: { 0: Abilities.SPEED_BOOST }, + [Species.HOUNDOUR]: { 0: Abilities.BALL_FETCH }, + [Species.HOUNDOOM]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.LIGHTNING_ROD }, + [Species.PHANPY]: { 0: Abilities.STURDY }, + [Species.DONPHAN]: { 0: Abilities.SPEED_BOOST }, [Species.STANTLER]: { 0: Abilities.SPEED_BOOST }, + [Species.WYRDEER]: { 0: Abilities.SPEED_BOOST }, [Species.SMEARGLE]: { 0: Abilities.PRANKSTER }, - [Species.TYROGUE]: { 0: Abilities.MOXIE }, + [Species.TYROGUE]: { 0: Abilities.DEFIANT }, + [Species.HITMONLEE]: { 0: Abilities.SHEER_FORCE }, + [Species.HITMONCHAN]: { 0: Abilities.MOXIE }, + [Species.HITMONTOP]: { 0: Abilities.SPEED_BOOST }, [Species.SMOOCHUM]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.JYNX]: { 0: Abilities.PSYCHIC_SURGE }, [Species.ELEKID]: { 0: Abilities.SHEER_FORCE }, + [Species.ELECTABUZZ]: { 0: Abilities.SHEER_FORCE }, + [Species.ELECTIVIRE]: { 0: Abilities.SHEER_FORCE }, [Species.MAGBY]: { 0: Abilities.SHEER_FORCE }, + [Species.MAGMAR]: { 0: Abilities.SHEER_FORCE }, + [Species.MAGMORTAR]: { 0: Abilities.SHEER_FORCE }, [Species.MILTANK]: { 0: Abilities.STAMINA }, [Species.RAIKOU]: { 0: Abilities.BEAST_BOOST }, [Species.ENTEI]: { 0: Abilities.BEAST_BOOST }, [Species.SUICUNE]: { 0: Abilities.BEAST_BOOST }, - [Species.LARVITAR]: { 0: Abilities.SOLID_ROCK }, + [Species.LARVITAR]: { 0: Abilities.SOLID_ROCK, 1: Abilities.SOLID_ROCK }, [Species.LUGIA]: { 0: Abilities.DELTA_STREAM }, [Species.HO_OH]: { 0: Abilities.MAGIC_GUARD }, [Species.CELEBI]: { 0: Abilities.PSYCHIC_SURGE }, [Species.TREECKO]: { 0: Abilities.TINTED_LENS }, + [Species.GROVYLE]: { 0: Abilities.TINTED_LENS }, + [Species.SCEPTILE]: { 0: Abilities.TINTED_LENS, 1: Abilities.TINTED_LENS }, [Species.TORCHIC]: { 0: Abilities.DEFIANT }, - [Species.MUDKIP]: { 0: Abilities.DRIZZLE }, + [Species.COMBUSKEN]: { 0: Abilities.DEFIANT }, + [Species.BLAZIKEN]: { 0: Abilities.DEFIANT, 1: Abilities.DEFIANT }, + [Species.MUDKIP]: { 0: Abilities.REGENERATOR }, + [Species.MARSHTOMP]: { 0: Abilities.REGENERATOR }, + [Species.SWAMPERT]: { 0: Abilities.REGENERATOR, 1: Abilities.DRIZZLE }, [Species.POOCHYENA]: { 0: Abilities.TOUGH_CLAWS }, + [Species.MIGHTYENA]: { 0: Abilities.TOUGH_CLAWS }, [Species.ZIGZAGOON]: { 0: Abilities.RUN_AWAY }, - [Species.WURMPLE]: { 0: Abilities.SIMPLE }, + [Species.LINOONE]: { 0: Abilities.RUN_AWAY }, + [Species.WURMPLE]: { 0: Abilities.GLUTTONY }, + [Species.SILCOON]: { 0: Abilities.STURDY }, + [Species.BEAUTIFLY]: { 0: Abilities.SIMPLE }, + [Species.CASCOON]: { 0: Abilities.STURDY }, + [Species.DUSTOX]: { 0: Abilities.SIMPLE }, [Species.LOTAD]: { 0: Abilities.DRIZZLE }, - [Species.SEEDOT]: { 0: Abilities.SHARPNESS }, + [Species.LOMBRE]: { 0: Abilities.DRIZZLE }, + [Species.LUDICOLO]: { 0: Abilities.DRIZZLE }, + [Species.SEEDOT]: { 0: Abilities.STURDY }, + [Species.NUZLEAF]: { 0: Abilities.SHARPNESS }, + [Species.SHIFTRY]: { 0: Abilities.SHARPNESS }, [Species.TAILLOW]: { 0: Abilities.AERILATE }, - [Species.WINGULL]: { 0: Abilities.SWIFT_SWIM }, - [Species.RALTS]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.SWELLOW]: { 0: Abilities.AERILATE }, + [Species.WINGULL]: { 0: Abilities.DRIZZLE }, + [Species.PELIPPER]: { 0: Abilities.SWIFT_SWIM }, + [Species.RALTS]: { 0: Abilities.NEUROFORCE }, + [Species.KIRLIA]: { 0: Abilities.NEUROFORCE }, + [Species.GARDEVOIR]: { 0: Abilities.NEUROFORCE, 1: Abilities.PSYCHIC_SURGE }, + [Species.GALLADE]: { 0: Abilities.NEUROFORCE, 1: Abilities.SHARPNESS }, [Species.SURSKIT]: { 0: Abilities.WATER_BUBBLE }, + [Species.MASQUERAIN]: { 0: Abilities.WATER_BUBBLE }, [Species.SHROOMISH]: { 0: Abilities.GUTS }, + [Species.BRELOOM]: { 0: Abilities.GUTS }, [Species.SLAKOTH]: { 0: Abilities.GUTS }, - [Species.NINCADA]: { 0: Abilities.MAGIC_GUARD }, + [Species.VIGOROTH]: { 0: Abilities.GUTS }, + [Species.SLAKING]: { 0: Abilities.GUTS }, + [Species.NINCADA]: { 0: Abilities.PICKUP }, + [Species.NINJASK]: { 0: Abilities.TECHNICIAN }, + [Species.SHEDINJA]: { 0: Abilities.MAGIC_GUARD }, [Species.WHISMUR]: { 0: Abilities.PUNK_ROCK }, + [Species.LOUDRED]: { 0: Abilities.PUNK_ROCK }, + [Species.EXPLOUD]: { 0: Abilities.PUNK_ROCK }, [Species.MAKUHITA]: { 0: Abilities.STAMINA }, + [Species.HARIYAMA]: { 0: Abilities.STAMINA }, [Species.AZURILL]: { 0: Abilities.MISTY_SURGE }, - [Species.NOSEPASS]: { 0: Abilities.LEVITATE }, + [Species.MARILL]: { 0: Abilities.MISTY_SURGE }, + [Species.AZUMARILL]: { 0: Abilities.MISTY_SURGE }, + [Species.NOSEPASS]: { 0: Abilities.SOLID_ROCK }, + [Species.PROBOPASS]: { 0: Abilities.LEVITATE }, [Species.SKITTY]: { 0: Abilities.SCRAPPY }, - [Species.SABLEYE]: { 0: Abilities.UNNERVE }, - [Species.MAWILE]: { 0: Abilities.UNNERVE }, + [Species.DELCATTY]: { 0: Abilities.SCRAPPY }, + [Species.SABLEYE]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, + [Species.MAWILE]: { 0: Abilities.ADAPTABILITY, 1: Abilities.INTIMIDATE }, [Species.ARON]: { 0: Abilities.EARTH_EATER }, + [Species.LAIRON]: { 0: Abilities.EARTH_EATER }, + [Species.AGGRON]: { 0: Abilities.EARTH_EATER, 1: Abilities.ROCKY_PAYLOAD }, [Species.MEDITITE]: { 0: Abilities.MINDS_EYE }, - [Species.ELECTRIKE]: { 0: Abilities.FLASH_FIRE }, + [Species.MEDICHAM]: { 0: Abilities.MINDS_EYE, 1: Abilities.MINDS_EYE }, + [Species.ELECTRIKE]: { 0: Abilities.BALL_FETCH }, + [Species.MANECTRIC]: { 0: Abilities.FLASH_FIRE, 1: Abilities.FLASH_FIRE }, [Species.PLUSLE]: { 0: Abilities.POWER_SPOT }, [Species.MINUN]: { 0: Abilities.POWER_SPOT }, [Species.VOLBEAT]: { 0: Abilities.HONEY_GATHER }, [Species.ILLUMISE]: { 0: Abilities.HONEY_GATHER }, [Species.GULPIN]: { 0: Abilities.EARTH_EATER }, + [Species.SWALOT]: { 0: Abilities.EARTH_EATER }, [Species.CARVANHA]: { 0: Abilities.SHEER_FORCE }, + [Species.SHARPEDO]: { 0: Abilities.SHEER_FORCE, 1: Abilities.SPEED_BOOST }, [Species.WAILMER]: { 0: Abilities.LEVITATE }, - [Species.NUMEL]: { 0: Abilities.FUR_COAT }, + [Species.WAILORD]: { 0: Abilities.LEVITATE }, + [Species.NUMEL]: { 0: Abilities.SOLID_ROCK }, + [Species.CAMERUPT]: { 0: Abilities.FUR_COAT, 1: Abilities.STAMINA }, [Species.TORKOAL]: { 0: Abilities.ANALYTIC }, [Species.SPOINK]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.GRUMPIG]: { 0: Abilities.PSYCHIC_SURGE }, [Species.SPINDA]: { 0: Abilities.SIMPLE }, [Species.TRAPINCH]: { 0: Abilities.ADAPTABILITY }, + [Species.VIBRAVA]: { 0: Abilities.ADAPTABILITY }, + [Species.FLYGON]: { 0: Abilities.ADAPTABILITY }, [Species.CACNEA]: { 0: Abilities.SAND_RUSH }, + [Species.CACTURNE]: { 0: Abilities.SAND_RUSH }, [Species.SWABLU]: { 0: Abilities.FLUFFY }, + [Species.ALTARIA]: { 0: Abilities.FLUFFY, 1: Abilities.FLUFFY }, [Species.ZANGOOSE]: { 0: Abilities.POISON_HEAL }, [Species.SEVIPER]: { 0: Abilities.MULTISCALE }, [Species.LUNATONE]: { 0: Abilities.SHADOW_SHIELD }, [Species.SOLROCK]: { 0: Abilities.DROUGHT }, [Species.BARBOACH]: { 0: Abilities.SIMPLE }, + [Species.WHISCASH]: { 0: Abilities.SIMPLE }, [Species.CORPHISH]: { 0: Abilities.TOUGH_CLAWS }, + [Species.CRAWDAUNT]: { 0: Abilities.TOUGH_CLAWS }, [Species.BALTOY]: { 0: Abilities.WELL_BAKED_BODY }, + [Species.CLAYDOL]: { 0: Abilities.WELL_BAKED_BODY }, [Species.LILEEP]: { 0: Abilities.SEED_SOWER }, + [Species.CRADILY]: { 0: Abilities.SEED_SOWER }, [Species.ANORITH]: { 0: Abilities.WATER_ABSORB }, - [Species.FEEBAS]: { 0: Abilities.MAGIC_GUARD }, - [Species.CASTFORM]: { 0: Abilities.ADAPTABILITY }, + [Species.ARMALDO]: { 0: Abilities.WATER_ABSORB }, + [Species.FEEBAS]: { 0: Abilities.MULTISCALE }, + [Species.MILOTIC]: { 0: Abilities.MAGIC_GUARD }, + [Species.CASTFORM]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY }, [Species.KECLEON]: { 0: Abilities.ADAPTABILITY }, [Species.SHUPPET]: { 0: Abilities.SHADOW_SHIELD }, + [Species.BANETTE]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, [Species.DUSKULL]: { 0: Abilities.UNNERVE }, + [Species.DUSCLOPS]: { 0: Abilities.UNNERVE }, + [Species.DUSKNOIR]: { 0: Abilities.UNNERVE }, [Species.TROPIUS]: { 0: Abilities.RIPEN }, - [Species.ABSOL]: { 0: Abilities.SHARPNESS }, + [Species.ABSOL]: { 0: Abilities.SHARPNESS, 1: Abilities.SHARPNESS }, [Species.WYNAUT]: { 0: Abilities.STURDY }, + [Species.WOBBUFFET]: { 0: Abilities.STURDY }, [Species.SNORUNT]: { 0: Abilities.SNOW_WARNING }, + [Species.GLALIE]: { 0: Abilities.SNOW_WARNING, 1: Abilities.SNOW_WARNING }, + [Species.FROSLASS]: { 0: Abilities.SNOW_WARNING }, [Species.SPHEAL]: { 0: Abilities.UNAWARE }, - [Species.CLAMPERL]: { 0: Abilities.ARENA_TRAP }, + [Species.SEALEO]: { 0: Abilities.UNAWARE }, + [Species.WALREIN]: { 0: Abilities.UNAWARE }, + [Species.CLAMPERL]: { 0: Abilities.DAUNTLESS_SHIELD }, + [Species.GOREBYSS]: { 0: Abilities.ARENA_TRAP }, + [Species.HUNTAIL]: { 0: Abilities.ARENA_TRAP }, [Species.RELICANTH]: { 0: Abilities.PRIMORDIAL_SEA }, [Species.LUVDISC]: { 0: Abilities.MULTISCALE }, - [Species.BAGON]: { 0: Abilities.MOLD_BREAKER }, + [Species.BAGON]: { 0: Abilities.INTIMIDATE }, + [Species.SHELGON]: { 0: Abilities.ANGER_SHELL }, + [Species.SALAMENCE]: { 0: Abilities.GALE_WINGS, 1: Abilities.ROCK_HEAD }, [Species.BELDUM]: { 0: Abilities.LEVITATE }, + [Species.METANG]: { 0: Abilities.LEVITATE }, + [Species.METAGROSS]: { 0: Abilities.LEVITATE, 1: Abilities.FULL_METAL_BODY }, [Species.REGIROCK]: { 0: Abilities.SAND_STREAM }, [Species.REGICE]: { 0: Abilities.SNOW_WARNING }, [Species.REGISTEEL]: { 0: Abilities.STEELY_SPIRIT }, - [Species.LATIAS]: { 0: Abilities.PRISM_ARMOR }, - [Species.LATIOS]: { 0: Abilities.TINTED_LENS }, - [Species.KYOGRE]: { 0: Abilities.MOLD_BREAKER }, - [Species.GROUDON]: { 0: Abilities.TURBOBLAZE }, - [Species.RAYQUAZA]: { 0: Abilities.UNNERVE }, + [Species.LATIAS]: { 0: Abilities.SPEED_BOOST, 1: Abilities.PRISM_ARMOR }, + [Species.LATIOS]: { 0: Abilities.SPEED_BOOST, 1: Abilities.TINTED_LENS }, + [Species.KYOGRE]: { 0: Abilities.MOLD_BREAKER, 1: Abilities.TERAVOLT }, + [Species.GROUDON]: { 0: Abilities.MOLD_BREAKER, 1: Abilities.TURBOBLAZE }, + [Species.RAYQUAZA]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, [Species.JIRACHI]: { 0: Abilities.COMATOSE }, - [Species.DEOXYS]: { 0: Abilities.PROTEAN }, + [Species.DEOXYS]: { 0: Abilities.PROTEAN, 1: Abilities.ADAPTABILITY, 2: Abilities.REGENERATOR, 3: Abilities.SHADOW_SHIELD }, - [Species.TURTWIG]: { 0: Abilities.THICK_FAT }, - [Species.CHIMCHAR]: { 0: Abilities.BEAST_BOOST }, - [Species.PIPLUP]: { 0: Abilities.DRIZZLE }, + [Species.TURTWIG]: { 0: Abilities.SOLID_ROCK }, + [Species.GROTLE]: { 0: Abilities.SOLID_ROCK }, + [Species.TORTERRA]: { 0: Abilities.THICK_FAT }, + [Species.CHIMCHAR]: { 0: Abilities.UNNERVE }, + [Species.MONFERNO]: { 0: Abilities.UNNERVE }, + [Species.INFERNAPE]: { 0: Abilities.BEAST_BOOST }, + [Species.PIPLUP]: { 0: Abilities.CUTE_CHARM }, + [Species.PRINPLUP]: { 0: Abilities.DRIZZLE }, + [Species.EMPOLEON]: { 0: Abilities.DRIZZLE }, [Species.STARLY]: { 0: Abilities.ROCK_HEAD }, + [Species.STARAVIA]: { 0: Abilities.ROCK_HEAD }, + [Species.STARAPTOR]: { 0: Abilities.ROCK_HEAD }, [Species.BIDOOF]: { 0: Abilities.SAP_SIPPER }, - [Species.KRICKETOT]: { 0: Abilities.SHARPNESS }, + [Species.BIBAREL]: { 0: Abilities.SAP_SIPPER }, + [Species.KRICKETOT]: { 0: Abilities.HONEY_GATHER }, + [Species.KRICKETUNE]: { 0: Abilities.SHARPNESS }, [Species.SHINX]: { 0: Abilities.SPEED_BOOST }, - [Species.BUDEW]: { 0: Abilities.GRASSY_SURGE }, + [Species.LUXIO]: { 0: Abilities.SPEED_BOOST }, + [Species.LUXRAY]: { 0: Abilities.SPEED_BOOST }, + [Species.BUDEW]: { 0: Abilities.SEED_SOWER }, + [Species.ROSELIA]: { 0: Abilities.GRASSY_SURGE }, + [Species.ROSERADE]: { 0: Abilities.GRASSY_SURGE }, [Species.CRANIDOS]: { 0: Abilities.ROCK_HEAD }, + [Species.RAMPARDOS]: { 0: Abilities.ROCK_HEAD }, [Species.SHIELDON]: { 0: Abilities.EARTH_EATER }, - [Species.BURMY]: { 0: Abilities.STURDY }, - [Species.COMBEE]: { 0: Abilities.INTIMIDATE }, + [Species.BASTIODON]: { 0: Abilities.EARTH_EATER }, + [Species.BURMY]: { 0: Abilities.STURDY, 1: Abilities.STURDY, 2: Abilities.STURDY }, + [Species.WORMADAM]: { 0: Abilities.STURDY, 1: Abilities.STURDY, 2: Abilities.STURDY }, + [Species.MOTHIM]: { 0: Abilities.SPEED_BOOST }, + [Species.COMBEE]: { 0: Abilities.RUN_AWAY }, + [Species.VESPIQUEN]: { 0: Abilities.INTIMIDATE }, [Species.PACHIRISU]: { 0: Abilities.HONEY_GATHER }, [Species.BUIZEL]: { 0: Abilities.MOXIE }, - [Species.CHERUBI]: { 0: Abilities.ORICHALCUM_PULSE }, - [Species.SHELLOS]: { 0: Abilities.REGENERATOR }, + [Species.FLOATZEL]: { 0: Abilities.MOXIE }, + [Species.CHERUBI]: { 0: Abilities.DROUGHT }, + [Species.CHERRIM]: { 0: Abilities.ORICHALCUM_PULSE, 1: Abilities.ORICHALCUM_PULSE }, + [Species.SHELLOS]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, + [Species.GASTRODON]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, [Species.DRIFLOON]: { 0: Abilities.MAGIC_GUARD }, + [Species.DRIFBLIM]: { 0: Abilities.MAGIC_GUARD }, [Species.BUNEARY]: { 0: Abilities.ADAPTABILITY }, + [Species.LOPUNNY]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY }, [Species.GLAMEOW]: { 0: Abilities.INTIMIDATE }, + [Species.PURUGLY]: { 0: Abilities.INTIMIDATE }, [Species.CHINGLING]: { 0: Abilities.PUNK_ROCK }, + [Species.CHIMECHO]: { 0: Abilities.PUNK_ROCK }, [Species.STUNKY]: { 0: Abilities.NEUTRALIZING_GAS }, + [Species.SKUNTANK]: { 0: Abilities.NEUTRALIZING_GAS }, [Species.BRONZOR]: { 0: Abilities.MIRROR_ARMOR }, + [Species.BRONZONG]: { 0: Abilities.MIRROR_ARMOR }, [Species.BONSLY]: { 0: Abilities.SAP_SIPPER }, + [Species.SUDOWOODO]: { 0: Abilities.SAP_SIPPER }, [Species.MIME_JR]: { 0: Abilities.PRANKSTER }, - [Species.HAPPINY]: { 0: Abilities.FUR_COAT }, + [Species.MR_MIME]: { 0: Abilities.PRANKSTER }, + [Species.GALAR_MR_MIME]: { 0: Abilities.PRANKSTER }, + [Species.MR_RIME]: { 0: Abilities.PRANKSTER }, + [Species.HAPPINY]: { 0: Abilities.HOSPITALITY }, + [Species.CHANSEY]: { 0: Abilities.FRIEND_GUARD }, + [Species.BLISSEY]: { 0: Abilities.FUR_COAT }, [Species.CHATOT]: { 0: Abilities.PUNK_ROCK }, [Species.SPIRITOMB]: { 0: Abilities.VESSEL_OF_RUIN }, - [Species.GIBLE]: { 0: Abilities.SAND_STREAM }, - [Species.MUNCHLAX]: { 0: Abilities.RIPEN }, + [Species.GIBLE]: { 0: Abilities.ARENA_TRAP }, + [Species.GABITE]: { 0: Abilities.ARENA_TRAP }, + [Species.GARCHOMP]: { 0: Abilities.ARENA_TRAP, 1: Abilities.SAND_RUSH }, + [Species.MUNCHLAX]: { 0: Abilities.CHEEK_POUCH }, + [Species.SNORLAX]: { 0: Abilities.CHEEK_POUCH, 1: Abilities.RIPEN }, [Species.RIOLU]: { 0: Abilities.MINDS_EYE }, + [Species.LUCARIO]: { 0: Abilities.MINDS_EYE, 1: Abilities.MINDS_EYE }, [Species.HIPPOPOTAS]: { 0: Abilities.UNAWARE }, + [Species.HIPPOWDON]: { 0: Abilities.UNAWARE }, [Species.SKORUPI]: { 0: Abilities.SUPER_LUCK }, + [Species.DRAPION]: { 0: Abilities.SUPER_LUCK }, [Species.CROAGUNK]: { 0: Abilities.MOXIE }, + [Species.TOXICROAK]: { 0: Abilities.MOXIE }, [Species.CARNIVINE]: { 0: Abilities.ARENA_TRAP }, [Species.FINNEON]: { 0: Abilities.WATER_BUBBLE }, + [Species.LUMINEON]: { 0: Abilities.WATER_BUBBLE }, [Species.MANTYKE]: { 0: Abilities.UNAWARE }, - [Species.SNOVER]: { 0: Abilities.GRASSY_SURGE }, - [Species.ROTOM]: { 0: Abilities.HADRON_ENGINE }, + [Species.MANTINE]: { 0: Abilities.UNAWARE }, + [Species.SNOVER]: { 0: Abilities.SLUSH_RUSH }, + [Species.ABOMASNOW]: { 0: Abilities.SLUSH_RUSH, 1: Abilities.SEED_SOWER }, + [Species.ROTOM]: { 0: Abilities.HADRON_ENGINE, 1: Abilities.HADRON_ENGINE, 2: Abilities.HADRON_ENGINE, 3: Abilities.HADRON_ENGINE, 4: Abilities.HADRON_ENGINE, 5: Abilities.HADRON_ENGINE }, [Species.UXIE]: { 0: Abilities.UNNERVE }, [Species.MESPRIT]: { 0: Abilities.MOODY }, [Species.AZELF]: { 0: Abilities.NEUROFORCE }, - [Species.DIALGA]: { 0: Abilities.BERSERK }, - [Species.PALKIA]: { 0: Abilities.BERSERK }, + [Species.DIALGA]: { 0: Abilities.BERSERK, 1: Abilities.BERSERK }, + [Species.PALKIA]: { 0: Abilities.BERSERK, 1: Abilities.BERSERK }, [Species.HEATRAN]: { 0: Abilities.EARTH_EATER }, [Species.REGIGIGAS]: { 0: Abilities.SCRAPPY }, - [Species.GIRATINA]: { 0: Abilities.SHADOW_SHIELD }, + [Species.GIRATINA]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, [Species.CRESSELIA]: { 0: Abilities.SHADOW_SHIELD }, [Species.PHIONE]: { 0: Abilities.SIMPLE }, [Species.MANAPHY]: { 0: Abilities.PRIMORDIAL_SEA }, [Species.DARKRAI]: { 0: Abilities.UNNERVE }, - [Species.SHAYMIN]: { 0: Abilities.WIND_RIDER }, - [Species.ARCEUS]: { 0: Abilities.ADAPTABILITY }, + [Species.SHAYMIN]: { 0: Abilities.GRASSY_SURGE, 1: Abilities.DELTA_STREAM }, + [Species.ARCEUS]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY, 4: Abilities.ADAPTABILITY, 5: Abilities.ADAPTABILITY, 6: Abilities.ADAPTABILITY, 7: Abilities.ADAPTABILITY, 8: Abilities.ADAPTABILITY, 9: Abilities.ADAPTABILITY, 10: Abilities.ADAPTABILITY, 11: Abilities.ADAPTABILITY, 12: Abilities.ADAPTABILITY, 13: Abilities.ADAPTABILITY, 14: Abilities.ADAPTABILITY, 15: Abilities.ADAPTABILITY, 16: Abilities.ADAPTABILITY, 17: Abilities.ADAPTABILITY }, [Species.VICTINI]: { 0: Abilities.SHEER_FORCE }, [Species.SNIVY]: { 0: Abilities.MULTISCALE }, - [Species.TEPIG]: { 0: Abilities.ROCK_HEAD }, - [Species.OSHAWOTT]: { 0: Abilities.INTREPID_SWORD }, + [Species.SERVINE]: { 0: Abilities.MULTISCALE }, + [Species.SERPERIOR]: { 0: Abilities.MULTISCALE }, + [Species.TEPIG]: { 0: Abilities.GLUTTONY }, + [Species.PIGNITE]: { 0: Abilities.ROCK_HEAD }, + [Species.EMBOAR]: { 0: Abilities.ROCK_HEAD }, + [Species.OSHAWOTT]: { 0: Abilities.LONG_REACH }, + [Species.DEWOTT]: { 0: Abilities.LONG_REACH }, + [Species.SAMUROTT]: { 0: Abilities.LIGHTNING_ROD }, + [Species.HISUI_SAMUROTT]: { 0: Abilities.MOLD_BREAKER }, [Species.PATRAT]: { 0: Abilities.NO_GUARD }, - [Species.LILLIPUP]: { 0: Abilities.FUR_COAT }, + [Species.WATCHOG]: { 0: Abilities.NO_GUARD }, + [Species.LILLIPUP]: { 0: Abilities.BALL_FETCH }, + [Species.HERDIER]: { 0: Abilities.FUR_COAT }, + [Species.STOUTLAND]: { 0: Abilities.FUR_COAT }, [Species.PURRLOIN]: { 0: Abilities.PICKUP }, + [Species.LIEPARD]: { 0: Abilities.PICKUP }, [Species.PANSAGE]: { 0: Abilities.WELL_BAKED_BODY }, + [Species.SIMISAGE]: { 0: Abilities.WELL_BAKED_BODY }, [Species.PANSEAR]: { 0: Abilities.WATER_ABSORB }, + [Species.SIMISEAR]: { 0: Abilities.WATER_ABSORB }, [Species.PANPOUR]: { 0: Abilities.SAP_SIPPER }, + [Species.SIMIPOUR]: { 0: Abilities.SAP_SIPPER }, [Species.MUNNA]: { 0: Abilities.NEUTRALIZING_GAS }, + [Species.MUSHARNA]: { 0: Abilities.NEUTRALIZING_GAS }, [Species.PIDOVE]: { 0: Abilities.SNIPER }, + [Species.TRANQUILL]: { 0: Abilities.SNIPER }, + [Species.UNFEZANT]: { 0: Abilities.SNIPER }, [Species.BLITZLE]: { 0: Abilities.ELECTRIC_SURGE }, + [Species.ZEBSTRIKA]: { 0: Abilities.ELECTRIC_SURGE }, [Species.ROGGENROLA]: { 0: Abilities.SOLID_ROCK }, + [Species.BOLDORE]: { 0: Abilities.SOLID_ROCK }, + [Species.GIGALITH]: { 0: Abilities.SOLID_ROCK }, [Species.WOOBAT]: { 0: Abilities.OPPORTUNIST }, + [Species.SWOOBAT]: { 0: Abilities.OPPORTUNIST }, [Species.DRILBUR]: { 0: Abilities.STURDY }, - [Species.AUDINO]: { 0: Abilities.FRIEND_GUARD }, + [Species.EXCADRILL]: { 0: Abilities.STURDY }, + [Species.AUDINO]: { 0: Abilities.FRIEND_GUARD, 1: Abilities.FAIRY_AURA }, [Species.TIMBURR]: { 0: Abilities.ROCKY_PAYLOAD }, + [Species.GURDURR]: { 0: Abilities.ROCKY_PAYLOAD }, + [Species.CONKELDURR]: { 0: Abilities.ROCKY_PAYLOAD }, [Species.TYMPOLE]: { 0: Abilities.POISON_HEAL }, + [Species.PALPITOAD]: { 0: Abilities.POISON_HEAL }, + [Species.SEISMITOAD]: { 0: Abilities.POISON_HEAL }, [Species.THROH]: { 0: Abilities.STAMINA }, [Species.SAWK]: { 0: Abilities.SCRAPPY }, - [Species.SEWADDLE]: { 0: Abilities.SHARPNESS }, + [Species.SEWADDLE]: { 0: Abilities.SHIELD_DUST }, + [Species.SWADLOON]: { 0: Abilities.SHIELD_DUST }, + [Species.LEAVANNY]: { 0: Abilities.SHARPNESS }, [Species.VENIPEDE]: { 0: Abilities.STAMINA }, + [Species.WHIRLIPEDE]: { 0: Abilities.STAMINA }, + [Species.SCOLIPEDE]: { 0: Abilities.STAMINA }, [Species.COTTONEE]: { 0: Abilities.FLUFFY }, + [Species.WHIMSICOTT]: { 0: Abilities.FLUFFY }, [Species.PETILIL]: { 0: Abilities.FLOWER_VEIL }, - [Species.BASCULIN]: { 0: Abilities.SUPREME_OVERLORD }, + [Species.LILLIGANT]: { 0: Abilities.GRASSY_SURGE }, + [Species.HISUI_LILLIGANT]: { 0: Abilities.FLOWER_VEIL }, + [Species.BASCULIN]: { 0: Abilities.ROCK_HEAD, 1: Abilities.RECKLESS, 2: Abilities.SUPREME_OVERLORD }, + [Species.BASCULEGION]: { 0: Abilities.SUPREME_OVERLORD, 1: Abilities.SUPREME_OVERLORD }, [Species.SANDILE]: { 0: Abilities.TOUGH_CLAWS }, + [Species.KROKOROK]: { 0: Abilities.TOUGH_CLAWS }, + [Species.KROOKODILE]: { 0: Abilities.TOUGH_CLAWS }, [Species.DARUMAKA]: { 0: Abilities.GORILLA_TACTICS }, + [Species.DARMANITAN]: { 0: Abilities.GORILLA_TACTICS, 1: Abilities.SOLID_ROCK }, [Species.MARACTUS]: { 0: Abilities.WELL_BAKED_BODY }, [Species.DWEBBLE]: { 0: Abilities.ROCKY_PAYLOAD }, + [Species.CRUSTLE]: { 0: Abilities.ROCKY_PAYLOAD }, [Species.SCRAGGY]: { 0: Abilities.PROTEAN }, + [Species.SCRAFTY]: { 0: Abilities.PROTEAN }, [Species.SIGILYPH]: { 0: Abilities.FLARE_BOOST }, [Species.YAMASK]: { 0: Abilities.PURIFYING_SALT }, + [Species.COFAGRIGUS]: { 0: Abilities.PURIFYING_SALT }, [Species.TIRTOUGA]: { 0: Abilities.WATER_ABSORB }, + [Species.CARRACOSTA]: { 0: Abilities.WATER_ABSORB }, [Species.ARCHEN]: { 0: Abilities.MULTISCALE }, + [Species.ARCHEOPS]: { 0: Abilities.MULTISCALE }, [Species.TRUBBISH]: { 0: Abilities.NEUTRALIZING_GAS }, + [Species.GARBODOR]: { 0: Abilities.NEUTRALIZING_GAS, 1: Abilities.NEUTRALIZING_GAS }, [Species.ZORUA]: { 0: Abilities.DARK_AURA }, + [Species.ZOROARK]: { 0: Abilities.DARK_AURA }, [Species.MINCCINO]: { 0: Abilities.FUR_COAT }, + [Species.CINCCINO]: { 0: Abilities.FUR_COAT }, [Species.GOTHITA]: { 0: Abilities.UNNERVE }, + [Species.GOTHORITA]: { 0: Abilities.UNNERVE }, + [Species.GOTHITELLE]: { 0: Abilities.UNNERVE }, [Species.SOLOSIS]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.DUOSION]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.REUNICLUS]: { 0: Abilities.PSYCHIC_SURGE }, [Species.DUCKLETT]: { 0: Abilities.DRIZZLE }, + [Species.SWANNA]: { 0: Abilities.DRIZZLE }, [Species.VANILLITE]: { 0: Abilities.SLUSH_RUSH }, - [Species.DEERLING]: { 0: Abilities.FUR_COAT }, + [Species.VANILLISH]: { 0: Abilities.SLUSH_RUSH }, + [Species.VANILLUXE]: { 0: Abilities.SLUSH_RUSH }, + [Species.DEERLING]: { 0: Abilities.FLOWER_VEIL, 1: Abilities.CUD_CHEW, 2: Abilities.HARVEST, 3: Abilities.FUR_COAT }, + [Species.SAWSBUCK]: { 0: Abilities.FLOWER_VEIL, 1: Abilities.CUD_CHEW, 2: Abilities.HARVEST, 3: Abilities.FUR_COAT }, [Species.EMOLGA]: { 0: Abilities.SERENE_GRACE }, [Species.KARRABLAST]: { 0: Abilities.QUICK_DRAW }, - [Species.FOONGUS]: { 0: Abilities.THICK_FAT }, + [Species.ESCAVALIER]: { 0: Abilities.QUICK_DRAW }, + [Species.FOONGUS]: { 0: Abilities.MYCELIUM_MIGHT }, + [Species.AMOONGUSS]: { 0: Abilities.THICK_FAT }, [Species.FRILLISH]: { 0: Abilities.POISON_HEAL }, + [Species.JELLICENT]: { 0: Abilities.POISON_HEAL }, [Species.ALOMOMOLA]: { 0: Abilities.MULTISCALE }, [Species.JOLTIK]: { 0: Abilities.TRANSISTOR }, + [Species.GALVANTULA]: { 0: Abilities.TRANSISTOR }, [Species.FERROSEED]: { 0: Abilities.ROUGH_SKIN }, + [Species.FERROTHORN]: { 0: Abilities.ROUGH_SKIN }, [Species.KLINK]: { 0: Abilities.STEELY_SPIRIT }, + [Species.KLANG]: { 0: Abilities.STEELY_SPIRIT }, + [Species.KLINKLANG]: { 0: Abilities.STEELY_SPIRIT }, [Species.TYNAMO]: { 0: Abilities.POISON_HEAL }, + [Species.EELEKTRIK]: { 0: Abilities.POISON_HEAL }, + [Species.EELEKTROSS]: { 0: Abilities.POISON_HEAL }, [Species.ELGYEM]: { 0: Abilities.BEADS_OF_RUIN }, + [Species.BEHEEYEM]: { 0: Abilities.BEADS_OF_RUIN }, [Species.LITWICK]: { 0: Abilities.SHADOW_TAG }, + [Species.LAMPENT]: { 0: Abilities.SHADOW_TAG }, + [Species.CHANDELURE]: { 0: Abilities.SHADOW_TAG }, [Species.AXEW]: { 0: Abilities.DRAGONS_MAW }, + [Species.FRAXURE]: { 0: Abilities.DRAGONS_MAW }, + [Species.HAXORUS]: { 0: Abilities.DRAGONS_MAW }, [Species.CUBCHOO]: { 0: Abilities.FUR_COAT }, + [Species.BEARTIC]: { 0: Abilities.FUR_COAT }, [Species.CRYOGONAL]: { 0: Abilities.SNOW_WARNING }, - [Species.SHELMET]: { 0: Abilities.PROTEAN }, + [Species.SHELMET]: { 0: Abilities.STAMINA }, + [Species.ACCELGOR]: { 0: Abilities.PROTEAN }, [Species.STUNFISK]: { 0: Abilities.STORM_DRAIN }, [Species.MIENFOO]: { 0: Abilities.NO_GUARD }, + [Species.MIENSHAO]: { 0: Abilities.NO_GUARD }, [Species.DRUDDIGON]: { 0: Abilities.INTIMIDATE }, [Species.GOLETT]: { 0: Abilities.SHADOW_SHIELD }, + [Species.GOLURK]: { 0: Abilities.SHADOW_SHIELD }, [Species.PAWNIARD]: { 0: Abilities.SWORD_OF_RUIN }, + [Species.BISHARP]: { 0: Abilities.SWORD_OF_RUIN }, + [Species.KINGAMBIT]: { 0: Abilities.SWORD_OF_RUIN }, [Species.BOUFFALANT]: { 0: Abilities.ROCK_HEAD }, [Species.RUFFLET]: { 0: Abilities.SPEED_BOOST }, + [Species.BRAVIARY]: { 0: Abilities.SPEED_BOOST }, + [Species.HISUI_BRAVIARY]: { 0: Abilities.SPEED_BOOST }, [Species.VULLABY]: { 0: Abilities.THICK_FAT }, + [Species.MANDIBUZZ]: { 0: Abilities.THICK_FAT }, [Species.HEATMOR]: { 0: Abilities.CONTRARY }, [Species.DURANT]: { 0: Abilities.COMPOUND_EYES }, - [Species.DEINO]: { 0: Abilities.PARENTAL_BOND }, - [Species.LARVESTA]: { 0: Abilities.DROUGHT }, + [Species.DEINO]: { 0: Abilities.NO_GUARD }, + [Species.ZWEILOUS]: { 0: Abilities.NO_GUARD }, + [Species.HYDREIGON]: { 0: Abilities.PARENTAL_BOND }, + [Species.LARVESTA]: { 0: Abilities.FLASH_FIRE }, + [Species.VOLCARONA]: { 0: Abilities.DROUGHT }, [Species.COBALION]: { 0: Abilities.INTREPID_SWORD }, [Species.TERRAKION]: { 0: Abilities.ROCKY_PAYLOAD }, [Species.VIRIZION]: { 0: Abilities.SHARPNESS }, - [Species.TORNADUS]: { 0: Abilities.DRIZZLE }, - [Species.THUNDURUS]: { 0: Abilities.DRIZZLE }, + [Species.TORNADUS]: { 0: Abilities.DRIZZLE, 1: Abilities.DRIZZLE }, + [Species.THUNDURUS]: { 0: Abilities.DRIZZLE, 1: Abilities.DRIZZLE }, [Species.RESHIRAM]: { 0: Abilities.ORICHALCUM_PULSE }, [Species.ZEKROM]: { 0: Abilities.HADRON_ENGINE }, - [Species.LANDORUS]: { 0: Abilities.STORM_DRAIN }, - [Species.KYUREM]: { 0: Abilities.SNOW_WARNING }, - [Species.KELDEO]: { 0: Abilities.GRIM_NEIGH }, - [Species.MELOETTA]: { 0: Abilities.MINDS_EYE }, - [Species.GENESECT]: { 0: Abilities.PROTEAN }, + [Species.LANDORUS]: { 0: Abilities.STORM_DRAIN, 1: Abilities.STORM_DRAIN }, + [Species.KYUREM]: { 0: Abilities.SNOW_WARNING, 1: Abilities.HADRON_ENGINE, 2: Abilities.ORICHALCUM_PULSE }, + [Species.KELDEO]: { 0: Abilities.GRIM_NEIGH, 1: Abilities.GRIM_NEIGH }, + [Species.MELOETTA]: { 0: Abilities.PUNK_ROCK, 1: Abilities.SCRAPPY }, + [Species.GENESECT]: { 0: Abilities.PROTEAN, 1: Abilities.PROTEAN, 2: Abilities.PROTEAN, 3: Abilities.PROTEAN, 4: Abilities.PROTEAN }, - [Species.CHESPIN]: { 0: Abilities.DAUNTLESS_SHIELD }, - [Species.FENNEKIN]: { 0: Abilities.PSYCHIC_SURGE }, - [Species.FROAKIE]: { 0: Abilities.STAKEOUT }, - [Species.BUNNELBY]: { 0: Abilities.THICK_FAT }, - [Species.FLETCHLING]: { 0: Abilities.MAGIC_GUARD }, - [Species.SCATTERBUG]: { 0: Abilities.PRANKSTER }, + [Species.CHESPIN]: { 0: Abilities.ROUGH_SKIN }, + [Species.QUILLADIN]: { 0: Abilities.DAUNTLESS_SHIELD }, + [Species.CHESNAUGHT]: { 0: Abilities.DAUNTLESS_SHIELD }, + [Species.FENNEKIN]: { 0: Abilities.FLUFFY }, + [Species.BRAIXEN]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.DELPHOX]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.FROAKIE]: { 0: Abilities.STAKEOUT, 1: Abilities.STAKEOUT }, + [Species.FROGADIER]: { 0: Abilities.STAKEOUT, 1: Abilities.STAKEOUT }, + [Species.GRENINJA]: { 0: Abilities.STAKEOUT, 1: Abilities.STAKEOUT }, + [Species.BUNNELBY]: { 0: Abilities.INNER_FOCUS }, + [Species.DIGGERSBY]: { 0: Abilities.THICK_FAT }, + [Species.FLETCHLING]: { 0: Abilities.FLAME_BODY }, + [Species.FLETCHINDER]: { 0: Abilities.MAGIC_GUARD }, + [Species.TALONFLAME]: { 0: Abilities.MAGIC_GUARD }, + [Species.SCATTERBUG]: { 0: Abilities.SHIELD_DUST }, + [Species.SPEWPA]: { 0: Abilities.SHIELD_DUST }, + [Species.VIVILLON]: { 0: Abilities.PRANKSTER }, [Species.LITLEO]: { 0: Abilities.BEAST_BOOST }, + [Species.PYROAR]: { 0: Abilities.BEAST_BOOST }, [Species.FLABEBE]: { 0: Abilities.GRASSY_SURGE }, + [Species.FLOETTE]: { 0: Abilities.GRASSY_SURGE }, + [Species.FLORGES]: { 0: Abilities.GRASSY_SURGE }, [Species.SKIDDO]: { 0: Abilities.SEED_SOWER }, - [Species.PANCHAM]: { 0: Abilities.FUR_COAT }, + [Species.GOGOAT]: { 0: Abilities.SEED_SOWER }, + [Species.PANCHAM]: { 0: Abilities.TECHNICIAN }, + [Species.PANGORO]: { 0: Abilities.FUR_COAT }, [Species.FURFROU]: { 0: Abilities.FLUFFY }, - [Species.ESPURR]: { 0: Abilities.FUR_COAT }, + [Species.ESPURR]: { 0: Abilities.PRANKSTER }, + [Species.MEOWSTIC]: { 0: Abilities.FUR_COAT, 1: Abilities.NEUROFORCE }, [Species.HONEDGE]: { 0: Abilities.SHARPNESS }, + [Species.DOUBLADE]: { 0: Abilities.SHARPNESS }, + [Species.AEGISLASH]: { 0: Abilities.SHARPNESS }, [Species.SPRITZEE]: { 0: Abilities.FUR_COAT }, + [Species.AROMATISSE]: { 0: Abilities.FUR_COAT }, [Species.SWIRLIX]: { 0: Abilities.RIPEN }, - [Species.INKAY]: { 0: Abilities.UNNERVE }, + [Species.SLURPUFF]: { 0: Abilities.RIPEN }, + [Species.INKAY]: { 0: Abilities.SHADOW_SHIELD }, + [Species.MALAMAR]: { 0: Abilities.SHADOW_SHIELD }, [Species.BINACLE]: { 0: Abilities.SAP_SIPPER }, - [Species.SKRELP]: { 0: Abilities.DRAGONS_MAW }, + [Species.BARBARACLE]: { 0: Abilities.SAP_SIPPER }, + [Species.SKRELP]: { 0: Abilities.WATER_BUBBLE }, + [Species.DRAGALGE]: { 0: Abilities.DRAGONS_MAW }, [Species.CLAUNCHER]: { 0: Abilities.PROTEAN }, + [Species.CLAWITZER]: { 0: Abilities.PROTEAN }, [Species.HELIOPTILE]: { 0: Abilities.PROTEAN }, + [Species.HELIOLISK]: { 0: Abilities.PROTEAN }, [Species.TYRUNT]: { 0: Abilities.RECKLESS }, + [Species.TYRANTRUM]: { 0: Abilities.RECKLESS }, [Species.AMAURA]: { 0: Abilities.ICE_SCALES }, + [Species.AURORUS]: { 0: Abilities.ICE_SCALES }, [Species.HAWLUCHA]: { 0: Abilities.MOXIE }, [Species.DEDENNE]: { 0: Abilities.PIXILATE }, [Species.CARBINK]: { 0: Abilities.SOLID_ROCK }, [Species.GOOMY]: { 0: Abilities.REGENERATOR }, + [Species.SLIGGOO]: { 0: Abilities.POISON_HEAL }, + [Species.GOODRA]: { 0: Abilities.POISON_HEAL }, + [Species.HISUI_SLIGGOO]: { 0: Abilities.REGENERATOR }, + [Species.HISUI_GOODRA]: { 0: Abilities.REGENERATOR }, [Species.KLEFKI]: { 0: Abilities.LEVITATE }, [Species.PHANTUMP]: { 0: Abilities.SHADOW_TAG }, - [Species.PUMPKABOO]: { 0: Abilities.WELL_BAKED_BODY }, + [Species.TREVENANT]: { 0: Abilities.SHADOW_TAG }, + [Species.PUMPKABOO]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.ADAPTABILITY, 2: Abilities.PRANKSTER, 3: Abilities.SEED_SOWER }, + [Species.GOURGEIST]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.ADAPTABILITY, 2: Abilities.PRANKSTER, 3: Abilities.SEED_SOWER }, [Species.BERGMITE]: { 0: Abilities.ICE_SCALES }, - [Species.NOIBAT]: { 0: Abilities.PUNK_ROCK }, + [Species.AVALUGG]: { 0: Abilities.ICE_SCALES }, + [Species.HISUI_AVALUGG]: { 0: Abilities.ICE_SCALES }, + [Species.NOIBAT]: { 0: Abilities.CHEEK_POUCH }, + [Species.NOIVERN]: { 0: Abilities.PUNK_ROCK }, [Species.XERNEAS]: { 0: Abilities.HARVEST }, [Species.YVELTAL]: { 0: Abilities.SOUL_HEART }, - [Species.ZYGARDE]: { 0: Abilities.ADAPTABILITY }, - [Species.DIANCIE]: { 0: Abilities.PRISM_ARMOR }, - [Species.HOOPA]: { 0: Abilities.OPPORTUNIST }, + [Species.ZYGARDE]: { 0: Abilities.UNNERVE, 1: Abilities.MOXIE, 2: Abilities.UNNERVE, 3: Abilities.MOXIE, 4: Abilities.ADAPTABILITY }, + [Species.DIANCIE]: { 0: Abilities.SOLID_ROCK, 1: Abilities.PRISM_ARMOR }, + [Species.HOOPA]: { 0: Abilities.OPPORTUNIST, 1: Abilities.OPPORTUNIST }, [Species.VOLCANION]: { 0: Abilities.NEUTRALIZING_GAS }, [Species.ETERNAL_FLOETTE]: { 0: Abilities.MAGIC_GUARD }, [Species.ROWLET]: { 0: Abilities.SNIPER }, + [Species.DARTRIX]: { 0: Abilities.SNIPER }, + [Species.DECIDUEYE]: { 0: Abilities.SNIPER }, + [Species.HISUI_DECIDUEYE]: { 0: Abilities.SNIPER }, [Species.LITTEN]: { 0: Abilities.OPPORTUNIST }, + [Species.TORRACAT]: { 0: Abilities.OPPORTUNIST }, + [Species.INCINEROAR]: { 0: Abilities.OPPORTUNIST }, [Species.POPPLIO]: { 0: Abilities.PUNK_ROCK }, + [Species.BRIONNE]: { 0: Abilities.PUNK_ROCK }, + [Species.PRIMARINA]: { 0: Abilities.PUNK_ROCK }, [Species.PIKIPEK]: { 0: Abilities.TECHNICIAN }, + [Species.TRUMBEAK]: { 0: Abilities.TECHNICIAN }, + [Species.TOUCANNON]: { 0: Abilities.TECHNICIAN }, [Species.YUNGOOS]: { 0: Abilities.TOUGH_CLAWS }, - [Species.GRUBBIN]: { 0: Abilities.SPEED_BOOST }, + [Species.GUMSHOOS]: { 0: Abilities.TOUGH_CLAWS }, + [Species.GRUBBIN]: { 0: Abilities.SHIELD_DUST }, + [Species.CHARJABUG]: { 0: Abilities.POWER_SPOT }, + [Species.VIKAVOLT]: { 0: Abilities.SPEED_BOOST }, [Species.CRABRAWLER]: { 0: Abilities.WATER_BUBBLE }, - [Species.ORICORIO]: { 0: Abilities.ADAPTABILITY }, - [Species.CUTIEFLY]: { 0: Abilities.TINTED_LENS }, - [Species.ROCKRUFF]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.WISHIWASHI]: { 0: Abilities.REGENERATOR }, + [Species.CRABOMINABLE]: { 0: Abilities.WATER_BUBBLE }, + [Species.ORICORIO]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY }, + [Species.CUTIEFLY]: { 0: Abilities.PICKUP }, + [Species.RIBOMBEE]: { 0: Abilities.TINTED_LENS }, + [Species.ROCKRUFF]: { 0: Abilities.PICKUP, 1: Abilities.PICKUP }, + [Species.LYCANROC]: { 0: Abilities.STURDY, 1: Abilities.INTIMIDATE, 2: Abilities.STAKEOUT }, + [Species.WISHIWASHI]: { 0: Abilities.REGENERATOR, 1: Abilities.REGENERATOR }, [Species.MAREANIE]: { 0: Abilities.TOXIC_DEBRIS }, + [Species.TOXAPEX]: { 0: Abilities.TOXIC_DEBRIS }, [Species.MUDBRAY]: { 0: Abilities.SAP_SIPPER }, + [Species.MUDSDALE]: { 0: Abilities.SAP_SIPPER }, [Species.DEWPIDER]: { 0: Abilities.TINTED_LENS }, + [Species.ARAQUANID]: { 0: Abilities.TINTED_LENS }, [Species.FOMANTIS]: { 0: Abilities.SHARPNESS }, + [Species.LURANTIS]: { 0: Abilities.SHARPNESS }, [Species.MORELULL]: { 0: Abilities.TRIAGE }, + [Species.SHIINOTIC]: { 0: Abilities.TRIAGE }, [Species.SALANDIT]: { 0: Abilities.DRAGONS_MAW }, + [Species.SALAZZLE]: { 0: Abilities.DRAGONS_MAW }, [Species.STUFFUL]: { 0: Abilities.SCRAPPY }, - [Species.BOUNSWEET]: { 0: Abilities.MOXIE }, + [Species.BEWEAR]: { 0: Abilities.SCRAPPY }, + [Species.BOUNSWEET]: { 0: Abilities.SIMPLE }, + [Species.STEENEE]: { 0: Abilities.SIMPLE }, + [Species.TSAREENA]: { 0: Abilities.MOXIE }, [Species.COMFEY]: { 0: Abilities.FRIEND_GUARD }, [Species.ORANGURU]: { 0: Abilities.POWER_SPOT }, [Species.PASSIMIAN]: { 0: Abilities.LIBERO }, [Species.WIMPOD]: { 0: Abilities.REGENERATOR }, + [Species.GOLISOPOD]: { 0: Abilities.REGENERATOR }, [Species.SANDYGAST]: { 0: Abilities.SAND_SPIT }, + [Species.PALOSSAND]: { 0: Abilities.SAND_SPIT }, [Species.PYUKUMUKU]: { 0: Abilities.PURIFYING_SALT }, - [Species.TYPE_NULL]: { 0: Abilities.ADAPTABILITY }, - [Species.MINIOR]: { 0: Abilities.STURDY }, + [Species.TYPE_NULL]: { 0: Abilities.CLEAR_BODY }, + [Species.SILVALLY]: { 0: Abilities.ADAPTABILITY, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY, 3: Abilities.ADAPTABILITY, 4: Abilities.ADAPTABILITY, 5: Abilities.ADAPTABILITY, 6: Abilities.ADAPTABILITY, 7: Abilities.ADAPTABILITY, 8: Abilities.ADAPTABILITY, 9: Abilities.ADAPTABILITY, 10: Abilities.ADAPTABILITY, 11: Abilities.ADAPTABILITY, 12: Abilities.ADAPTABILITY, 13: Abilities.ADAPTABILITY, 14: Abilities.ADAPTABILITY, 15: Abilities.ADAPTABILITY, 16: Abilities.ADAPTABILITY, 17: Abilities.ADAPTABILITY }, + [Species.MINIOR]: { 0: Abilities.STURDY, 1: Abilities.STURDY, 2: Abilities.STURDY, 3: Abilities.STURDY, 4: Abilities.STURDY, 5: Abilities.STURDY, 6: Abilities.STURDY, 7: Abilities.AERILATE, 8: Abilities.AERILATE, 9: Abilities.AERILATE, 10: Abilities.AERILATE, 11: Abilities.AERILATE, 12: Abilities.AERILATE, 13: Abilities.AERILATE }, [Species.KOMALA]: { 0: Abilities.GUTS }, [Species.TURTONATOR]: { 0: Abilities.DAUNTLESS_SHIELD }, [Species.TOGEDEMARU]: { 0: Abilities.ROUGH_SKIN }, - [Species.MIMIKYU]: { 0: Abilities.TOUGH_CLAWS }, + [Species.MIMIKYU]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, [Species.BRUXISH]: { 0: Abilities.MULTISCALE }, [Species.DRAMPA]: { 0: Abilities.THICK_FAT }, [Species.DHELMISE]: { 0: Abilities.WATER_BUBBLE }, [Species.JANGMO_O]: { 0: Abilities.DAUNTLESS_SHIELD }, + [Species.HAKAMO_O]: { 0: Abilities.DAUNTLESS_SHIELD }, + [Species.KOMMO_O]: { 0: Abilities.DAUNTLESS_SHIELD }, [Species.TAPU_KOKO]: { 0: Abilities.DAUNTLESS_SHIELD }, [Species.TAPU_LELE]: { 0: Abilities.BERSERK }, [Species.TAPU_BULU]: { 0: Abilities.FLOWER_VEIL }, [Species.TAPU_FINI]: { 0: Abilities.FAIRY_AURA }, - [Species.COSMOG]: { 0: Abilities.BEAST_BOOST }, + [Species.COSMOG]: { 0: Abilities.FRIEND_GUARD }, + [Species.COSMOEM]: { 0: Abilities.POWER_SPOT }, + [Species.SOLGALEO]: { 0: Abilities.BEAST_BOOST }, + [Species.LUNALA]: { 0: Abilities.BEAST_BOOST }, [Species.NIHILEGO]: { 0: Abilities.LEVITATE }, [Species.BUZZWOLE]: { 0: Abilities.MOXIE }, [Species.PHEROMOSA]: { 0: Abilities.TINTED_LENS }, @@ -430,125 +836,223 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.CELESTEELA]: { 0: Abilities.HEATPROOF }, [Species.KARTANA]: { 0: Abilities.LONG_REACH }, [Species.GUZZLORD]: { 0: Abilities.POISON_HEAL }, - [Species.NECROZMA]: { 0: Abilities.BEAST_BOOST }, - [Species.MAGEARNA]: { 0: Abilities.STEELY_SPIRIT }, + [Species.NECROZMA]: { 0: Abilities.BEAST_BOOST, 1: Abilities.FULL_METAL_BODY, 2: Abilities.SHADOW_SHIELD, 3: Abilities.PRISM_ARMOR }, + [Species.MAGEARNA]: { 0: Abilities.STEELY_SPIRIT, 1: Abilities.STEELY_SPIRIT }, [Species.MARSHADOW]: { 0: Abilities.IRON_FIST }, [Species.POIPOLE]: { 0: Abilities.LEVITATE }, + [Species.NAGANADEL]: { 0: Abilities.LEVITATE }, [Species.STAKATAKA]: { 0: Abilities.SOLID_ROCK }, [Species.BLACEPHALON]: { 0: Abilities.MAGIC_GUARD }, [Species.ZERAORA]: { 0: Abilities.TOUGH_CLAWS }, [Species.MELTAN]: { 0: Abilities.HEATPROOF }, + [Species.MELMETAL]: { 0: Abilities.HEATPROOF, 1: Abilities.FULL_METAL_BODY }, [Species.ALOLA_RATTATA]: { 0: Abilities.ADAPTABILITY }, + [Species.ALOLA_RATICATE]: { 0: Abilities.ADAPTABILITY }, [Species.ALOLA_SANDSHREW]: { 0: Abilities.ICE_SCALES }, - [Species.ALOLA_VULPIX]: { 0: Abilities.SHEER_FORCE }, + [Species.ALOLA_VULPIX]: { 0: Abilities.ICE_BODY }, + [Species.ALOLA_NINETALES]: { 0: Abilities.ICE_BODY }, [Species.ALOLA_DIGLETT]: { 0: Abilities.STURDY }, + [Species.ALOLA_DUGTRIO]: { 0: Abilities.STURDY }, [Species.ALOLA_MEOWTH]: { 0: Abilities.DARK_AURA }, + [Species.ALOLA_PERSIAN]: { 0: Abilities.DARK_AURA }, [Species.ALOLA_GEODUDE]: { 0: Abilities.DRY_SKIN }, + [Species.ALOLA_GRAVELER]: { 0: Abilities.DRY_SKIN }, + [Species.ALOLA_GOLEM]: { 0: Abilities.DRY_SKIN }, [Species.ALOLA_GRIMER]: { 0: Abilities.TOXIC_DEBRIS }, + [Species.ALOLA_MUK]: { 0: Abilities.TOXIC_DEBRIS }, [Species.GROOKEY]: { 0: Abilities.GRASS_PELT }, + [Species.THWACKEY]: { 0: Abilities.GRASS_PELT }, + [Species.RILLABOOM]: { 0: Abilities.GRASS_PELT, 1: Abilities.GRASS_PELT }, [Species.SCORBUNNY]: { 0: Abilities.NO_GUARD }, + [Species.RABOOT]: { 0: Abilities.NO_GUARD }, + [Species.CINDERACE]: { 0: Abilities.NO_GUARD, 1: Abilities.NO_GUARD }, [Species.SOBBLE]: { 0: Abilities.SUPER_LUCK }, + [Species.DRIZZILE]: { 0: Abilities.SUPER_LUCK }, + [Species.INTELEON]: { 0: Abilities.SUPER_LUCK, 1: Abilities.SUPER_LUCK }, [Species.SKWOVET]: { 0: Abilities.HARVEST }, - [Species.ROOKIDEE]: { 0: Abilities.IRON_BARBS }, - [Species.BLIPBUG]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.GREEDENT]: { 0: Abilities.HARVEST }, + [Species.ROOKIDEE]: { 0: Abilities.DEFIANT }, + [Species.CORVISQUIRE]: { 0: Abilities.DEFIANT }, + [Species.CORVIKNIGHT]: { 0: Abilities.IRON_BARBS, 1: Abilities.IRON_BARBS }, + [Species.BLIPBUG]: { 0: Abilities.RUN_AWAY }, + [Species.DOTTLER]: { 0: Abilities.PSYCHIC_SURGE }, + [Species.ORBEETLE]: { 0: Abilities.PSYCHIC_SURGE, 1: Abilities.PSYCHIC_SURGE }, [Species.NICKIT]: { 0: Abilities.MAGICIAN }, - [Species.GOSSIFLEUR]: { 0: Abilities.GRASSY_SURGE }, + [Species.THIEVUL]: { 0: Abilities.MAGICIAN }, + [Species.GOSSIFLEUR]: { 0: Abilities.SEED_SOWER }, + [Species.ELDEGOSS]: { 0: Abilities.GRASSY_SURGE }, [Species.WOOLOO]: { 0: Abilities.SCRAPPY }, - [Species.CHEWTLE]: { 0: Abilities.ROCKY_PAYLOAD }, - [Species.YAMPER]: { 0: Abilities.SHEER_FORCE }, + [Species.CHEWTLE]: { 0: Abilities.SOLID_ROCK }, + [Species.DREDNAW]: { 0: Abilities.SOLID_ROCK, 1: Abilities.SOLID_ROCK }, + [Species.YAMPER]: { 0: Abilities.PICKUP }, + [Species.BOLTUND]: { 0: Abilities.SHEER_FORCE }, [Species.ROLYCOLY]: { 0: Abilities.SOLID_ROCK }, - [Species.APPLIN]: { 0: Abilities.DRAGONS_MAW }, + [Species.CARKOL]: { 0: Abilities.SOLID_ROCK }, + [Species.COALOSSAL]: { 0: Abilities.SOLID_ROCK, 1: Abilities.SOLID_ROCK }, + [Species.APPLIN]: { 0: Abilities.STURDY }, + [Species.FLAPPLE]: { 0: Abilities.NO_GUARD, 1: Abilities.NO_GUARD }, + [Species.APPLETUN]: { 0: Abilities.WELL_BAKED_BODY, 1: Abilities.WELL_BAKED_BODY }, + [Species.DIPPLIN]: { 0: Abilities.FILTER }, + [Species.HYDRAPPLE]: { 0: Abilities.PARENTAL_BOND }, [Species.SILICOBRA]: { 0: Abilities.SAND_RUSH }, - [Species.CRAMORANT]: { 0: Abilities.LIGHTNING_ROD }, - [Species.ARROKUDA]: { 0: Abilities.INTIMIDATE }, + [Species.SANDACONDA]: { 0: Abilities.SAND_RUSH, 1: Abilities.SAND_RUSH }, + [Species.CRAMORANT]: { 0: Abilities.LIGHTNING_ROD, 1: Abilities.LIGHTNING_ROD, 2: Abilities.LIGHTNING_ROD }, + [Species.ARROKUDA]: { 0: Abilities.SPEED_BOOST }, + [Species.BARRASKEWDA]: { 0: Abilities.INTIMIDATE }, [Species.TOXEL]: { 0: Abilities.ELECTRIC_SURGE }, - [Species.SIZZLIPEDE]: { 0: Abilities.SPEED_BOOST }, + [Species.TOXTRICITY]: { 0: Abilities.ELECTRIC_SURGE, 1: Abilities.ELECTRIC_SURGE, 2: Abilities.ELECTRIC_SURGE }, + [Species.SIZZLIPEDE]: { 0: Abilities.HUSTLE }, + [Species.CENTISKORCH]: { 0: Abilities.HUSTLE, 1: Abilities.HUSTLE }, [Species.CLOBBOPUS]: { 0: Abilities.WATER_BUBBLE }, - [Species.SINISTEA]: { 0: Abilities.SHADOW_SHIELD }, + [Species.GRAPPLOCT]: { 0: Abilities.WATER_BUBBLE }, + [Species.SINISTEA]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, + [Species.POLTEAGEIST]: { 0: Abilities.SHADOW_SHIELD, 1: Abilities.SHADOW_SHIELD }, [Species.HATENNA]: { 0: Abilities.FAIRY_AURA }, + [Species.HATTREM]: { 0: Abilities.FAIRY_AURA }, + [Species.HATTERENE]: { 0: Abilities.FAIRY_AURA, 1: Abilities.FAIRY_AURA }, [Species.IMPIDIMP]: { 0: Abilities.INTIMIDATE }, + [Species.MORGREM]: { 0: Abilities.INTIMIDATE }, + [Species.GRIMMSNARL]: { 0: Abilities.INTIMIDATE, 1: Abilities.INTIMIDATE }, [Species.MILCERY]: { 0: Abilities.REGENERATOR }, - [Species.FALINKS]: { 0: Abilities.PARENTAL_BOND }, + [Species.ALCREMIE]: { 0: Abilities.REGENERATOR }, + [Species.FALINKS]: { 0: Abilities.DAUNTLESS_SHIELD }, [Species.PINCURCHIN]: { 0: Abilities.ELECTROMORPHOSIS }, [Species.SNOM]: { 0: Abilities.SNOW_WARNING }, + [Species.FROSMOTH]: { 0: Abilities.SNOW_WARNING }, [Species.STONJOURNER]: { 0: Abilities.STURDY }, - [Species.EISCUE]: { 0: Abilities.ICE_SCALES }, - [Species.INDEEDEE]: { 0: Abilities.FRIEND_GUARD }, - [Species.MORPEKO]: { 0: Abilities.MOODY }, + [Species.EISCUE]: { 0: Abilities.ICE_SCALES, 1: Abilities.ICE_SCALES }, + [Species.INDEEDEE]: { 0: Abilities.HOSPITALITY, 1: Abilities.FRIEND_GUARD }, + [Species.MORPEKO]: { 0: Abilities.MOODY, 1: Abilities.MOODY }, [Species.CUFANT]: { 0: Abilities.EARTH_EATER }, + [Species.COPPERAJAH]: { 0: Abilities.EARTH_EATER, 1: Abilities.EARTH_EATER }, [Species.DRACOZOLT]: { 0: Abilities.NO_GUARD }, [Species.ARCTOZOLT]: { 0: Abilities.WATER_ABSORB }, [Species.DRACOVISH]: { 0: Abilities.SWIFT_SWIM }, [Species.ARCTOVISH]: { 0: Abilities.STRONG_JAW }, - [Species.DURALUDON]: { 0: Abilities.STEELWORKER }, - [Species.DREEPY]: { 0: Abilities.PARENTAL_BOND }, - [Species.ZACIAN]: { 0: Abilities.UNNERVE }, - [Species.ZAMAZENTA]: { 0: Abilities.UNNERVE }, - [Species.ETERNATUS]: { 0: Abilities.NEUTRALIZING_GAS }, + [Species.DURALUDON]: { 0: Abilities.FILTER, 1: Abilities.UNAWARE }, + [Species.ARCHALUDON]: { 0: Abilities.TRANSISTOR }, + [Species.DREEPY]: { 0: Abilities.TECHNICIAN }, + [Species.DRAKLOAK]: { 0: Abilities.PARENTAL_BOND }, + [Species.DRAGAPULT]: { 0: Abilities.PARENTAL_BOND }, + [Species.ZACIAN]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, + [Species.ZAMAZENTA]: { 0: Abilities.UNNERVE, 1: Abilities.UNNERVE }, + [Species.ETERNATUS]: { 0: Abilities.NEUTRALIZING_GAS, 1: Abilities.NEUTRALIZING_GAS }, [Species.KUBFU]: { 0: Abilities.IRON_FIST }, - [Species.ZARUDE]: { 0: Abilities.TOUGH_CLAWS }, + [Species.URSHIFU]: { 0: Abilities.IRON_FIST, 1: Abilities.IRON_FIST, 2: Abilities.IRON_FIST, 3: Abilities.IRON_FIST }, + [Species.ZARUDE]: { 0: Abilities.TOUGH_CLAWS, 1: Abilities.TOUGH_CLAWS }, [Species.REGIELEKI]: { 0: Abilities.ELECTRIC_SURGE }, [Species.REGIDRAGO]: { 0: Abilities.MULTISCALE }, [Species.GLASTRIER]: { 0: Abilities.FILTER }, - [Species.SPECTRIER]: { 0: Abilities.SHADOW_SHIELD }, - [Species.CALYREX]: { 0: Abilities.HARVEST }, - [Species.ENAMORUS]: { 0: Abilities.FAIRY_AURA }, + [Species.SPECTRIER]: { 0: Abilities.MOLD_BREAKER }, + [Species.CALYREX]: { 0: Abilities.HARVEST, 1: Abilities.FILTER, 2: Abilities.MOLD_BREAKER }, + [Species.ENAMORUS]: { 0: Abilities.FAIRY_AURA, 1: Abilities.FAIRY_AURA }, [Species.GALAR_MEOWTH]: { 0: Abilities.UNBURDEN }, + [Species.PERRSERKER]: { 0: Abilities.UNBURDEN }, [Species.GALAR_PONYTA]: { 0: Abilities.CHILLING_NEIGH }, - [Species.GALAR_SLOWPOKE]: { 0: Abilities.UNAWARE }, - [Species.GALAR_FARFETCHD]: { 0: Abilities.INTREPID_SWORD }, + [Species.GALAR_RAPIDASH]: { 0: Abilities.CHILLING_NEIGH }, + [Species.GALAR_SLOWPOKE]: { 0: Abilities.OBLIVIOUS }, + [Species.GALAR_SLOWBRO]: { 0: Abilities.NEUROFORCE }, + [Species.GALAR_SLOWKING]: { 0: Abilities.INTIMIDATE }, + [Species.GALAR_FARFETCHD]: { 0: Abilities.STAKEOUT }, + [Species.SIRFETCHD]: { 0: Abilities.INTREPID_SWORD }, [Species.GALAR_ARTICUNO]: { 0: Abilities.SERENE_GRACE }, [Species.GALAR_ZAPDOS]: { 0: Abilities.TOUGH_CLAWS }, [Species.GALAR_MOLTRES]: { 0: Abilities.DARK_AURA }, [Species.GALAR_CORSOLA]: { 0: Abilities.SHADOW_SHIELD }, + [Species.CURSOLA]: { 0: Abilities.SHADOW_SHIELD }, [Species.GALAR_ZIGZAGOON]: { 0: Abilities.POISON_HEAL }, + [Species.GALAR_LINOONE]: { 0: Abilities.POISON_HEAL }, + [Species.OBSTAGOON]: { 0: Abilities.POISON_HEAL }, [Species.GALAR_DARUMAKA]: { 0: Abilities.FLASH_FIRE }, + [Species.GALAR_DARMANITAN]: { 0: Abilities.FLASH_FIRE, 1: Abilities.FLASH_FIRE }, [Species.GALAR_YAMASK]: { 0: Abilities.TABLETS_OF_RUIN }, + [Species.RUNERIGUS]: { 0: Abilities.TABLETS_OF_RUIN }, [Species.GALAR_STUNFISK]: { 0: Abilities.ARENA_TRAP }, [Species.HISUI_GROWLITHE]: { 0: Abilities.RECKLESS }, + [Species.HISUI_ARCANINE]: { 0: Abilities.RECKLESS }, [Species.HISUI_VOLTORB]: { 0: Abilities.TRANSISTOR }, + [Species.HISUI_ELECTRODE]: { 0: Abilities.TRANSISTOR }, [Species.HISUI_QWILFISH]: { 0: Abilities.MERCILESS }, + [Species.OVERQWIL]: { 0: Abilities.MERCILESS }, [Species.HISUI_SNEASEL]: { 0: Abilities.SCRAPPY }, + [Species.SNEASLER]: { 0: Abilities.SCRAPPY }, [Species.HISUI_ZORUA]: { 0: Abilities.ADAPTABILITY }, + [Species.HISUI_ZOROARK]: { 0: Abilities.ADAPTABILITY }, - [Species.SPRIGATITO]: { 0: Abilities.MAGICIAN }, - [Species.FUECOCO]: { 0: Abilities.PUNK_ROCK }, - [Species.QUAXLY]: { 0: Abilities.OPPORTUNIST }, + [Species.SPRIGATITO]: { 0: Abilities.PICKUP }, + [Species.FLORAGATO]: { 0: Abilities.MAGICIAN }, + [Species.MEOWSCARADA]: { 0: Abilities.MAGICIAN }, + [Species.FUECOCO]: { 0: Abilities.GLUTTONY }, + [Species.CROCALOR]: { 0: Abilities.GLUTTONY }, + [Species.SKELEDIRGE]: { 0: Abilities.GLUTTONY }, + [Species.QUAXLY]: { 0: Abilities.DANCER }, + [Species.QUAXWELL]: { 0: Abilities.OPPORTUNIST }, + [Species.QUAQUAVAL]: { 0: Abilities.OPPORTUNIST }, [Species.LECHONK]: { 0: Abilities.SIMPLE }, + [Species.OINKOLOGNE]: { 0: Abilities.SIMPLE, 1: Abilities.SIMPLE }, [Species.TAROUNTULA]: { 0: Abilities.HONEY_GATHER }, - [Species.NYMBLE]: { 0: Abilities.GUTS }, + [Species.SPIDOPS]: { 0: Abilities.HONEY_GATHER }, + [Species.NYMBLE]: { 0: Abilities.HUSTLE }, + [Species.LOKIX]: { 0: Abilities.GUTS }, [Species.PAWMI]: { 0: Abilities.TRANSISTOR }, - [Species.TANDEMAUS]: { 0: Abilities.SCRAPPY }, + [Species.PAWMO]: { 0: Abilities.TRANSISTOR }, + [Species.PAWMOT]: { 0: Abilities.TRANSISTOR }, + [Species.TANDEMAUS]: { 0: Abilities.FRIEND_GUARD }, + [Species.MAUSHOLD]: { 0: Abilities.SCRAPPY, 1: Abilities.SCRAPPY }, [Species.FIDOUGH]: { 0: Abilities.WATER_ABSORB }, + [Species.DACHSBUN]: { 0: Abilities.WATER_ABSORB }, [Species.SMOLIV]: { 0: Abilities.RIPEN }, - [Species.SQUAWKABILLY]: { 0: Abilities.MOXIE }, + [Species.DOLLIV]: { 0: Abilities.RIPEN }, + [Species.ARBOLIVA]: { 0: Abilities.RIPEN }, + [Species.SQUAWKABILLY]: { 0: Abilities.MOXIE, 1: Abilities.MOXIE, 2: Abilities.MOXIE, 3: Abilities.MOXIE }, [Species.NACLI]: { 0: Abilities.SOLID_ROCK }, - [Species.CHARCADET]: { 0: Abilities.PRISM_ARMOR }, - [Species.TADBULB]: { 0: Abilities.STAMINA }, + [Species.NACLSTACK]: { 0: Abilities.SOLID_ROCK }, + [Species.GARGANACL]: { 0: Abilities.SOLID_ROCK }, + [Species.CHARCADET]: { 0: Abilities.BATTLE_ARMOR }, + [Species.ARMAROUGE]: { 0: Abilities.PRISM_ARMOR }, + [Species.CERULEDGE]: { 0: Abilities.PRISM_ARMOR }, + [Species.TADBULB]: { 0: Abilities.LEVITATE }, + [Species.BELLIBOLT]: { 0: Abilities.STAMINA }, [Species.WATTREL]: { 0: Abilities.SHEER_FORCE }, + [Species.KILOWATTREL]: { 0: Abilities.SHEER_FORCE }, [Species.MASCHIFF]: { 0: Abilities.STRONG_JAW }, + [Species.MABOSSTIFF]: { 0: Abilities.STRONG_JAW }, [Species.SHROODLE]: { 0: Abilities.CORROSION }, - [Species.BRAMBLIN]: { 0: Abilities.SHADOW_SHIELD }, - [Species.TOEDSCOOL]: { 0: Abilities.PRANKSTER }, + [Species.GRAFAIAI]: { 0: Abilities.CORROSION }, + [Species.BRAMBLIN]: { 0: Abilities.WANDERING_SPIRIT }, + [Species.BRAMBLEGHAST]: { 0: Abilities.SHADOW_SHIELD }, + [Species.TOEDSCOOL]: { 0: Abilities.RUN_AWAY }, + [Species.TOEDSCRUEL]: { 0: Abilities.PRANKSTER }, [Species.KLAWF]: { 0: Abilities.WATER_ABSORB }, - [Species.CAPSAKID]: { 0: Abilities.PARENTAL_BOND }, + [Species.CAPSAKID]: { 0: Abilities.FLOWER_GIFT }, + [Species.SCOVILLAIN]: { 0: Abilities.PARENTAL_BOND }, [Species.RELLOR]: { 0: Abilities.PRANKSTER }, + [Species.RABSCA]: { 0: Abilities.PRANKSTER }, [Species.FLITTLE]: { 0: Abilities.DAZZLING }, + [Species.ESPATHRA]: { 0: Abilities.DAZZLING }, [Species.TINKATINK]: { 0: Abilities.STEELWORKER }, + [Species.TINKATUFF]: { 0: Abilities.STEELWORKER }, + [Species.TINKATON]: { 0: Abilities.STEELWORKER }, [Species.WIGLETT]: { 0: Abilities.STURDY }, + [Species.WUGTRIO]: { 0: Abilities.STURDY }, [Species.BOMBIRDIER]: { 0: Abilities.UNBURDEN }, - [Species.FINIZEN]: { 0: Abilities.IRON_FIST }, + [Species.FINIZEN]: { 0: Abilities.SWIFT_SWIM }, + [Species.PALAFIN]: { 0: Abilities.EMERGENCY_EXIT, 1: Abilities.IRON_FIST }, [Species.VAROOM]: { 0: Abilities.LEVITATE }, + [Species.REVAVROOM]: { 0: Abilities.LEVITATE, 1: Abilities.LEVITATE, 2: Abilities.LEVITATE, 3: Abilities.LEVITATE, 4: Abilities.LEVITATE, 5: Abilities.LEVITATE }, [Species.CYCLIZAR]: { 0: Abilities.PROTEAN }, [Species.ORTHWORM]: { 0: Abilities.REGENERATOR }, - [Species.GLIMMET]: { 0: Abilities.TERA_SHELL }, + [Species.GLIMMET]: { 0: Abilities.STURDY }, + [Species.GLIMMORA]: { 0: Abilities.TERA_SHELL }, [Species.GREAVARD]: { 0: Abilities.UNAWARE }, + [Species.HOUNDSTONE]: { 0: Abilities.UNAWARE }, [Species.FLAMIGO]: { 0: Abilities.MOXIE }, [Species.CETODDLE]: { 0: Abilities.REFRIGERATE }, + [Species.CETITAN]: { 0: Abilities.REFRIGERATE }, [Species.VELUZA]: { 0: Abilities.SUPER_LUCK }, [Species.DONDOZO]: { 0: Abilities.DRAGONS_MAW }, - [Species.TATSUGIRI]: { 0: Abilities.FLUFFY }, + [Species.TATSUGIRI]: { 0: Abilities.FLUFFY, 1: Abilities.FLUFFY, 2: Abilities.FLUFFY }, [Species.GREAT_TUSK]: { 0: Abilities.INTIMIDATE }, [Species.SCREAM_TAIL]: { 0: Abilities.UNAWARE }, [Species.BRUTE_BONNET]: { 0: Abilities.CHLOROPHYLL }, @@ -562,29 +1066,34 @@ export const starterPassiveAbilities: StarterPassiveAbilities = { [Species.IRON_MOTH]: { 0: Abilities.LEVITATE }, [Species.IRON_THORNS]: { 0: Abilities.SAND_STREAM }, [Species.FRIGIBAX]: { 0: Abilities.INTIMIDATE }, - [Species.GIMMIGHOUL]: { 0: Abilities.HONEY_GATHER }, + [Species.ARCTIBAX]: { 0: Abilities.INTIMIDATE }, + [Species.BAXCALIBUR]: { 0: Abilities.INTIMIDATE }, + [Species.GIMMIGHOUL]: { 0: Abilities.HONEY_GATHER, 1: Abilities.HONEY_GATHER }, + [Species.GHOLDENGO]: { 0: Abilities.HONEY_GATHER }, [Species.WO_CHIEN]: { 0: Abilities.VESSEL_OF_RUIN }, [Species.CHIEN_PAO]: { 0: Abilities.INTIMIDATE }, [Species.TING_LU]: { 0: Abilities.STAMINA }, [Species.CHI_YU]: { 0: Abilities.BERSERK }, [Species.ROARING_MOON]: { 0: Abilities.INTIMIDATE }, [Species.IRON_VALIANT]: { 0: Abilities.NEUROFORCE }, - [Species.KORAIDON]: { 0: Abilities.OPPORTUNIST }, - [Species.MIRAIDON]: { 0: Abilities.OPPORTUNIST }, + [Species.KORAIDON]: { 0: Abilities.THERMAL_EXCHANGE }, + [Species.MIRAIDON]: { 0: Abilities.COMPOUND_EYES }, [Species.WALKING_WAKE]: { 0: Abilities.BEAST_BOOST }, [Species.IRON_LEAVES]: { 0: Abilities.SHARPNESS }, - [Species.POLTCHAGEIST]: { 0: Abilities.TRIAGE }, + [Species.POLTCHAGEIST]: { 0: Abilities.TRIAGE, 1: Abilities.TRIAGE }, + [Species.SINISTCHA]: { 0: Abilities.TRIAGE, 1: Abilities.TRIAGE }, [Species.OKIDOGI]: { 0: Abilities.DARK_AURA }, [Species.MUNKIDORI]: { 0: Abilities.MAGICIAN }, [Species.FEZANDIPITI]: { 0: Abilities.PIXILATE }, - [Species.OGERPON]: { 0: Abilities.OPPORTUNIST }, + [Species.OGERPON]: { 0: Abilities.OPPORTUNIST, 1: Abilities.SUPER_LUCK, 2: Abilities.FLASH_FIRE, 3: Abilities.MAGIC_GUARD, 4: Abilities.OPPORTUNIST, 5: Abilities.SUPER_LUCK, 6: Abilities.FLASH_FIRE, 7: Abilities.MAGIC_GUARD }, [Species.GOUGING_FIRE]: { 0: Abilities.BEAST_BOOST }, [Species.RAGING_BOLT]: { 0: Abilities.BEAST_BOOST }, [Species.IRON_BOULDER]: { 0: Abilities.SHARPNESS }, [Species.IRON_CROWN]: { 0: Abilities.SHARPNESS }, - [Species.TERAPAGOS]: { 0: Abilities.SHIELD_DUST }, + [Species.TERAPAGOS]: { 0: Abilities.SHIELD_DUST, 1: Abilities.SHIELD_DUST, 2: Abilities.SHIELD_DUST }, [Species.PECHARUNT]: { 0: Abilities.TOXIC_CHAIN }, - [Species.PALDEA_TAUROS]: { 0: Abilities.ADAPTABILITY }, - [Species.PALDEA_WOOPER]: { 0: Abilities.THICK_FAT }, + [Species.PALDEA_TAUROS]: { 0: Abilities.STAMINA, 1: Abilities.ADAPTABILITY, 2: Abilities.ADAPTABILITY }, + [Species.PALDEA_WOOPER]: { 0: Abilities.POISON_TOUCH }, + [Species.CLODSIRE]: { 0: Abilities.THICK_FAT }, [Species.BLOODMOON_URSALUNA]: { 0: Abilities.BERSERK } }; diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index d172173e9df..2f182494fb1 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -2086,7 +2086,7 @@ export function initSpecies() { new PokemonSpecies(Species.PORYGON_Z, 4, false, false, false, "Virtual Pokémon", PokemonType.NORMAL, null, 0.9, 34, Abilities.ADAPTABILITY, Abilities.DOWNLOAD, Abilities.ANALYTIC, 535, 85, 80, 70, 135, 75, 90, 30, 50, 268, GrowthRate.MEDIUM_FAST, null, false), new PokemonSpecies(Species.GALLADE, 4, false, false, false, "Blade Pokémon", PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 52, Abilities.STEADFAST, Abilities.SHARPNESS, Abilities.JUSTIFIED, 518, 68, 125, 65, 65, 115, 80, 45, 35, 259, GrowthRate.SLOW, 100, false, true, new PokemonForm("Normal", "", PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 52, Abilities.STEADFAST, Abilities.SHARPNESS, Abilities.JUSTIFIED, 518, 68, 125, 65, 65, 115, 80, 45, 35, 259, false, null, true), - new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 56.4, Abilities.SHARPNESS, Abilities.SHARPNESS, Abilities.SHARPNESS, 618, 68, 165, 95, 65, 115, 110, 45, 35, 259), + new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.PSYCHIC, PokemonType.FIGHTING, 1.6, 56.4, Abilities.INNER_FOCUS, Abilities.INNER_FOCUS, Abilities.INNER_FOCUS, 618, 68, 165, 95, 65, 115, 110, 45, 35, 259), ), new PokemonSpecies(Species.PROBOPASS, 4, false, false, false, "Compass Pokémon", PokemonType.ROCK, PokemonType.STEEL, 1.4, 340, Abilities.STURDY, Abilities.MAGNET_PULL, Abilities.SAND_FORCE, 525, 60, 55, 145, 75, 150, 40, 60, 70, 184, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.DUSKNOIR, 4, false, false, false, "Gripper Pokémon", PokemonType.GHOST, null, 2.2, 106.6, Abilities.PRESSURE, Abilities.NONE, Abilities.FRISK, 525, 45, 100, 135, 65, 135, 45, 45, 35, 263, GrowthRate.FAST, 50, false), @@ -2357,16 +2357,16 @@ export function initSpecies() { new PokemonSpecies(Species.DELPHOX, 6, false, false, false, "Fox Pokémon", PokemonType.FIRE, PokemonType.PSYCHIC, 1.5, 39, Abilities.BLAZE, Abilities.NONE, Abilities.MAGICIAN, 534, 75, 69, 72, 114, 100, 104, 45, 70, 267, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.FROAKIE, 6, false, false, false, "Bubble Frog Pokémon", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, GrowthRate.MEDIUM_SLOW, 87.5, false, false, new PokemonForm("Normal", "", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, null, true), - new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, "", true), + new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.3, 7, Abilities.TORRENT, Abilities.NONE, Abilities.NONE, 314, 41, 56, 40, 62, 44, 71, 45, 70, 63, false, "", true), ), new PokemonSpecies(Species.FROGADIER, 6, false, false, false, "Bubble Frog Pokémon", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, GrowthRate.MEDIUM_SLOW, 87.5, false, false, new PokemonForm("Normal", "", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, null, true), - new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, "", true), + new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, null, 0.6, 10.9, Abilities.TORRENT, Abilities.NONE, Abilities.NONE, 405, 54, 63, 52, 83, 56, 97, 45, 70, 142, false, "", true), ), new PokemonSpecies(Species.GRENINJA, 6, false, false, false, "Ninja Pokémon", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, false, new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.TORRENT, Abilities.NONE, Abilities.PROTEAN, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, false, null, true), new PokemonForm("Battle Bond", "battle-bond", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.BATTLE_BOND, 530, 72, 95, 67, 103, 71, 122, 45, 70, 265, false, "", true), - new PokemonForm("Ash", "ash", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.BATTLE_BOND, 640, 72, 145, 67, 153, 71, 132, 45, 70, 265), + new PokemonForm("Ash", "ash", PokemonType.WATER, PokemonType.DARK, 1.5, 40, Abilities.BATTLE_BOND, Abilities.NONE, Abilities.NONE, 640, 72, 145, 67, 153, 71, 132, 45, 70, 265), ), new PokemonSpecies(Species.BUNNELBY, 6, false, false, false, "Digging Pokémon", PokemonType.NORMAL, null, 0.4, 5, Abilities.PICKUP, Abilities.CHEEK_POUCH, Abilities.HUGE_POWER, 237, 38, 36, 38, 32, 36, 57, 255, 50, 47, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.DIGGERSBY, 6, false, false, false, "Digging Pokémon", PokemonType.NORMAL, PokemonType.GROUND, 1, 42.4, Abilities.PICKUP, Abilities.CHEEK_POUCH, Abilities.HUGE_POWER, 423, 85, 56, 77, 50, 77, 78, 127, 50, 148, GrowthRate.MEDIUM_FAST, 50, false), From 938f1b8756c1fe54ab2d29777ce8f135a877e389 Mon Sep 17 00:00:00 2001 From: damocleas Date: Wed, 26 Mar 2025 18:57:30 -0400 Subject: [PATCH 029/129] [Balance] G-Max Form Re-Evaluation (#5545) * Update pokemon-species.ts * Orbeetle and Drednaw adjustment * Cinderace, Corviknight, Drednaw, and Coalossal adjustments * Fix Urshifus * Butterfree, Orbettle, and Drednaw adjustments --- src/data/pokemon-species.ts | 46 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 2f182494fb1..15c60d28969 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -1383,7 +1383,7 @@ export function initSpecies() { new PokemonSpecies(Species.VENUSAUR, 1, false, false, false, "Seed Pokémon", PokemonType.GRASS, PokemonType.POISON, 2, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, GrowthRate.MEDIUM_SLOW, 87.5, true, true, new PokemonForm("Normal", "", PokemonType.GRASS, PokemonType.POISON, 2, 100, Abilities.OVERGROW, Abilities.NONE, Abilities.CHLOROPHYLL, 525, 80, 82, 83, 100, 100, 80, 45, 50, 263, true, null, true), new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.GRASS, PokemonType.POISON, 2.4, 155.5, Abilities.THICK_FAT, Abilities.THICK_FAT, Abilities.THICK_FAT, 625, 80, 100, 123, 122, 120, 80, 45, 50, 263, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.POISON, 24, 999.9, Abilities.EFFECT_SPORE, Abilities.NONE, Abilities.EFFECT_SPORE, 625, 120, 82, 98, 130, 115, 80, 45, 50, 263, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, PokemonType.POISON, 24, 999.9, Abilities.EFFECT_SPORE, Abilities.NONE, Abilities.EFFECT_SPORE, 625, 120, 122, 90, 108, 105, 80, 45, 50, 263, true), ), new PokemonSpecies(Species.CHARMANDER, 1, false, false, false, "Lizard Pokémon", PokemonType.FIRE, null, 0.6, 8.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 309, 39, 52, 43, 60, 50, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.CHARMELEON, 1, false, false, false, "Flame Pokémon", PokemonType.FIRE, null, 1.1, 19, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 405, 58, 64, 58, 80, 65, 80, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), @@ -1391,20 +1391,20 @@ export function initSpecies() { new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.FLYING, 1.7, 90.5, Abilities.BLAZE, Abilities.NONE, Abilities.SOLAR_POWER, 534, 78, 84, 78, 109, 85, 100, 45, 50, 267, false, null, true), new PokemonForm("Mega X", SpeciesFormKey.MEGA_X, PokemonType.FIRE, PokemonType.DRAGON, 1.7, 110.5, Abilities.TOUGH_CLAWS, Abilities.NONE, Abilities.TOUGH_CLAWS, 634, 78, 130, 111, 130, 85, 100, 45, 50, 267), new PokemonForm("Mega Y", SpeciesFormKey.MEGA_Y, PokemonType.FIRE, PokemonType.FLYING, 1.7, 100.5, Abilities.DROUGHT, Abilities.NONE, Abilities.DROUGHT, 634, 78, 104, 78, 159, 115, 100, 45, 50, 267), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.FLYING, 28, 999.9, Abilities.BERSERK, Abilities.NONE, Abilities.BERSERK, 634, 118, 84, 93, 139, 100, 100, 45, 50, 267), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.FLYING, 28, 999.9, Abilities.BERSERK, Abilities.NONE, Abilities.BERSERK, 634, 118, 99, 88, 134, 95, 100, 45, 50, 267), ), new PokemonSpecies(Species.SQUIRTLE, 1, false, false, false, "Tiny Turtle Pokémon", PokemonType.WATER, null, 0.5, 9, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 314, 44, 48, 65, 50, 64, 43, 45, 50, 63, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.WARTORTLE, 1, false, false, false, "Turtle Pokémon", PokemonType.WATER, null, 1, 22.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 405, 59, 63, 80, 65, 80, 58, 45, 50, 142, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.BLASTOISE, 1, false, false, false, "Shellfish Pokémon", PokemonType.WATER, null, 1.6, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.WATER, null, 1.6, 85.5, Abilities.TORRENT, Abilities.NONE, Abilities.RAIN_DISH, 530, 79, 83, 100, 85, 105, 78, 45, 50, 265, false, null, true), new PokemonForm("Mega", SpeciesFormKey.MEGA, PokemonType.WATER, null, 1.6, 101.1, Abilities.MEGA_LAUNCHER, Abilities.NONE, Abilities.MEGA_LAUNCHER, 630, 79, 103, 120, 135, 115, 78, 45, 50, 265), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.STEEL, 25, 999.9, Abilities.SHELL_ARMOR, Abilities.NONE, Abilities.SHELL_ARMOR, 630, 119, 83, 135, 115, 110, 68, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.STEEL, 25, 999.9, Abilities.SHELL_ARMOR, Abilities.NONE, Abilities.SHELL_ARMOR, 630, 119, 108, 125, 105, 110, 63, 45, 50, 265), ), new PokemonSpecies(Species.CATERPIE, 1, false, false, false, "Worm Pokémon", PokemonType.BUG, null, 0.3, 2.9, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 45, 30, 35, 20, 20, 45, 255, 50, 39, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.METAPOD, 1, false, false, false, "Cocoon Pokémon", PokemonType.BUG, null, 0.7, 9.9, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 50, 20, 55, 25, 25, 30, 120, 50, 72, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.BUTTERFREE, 1, false, false, false, "Butterfly Pokémon", PokemonType.BUG, PokemonType.FLYING, 1.1, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, GrowthRate.MEDIUM_FAST, 50, true, true, new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.FLYING, 1.1, 32, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.TINTED_LENS, 395, 60, 45, 50, 90, 80, 70, 45, 50, 198, true, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.FLYING, 17, 999.9, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.COMPOUND_EYES, 495, 85, 35, 80, 120, 90, 85, 45, 50, 198, true), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.FLYING, 17, 999.9, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.COMPOUND_EYES, 495, 80, 40, 75, 120, 95, 85, 45, 50, 198, true), ), new PokemonSpecies(Species.WEEDLE, 1, false, false, false, "Hairy Bug Pokémon", PokemonType.BUG, PokemonType.POISON, 0.3, 3.2, Abilities.SHIELD_DUST, Abilities.NONE, Abilities.RUN_AWAY, 195, 40, 35, 30, 20, 20, 50, 255, 70, 39, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.KAKUNA, 1, false, false, false, "Cocoon Pokémon", PokemonType.BUG, PokemonType.POISON, 0.6, 10, Abilities.SHED_SKIN, Abilities.NONE, Abilities.SHED_SKIN, 205, 45, 25, 50, 25, 25, 35, 120, 70, 72, GrowthRate.MEDIUM_FAST, 50, false), @@ -1485,7 +1485,7 @@ export function initSpecies() { new PokemonSpecies(Species.MACHOKE, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.5, 70.5, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 405, 80, 100, 70, 50, 60, 45, 90, 50, 142, GrowthRate.MEDIUM_SLOW, 75, false), new PokemonSpecies(Species.MACHAMP, 1, false, false, false, "Superpower Pokémon", PokemonType.FIGHTING, null, 1.6, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, GrowthRate.MEDIUM_SLOW, 75, false, true, new PokemonForm("Normal", "", PokemonType.FIGHTING, null, 1.6, 130, Abilities.GUTS, Abilities.NO_GUARD, Abilities.STEADFAST, 505, 90, 130, 80, 65, 85, 55, 45, 50, 253, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIGHTING, null, 25, 999.9, Abilities.GUTS, Abilities.GUTS, Abilities.GUTS, 605, 115, 170, 95, 65, 95, 65, 45, 50, 253), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIGHTING, null, 25, 999.9, Abilities.GUTS, Abilities.GUTS, Abilities.GUTS, 605, 120, 170, 85, 75, 90, 65, 45, 50, 253), ), new PokemonSpecies(Species.BELLSPROUT, 1, false, false, false, "Flower Pokémon", PokemonType.GRASS, PokemonType.POISON, 0.7, 4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 300, 50, 75, 35, 70, 30, 40, 255, 70, 60, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(Species.WEEPINBELL, 1, false, false, false, "Flycatcher Pokémon", PokemonType.GRASS, PokemonType.POISON, 1, 6.4, Abilities.CHLOROPHYLL, Abilities.NONE, Abilities.GLUTTONY, 390, 65, 90, 50, 85, 45, 55, 120, 70, 137, GrowthRate.MEDIUM_SLOW, 50, false), @@ -1526,7 +1526,7 @@ export function initSpecies() { new PokemonSpecies(Species.KRABBY, 1, false, false, false, "River Crab Pokémon", PokemonType.WATER, null, 0.4, 6.5, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 325, 30, 105, 90, 25, 25, 50, 225, 50, 65, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.KINGLER, 1, false, false, false, "Pincer Pokémon", PokemonType.WATER, null, 1.3, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.WATER, null, 1.3, 60, Abilities.HYPER_CUTTER, Abilities.SHELL_ARMOR, Abilities.SHEER_FORCE, 475, 55, 130, 115, 50, 50, 75, 60, 50, 166, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 19, 999.9, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, 575, 90, 155, 140, 50, 70, 70, 60, 50, 166), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 19, 999.9, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, Abilities.TOUGH_CLAWS, 575, 92, 145, 140, 60, 65, 73, 60, 50, 166), ), new PokemonSpecies(Species.VOLTORB, 1, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, null, 0.5, 10.4, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 70, 66, GrowthRate.MEDIUM_FAST, null, false), new PokemonSpecies(Species.ELECTRODE, 1, false, false, false, "Ball Pokémon", PokemonType.ELECTRIC, null, 1.2, 66.6, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false), @@ -1570,13 +1570,13 @@ export function initSpecies() { ), new PokemonSpecies(Species.LAPRAS, 1, false, false, false, "Transport Pokémon", PokemonType.WATER, PokemonType.ICE, 2.5, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, GrowthRate.SLOW, 50, false, true, new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.ICE, 2.5, 220, Abilities.WATER_ABSORB, Abilities.SHELL_ARMOR, Abilities.HYDRATION, 535, 130, 85, 80, 85, 95, 60, 45, 50, 187, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ICE, 24, 999.9, Abilities.SHIELD_DUST, Abilities.SHIELD_DUST, Abilities.SHIELD_DUST, 635, 170, 85, 85, 105, 130, 60, 45, 50, 187), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ICE, 24, 999.9, Abilities.SHIELD_DUST, Abilities.SHIELD_DUST, Abilities.SHIELD_DUST, 635, 170, 97, 85, 107, 111, 65, 45, 50, 187), ), new PokemonSpecies(Species.DITTO, 1, false, false, false, "Transform Pokémon", PokemonType.NORMAL, null, 0.3, 4, Abilities.LIMBER, Abilities.NONE, Abilities.IMPOSTER, 288, 48, 48, 48, 48, 48, 48, 35, 50, 101, GrowthRate.MEDIUM_FAST, null, false), new PokemonSpecies(Species.EEVEE, 1, false, false, false, "Evolution Pokémon", PokemonType.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, GrowthRate.MEDIUM_FAST, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, false, null, true), new PokemonForm("Partner", "partner", PokemonType.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 435, 65, 75, 70, 65, 85, 75, 45, 50, 65, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 18, 999.9, Abilities.PROTEAN, Abilities.PROTEAN, Abilities.PROTEAN, 535, 110, 90, 70, 95, 85, 85, 45, 50, 65), //+100 BST from Partner Form + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 18, 999.9, Abilities.PROTEAN, Abilities.PROTEAN, Abilities.PROTEAN, 535, 110, 95, 70, 90, 85, 85, 45, 50, 65), //+100 BST from Partner Form ), new PokemonSpecies(Species.VAPOREON, 1, false, false, false, "Bubble Jet Pokémon", PokemonType.WATER, null, 1, 29, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.HYDRATION, 525, 130, 65, 60, 110, 95, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), new PokemonSpecies(Species.JOLTEON, 1, false, false, false, "Lightning Pokémon", PokemonType.ELECTRIC, null, 0.8, 24.5, Abilities.VOLT_ABSORB, Abilities.NONE, Abilities.QUICK_FEET, 525, 65, 65, 60, 110, 95, 130, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false), @@ -1592,7 +1592,7 @@ export function initSpecies() { ), new PokemonSpecies(Species.SNORLAX, 1, false, false, false, "Sleeping Pokémon", PokemonType.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, GrowthRate.SLOW, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.NORMAL, null, 2.1, 460, Abilities.IMMUNITY, Abilities.THICK_FAT, Abilities.GLUTTONY, 540, 160, 110, 65, 65, 110, 30, 25, 50, 189, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 35, 999.9, Abilities.HARVEST, Abilities.HARVEST, Abilities.HARVEST, 640, 200, 135, 80, 80, 125, 20, 25, 50, 189), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.NORMAL, null, 35, 999.9, Abilities.HARVEST, Abilities.HARVEST, Abilities.HARVEST, 640, 210, 135, 70, 90, 115, 20, 25, 50, 189), ), new PokemonSpecies(Species.ARTICUNO, 1, true, false, false, "Freeze Pokémon", PokemonType.ICE, PokemonType.FLYING, 1.7, 55.4, Abilities.PRESSURE, Abilities.NONE, Abilities.SNOW_CLOAK, 580, 90, 85, 100, 95, 125, 85, 3, 35, 290, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.ZAPDOS, 1, true, false, false, "Electric Pokémon", PokemonType.ELECTRIC, PokemonType.FLYING, 1.6, 52.6, Abilities.PRESSURE, Abilities.NONE, Abilities.STATIC, 580, 90, 90, 85, 125, 90, 100, 3, 35, 290, GrowthRate.SLOW, null, false), @@ -2232,7 +2232,7 @@ export function initSpecies() { new PokemonSpecies(Species.TRUBBISH, 5, false, false, false, "Trash Bag Pokémon", PokemonType.POISON, null, 0.6, 31, Abilities.STENCH, Abilities.STICKY_HOLD, Abilities.AFTERMATH, 329, 50, 50, 62, 40, 62, 65, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.GARBODOR, 5, false, false, false, "Trash Heap Pokémon", PokemonType.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.POISON, PokemonType.STEEL, 21, 999.9, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, 574, 135, 125, 102, 57, 102, 53, 60, 50, 166), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.POISON, PokemonType.STEEL, 21, 999.9, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, Abilities.TOXIC_DEBRIS, 574, 115, 121, 102, 81, 102, 53, 60, 50, 166), ), new PokemonSpecies(Species.ZORUA, 5, false, false, false, "Tricky Fox Pokémon", PokemonType.DARK, null, 0.7, 12.5, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 330, 40, 65, 40, 80, 40, 65, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.ZOROARK, 5, false, false, false, "Illusion Fox Pokémon", PokemonType.DARK, null, 1.6, 81.1, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 510, 60, 105, 60, 120, 60, 105, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false), @@ -2707,25 +2707,25 @@ export function initSpecies() { new PokemonSpecies(Species.MELTAN, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 0.2, 8, Abilities.MAGNET_PULL, Abilities.NONE, Abilities.NONE, 300, 46, 65, 65, 55, 35, 34, 3, 0, 150, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.MELMETAL, 7, false, false, true, "Hex Nut Pokémon", PokemonType.STEEL, null, 2.5, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, GrowthRate.SLOW, null, false, true, new PokemonForm("Normal", "", PokemonType.STEEL, null, 2.5, 800, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 600, 135, 143, 143, 80, 65, 34, 3, 0, 300, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, null, 25, 999.9, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 700, 175, 165, 155, 85, 75, 45, 3, 0, 300), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, null, 25, 999.9, Abilities.IRON_FIST, Abilities.NONE, Abilities.NONE, 700, 170, 158, 158, 95, 75, 44, 3, 0, 300), ), new PokemonSpecies(Species.GROOKEY, 8, false, false, false, "Chimp Pokémon", PokemonType.GRASS, null, 0.3, 5, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 310, 50, 65, 50, 40, 40, 65, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.THWACKEY, 8, false, false, false, "Beat Pokémon", PokemonType.GRASS, null, 0.7, 14, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 420, 70, 85, 70, 55, 60, 80, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.RILLABOOM, 8, false, false, false, "Drummer Pokémon", PokemonType.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.GRASS, null, 2.1, 90, Abilities.OVERGROW, Abilities.NONE, Abilities.GRASSY_SURGE, 530, 100, 125, 90, 60, 70, 85, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, null, 28, 999.9, Abilities.GRASSY_SURGE, Abilities.NONE, Abilities.GRASSY_SURGE, 630, 125, 150, 105, 85, 85, 80, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GRASS, null, 28, 999.9, Abilities.GRASSY_SURGE, Abilities.NONE, Abilities.GRASSY_SURGE, 630, 125, 140, 105, 90, 85, 85, 45, 50, 265), ), new PokemonSpecies(Species.SCORBUNNY, 8, false, false, false, "Rabbit Pokémon", PokemonType.FIRE, null, 0.3, 4.5, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 310, 50, 71, 40, 40, 40, 69, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.RABOOT, 8, false, false, false, "Rabbit Pokémon", PokemonType.FIRE, null, 0.6, 9, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 420, 65, 86, 60, 55, 60, 94, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.CINDERACE, 8, false, false, false, "Striker Pokémon", PokemonType.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.FIRE, null, 1.4, 33, Abilities.BLAZE, Abilities.NONE, Abilities.LIBERO, 530, 80, 116, 75, 65, 75, 119, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, null, 27, 999.9, Abilities.LIBERO, Abilities.NONE, Abilities.LIBERO, 630, 100, 146, 80, 90, 80, 134, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, null, 27, 999.9, Abilities.LIBERO, Abilities.NONE, Abilities.LIBERO, 630, 100, 141, 80, 95, 80, 134, 45, 50, 265), ), new PokemonSpecies(Species.SOBBLE, 8, false, false, false, "Water Lizard Pokémon", PokemonType.WATER, null, 0.3, 4, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 310, 50, 40, 40, 70, 40, 70, 45, 50, 62, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.DRIZZILE, 8, false, false, false, "Water Lizard Pokémon", PokemonType.WATER, null, 0.7, 11.5, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 420, 65, 60, 55, 95, 55, 90, 45, 50, 147, GrowthRate.MEDIUM_SLOW, 87.5, false), new PokemonSpecies(Species.INTELEON, 8, false, false, false, "Secret Agent Pokémon", PokemonType.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, GrowthRate.MEDIUM_SLOW, 87.5, false, true, new PokemonForm("Normal", "", PokemonType.WATER, null, 1.9, 45.2, Abilities.TORRENT, Abilities.NONE, Abilities.SNIPER, 530, 70, 85, 65, 125, 65, 120, 45, 50, 265, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 40, 999.9, Abilities.SNIPER, Abilities.NONE, Abilities.SNIPER, 630, 95, 97, 77, 147, 77, 137, 45, 50, 265), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, null, 40, 999.9, Abilities.SNIPER, Abilities.NONE, Abilities.SNIPER, 630, 95, 117, 67, 147, 67, 137, 45, 50, 265), ), new PokemonSpecies(Species.SKWOVET, 8, false, false, false, "Cheeky Pokémon", PokemonType.NORMAL, null, 0.3, 2.5, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 275, 70, 55, 55, 35, 35, 25, 255, 50, 55, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.GREEDENT, 8, false, false, false, "Greedy Pokémon", PokemonType.NORMAL, null, 0.6, 6, Abilities.CHEEK_POUCH, Abilities.NONE, Abilities.GLUTTONY, 460, 120, 95, 95, 55, 75, 20, 90, 50, 161, GrowthRate.MEDIUM_FAST, 50, false), @@ -2733,13 +2733,13 @@ export function initSpecies() { new PokemonSpecies(Species.CORVISQUIRE, 8, false, false, false, "Raven Pokémon", PokemonType.FLYING, null, 0.8, 16, Abilities.KEEN_EYE, Abilities.UNNERVE, Abilities.BIG_PECKS, 365, 68, 67, 55, 43, 55, 77, 120, 50, 128, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(Species.CORVIKNIGHT, 8, false, false, false, "Raven Pokémon", PokemonType.FLYING, PokemonType.STEEL, 2.2, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, GrowthRate.MEDIUM_SLOW, 50, false, true, new PokemonForm("Normal", "", PokemonType.FLYING, PokemonType.STEEL, 2.2, 75, Abilities.PRESSURE, Abilities.UNNERVE, Abilities.MIRROR_ARMOR, 495, 98, 87, 105, 53, 85, 67, 45, 50, 248, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FLYING, PokemonType.STEEL, 14, 999.9, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, 595, 128, 102, 140, 53, 95, 77, 45, 50, 248), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FLYING, PokemonType.STEEL, 14, 999.9, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, Abilities.MIRROR_ARMOR, 595, 118, 112, 135, 63, 90, 77, 45, 50, 248), ), new PokemonSpecies(Species.BLIPBUG, 8, false, false, false, "Larva Pokémon", PokemonType.BUG, null, 0.4, 8, Abilities.SWARM, Abilities.COMPOUND_EYES, Abilities.TELEPATHY, 180, 25, 20, 20, 25, 45, 45, 255, 50, 36, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.DOTTLER, 8, false, false, false, "Radome Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 19.5, Abilities.SWARM, Abilities.COMPOUND_EYES, Abilities.TELEPATHY, 335, 50, 35, 80, 50, 90, 30, 120, 50, 117, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.ORBEETLE, 8, false, false, false, "Seven Spot Pokémon", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.BUG, PokemonType.PSYCHIC, 0.4, 40.8, Abilities.SWARM, Abilities.FRISK, Abilities.TELEPATHY, 505, 60, 45, 110, 80, 120, 90, 45, 50, 253, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.PSYCHIC, 14, 999.9, Abilities.TRACE, Abilities.TRACE, Abilities.TRACE, 605, 90, 45, 130, 110, 140, 90, 45, 50, 253), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.BUG, PokemonType.PSYCHIC, 14, 999.9, Abilities.TRACE, Abilities.TRACE, Abilities.TRACE, 605, 75, 50, 140, 100, 150, 90, 45, 50, 253), ), new PokemonSpecies(Species.NICKIT, 8, false, false, false, "Fox Pokémon", PokemonType.DARK, null, 0.6, 8.9, Abilities.RUN_AWAY, Abilities.UNBURDEN, Abilities.STAKEOUT, 245, 40, 28, 28, 47, 52, 50, 255, 50, 49, GrowthRate.FAST, 50, false), new PokemonSpecies(Species.THIEVUL, 8, false, false, false, "Fox Pokémon", PokemonType.DARK, null, 1.2, 19.9, Abilities.RUN_AWAY, Abilities.UNBURDEN, Abilities.STAKEOUT, 455, 70, 58, 58, 87, 92, 90, 127, 50, 159, GrowthRate.FAST, 50, false), @@ -2750,7 +2750,7 @@ export function initSpecies() { new PokemonSpecies(Species.CHEWTLE, 8, false, false, false, "Snapping Pokémon", PokemonType.WATER, null, 0.3, 8.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 284, 50, 64, 50, 38, 38, 44, 255, 50, 57, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.DREDNAW, 8, false, false, false, "Bite Pokémon", PokemonType.WATER, PokemonType.ROCK, 1, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.WATER, PokemonType.ROCK, 1, 115.5, Abilities.STRONG_JAW, Abilities.SHELL_ARMOR, Abilities.SWIFT_SWIM, 485, 90, 115, 90, 48, 68, 74, 75, 50, 170, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ROCK, 24, 999.9, Abilities.STRONG_JAW, Abilities.STRONG_JAW, Abilities.STRONG_JAW, 585, 115, 145, 115, 43, 83, 84, 75, 50, 170), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.WATER, PokemonType.ROCK, 24, 999.9, Abilities.STRONG_JAW, Abilities.STRONG_JAW, Abilities.STRONG_JAW, 585, 115, 137, 115, 61, 83, 74, 75, 50, 170), ), new PokemonSpecies(Species.YAMPER, 8, false, false, false, "Puppy Pokémon", PokemonType.ELECTRIC, null, 0.3, 13.5, Abilities.BALL_FETCH, Abilities.NONE, Abilities.RATTLED, 270, 59, 45, 50, 40, 50, 26, 255, 50, 54, GrowthRate.FAST, 50, false), new PokemonSpecies(Species.BOLTUND, 8, false, false, false, "Dog Pokémon", PokemonType.ELECTRIC, null, 1, 34, Abilities.STRONG_JAW, Abilities.NONE, Abilities.COMPETITIVE, 490, 69, 90, 60, 90, 60, 121, 45, 50, 172, GrowthRate.FAST, 50, false), @@ -2758,7 +2758,7 @@ export function initSpecies() { new PokemonSpecies(Species.CARKOL, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, PokemonType.FIRE, 1.1, 78, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 410, 80, 60, 90, 60, 70, 50, 120, 50, 144, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(Species.COALOSSAL, 8, false, false, false, "Coal Pokémon", PokemonType.ROCK, PokemonType.FIRE, 2.8, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, GrowthRate.MEDIUM_SLOW, 50, false, true, new PokemonForm("Normal", "", PokemonType.ROCK, PokemonType.FIRE, 2.8, 310.5, Abilities.STEAM_ENGINE, Abilities.FLAME_BODY, Abilities.FLASH_FIRE, 510, 110, 80, 120, 80, 90, 30, 45, 50, 255, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ROCK, PokemonType.FIRE, 42, 999.9, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, 610, 140, 95, 130, 95, 110, 40, 45, 50, 255), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.ROCK, PokemonType.FIRE, 42, 999.9, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, Abilities.STEAM_ENGINE, 610, 140, 100, 132, 95, 100, 43, 45, 50, 255), ), new PokemonSpecies(Species.APPLIN, 8, false, false, false, "Apple Core Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.2, 0.5, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.BULLETPROOF, 260, 40, 40, 80, 40, 40, 20, 255, 50, 52, GrowthRate.ERRATIC, 50, false), new PokemonSpecies(Species.FLAPPLE, 8, false, false, false, "Apple Wing Pokémon", PokemonType.GRASS, PokemonType.DRAGON, 0.3, 1, Abilities.RIPEN, Abilities.GLUTTONY, Abilities.HUSTLE, 485, 70, 110, 80, 95, 60, 70, 45, 50, 170, GrowthRate.ERRATIC, 50, false, true, @@ -2772,7 +2772,7 @@ export function initSpecies() { new PokemonSpecies(Species.SILICOBRA, 8, false, false, false, "Sand Snake Pokémon", PokemonType.GROUND, null, 2.2, 7.6, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 315, 52, 57, 75, 35, 50, 46, 255, 50, 63, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.SANDACONDA, 8, false, false, false, "Sand Snake Pokémon", PokemonType.GROUND, null, 3.8, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.GROUND, null, 3.8, 65.5, Abilities.SAND_SPIT, Abilities.SHED_SKIN, Abilities.SAND_VEIL, 510, 72, 107, 125, 65, 70, 71, 120, 50, 179, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GROUND, null, 22, 999.9, Abilities.SAND_SPIT, Abilities.SAND_SPIT, Abilities.SAND_SPIT, 610, 117, 137, 140, 55, 80, 81, 120, 50, 179), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.GROUND, null, 22, 999.9, Abilities.SAND_SPIT, Abilities.SAND_SPIT, Abilities.SAND_SPIT, 610, 102, 137, 140, 70, 80, 81, 120, 50, 179), ), new PokemonSpecies(Species.CRAMORANT, 8, false, false, false, "Gulp Pokémon", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, false, new PokemonForm("Normal", "", PokemonType.FLYING, PokemonType.WATER, 0.8, 18, Abilities.GULP_MISSILE, Abilities.NONE, Abilities.NONE, 475, 70, 85, 55, 85, 95, 85, 45, 50, 166, false, null, true), @@ -2790,7 +2790,7 @@ export function initSpecies() { new PokemonSpecies(Species.SIZZLIPEDE, 8, false, false, false, "Radiator Pokémon", PokemonType.FIRE, PokemonType.BUG, 0.7, 1, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 305, 50, 65, 45, 50, 50, 45, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.CENTISKORCH, 8, false, false, false, "Radiator Pokémon", PokemonType.FIRE, PokemonType.BUG, 3, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.FIRE, PokemonType.BUG, 3, 120, Abilities.FLASH_FIRE, Abilities.WHITE_SMOKE, Abilities.FLAME_BODY, 525, 100, 115, 65, 90, 90, 65, 75, 50, 184, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.BUG, 75, 999.9, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, 625, 140, 145, 75, 90, 100, 75, 75, 50, 184), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.FIRE, PokemonType.BUG, 75, 999.9, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, Abilities.FLASH_FIRE, 625, 130, 125, 75, 94, 100, 101, 75, 50, 184), ), new PokemonSpecies(Species.CLOBBOPUS, 8, false, false, false, "Tantrum Pokémon", PokemonType.FIGHTING, null, 0.6, 4, Abilities.LIMBER, Abilities.NONE, Abilities.TECHNICIAN, 310, 50, 68, 60, 50, 50, 32, 180, 50, 62, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(Species.GRAPPLOCT, 8, false, false, false, "Jujitsu Pokémon", PokemonType.FIGHTING, null, 1.6, 39, Abilities.LIMBER, Abilities.NONE, Abilities.TECHNICIAN, 480, 80, 118, 90, 70, 80, 42, 45, 50, 168, GrowthRate.MEDIUM_SLOW, 50, false), @@ -2853,7 +2853,7 @@ export function initSpecies() { new PokemonSpecies(Species.CUFANT, 8, false, false, false, "Copperderm Pokémon", PokemonType.STEEL, null, 1.2, 100, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 330, 72, 80, 49, 40, 49, 40, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(Species.COPPERAJAH, 8, false, false, false, "Copperderm Pokémon", PokemonType.STEEL, null, 3, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, true, new PokemonForm("Normal", "", PokemonType.STEEL, null, 3, 650, Abilities.SHEER_FORCE, Abilities.NONE, Abilities.HEAVY_METAL, 500, 122, 130, 69, 80, 69, 30, 90, 50, 175, false, null, true), - new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.GROUND, 23, 999.9, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.MOLD_BREAKER, 600, 167, 155, 89, 80, 89, 20, 90, 50, 175), + new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, PokemonType.STEEL, PokemonType.GROUND, 23, 999.9, Abilities.MOLD_BREAKER, Abilities.NONE, Abilities.MOLD_BREAKER, 600, 177, 155, 79, 90, 79, 20, 90, 50, 175), ), new PokemonSpecies(Species.DRACOZOLT, 8, false, false, false, "Fossil Pokémon", PokemonType.ELECTRIC, PokemonType.DRAGON, 1.8, 190, Abilities.VOLT_ABSORB, Abilities.HUSTLE, Abilities.SAND_RUSH, 505, 90, 100, 90, 80, 70, 75, 45, 50, 177, GrowthRate.SLOW, null, false), new PokemonSpecies(Species.ARCTOZOLT, 8, false, false, false, "Fossil Pokémon", PokemonType.ELECTRIC, PokemonType.ICE, 2.3, 150, Abilities.VOLT_ABSORB, Abilities.STATIC, Abilities.SLUSH_RUSH, 505, 90, 100, 90, 90, 80, 55, 45, 50, 177, GrowthRate.SLOW, null, false), @@ -2882,8 +2882,8 @@ export function initSpecies() { new PokemonSpecies(Species.URSHIFU, 8, true, false, false, "Wushu Pokémon", PokemonType.FIGHTING, PokemonType.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", PokemonType.FIGHTING, PokemonType.DARK, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, "", true), new PokemonForm("Rapid Strike Style", "rapid-strike", PokemonType.FIGHTING, PokemonType.WATER, 1.9, 105, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 550, 100, 130, 100, 63, 60, 97, 3, 50, 275, false, null, true), - new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, PokemonType.FIGHTING, PokemonType.DARK, 29, 999.9, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 150, 115, 73, 70, 117, 3, 50, 275), - new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, PokemonType.FIGHTING, PokemonType.WATER, 26, 999.9, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 150, 115, 73, 70, 117, 3, 50, 275), + new PokemonForm("G-Max Single Strike Style", SpeciesFormKey.GIGANTAMAX_SINGLE, PokemonType.FIGHTING, PokemonType.DARK, 29, 999.9, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), + new PokemonForm("G-Max Rapid Strike Style", SpeciesFormKey.GIGANTAMAX_RAPID, PokemonType.FIGHTING, PokemonType.WATER, 26, 999.9, Abilities.UNSEEN_FIST, Abilities.NONE, Abilities.NONE, 650, 125, 145, 115, 83, 70, 112, 3, 50, 275), ), new PokemonSpecies(Species.ZARUDE, 8, false, false, true, "Rogue Monkey Pokémon", PokemonType.DARK, PokemonType.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", "", PokemonType.DARK, PokemonType.GRASS, 1.8, 70, Abilities.LEAF_GUARD, Abilities.NONE, Abilities.NONE, 600, 105, 120, 105, 70, 95, 105, 3, 0, 300, false, null, true), From 0b1f324f97c7c6e6fcf2b17a2d8c2901c9f0aad9 Mon Sep 17 00:00:00 2001 From: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com> Date: Thu, 27 Mar 2025 02:47:16 +0100 Subject: [PATCH 030/129] [Sprite] [Item] Weather/Terrain Extender Item Sprite (#5542) * Terrain/weather-extender item * Fixing indexing for the sprite atlas * Re-export item atlas, fix extender item's name Spaces in names use underscores instead of hyphens --------- Co-authored-by: Madmadness65 --- public/images/items.json | 10133 ++++++++-------- public/images/items.png | Bin 59627 -> 57986 bytes public/images/items/ability_capsule.png | Bin 257 -> 274 bytes public/images/items/ability_charm.png | Bin 556 -> 308 bytes public/images/items/abomasite.png | Bin 241 -> 243 bytes public/images/items/absolite.png | Bin 234 -> 236 bytes public/images/items/adamant_crystal.png | Bin 1034 -> 317 bytes public/images/items/aerodactylite.png | Bin 245 -> 252 bytes public/images/items/aggronite.png | Bin 235 -> 252 bytes public/images/items/alakazite.png | Bin 236 -> 247 bytes public/images/items/altarianite.png | Bin 228 -> 242 bytes public/images/items/ampharosite.png | Bin 250 -> 253 bytes public/images/items/amulet_coin.png | Bin 293 -> 270 bytes public/images/items/apicot_berry.png | Bin 290 -> 282 bytes public/images/items/audinite.png | Bin 240 -> 261 bytes public/images/items/auspicious_armor.png | Bin 2013 -> 695 bytes public/images/items/banettite.png | Bin 245 -> 247 bytes public/images/items/baton.png | Bin 653 -> 596 bytes public/images/items/beedrillite.png | Bin 247 -> 260 bytes public/images/items/berry_juice.png | Bin 390 -> 327 bytes public/images/items/berry_pot.png | Bin 275 -> 277 bytes public/images/items/berry_pouch.png | Bin 354 -> 328 bytes public/images/items/big_mushroom.png | Bin 273 -> 263 bytes public/images/items/big_nugget.png | Bin 275 -> 258 bytes public/images/items/big_root.png | Bin 347 -> 313 bytes public/images/items/binding_band.png | Bin 218 -> 219 bytes public/images/items/black_augurite.png | Bin 374 -> 318 bytes public/images/items/black_belt.png | Bin 258 -> 246 bytes public/images/items/black_glasses.png | Bin 248 -> 243 bytes public/images/items/black_sludge.png | Bin 285 -> 286 bytes public/images/items/blank_plate.png | Bin 308 -> 232 bytes public/images/items/blastoisinite.png | Bin 243 -> 247 bytes public/images/items/blazikenite.png | Bin 238 -> 252 bytes public/images/items/blue_orb.png | Bin 306 -> 302 bytes public/images/items/blunder_policy.png | Bin 261 -> 259 bytes public/images/items/bronze_ribbon.png | Bin 400 -> 324 bytes public/images/items/bug_memory.png | Bin 396 -> 349 bytes public/images/items/bug_tera_shard.png | Bin 349 -> 266 bytes public/images/items/burn_drive.png | Bin 303 -> 242 bytes public/images/items/calcium.png | Bin 295 -> 280 bytes public/images/items/cameruptite.png | Bin 247 -> 266 bytes public/images/items/candy.png | Bin 402 -> 259 bytes public/images/items/candy_jar.png | Bin 511 -> 316 bytes public/images/items/candy_overlay.png | Bin 263 -> 289 bytes public/images/items/carbos.png | Bin 287 -> 280 bytes public/images/items/catching_charm.png | Bin 322 -> 296 bytes public/images/items/charcoal.png | Bin 253 -> 251 bytes public/images/items/charizardite_x.png | Bin 240 -> 248 bytes public/images/items/charizardite_y.png | Bin 243 -> 248 bytes public/images/items/chill_drive.png | Bin 303 -> 242 bytes public/images/items/chipped_pot.png | Bin 856 -> 785 bytes public/images/items/choice_scarf.png | Bin 404 -> 350 bytes public/images/items/choice_specs.png | Bin 283 -> 268 bytes public/images/items/clefairy_doll.png | Bin 329 -> 296 bytes public/images/items/coin_case.png | Bin 245 -> 255 bytes public/images/items/cornerstone_mask.png | Bin 392 -> 320 bytes public/images/items/coupon.png | Bin 253 -> 262 bytes public/images/items/cracked_pot.png | Bin 823 -> 752 bytes public/images/items/dark_memory.png | Bin 411 -> 358 bytes public/images/items/dark_stone.png | Bin 298 -> 235 bytes public/images/items/dark_tera_shard.png | Bin 349 -> 266 bytes public/images/items/dawn_stone.png | Bin 274 -> 262 bytes public/images/items/deep_sea_scale.png | Bin 235 -> 239 bytes public/images/items/deep_sea_tooth.png | Bin 274 -> 268 bytes public/images/items/diancite.png | Bin 239 -> 256 bytes public/images/items/dire_hit.png | Bin 335 -> 302 bytes public/images/items/dna_splicers.png | Bin 293 -> 275 bytes public/images/items/douse_drive.png | Bin 303 -> 242 bytes public/images/items/draco_plate.png | Bin 308 -> 232 bytes public/images/items/dragon_fang.png | Bin 289 -> 275 bytes public/images/items/dragon_memory.png | Bin 378 -> 341 bytes public/images/items/dragon_scale.png | Bin 233 -> 239 bytes public/images/items/dragon_tera_shard.png | Bin 349 -> 266 bytes public/images/items/dread_plate.png | Bin 308 -> 232 bytes public/images/items/dubious_disc.png | Bin 298 -> 291 bytes public/images/items/dusk_stone.png | Bin 269 -> 266 bytes public/images/items/dynamax_band.png | Bin 907 -> 834 bytes public/images/items/earth_plate.png | Bin 308 -> 232 bytes public/images/items/electirizer.png | Bin 282 -> 269 bytes public/images/items/electric_memory.png | Bin 397 -> 345 bytes public/images/items/electric_tera_shard.png | Bin 349 -> 266 bytes public/images/items/elixir.png | Bin 303 -> 289 bytes public/images/items/enigma_berry.png | Bin 295 -> 277 bytes public/images/items/ether.png | Bin 300 -> 289 bytes public/images/items/everstone.png | Bin 258 -> 241 bytes public/images/items/eviolite.png | Bin 6019 -> 601 bytes public/images/items/exp_balance.png | Bin 632 -> 341 bytes public/images/items/exp_charm.png | Bin 386 -> 362 bytes public/images/items/exp_share.png | Bin 380 -> 341 bytes public/images/items/expert_belt.png | Bin 289 -> 267 bytes public/images/items/fairy_feather.png | Bin 448 -> 254 bytes public/images/items/fairy_memory.png | Bin 386 -> 347 bytes public/images/items/fairy_tera_shard.png | Bin 349 -> 266 bytes public/images/items/fighting_memory.png | Bin 391 -> 341 bytes public/images/items/fighting_tera_shard.png | Bin 349 -> 267 bytes public/images/items/fire_memory.png | Bin 390 -> 341 bytes public/images/items/fire_stone.png | Bin 347 -> 320 bytes public/images/items/fire_tera_shard.png | Bin 349 -> 267 bytes public/images/items/fist_plate.png | Bin 308 -> 232 bytes public/images/items/flame_orb.png | Bin 367 -> 243 bytes public/images/items/flame_plate.png | Bin 308 -> 232 bytes public/images/items/flying_memory.png | Bin 381 -> 342 bytes public/images/items/flying_tera_shard.png | Bin 354 -> 300 bytes public/images/items/focus_band.png | Bin 366 -> 338 bytes public/images/items/focus_sash.png | Bin 291 -> 268 bytes public/images/items/full_heal.png | Bin 276 -> 288 bytes public/images/items/full_restore.png | Bin 313 -> 293 bytes public/images/items/galarica_cuff.png | Bin 1217 -> 1122 bytes public/images/items/galarica_wreath.png | Bin 1399 -> 1304 bytes public/images/items/galladite.png | Bin 246 -> 256 bytes public/images/items/ganlon_berry.png | Bin 336 -> 295 bytes public/images/items/garchompite.png | Bin 244 -> 253 bytes public/images/items/gardevoirite.png | Bin 249 -> 253 bytes public/images/items/gb.png | Bin 317 -> 302 bytes public/images/items/gengarite.png | Bin 235 -> 248 bytes public/images/items/ghost_memory.png | Bin 393 -> 342 bytes public/images/items/ghost_tera_shard.png | Bin 354 -> 272 bytes public/images/items/glalitite.png | Bin 247 -> 261 bytes public/images/items/golden_egg.png | Bin 390 -> 249 bytes public/images/items/golden_exp_charm.png | Bin 441 -> 348 bytes public/images/items/golden_mystic_ticket.png | Bin 338 -> 242 bytes public/images/items/golden_net.png | Bin 561 -> 266 bytes public/images/items/golden_punch.png | Bin 518 -> 276 bytes public/images/items/gracidea.png | Bin 403 -> 354 bytes public/images/items/grass_memory.png | Bin 385 -> 346 bytes public/images/items/grass_tera_shard.png | Bin 339 -> 258 bytes public/images/items/great_ribbon.png | Bin 408 -> 328 bytes public/images/items/grip_claw.png | Bin 318 -> 305 bytes public/images/items/griseous_core.png | Bin 1026 -> 307 bytes public/images/items/ground_memory.png | Bin 383 -> 341 bytes public/images/items/ground_tera_shard.png | Bin 349 -> 266 bytes public/images/items/guard_spec.png | Bin 329 -> 302 bytes public/images/items/gyaradosite.png | Bin 252 -> 252 bytes public/images/items/hard_meteorite.png | Bin 363 -> 297 bytes public/images/items/hard_stone.png | Bin 269 -> 261 bytes public/images/items/healing_charm.png | Bin 347 -> 311 bytes public/images/items/hearthflame_mask.png | Bin 378 -> 317 bytes public/images/items/heracronite.png | Bin 246 -> 252 bytes public/images/items/houndoominite.png | Bin 247 -> 252 bytes public/images/items/hp_up.png | Bin 301 -> 291 bytes public/images/items/hyper_potion.png | Bin 305 -> 289 bytes public/images/items/ice_memory.png | Bin 375 -> 332 bytes public/images/items/ice_stone.png | Bin 378 -> 322 bytes public/images/items/ice_tera_shard.png | Bin 343 -> 260 bytes public/images/items/icicle_plate.png | Bin 308 -> 232 bytes public/images/items/icy_reins_of_unity.png | Bin 421 -> 351 bytes public/images/items/insect_plate.png | Bin 308 -> 232 bytes public/images/items/inverse.png | Bin 413 -> 284 bytes public/images/items/iron.png | Bin 288 -> 280 bytes public/images/items/iron_plate.png | Bin 308 -> 232 bytes public/images/items/kangaskhanite.png | Bin 238 -> 252 bytes public/images/items/kings_rock.png | Bin 367 -> 316 bytes public/images/items/lansat_berry.png | Bin 322 -> 297 bytes public/images/items/latiasite.png | Bin 250 -> 254 bytes public/images/items/latiosite.png | Bin 249 -> 254 bytes public/images/items/leaders_crest.png | Bin 694 -> 319 bytes public/images/items/leaf_stone.png | Bin 364 -> 329 bytes public/images/items/leek.png | Bin 230 -> 230 bytes public/images/items/leftovers.png | Bin 285 -> 273 bytes public/images/items/legend_plate.png | Bin 343 -> 271 bytes public/images/items/leppa_berry.png | Bin 287 -> 285 bytes public/images/items/liechi_berry.png | Bin 347 -> 310 bytes public/images/items/light_ball.png | Bin 6544 -> 633 bytes public/images/items/light_stone.png | Bin 309 -> 249 bytes public/images/items/linking_cord.png | Bin 795 -> 290 bytes public/images/items/lock_capsule.png | Bin 305 -> 290 bytes public/images/items/lopunnite.png | Bin 243 -> 261 bytes public/images/items/lucarionite.png | Bin 246 -> 252 bytes public/images/items/lucky_egg.png | Bin 198 -> 211 bytes public/images/items/lucky_punch.png | Bin 275 -> 273 bytes public/images/items/lucky_punch_great.png | Bin 468 -> 273 bytes public/images/items/lucky_punch_master.png | Bin 469 -> 273 bytes public/images/items/lucky_punch_ultra.png | Bin 466 -> 273 bytes public/images/items/lum_berry.png | Bin 256 -> 247 bytes public/images/items/lure.png | Bin 588 -> 305 bytes public/images/items/lustrous_globe.png | Bin 1054 -> 359 bytes public/images/items/macho_brace.png | Bin 372 -> 366 bytes public/images/items/magmarizer.png | Bin 290 -> 280 bytes public/images/items/magnet.png | Bin 272 -> 276 bytes public/images/items/malicious_armor.png | Bin 1983 -> 686 bytes public/images/items/manectite.png | Bin 245 -> 252 bytes public/images/items/map.png | Bin 746 -> 357 bytes public/images/items/master_ribbon.png | Bin 408 -> 328 bytes public/images/items/masterpiece_teacup.png | Bin 305 -> 244 bytes public/images/items/mawilite.png | Bin 241 -> 251 bytes public/images/items/max_elixir.png | Bin 295 -> 289 bytes public/images/items/max_ether.png | Bin 298 -> 289 bytes public/images/items/max_lure.png | Bin 596 -> 310 bytes public/images/items/max_mushrooms.png | Bin 1096 -> 1012 bytes public/images/items/max_potion.png | Bin 315 -> 293 bytes public/images/items/max_repel.png | Bin 277 -> 273 bytes public/images/items/max_revive.png | Bin 255 -> 258 bytes public/images/items/mb.png | Bin 312 -> 296 bytes public/images/items/meadow_plate.png | Bin 308 -> 232 bytes public/images/items/medichamite.png | Bin 247 -> 248 bytes public/images/items/mega_bracelet.png | Bin 302 -> 283 bytes public/images/items/metagrossite.png | Bin 242 -> 266 bytes public/images/items/metal_alloy.png | Bin 327 -> 264 bytes public/images/items/metal_coat.png | Bin 233 -> 238 bytes public/images/items/metal_powder.png | Bin 6500 -> 681 bytes public/images/items/metronome.png | Bin 252 -> 247 bytes public/images/items/mewtwonite_x.png | Bin 243 -> 252 bytes public/images/items/mewtwonite_y.png | Bin 237 -> 247 bytes public/images/items/mind_plate.png | Bin 308 -> 232 bytes public/images/items/mini_black_hole.png | Bin 187 -> 182 bytes public/images/items/mint_atk.png | Bin 567 -> 532 bytes public/images/items/mint_def.png | Bin 576 -> 543 bytes public/images/items/mint_neutral.png | Bin 556 -> 517 bytes public/images/items/mint_spatk.png | Bin 586 -> 568 bytes public/images/items/mint_spd.png | Bin 602 -> 578 bytes public/images/items/mint_spdef.png | Bin 581 -> 541 bytes public/images/items/miracle_seed.png | Bin 227 -> 231 bytes public/images/items/moon_flute.png | Bin 336 -> 257 bytes public/images/items/moon_stone.png | Bin 324 -> 287 bytes public/images/items/muscle_band.png | Bin 347 -> 318 bytes public/images/items/mystery_egg.png | Bin 252 -> 248 bytes public/images/items/mystic_ticket.png | Bin 261 -> 252 bytes public/images/items/mystic_water.png | Bin 238 -> 249 bytes public/images/items/mystical_rock.png | Bin 0 -> 697 bytes public/images/items/n_lunarizer.png | Bin 341 -> 261 bytes public/images/items/n_solarizer.png | Bin 346 -> 267 bytes public/images/items/never_melt_ice.png | Bin 274 -> 255 bytes public/images/items/normal_memory.png | Bin 405 -> 339 bytes public/images/items/normal_tera_shard.png | Bin 349 -> 266 bytes public/images/items/nugget.png | Bin 220 -> 222 bytes public/images/items/old_gateau.png | Bin 240 -> 240 bytes public/images/items/oval_charm.png | Bin 437 -> 243 bytes public/images/items/oval_stone.png | Bin 251 -> 247 bytes public/images/items/pair_of_tickets.png | Bin 255 -> 261 bytes public/images/items/pb.png | Bin 258 -> 260 bytes public/images/items/pb_gold.png | Bin 513 -> 360 bytes public/images/items/pb_silver.png | Bin 556 -> 360 bytes public/images/items/peat_block.png | Bin 380 -> 315 bytes public/images/items/petaya_berry.png | Bin 375 -> 336 bytes public/images/items/pidgeotite.png | Bin 242 -> 266 bytes public/images/items/pinsirite.png | Bin 246 -> 253 bytes public/images/items/pixie_plate.png | Bin 367 -> 294 bytes public/images/items/poison_barb.png | Bin 200 -> 217 bytes public/images/items/poison_memory.png | Bin 385 -> 341 bytes public/images/items/poison_tera_shard.png | Bin 349 -> 266 bytes public/images/items/potion.png | Bin 305 -> 291 bytes public/images/items/power_herb.png | Bin 314 -> 249 bytes public/images/items/pp_max.png | Bin 287 -> 285 bytes public/images/items/pp_up.png | Bin 290 -> 286 bytes public/images/items/prism_scale.png | Bin 199 -> 215 bytes public/images/items/prison_bottle.png | Bin 422 -> 344 bytes public/images/items/protector.png | Bin 293 -> 275 bytes public/images/items/protein.png | Bin 289 -> 280 bytes public/images/items/psychic_memory.png | Bin 390 -> 344 bytes public/images/items/psychic_tera_shard.png | Bin 349 -> 266 bytes public/images/items/quick_claw.png | Bin 217 -> 223 bytes public/images/items/quick_powder.png | Bin 6525 -> 681 bytes public/images/items/rare_candy.png | Bin 300 -> 270 bytes public/images/items/rarer_candy.png | Bin 538 -> 270 bytes public/images/items/rayquazite.png | Bin 428 -> 271 bytes public/images/items/razor_claw.png | Bin 262 -> 401 bytes public/images/items/razor_fang.png | Bin 226 -> 394 bytes public/images/items/rb.png | Bin 869 -> 659 bytes public/images/items/reaper_cloth.png | Bin 317 -> 289 bytes public/images/items/red_orb.png | Bin 335 -> 317 bytes public/images/items/relic_band.png | Bin 302 -> 238 bytes public/images/items/relic_crown.png | Bin 340 -> 295 bytes public/images/items/relic_gold.png | Bin 178 -> 192 bytes public/images/items/repel.png | Bin 277 -> 273 bytes public/images/items/reveal_glass.png | Bin 369 -> 346 bytes public/images/items/revive.png | Bin 163 -> 183 bytes public/images/items/reviver_seed.png | Bin 670 -> 315 bytes public/images/items/ribbon_gen1.png | Bin 642 -> 339 bytes public/images/items/ribbon_gen2.png | Bin 666 -> 345 bytes public/images/items/ribbon_gen3.png | Bin 702 -> 361 bytes public/images/items/ribbon_gen4.png | Bin 675 -> 361 bytes public/images/items/ribbon_gen5.png | Bin 702 -> 365 bytes public/images/items/ribbon_gen6.png | Bin 633 -> 338 bytes public/images/items/ribbon_gen7.png | Bin 636 -> 338 bytes public/images/items/ribbon_gen8.png | Bin 627 -> 343 bytes public/images/items/ribbon_gen9.png | Bin 642 -> 332 bytes public/images/items/rock_memory.png | Bin 383 -> 332 bytes public/images/items/rock_tera_shard.png | Bin 349 -> 266 bytes public/images/items/rogue_ribbon.png | Bin 407 -> 331 bytes public/images/items/rusted_shield.png | Bin 730 -> 670 bytes public/images/items/rusted_sword.png | Bin 532 -> 460 bytes public/images/items/sablenite.png | Bin 251 -> 262 bytes public/images/items/sachet.png | Bin 336 -> 264 bytes public/images/items/sacred_ash.png | Bin 297 -> 293 bytes public/images/items/salac_berry.png | Bin 345 -> 307 bytes public/images/items/salamencite.png | Bin 250 -> 266 bytes public/images/items/scanner.png | Bin 285 -> 274 bytes public/images/items/sceptilite.png | Bin 252 -> 271 bytes public/images/items/scizorite.png | Bin 245 -> 252 bytes public/images/items/scope_lens.png | Bin 411 -> 354 bytes public/images/items/scroll_of_darkness.png | Bin 329 -> 248 bytes public/images/items/scroll_of_waters.png | Bin 335 -> 255 bytes public/images/items/shadow_reins_of_unity.png | Bin 421 -> 351 bytes public/images/items/sharp_beak.png | Bin 261 -> 248 bytes public/images/items/sharp_meteorite.png | Bin 318 -> 258 bytes public/images/items/sharpedonite.png | Bin 243 -> 266 bytes public/images/items/shed_shell.png | Bin 298 -> 276 bytes public/images/items/shell_bell.png | Bin 362 -> 319 bytes public/images/items/shiny_charm.png | Bin 466 -> 263 bytes public/images/items/shiny_stone.png | Bin 311 -> 289 bytes public/images/items/shock_drive.png | Bin 303 -> 242 bytes public/images/items/silk_scarf.png | Bin 308 -> 288 bytes public/images/items/silver_powder.png | Bin 242 -> 252 bytes public/images/items/sitrus_berry.png | Bin 303 -> 280 bytes public/images/items/sky_plate.png | Bin 308 -> 232 bytes public/images/items/slowbronite.png | Bin 242 -> 266 bytes public/images/items/smooth_meteorite.png | Bin 322 -> 257 bytes public/images/items/soft_sand.png | Bin 287 -> 272 bytes public/images/items/soothe_bell.png | Bin 296 -> 278 bytes public/images/items/soul_dew.png | Bin 241 -> 241 bytes public/images/items/spell_tag.png | Bin 242 -> 249 bytes public/images/items/splash_plate.png | Bin 308 -> 232 bytes public/images/items/spooky_plate.png | Bin 308 -> 232 bytes public/images/items/starf_berry.png | Bin 320 -> 298 bytes public/images/items/steel_memory.png | Bin 387 -> 342 bytes public/images/items/steel_tera_shard.png | Bin 349 -> 266 bytes public/images/items/steelixite.png | Bin 245 -> 261 bytes public/images/items/stellar_tera_shard.png | Bin 408 -> 330 bytes public/images/items/stone_plate.png | Bin 308 -> 232 bytes public/images/items/strange_ball.png | Bin 885 -> 968 bytes public/images/items/strawberry_sweet.png | Bin 457 -> 390 bytes public/images/items/sun_flute.png | Bin 347 -> 270 bytes public/images/items/sun_stone.png | Bin 368 -> 318 bytes public/images/items/super_exp_charm.png | Bin 510 -> 362 bytes public/images/items/super_lure.png | Bin 582 -> 310 bytes public/images/items/super_potion.png | Bin 311 -> 289 bytes public/images/items/super_repel.png | Bin 276 -> 273 bytes public/images/items/swampertite.png | Bin 248 -> 251 bytes public/images/items/sweet_apple.png | Bin 539 -> 469 bytes public/images/items/syrupy_apple.png | Bin 434 -> 370 bytes public/images/items/tart_apple.png | Bin 658 -> 588 bytes public/images/items/tera_orb.png | Bin 391 -> 329 bytes public/images/items/thick_club.png | Bin 6191 -> 609 bytes public/images/items/thunder_stone.png | Bin 306 -> 289 bytes public/images/items/tm_bug.png | Bin 364 -> 335 bytes public/images/items/tm_dark.png | Bin 360 -> 328 bytes public/images/items/tm_dragon.png | Bin 349 -> 326 bytes public/images/items/tm_electric.png | Bin 364 -> 330 bytes public/images/items/tm_fairy.png | Bin 362 -> 332 bytes public/images/items/tm_fighting.png | Bin 366 -> 327 bytes public/images/items/tm_fire.png | Bin 364 -> 327 bytes public/images/items/tm_flying.png | Bin 358 -> 329 bytes public/images/items/tm_ghost.png | Bin 356 -> 326 bytes public/images/items/tm_grass.png | Bin 360 -> 329 bytes public/images/items/tm_ground.png | Bin 352 -> 329 bytes public/images/items/tm_ice.png | Bin 344 -> 320 bytes public/images/items/tm_normal.png | Bin 334 -> 316 bytes public/images/items/tm_poison.png | Bin 360 -> 328 bytes public/images/items/tm_psychic.png | Bin 361 -> 327 bytes public/images/items/tm_rock.png | Bin 356 -> 320 bytes public/images/items/tm_steel.png | Bin 354 -> 326 bytes public/images/items/tm_water.png | Bin 353 -> 325 bytes public/images/items/toxic_orb.png | Bin 408 -> 256 bytes public/images/items/toxic_plate.png | Bin 308 -> 232 bytes public/images/items/twisted_spoon.png | Bin 222 -> 224 bytes public/images/items/tyranitarite.png | Bin 246 -> 252 bytes public/images/items/ub.png | Bin 312 -> 297 bytes public/images/items/ultra_ribbon.png | Bin 406 -> 329 bytes public/images/items/ultranecrozium_z.png | Bin 341 -> 282 bytes public/images/items/unknown.png | Bin 159 -> 186 bytes public/images/items/unremarkable_teacup.png | Bin 312 -> 252 bytes public/images/items/upgrade.png | Bin 303 -> 299 bytes public/images/items/venusaurite.png | Bin 251 -> 253 bytes public/images/items/water_memory.png | Bin 381 -> 341 bytes public/images/items/water_stone.png | Bin 306 -> 290 bytes public/images/items/water_tera_shard.png | Bin 349 -> 266 bytes public/images/items/wellspring_mask.png | Bin 354 -> 290 bytes public/images/items/whipped_dream.png | Bin 359 -> 286 bytes public/images/items/white_herb.png | Bin 314 -> 249 bytes public/images/items/wide_lens.png | Bin 259 -> 259 bytes public/images/items/wise_glasses.png | Bin 222 -> 232 bytes public/images/items/wl_ability_urge.png | Bin 280 -> 258 bytes public/images/items/wl_antidote.png | Bin 272 -> 251 bytes public/images/items/wl_awakening.png | Bin 281 -> 251 bytes public/images/items/wl_burn_heal.png | Bin 275 -> 251 bytes public/images/items/wl_custom_spliced.png | Bin 580 -> 280 bytes public/images/items/wl_custom_thief.png | Bin 402 -> 251 bytes public/images/items/wl_elixir.png | Bin 320 -> 265 bytes public/images/items/wl_ether.png | Bin 278 -> 251 bytes public/images/items/wl_full_heal.png | Bin 276 -> 251 bytes public/images/items/wl_guard_spec.png | Bin 276 -> 252 bytes public/images/items/wl_hyper_potion.png | Bin 276 -> 251 bytes public/images/items/wl_ice_heal.png | Bin 270 -> 251 bytes public/images/items/wl_item_drop.png | Bin 274 -> 258 bytes public/images/items/wl_item_urge.png | Bin 267 -> 258 bytes public/images/items/wl_max_elixir.png | Bin 320 -> 265 bytes public/images/items/wl_max_ether.png | Bin 320 -> 265 bytes public/images/items/wl_max_potion.png | Bin 278 -> 251 bytes public/images/items/wl_max_revive.png | Bin 277 -> 252 bytes public/images/items/wl_paralyze_heal.png | Bin 272 -> 251 bytes public/images/items/wl_potion.png | Bin 279 -> 251 bytes public/images/items/wl_reset_urge.png | Bin 276 -> 258 bytes public/images/items/wl_revive.png | Bin 264 -> 243 bytes public/images/items/wl_super_potion.png | Bin 284 -> 251 bytes public/images/items/x_accuracy.png | Bin 331 -> 302 bytes public/images/items/x_attack.png | Bin 333 -> 302 bytes public/images/items/x_defense.png | Bin 331 -> 302 bytes public/images/items/x_sp_atk.png | Bin 324 -> 302 bytes public/images/items/x_sp_def.png | Bin 330 -> 302 bytes public/images/items/x_speed.png | Bin 325 -> 302 bytes public/images/items/zap_plate.png | Bin 308 -> 232 bytes public/images/items/zinc.png | Bin 291 -> 280 bytes public/images/items/zoom_lens.png | Bin 289 -> 280 bytes 403 files changed, 5077 insertions(+), 5056 deletions(-) create mode 100644 public/images/items/mystical_rock.png diff --git a/public/images/items.json b/public/images/items.json index 9d84476a8a0..64265382dea 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -9,6 +9,27 @@ }, "scale": 1, "frames": [ + { + "filename": "mystical_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 0, + "y": 1, + "w": 32, + "h": 29 + }, + "frame": { + "x": 0, + "y": 0, + "w": 32, + "h": 29 + } + }, { "filename": "galarica_cuff", "rotated": false, @@ -25,7 +46,7 @@ }, "frame": { "x": 0, - "y": 0, + "y": 29, "w": 29, "h": 30 } @@ -45,7 +66,7 @@ "h": 27 }, "frame": { - "x": 29, + "x": 32, "y": 0, "w": 32, "h": 27 @@ -67,7 +88,7 @@ }, "frame": { "x": 0, - "y": 30, + "y": 59, "w": 29, "h": 28 } @@ -87,8 +108,8 @@ "h": 28 }, "frame": { - "x": 29, - "y": 27, + "x": 64, + "y": 0, "w": 30, "h": 28 } @@ -108,8 +129,8 @@ "h": 27 }, "frame": { - "x": 61, - "y": 0, + "x": 0, + "y": 87, "w": 29, "h": 27 } @@ -129,8 +150,8 @@ "h": 28 }, "frame": { - "x": 0, - "y": 58, + "x": 94, + "y": 0, "w": 28, "h": 28 } @@ -151,7 +172,7 @@ }, "frame": { "x": 0, - "y": 86, + "y": 114, "w": 22, "h": 31 } @@ -172,7 +193,7 @@ }, "frame": { "x": 0, - "y": 117, + "y": 145, "w": 22, "h": 31 } @@ -192,8 +213,8 @@ "h": 26 }, "frame": { - "x": 59, - "y": 27, + "x": 122, + "y": 0, "w": 27, "h": 26 } @@ -214,7 +235,7 @@ }, "frame": { "x": 0, - "y": 148, + "y": 176, "w": 22, "h": 31 } @@ -235,7 +256,7 @@ }, "frame": { "x": 0, - "y": 179, + "y": 207, "w": 22, "h": 31 } @@ -256,7 +277,7 @@ }, "frame": { "x": 0, - "y": 210, + "y": 238, "w": 22, "h": 31 } @@ -277,7 +298,7 @@ }, "frame": { "x": 0, - "y": 241, + "y": 269, "w": 22, "h": 30 } @@ -298,7 +319,7 @@ }, "frame": { "x": 0, - "y": 271, + "y": 299, "w": 22, "h": 29 } @@ -319,7 +340,7 @@ }, "frame": { "x": 0, - "y": 300, + "y": 328, "w": 22, "h": 29 } @@ -340,7 +361,7 @@ }, "frame": { "x": 0, - "y": 329, + "y": 357, "w": 22, "h": 29 } @@ -360,7 +381,7 @@ "h": 26 }, "frame": { - "x": 90, + "x": 149, "y": 0, "w": 24, "h": 26 @@ -380,27 +401,6 @@ "w": 22, "h": 28 }, - "frame": { - "x": 0, - "y": 358, - "w": 22, - "h": 28 - } - }, - { - "filename": "ribbon_gen5", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 22, - "h": 28 - }, "frame": { "x": 0, "y": 386, @@ -444,7 +444,7 @@ "h": 26 }, "frame": { - "x": 114, + "x": 173, "y": 0, "w": 23, "h": 26 @@ -465,7 +465,7 @@ "h": 22 }, "frame": { - "x": 137, + "x": 196, "y": 0, "w": 27, "h": 22 @@ -486,7 +486,7 @@ "h": 21 }, "frame": { - "x": 164, + "x": 223, "y": 0, "w": 28, "h": 21 @@ -507,7 +507,7 @@ "h": 21 }, "frame": { - "x": 192, + "x": 251, "y": 0, "w": 28, "h": 21 @@ -528,7 +528,7 @@ "h": 21 }, "frame": { - "x": 220, + "x": 279, "y": 0, "w": 28, "h": 21 @@ -549,7 +549,7 @@ "h": 21 }, "frame": { - "x": 248, + "x": 307, "y": 0, "w": 28, "h": 21 @@ -570,7 +570,7 @@ "h": 21 }, "frame": { - "x": 276, + "x": 335, "y": 0, "w": 28, "h": 21 @@ -591,7 +591,7 @@ "h": 21 }, "frame": { - "x": 304, + "x": 363, "y": 0, "w": 28, "h": 21 @@ -612,75 +612,12 @@ "h": 20 }, "frame": { - "x": 332, + "x": 391, "y": 0, "w": 26, "h": 20 } }, - { - "filename": "cracked_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 26, - "h": 20 - }, - "frame": { - "x": 358, - "y": 0, - "w": 26, - "h": 20 - } - }, - { - "filename": "legend_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 25, - "h": 20 - }, - "frame": { - "x": 384, - "y": 0, - "w": 25, - "h": 20 - } - }, - { - "filename": "ribbon_gen6", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 2, - "w": 22, - "h": 28 - }, - "frame": { - "x": 409, - "y": 0, - "w": 22, - "h": 28 - } - }, { "filename": "exp_charm", "rotated": false, @@ -697,7 +634,7 @@ }, "frame": { "x": 22, - "y": 86, + "y": 114, "w": 17, "h": 31 } @@ -718,7 +655,7 @@ }, "frame": { "x": 22, - "y": 117, + "y": 145, "w": 17, "h": 31 } @@ -739,7 +676,7 @@ }, "frame": { "x": 22, - "y": 148, + "y": 176, "w": 17, "h": 31 } @@ -760,11 +697,53 @@ }, "frame": { "x": 22, - "y": 179, + "y": 207, "w": 17, "h": 30 } }, + { + "filename": "ribbon_gen5", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 22, + "y": 237, + "w": 22, + "h": 28 + } + }, + { + "filename": "ribbon_gen6", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 2, + "w": 22, + "h": 28 + }, + "frame": { + "x": 22, + "y": 265, + "w": 22, + "h": 28 + } + }, { "filename": "ribbon_gen8", "rotated": false, @@ -781,7 +760,7 @@ }, "frame": { "x": 22, - "y": 209, + "y": 293, "w": 22, "h": 28 } @@ -802,7 +781,7 @@ }, "frame": { "x": 22, - "y": 237, + "y": 321, "w": 22, "h": 25 } @@ -823,7 +802,7 @@ }, "frame": { "x": 22, - "y": 262, + "y": 346, "w": 23, "h": 24 } @@ -844,13 +823,13 @@ }, "frame": { "x": 22, - "y": 286, + "y": 370, "w": 24, "h": 24 } }, { - "filename": "choice_scarf", + "filename": "cracked_pot", "rotated": false, "trimmed": true, "sourceSize": { @@ -858,2200 +837,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 + "x": 3, + "y": 6, + "w": 26, + "h": 20 }, "frame": { "x": 22, - "y": 310, - "w": 24, - "h": 24 - } - }, - { - "filename": "draco_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 22, - "y": 334, - "w": 24, - "h": 24 - } - }, - { - "filename": "dread_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 22, - "y": 358, - "w": 24, - "h": 24 - } - }, - { - "filename": "earth_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 22, - "y": 382, - "w": 24, - "h": 24 - } - }, - { - "filename": "fist_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 23, - "y": 406, - "w": 24, - "h": 24 - } - }, - { - "filename": "ultranecrozium_z", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 1, - "y": 9, - "w": 30, - "h": 15 - }, - "frame": { - "x": 29, - "y": 55, - "w": 30, - "h": 15 - } - }, - { - "filename": "mega_bracelet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 16 - }, - "frame": { - "x": 28, - "y": 70, - "w": 20, - "h": 16 - } - }, - { - "filename": "choice_specs", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 59, - "y": 53, - "w": 24, - "h": 18 - } - }, - { - "filename": "calcium", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 39, - "y": 86, - "w": 16, - "h": 24 - } - }, - { - "filename": "carbos", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 39, - "y": 110, - "w": 16, - "h": 24 - } - }, - { - "filename": "catching_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 39, - "y": 134, - "w": 21, - "h": 24 - } - }, - { - "filename": "flame_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 39, - "y": 158, - "w": 24, - "h": 24 - } - }, - { - "filename": "focus_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 39, - "y": 182, - "w": 24, - "h": 24 - } - }, - { - "filename": "golden_punch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 44, - "y": 206, - "w": 24, - "h": 24 - } - }, - { - "filename": "gracidea", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 44, - "y": 230, - "w": 24, - "h": 24 - } - }, - { - "filename": "grip_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 45, - "y": 254, - "w": 24, - "h": 24 - } - }, - { - "filename": "icicle_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 46, - "y": 278, - "w": 24, - "h": 24 - } - }, - { - "filename": "insect_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 46, - "y": 302, - "w": 24, - "h": 24 - } - }, - { - "filename": "iron_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 46, - "y": 326, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 46, - "y": 350, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_great", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 46, - "y": 374, - "w": 24, - "h": 24 - } - }, - { - "filename": "kings_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 47, - "y": 398, - "w": 23, - "h": 24 - } - }, - { - "filename": "silver_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 24, - "h": 15 - }, - "frame": { - "x": 48, - "y": 71, - "w": 24, - "h": 15 - } - }, - { - "filename": "elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 55, - "y": 86, - "w": 18, - "h": 24 - } - }, - { - "filename": "ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 55, - "y": 110, - "w": 18, - "h": 24 - } - }, - { - "filename": "full_restore", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 60, - "y": 134, - "w": 18, - "h": 24 - } - }, - { - "filename": "hp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 63, - "y": 158, - "w": 16, - "h": 24 - } - }, - { - "filename": "iron", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 63, - "y": 182, - "w": 16, - "h": 24 - } - }, - { - "filename": "lucky_punch_master", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 68, - "y": 206, - "w": 24, - "h": 24 - } - }, - { - "filename": "lucky_punch_ultra", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 68, - "y": 230, - "w": 24, - "h": 24 - } - }, - { - "filename": "lustrous_globe", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 69, - "y": 254, - "w": 24, - "h": 24 - } - }, - { - "filename": "meadow_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 278, - "w": 24, - "h": 24 - } - }, - { - "filename": "mind_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 302, - "w": 24, - "h": 24 - } - }, - { - "filename": "muscle_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 326, - "w": 24, - "h": 24 - } - }, - { - "filename": "pixie_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 350, - "w": 24, - "h": 24 - } - }, - { - "filename": "salac_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 374, - "w": 24, - "h": 24 - } - }, - { - "filename": "scanner", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 70, - "y": 398, - "w": 24, - "h": 24 - } - }, - { - "filename": "ability_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 9, - "w": 24, - "h": 14 - }, - "frame": { - "x": 137, - "y": 22, - "w": 24, - "h": 14 - } - }, - { - "filename": "lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 86, - "y": 27, - "w": 17, - "h": 24 - } - }, - { - "filename": "silk_scarf", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 103, - "y": 26, - "w": 24, - "h": 24 - } - }, - { - "filename": "clefairy_doll", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 127, - "y": 36, - "w": 24, - "h": 23 - } - }, - { - "filename": "coin_case", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 103, - "y": 50, - "w": 24, - "h": 23 - } - }, - { - "filename": "big_nugget", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, + "y": 394, + "w": 26, "h": 20 - }, - "frame": { - "x": 83, - "y": 53, - "w": 20, - "h": 20 - } - }, - { - "filename": "dragon_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 24, - "h": 18 - }, - "frame": { - "x": 127, - "y": 59, - "w": 24, - "h": 18 - } - }, - { - "filename": "max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 151, - "y": 36, - "w": 18, - "h": 24 - } - }, - { - "filename": "adamant_crystal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 151, - "y": 60, - "w": 23, - "h": 21 - } - }, - { - "filename": "sky_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 169, - "y": 21, - "w": 24, - "h": 24 - } - }, - { - "filename": "splash_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 193, - "y": 21, - "w": 24, - "h": 24 - } - }, - { - "filename": "spooky_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 217, - "y": 21, - "w": 24, - "h": 24 - } - }, - { - "filename": "stone_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 241, - "y": 21, - "w": 24, - "h": 24 - } - }, - { - "filename": "sun_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 265, - "y": 21, - "w": 24, - "h": 24 - } - }, - { - "filename": "toxic_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 289, - "y": 21, - "w": 24, - "h": 24 - } - }, - { - "filename": "max_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 24 - }, - "frame": { - "x": 313, - "y": 21, - "w": 22, - "h": 24 - } - }, - { - "filename": "zap_plate", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 24 - }, - "frame": { - "x": 335, - "y": 20, - "w": 24, - "h": 24 - } - }, - { - "filename": "expert_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 359, - "y": 20, - "w": 24, - "h": 23 - } - }, - { - "filename": "hearthflame_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 383, - "y": 20, - "w": 24, - "h": 23 - } - }, - { - "filename": "leppa_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 407, - "y": 28, - "w": 24, - "h": 23 - } - }, - { - "filename": "candy_overlay", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 12, - "w": 16, - "h": 15 - }, - "frame": { - "x": 169, - "y": 45, - "w": 16, - "h": 15 - } - }, - { - "filename": "exp_balance", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 185, - "y": 45, - "w": 24, - "h": 22 - } - }, - { - "filename": "exp_share", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 209, - "y": 45, - "w": 24, - "h": 22 - } - }, - { - "filename": "peat_block", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 22 - }, - "frame": { - "x": 233, - "y": 45, - "w": 24, - "h": 22 - } - }, - { - "filename": "scope_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 257, - "y": 45, - "w": 24, - "h": 23 - } - }, - { - "filename": "twisted_spoon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 281, - "y": 45, - "w": 24, - "h": 23 - } - }, - { - "filename": "berry_pouch", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 305, - "y": 45, - "w": 23, - "h": 23 - } - }, - { - "filename": "black_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 328, - "y": 45, - "w": 22, - "h": 23 - } - }, - { - "filename": "max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 350, - "y": 44, - "w": 18, - "h": 24 - } - }, - { - "filename": "reveal_glass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 368, - "y": 43, - "w": 23, - "h": 24 - } - }, - { - "filename": "max_repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 391, - "y": 43, - "w": 16, - "h": 24 - } - }, - { - "filename": "golden_net", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 21 - }, - "frame": { - "x": 407, - "y": 51, - "w": 24, - "h": 21 - } - }, - { - "filename": "icy_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 174, - "y": 67, - "w": 24, - "h": 20 - } - }, - { - "filename": "metal_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 198, - "y": 67, - "w": 24, - "h": 20 - } - }, - { - "filename": "quick_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 222, - "y": 67, - "w": 24, - "h": 20 - } - }, - { - "filename": "rusted_shield", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 24, - "h": 20 - }, - "frame": { - "x": 246, - "y": 68, - "w": 24, - "h": 20 - } - }, - { - "filename": "sacred_ash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 270, - "y": 68, - "w": 24, - "h": 20 - } - }, - { - "filename": "shadow_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 294, - "y": 68, - "w": 24, - "h": 20 - } - }, - { - "filename": "soft_sand", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 318, - "y": 68, - "w": 24, - "h": 20 - } - }, - { - "filename": "amulet_coin", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 342, - "y": 68, - "w": 23, - "h": 21 - } - }, - { - "filename": "auspicious_armor", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 368, - "y": 67, - "w": 23, - "h": 21 - } - }, - { - "filename": "pp_max", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 391, - "y": 67, - "w": 16, - "h": 24 - } - }, - { - "filename": "binding_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 23, - "h": 20 - }, - "frame": { - "x": 407, - "y": 72, - "w": 23, - "h": 20 - } - }, - { - "filename": "max_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 73, - "y": 87, - "w": 17, - "h": 24 - } - }, - { - "filename": "bug_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 73, - "y": 111, - "w": 22, - "h": 23 - } - }, - { - "filename": "max_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 78, - "y": 134, - "w": 18, - "h": 24 - } - }, - { - "filename": "oval_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 79, - "y": 158, - "w": 21, - "h": 24 - } - }, - { - "filename": "shiny_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 79, - "y": 182, - "w": 21, - "h": 24 - } - }, - { - "filename": "dynamax_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 23 - }, - "frame": { - "x": 90, - "y": 73, - "w": 23, - "h": 23 - } - }, - { - "filename": "eviolite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 90, - "y": 96, - "w": 15, - "h": 15 - } - }, - { - "filename": "dark_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 95, - "y": 111, - "w": 22, - "h": 23 - } - }, - { - "filename": "red_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 96, - "y": 134, - "w": 20, - "h": 24 - } - }, - { - "filename": "pp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 100, - "y": 158, - "w": 16, - "h": 24 - } - }, - { - "filename": "protein", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 100, - "y": 182, - "w": 16, - "h": 24 - } - }, - { - "filename": "griseous_core", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 92, - "y": 206, - "w": 23, - "h": 23 - } - }, - { - "filename": "leek", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 92, - "y": 229, - "w": 23, - "h": 23 - } - }, - { - "filename": "dragon_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 93, - "y": 252, - "w": 22, - "h": 23 - } - }, - { - "filename": "dragon_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 94, - "y": 275, - "w": 21, - "h": 23 - } - }, - { - "filename": "electric_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 94, - "y": 298, - "w": 22, - "h": 23 - } - }, - { - "filename": "fairy_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 94, - "y": 321, - "w": 22, - "h": 23 - } - }, - { - "filename": "fighting_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 94, - "y": 344, - "w": 22, - "h": 23 - } - }, - { - "filename": "fire_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 94, - "y": 367, - "w": 22, - "h": 23 - } - }, - { - "filename": "fire_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 94, - "y": 390, - "w": 22, - "h": 23 - } - }, - { - "filename": "relic_crown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 18 - }, - "frame": { - "x": 94, - "y": 413, - "w": 23, - "h": 18 - } - }, - { - "filename": "prism_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 105, - "y": 96, - "w": 15, - "h": 15 - } - }, - { - "filename": "coupon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 113, - "y": 77, - "w": 23, - "h": 19 - } - }, - { - "filename": "full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 15, - "h": 23 - }, - "frame": { - "x": 136, - "y": 77, - "w": 15, - "h": 23 - } - }, - { - "filename": "golden_mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 151, - "y": 81, - "w": 23, - "h": 19 } }, { @@ -3069,8 +864,8 @@ "h": 17 }, "frame": { - "x": 174, - "y": 87, + "x": 23, + "y": 414, "w": 23, "h": 17 } @@ -3090,14 +885,917 @@ "h": 17 }, "frame": { - "x": 197, - "y": 87, + "x": 46, + "y": 414, "w": 23, "h": 17 } }, { - "filename": "douse_drive", + "filename": "ultranecrozium_z", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 1, + "y": 9, + "w": 30, + "h": 15 + }, + "frame": { + "x": 122, + "y": 26, + "w": 30, + "h": 15 + } + }, + { + "filename": "legend_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 3, + "y": 6, + "w": 25, + "h": 20 + }, + "frame": { + "x": 152, + "y": 26, + "w": 25, + "h": 20 + } + }, + { + "filename": "adamant_crystal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 177, + "y": 26, + "w": 23, + "h": 21 + } + }, + { + "filename": "choice_scarf", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 200, + "y": 22, + "w": 24, + "h": 24 + } + }, + { + "filename": "draco_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 224, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "dread_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 248, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "earth_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 272, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "fist_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 296, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "flame_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 320, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "focus_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 344, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "golden_punch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 368, + "y": 21, + "w": 24, + "h": 24 + } + }, + { + "filename": "gracidea", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 392, + "y": 20, + "w": 24, + "h": 24 + } + }, + { + "filename": "full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 4, + "w": 15, + "h": 23 + }, + "frame": { + "x": 416, + "y": 20, + "w": 15, + "h": 23 + } + }, + { + "filename": "leftovers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 15, + "h": 22 + }, + "frame": { + "x": 416, + "y": 43, + "w": 15, + "h": 22 + } + }, + { + "filename": "clefairy_doll", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 392, + "y": 44, + "w": 24, + "h": 23 + } + }, + { + "filename": "eviolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 416, + "y": 65, + "w": 15, + "h": 15 + } + }, + { + "filename": "revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 12, + "h": 17 + }, + "frame": { + "x": 417, + "y": 0, + "w": 12, + "h": 17 + } + }, + { + "filename": "calcium", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 29, + "y": 29, + "w": 16, + "h": 24 + } + }, + { + "filename": "carbos", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 29, + "y": 53, + "w": 16, + "h": 24 + } + }, + { + "filename": "catching_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 29, + "y": 77, + "w": 21, + "h": 24 + } + }, + { + "filename": "elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 45, + "y": 27, + "w": 18, + "h": 24 + } + }, + { + "filename": "coin_case", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 63, + "y": 28, + "w": 24, + "h": 23 + } + }, + { + "filename": "grip_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 45, + "y": 51, + "w": 24, + "h": 24 + } + }, + { + "filename": "expert_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 23 + }, + "frame": { + "x": 87, + "y": 28, + "w": 24, + "h": 23 + } + }, + { + "filename": "icicle_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 69, + "y": 51, + "w": 24, + "h": 24 + } + }, + { + "filename": "insect_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 50, + "y": 75, + "w": 24, + "h": 24 + } + }, + { + "filename": "iron_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 74, + "y": 75, + "w": 24, + "h": 24 + } + }, + { + "filename": "ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 93, + "y": 51, + "w": 18, + "h": 24 + } + }, + { + "filename": "full_restore", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 98, + "y": 75, + "w": 18, + "h": 24 + } + }, + { + "filename": "lucky_punch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 111, + "y": 41, + "w": 24, + "h": 24 + } + }, + { + "filename": "lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 135, + "y": 41, + "w": 17, + "h": 24 + } + }, + { + "filename": "exp_balance", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 152, + "y": 46, + "w": 24, + "h": 22 + } + }, + { + "filename": "exp_share", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 176, + "y": 47, + "w": 24, + "h": 22 + } + }, + { + "filename": "hearthflame_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 23 + }, + "frame": { + "x": 200, + "y": 46, + "w": 24, + "h": 23 + } + }, + { + "filename": "lucky_punch_great", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 224, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "lucky_punch_master", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 248, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "lucky_punch_ultra", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 272, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "lustrous_globe", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 296, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "meadow_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 320, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "mind_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 344, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "muscle_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 368, + "y": 45, + "w": 24, + "h": 24 + } + }, + { + "filename": "ability_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 9, + "w": 24, + "h": 14 + }, + "frame": { + "x": 392, + "y": 67, + "w": 24, + "h": 14 + } + }, + { + "filename": "pixie_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 116, + "y": 65, + "w": 24, + "h": 24 + } + }, + { + "filename": "choice_specs", "rotated": false, "trimmed": true, "sourceSize": { @@ -3107,14 +1805,770 @@ "spriteSourceSize": { "x": 4, "y": 8, - "w": 23, - "h": 17 + "w": 24, + "h": 18 }, "frame": { - "x": 220, - "y": 87, + "x": 116, + "y": 89, + "w": 24, + "h": 18 + } + }, + { + "filename": "salac_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 140, + "y": 68, + "w": 24, + "h": 24 + } + }, + { + "filename": "dragon_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 24, + "h": 18 + }, + "frame": { + "x": 140, + "y": 92, + "w": 24, + "h": 18 + } + }, + { + "filename": "scanner", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 164, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "silk_scarf", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 188, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "sky_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 212, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "splash_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 236, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "spooky_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 260, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "stone_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 284, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "sun_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 308, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "toxic_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 332, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "zap_plate", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 24 + }, + "frame": { + "x": 356, + "y": 69, + "w": 24, + "h": 24 + } + }, + { + "filename": "golden_net", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 21 + }, + "frame": { + "x": 164, + "y": 93, + "w": 24, + "h": 21 + } + }, + { + "filename": "leppa_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 188, + "y": 93, + "w": 24, + "h": 23 + } + }, + { + "filename": "scope_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 212, + "y": 93, + "w": 24, + "h": 23 + } + }, + { + "filename": "twisted_spoon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 236, + "y": 93, + "w": 24, + "h": 23 + } + }, + { + "filename": "berry_pouch", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, "w": 23, - "h": 17 + "h": 23 + }, + "frame": { + "x": 260, + "y": 93, + "w": 23, + "h": 23 + } + }, + { + "filename": "dynamax_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 23 + }, + "frame": { + "x": 283, + "y": 93, + "w": 23, + "h": 23 + } + }, + { + "filename": "griseous_core", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 306, + "y": 93, + "w": 23, + "h": 23 + } + }, + { + "filename": "kings_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 329, + "y": 93, + "w": 23, + "h": 24 + } + }, + { + "filename": "reveal_glass", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 352, + "y": 93, + "w": 23, + "h": 24 + } + }, + { + "filename": "prism_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 416, + "y": 80, + "w": 15, + "h": 15 + } + }, + { + "filename": "hp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 375, + "y": 93, + "w": 16, + "h": 24 + } + }, + { + "filename": "leek", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 391, + "y": 81, + "w": 23, + "h": 23 + } + }, + { + "filename": "max_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 414, + "y": 95, + "w": 17, + "h": 24 + } + }, + { + "filename": "amulet_coin", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 391, + "y": 104, + "w": 23, + "h": 21 + } + }, + { + "filename": "super_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 414, + "y": 119, + "w": 17, + "h": 24 + } + }, + { + "filename": "icy_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 50, + "y": 99, + "w": 24, + "h": 20 + } + }, + { + "filename": "metal_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 74, + "y": 99, + "w": 24, + "h": 20 + } + }, + { + "filename": "berry_pot", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 18, + "h": 22 + }, + "frame": { + "x": 98, + "y": 99, + "w": 18, + "h": 22 + } + }, + { + "filename": "peat_block", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 116, + "y": 107, + "w": 24, + "h": 22 + } + }, + { + "filename": "quick_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 140, + "y": 110, + "w": 24, + "h": 20 + } + }, + { + "filename": "rusted_shield", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 24, + "h": 20 + }, + "frame": { + "x": 164, + "y": 114, + "w": 24, + "h": 20 + } + }, + { + "filename": "sacred_ash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 188, + "y": 116, + "w": 24, + "h": 20 + } + }, + { + "filename": "shadow_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 212, + "y": 116, + "w": 24, + "h": 20 + } + }, + { + "filename": "soft_sand", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 236, + "y": 116, + "w": 24, + "h": 20 + } + }, + { + "filename": "auspicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 260, + "y": 116, + "w": 23, + "h": 21 } }, { @@ -3132,8 +2586,8 @@ "h": 22 }, "frame": { - "x": 243, - "y": 88, + "x": 283, + "y": 116, "w": 23, "h": 22 } @@ -3153,8 +2607,8 @@ "h": 23 }, "frame": { - "x": 266, - "y": 88, + "x": 306, + "y": 116, "w": 23, "h": 23 } @@ -3174,8 +2628,8 @@ "h": 23 }, "frame": { - "x": 289, - "y": 88, + "x": 329, + "y": 117, "w": 23, "h": 23 } @@ -3195,35 +2649,14 @@ "h": 23 }, "frame": { - "x": 312, - "y": 88, + "x": 352, + "y": 117, "w": 23, "h": 23 } }, { - "filename": "rusted_sword", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 335, - "y": 89, - "w": 23, - "h": 22 - } - }, - { - "filename": "abomasite", + "filename": "iron", "rotated": false, "trimmed": true, "sourceSize": { @@ -3232,19 +2665,19 @@ }, "spriteSourceSize": { "x": 8, - "y": 8, + "y": 4, "w": 16, - "h": 16 + "h": 24 }, "frame": { - "x": 120, - "y": 96, + "x": 375, + "y": 117, "w": 16, - "h": 16 + "h": 24 } }, { - "filename": "bug_memory", + "filename": "binding_band", "rotated": false, "trimmed": true, "sourceSize": { @@ -3253,19 +2686,82 @@ }, "spriteSourceSize": { "x": 5, - "y": 5, - "w": 22, - "h": 22 + "y": 6, + "w": 23, + "h": 20 }, "frame": { - "x": 117, - "y": 112, - "w": 22, - "h": 22 + "x": 391, + "y": 125, + "w": 23, + "h": 20 } }, { - "filename": "flying_tera_shard", + "filename": "hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 414, + "y": 143, + "w": 17, + "h": 23 + } + }, + { + "filename": "max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 24 + }, + "frame": { + "x": 39, + "y": 119, + "w": 22, + "h": 24 + } + }, + { + "filename": "black_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 61, + "y": 119, + "w": 22, + "h": 23 + } + }, + { + "filename": "bug_tera_shard", "rotated": false, "trimmed": true, "sourceSize": { @@ -3279,12 +2775,306 @@ "h": 23 }, "frame": { - "x": 116, - "y": 134, + "x": 39, + "y": 143, "w": 22, "h": 23 } }, + { + "filename": "dark_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 39, + "y": 166, + "w": 22, + "h": 23 + } + }, + { + "filename": "dragon_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 61, + "y": 142, + "w": 22, + "h": 23 + } + }, + { + "filename": "electric_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 39, + "y": 189, + "w": 22, + "h": 23 + } + }, + { + "filename": "fairy_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 61, + "y": 165, + "w": 22, + "h": 23 + } + }, + { + "filename": "fighting_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 39, + "y": 212, + "w": 22, + "h": 23 + } + }, + { + "filename": "fire_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 61, + "y": 188, + "w": 22, + "h": 23 + } + }, + { + "filename": "fire_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 61, + "y": 211, + "w": 22, + "h": 23 + } + }, + { + "filename": "max_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 44, + "y": 235, + "w": 18, + "h": 24 + } + }, + { + "filename": "oval_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 62, + "y": 234, + "w": 21, + "h": 24 + } + }, + { + "filename": "max_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 44, + "y": 259, + "w": 18, + "h": 24 + } + }, + { + "filename": "shiny_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 62, + "y": 258, + "w": 21, + "h": 24 + } + }, + { + "filename": "max_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 44, + "y": 283, + "w": 18, + "h": 24 + } + }, + { + "filename": "dragon_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 62, + "y": 282, + "w": 21, + "h": 23 + } + }, + { + "filename": "red_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 20, + "h": 24 + }, + "frame": { + "x": 44, + "y": 307, + "w": 20, + "h": 24 + } + }, { "filename": "focus_sash", "rotated": false, @@ -3300,12 +3090,33 @@ "h": 23 }, "frame": { - "x": 116, - "y": 157, + "x": 64, + "y": 305, "w": 22, "h": 23 } }, + { + "filename": "silver_powder", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 11, + "w": 24, + "h": 15 + }, + "frame": { + "x": 44, + "y": 331, + "w": 24, + "h": 15 + } + }, { "filename": "ghost_tera_shard", "rotated": false, @@ -3321,8 +3132,8 @@ "h": 23 }, "frame": { - "x": 116, - "y": 180, + "x": 45, + "y": 346, "w": 22, "h": 23 } @@ -3342,12 +3153,75 @@ "h": 23 }, "frame": { - "x": 139, - "y": 100, + "x": 46, + "y": 369, "w": 22, "h": 23 } }, + { + "filename": "bug_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 48, + "y": 392, + "w": 22, + "h": 22 + } + }, + { + "filename": "douse_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 69, + "y": 414, + "w": 23, + "h": 17 + } + }, + { + "filename": "apicot_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 68, + "y": 328, + "w": 19, + "h": 20 + } + }, { "filename": "berry_juice", "rotated": false, @@ -3363,8 +3237,8 @@ "h": 21 }, "frame": { - "x": 139, - "y": 123, + "x": 67, + "y": 348, "w": 22, "h": 21 } @@ -3384,12 +3258,33 @@ "h": 23 }, "frame": { - "x": 138, - "y": 144, + "x": 68, + "y": 369, "w": 22, "h": 23 } }, + { + "filename": "charcoal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 70, + "y": 392, + "w": 22, + "h": 22 + } + }, { "filename": "ice_tera_shard", "rotated": false, @@ -3405,33 +3300,12 @@ "h": 23 }, "frame": { - "x": 138, - "y": 167, + "x": 83, + "y": 121, "w": 22, "h": 23 } }, - { - "filename": "black_sludge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 138, - "y": 190, - "w": 22, - "h": 19 - } - }, { "filename": "never_melt_ice", "rotated": false, @@ -3447,8 +3321,8 @@ "h": 23 }, "frame": { - "x": 161, - "y": 104, + "x": 83, + "y": 144, "w": 22, "h": 23 } @@ -3468,8 +3342,8 @@ "h": 23 }, "frame": { - "x": 183, - "y": 104, + "x": 83, + "y": 167, "w": 22, "h": 23 } @@ -3489,159 +3363,12 @@ "h": 23 }, "frame": { - "x": 205, - "y": 104, + "x": 83, + "y": 190, "w": 22, "h": 23 } }, - { - "filename": "repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 227, - "y": 104, - "w": 16, - "h": 24 - } - }, - { - "filename": "moon_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 243, - "y": 110, - "w": 23, - "h": 21 - } - }, - { - "filename": "n_lunarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 266, - "y": 111, - "w": 23, - "h": 21 - } - }, - { - "filename": "n_solarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 289, - "y": 111, - "w": 23, - "h": 21 - } - }, - { - "filename": "wellspring_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 312, - "y": 111, - "w": 23, - "h": 21 - } - }, - { - "filename": "charcoal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 335, - "y": 111, - "w": 22, - "h": 22 - } - }, - { - "filename": "mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 161, - "y": 127, - "w": 23, - "h": 19 - } - }, { "filename": "poison_tera_shard", "rotated": false, @@ -3657,8 +3384,8 @@ "h": 23 }, "frame": { - "x": 160, - "y": 146, + "x": 83, + "y": 213, "w": 22, "h": 23 } @@ -3678,33 +3405,12 @@ "h": 23 }, "frame": { - "x": 160, - "y": 169, + "x": 83, + "y": 236, "w": 22, "h": 23 } }, - { - "filename": "pair_of_tickets", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 184, - "y": 127, - "w": 23, - "h": 19 - } - }, { "filename": "reaper_cloth", "rotated": false, @@ -3720,8 +3426,8 @@ "h": 23 }, "frame": { - "x": 182, - "y": 146, + "x": 83, + "y": 259, "w": 22, "h": 23 } @@ -3741,14 +3447,35 @@ "h": 23 }, "frame": { - "x": 182, - "y": 169, + "x": 83, + "y": 282, "w": 22, "h": 23 } }, { - "filename": "blue_orb", + "filename": "lansat_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 86, + "y": 305, + "w": 21, + "h": 23 + } + }, + { + "filename": "big_nugget", "rotated": false, "trimmed": true, "sourceSize": { @@ -3762,96 +3489,12 @@ "h": 20 }, "frame": { - "x": 207, - "y": 127, + "x": 87, + "y": 328, "w": 20, "h": 20 } }, - { - "filename": "steel_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 204, - "y": 147, - "w": 22, - "h": 23 - } - }, - { - "filename": "dark_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 204, - "y": 170, - "w": 22, - "h": 22 - } - }, - { - "filename": "reviver_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 8, - "w": 23, - "h": 20 - }, - "frame": { - "x": 160, - "y": 192, - "w": 23, - "h": 20 - } - }, - { - "filename": "shell_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 23, - "h": 20 - }, - "frame": { - "x": 183, - "y": 192, - "w": 23, - "h": 20 - } - }, { "filename": "dawn_stone", "rotated": false, @@ -3867,642 +3510,12 @@ "h": 21 }, "frame": { - "x": 206, - "y": 192, + "x": 89, + "y": 348, "w": 20, "h": 21 } }, - { - "filename": "super_repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 227, - "y": 128, - "w": 16, - "h": 24 - } - }, - { - "filename": "deep_sea_tooth", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 243, - "y": 131, - "w": 22, - "h": 21 - } - }, - { - "filename": "stellar_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 226, - "y": 152, - "w": 22, - "h": 23 - } - }, - { - "filename": "water_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 226, - "y": 175, - "w": 22, - "h": 23 - } - }, - { - "filename": "deep_sea_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 265, - "y": 132, - "w": 22, - "h": 20 - } - }, - { - "filename": "wide_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 248, - "y": 152, - "w": 22, - "h": 23 - } - }, - { - "filename": "dire_hit", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 248, - "y": 175, - "w": 22, - "h": 22 - } - }, - { - "filename": "dna_splicers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 287, - "y": 132, - "w": 22, - "h": 22 - } - }, - { - "filename": "dragon_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 309, - "y": 132, - "w": 22, - "h": 22 - } - }, - { - "filename": "super_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 270, - "y": 152, - "w": 17, - "h": 24 - } - }, - { - "filename": "electirizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 287, - "y": 154, - "w": 22, - "h": 22 - } - }, - { - "filename": "electric_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 309, - "y": 154, - "w": 22, - "h": 22 - } - }, - { - "filename": "enigma_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 270, - "y": 176, - "w": 22, - "h": 22 - } - }, - { - "filename": "fairy_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 292, - "y": 176, - "w": 22, - "h": 22 - } - }, - { - "filename": "fighting_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 331, - "y": 133, - "w": 22, - "h": 22 - } - }, - { - "filename": "fire_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 331, - "y": 155, - "w": 22, - "h": 22 - } - }, - { - "filename": "hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 314, - "y": 176, - "w": 17, - "h": 23 - } - }, - { - "filename": "flying_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 331, - "y": 177, - "w": 22, - "h": 22 - } - }, - { - "filename": "blunder_policy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 19 - }, - "frame": { - "x": 226, - "y": 198, - "w": 22, - "h": 19 - } - }, - { - "filename": "fairy_feather", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 20 - }, - "frame": { - "x": 248, - "y": 197, - "w": 22, - "h": 20 - } - }, - { - "filename": "dubious_disc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 270, - "y": 198, - "w": 22, - "h": 19 - } - }, - { - "filename": "ganlon_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 292, - "y": 198, - "w": 22, - "h": 22 - } - }, - { - "filename": "ghost_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 314, - "y": 199, - "w": 22, - "h": 22 - } - }, - { - "filename": "berry_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 18, - "h": 22 - }, - "frame": { - "x": 336, - "y": 199, - "w": 18, - "h": 22 - } - }, - { - "filename": "grass_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 116, - "y": 203, - "w": 22, - "h": 22 - } - }, - { - "filename": "ground_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 115, - "y": 225, - "w": 22, - "h": 22 - } - }, - { - "filename": "guard_spec", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 115, - "y": 247, - "w": 22, - "h": 22 - } - }, - { - "filename": "ice_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 115, - "y": 269, - "w": 22, - "h": 22 - } - }, - { - "filename": "ice_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 138, - "y": 209, - "w": 22, - "h": 22 - } - }, - { - "filename": "lansat_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 137, - "y": 231, - "w": 21, - "h": 23 - } - }, { "filename": "leaf_stone", "rotated": false, @@ -4518,617 +3531,8 @@ "h": 23 }, "frame": { - "x": 137, - "y": 254, - "w": 21, - "h": 23 - } - }, - { - "filename": "liechi_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 160, - "y": 212, - "w": 22, - "h": 21 - } - }, - { - "filename": "magmarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 182, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "mini_black_hole", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 204, - "y": 213, - "w": 22, - "h": 22 - } - }, - { - "filename": "moon_flute", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 158, - "y": 233, - "w": 22, - "h": 22 - } - }, - { - "filename": "normal_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 158, - "y": 255, - "w": 22, - "h": 22 - } - }, - { - "filename": "poison_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 180, - "y": 234, - "w": 22, - "h": 22 - } - }, - { - "filename": "protector", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 180, - "y": 256, - "w": 22, - "h": 22 - } - }, - { - "filename": "psychic_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 202, - "y": 235, - "w": 22, - "h": 22 - } - }, - { - "filename": "rock_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 202, - "y": 257, - "w": 22, - "h": 22 - } - }, - { - "filename": "malicious_armor", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 226, - "y": 217, - "w": 22, - "h": 20 - } - }, - { - "filename": "scroll_of_darkness", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 248, - "y": 217, - "w": 22, - "h": 22 - } - }, - { - "filename": "scroll_of_waters", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 270, - "y": 217, - "w": 22, - "h": 22 - } - }, - { - "filename": "sharp_beak", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 224, - "y": 237, - "w": 21, - "h": 23 - } - }, - { - "filename": "shed_shell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 292, - "y": 220, - "w": 22, - "h": 22 - } - }, - { - "filename": "starf_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 314, - "y": 221, - "w": 22, - "h": 22 - } - }, - { - "filename": "dusk_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 224, - "y": 260, - "w": 21, - "h": 21 - } - }, - { - "filename": "steel_memory", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 245, - "y": 239, - "w": 22, - "h": 22 - } - }, - { - "filename": "sun_flute", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 267, - "y": 239, - "w": 22, - "h": 22 - } - }, - { - "filename": "sweet_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 245, - "y": 261, - "w": 22, - "h": 21 - } - }, - { - "filename": "syrupy_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 267, - "y": 261, - "w": 22, - "h": 21 - } - }, - { - "filename": "thick_club", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 289, - "y": 242, - "w": 22, - "h": 22 - } - }, - { - "filename": "hard_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 336, - "y": 221, - "w": 20, - "h": 22 - } - }, - { - "filename": "tart_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 289, - "y": 264, - "w": 22, - "h": 21 - } - }, - { - "filename": "thunder_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 311, - "y": 243, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_bug", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 333, - "y": 243, - "w": 22, - "h": 22 - } - }, - { - "filename": "tera_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 311, - "y": 265, - "w": 22, - "h": 20 - } - }, - { - "filename": "tm_dark", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 333, - "y": 265, - "w": 22, - "h": 22 - } - }, - { - "filename": "shock_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 137, - "y": 277, - "w": 23, - "h": 17 - } - }, - { - "filename": "whipped_dream", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 116, - "y": 291, + "x": 90, + "y": 369, "w": 21, "h": 23 } @@ -5148,14 +3552,14 @@ "h": 23 }, "frame": { - "x": 116, - "y": 314, + "x": 92, + "y": 392, "w": 20, "h": 23 } }, { - "filename": "sitrus_berry", + "filename": "mega_bracelet", "rotated": false, "trimmed": true, "sourceSize": { @@ -5164,19 +3568,124 @@ }, "spriteSourceSize": { "x": 6, - "y": 5, + "y": 8, "w": 20, - "h": 22 + "h": 16 }, "frame": { - "x": 116, - "y": 337, + "x": 92, + "y": 415, "w": 20, + "h": 16 + } + }, + { + "filename": "rusted_sword", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 22 + }, + "frame": { + "x": 105, + "y": 129, + "w": 23, "h": 22 } }, { - "filename": "tm_dragon", + "filename": "steel_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 105, + "y": 151, + "w": 22, + "h": 23 + } + }, + { + "filename": "stellar_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 105, + "y": 174, + "w": 22, + "h": 23 + } + }, + { + "filename": "water_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 105, + "y": 197, + "w": 22, + "h": 23 + } + }, + { + "filename": "wide_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 105, + "y": 220, + "w": 22, + "h": 23 + } + }, + { + "filename": "dark_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -5190,14 +3699,14 @@ "h": 22 }, "frame": { - "x": 137, - "y": 294, + "x": 105, + "y": 243, "w": 22, "h": 22 } }, { - "filename": "tm_electric", + "filename": "dire_hit", "rotated": false, "trimmed": true, "sourceSize": { @@ -5211,14 +3720,119 @@ "h": 22 }, "frame": { - "x": 136, - "y": 316, + "x": 105, + "y": 265, "w": 22, "h": 22 } }, { - "filename": "tm_fairy", + "filename": "relic_crown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 18 + }, + "frame": { + "x": 105, + "y": 287, + "w": 23, + "h": 18 + } + }, + { + "filename": "sharp_beak", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 107, + "y": 305, + "w": 21, + "h": 23 + } + }, + { + "filename": "deep_sea_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 107, + "y": 328, + "w": 22, + "h": 20 + } + }, + { + "filename": "deep_sea_tooth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 109, + "y": 348, + "w": 22, + "h": 21 + } + }, + { + "filename": "whipped_dream", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 111, + "y": 369, + "w": 21, + "h": 23 + } + }, + { + "filename": "dna_splicers", "rotated": false, "trimmed": true, "sourceSize": { @@ -5232,14 +3846,224 @@ "h": 22 }, "frame": { - "x": 136, - "y": 338, + "x": 112, + "y": 392, "w": 22, "h": 22 } }, { - "filename": "gb", + "filename": "shock_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 112, + "y": 414, + "w": 23, + "h": 17 + } + }, + { + "filename": "moon_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 128, + "y": 130, + "w": 23, + "h": 21 + } + }, + { + "filename": "dragon_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 127, + "y": 151, + "w": 22, + "h": 22 + } + }, + { + "filename": "electirizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 127, + "y": 173, + "w": 22, + "h": 22 + } + }, + { + "filename": "electric_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 127, + "y": 195, + "w": 22, + "h": 22 + } + }, + { + "filename": "enigma_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 127, + "y": 217, + "w": 22, + "h": 22 + } + }, + { + "filename": "fairy_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 127, + "y": 239, + "w": 22, + "h": 22 + } + }, + { + "filename": "fighting_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 127, + "y": 261, + "w": 22, + "h": 22 + } + }, + { + "filename": "fire_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 128, + "y": 283, + "w": 22, + "h": 22 + } + }, + { + "filename": "flying_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 128, + "y": 305, + "w": 22, + "h": 22 + } + }, + { + "filename": "dusk_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -5249,18 +4073,60 @@ "spriteSourceSize": { "x": 6, "y": 6, - "w": 20, - "h": 20 + "w": 21, + "h": 21 }, "frame": { - "x": 116, - "y": 359, - "w": 20, - "h": 20 + "x": 129, + "y": 327, + "w": 21, + "h": 21 } }, { - "filename": "tm_fighting", + "filename": "flying_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 20, + "h": 21 + }, + "frame": { + "x": 131, + "y": 348, + "w": 20, + "h": 21 + } + }, + { + "filename": "sachet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 18, + "h": 23 + }, + "frame": { + "x": 132, + "y": 369, + "w": 18, + "h": 23 + } + }, + { + "filename": "ganlon_berry", "rotated": false, "trimmed": true, "sourceSize": { @@ -5274,14 +4140,14 @@ "h": 22 }, "frame": { - "x": 116, - "y": 379, + "x": 134, + "y": 392, "w": 22, "h": 22 } }, { - "filename": "upgrade", + "filename": "wise_glasses", "rotated": false, "trimmed": true, "sourceSize": { @@ -5289,20 +4155,41 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 + "x": 4, + "y": 8, + "w": 23, + "h": 17 }, "frame": { - "x": 136, - "y": 360, - "w": 22, - "h": 19 + "x": 135, + "y": 414, + "w": 23, + "h": 17 } }, { - "filename": "tm_fire", + "filename": "potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 150, + "y": 369, + "w": 17, + "h": 23 + } + }, + { + "filename": "ghost_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -5316,8 +4203,8 @@ "h": 22 }, "frame": { - "x": 138, - "y": 379, + "x": 156, + "y": 392, "w": 22, "h": 22 } @@ -5337,14 +4224,14 @@ "h": 17 }, "frame": { - "x": 160, - "y": 277, + "x": 158, + "y": 414, "w": 20, "h": 17 } }, { - "filename": "tm_flying", + "filename": "coupon", "rotated": false, "trimmed": true, "sourceSize": { @@ -5352,146 +4239,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 159, - "y": 294, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ghost", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 158, - "y": 316, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_grass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 158, - "y": 338, - "w": 22, - "h": 22 - } - }, - { - "filename": "metal_alloy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, + "x": 4, "y": 7, - "w": 21, + "w": 23, "h": 19 }, "frame": { - "x": 158, - "y": 360, - "w": 21, + "x": 151, + "y": 134, + "w": 23, "h": 19 } }, { - "filename": "lock_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 160, - "y": 379, - "w": 19, - "h": 22 - } - }, - { - "filename": "relic_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 9, - "w": 17, - "h": 16 - }, - "frame": { - "x": 180, - "y": 278, - "w": 17, - "h": 16 - } - }, - { - "filename": "metal_coat", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 181, - "y": 294, - "w": 19, - "h": 22 - } - }, - { - "filename": "tm_ground", + "filename": "grass_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -5505,14 +4266,14 @@ "h": 22 }, "frame": { - "x": 180, - "y": 316, + "x": 149, + "y": 153, "w": 22, "h": 22 } }, { - "filename": "tm_ice", + "filename": "ground_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -5526,14 +4287,14 @@ "h": 22 }, "frame": { - "x": 180, - "y": 338, + "x": 149, + "y": 175, "w": 22, "h": 22 } }, { - "filename": "tm_normal", + "filename": "guard_spec", "rotated": false, "trimmed": true, "sourceSize": { @@ -5547,14 +4308,14 @@ "h": 22 }, "frame": { - "x": 179, - "y": 360, + "x": 149, + "y": 197, "w": 22, "h": 22 } }, { - "filename": "tm_poison", + "filename": "ice_memory", "rotated": false, "trimmed": true, "sourceSize": { @@ -5568,14 +4329,14 @@ "h": 22 }, "frame": { - "x": 179, - "y": 382, + "x": 149, + "y": 219, "w": 22, "h": 22 } }, { - "filename": "tm_psychic", + "filename": "ice_stone", "rotated": false, "trimmed": true, "sourceSize": { @@ -5589,14 +4350,35 @@ "h": 22 }, "frame": { - "x": 117, - "y": 401, + "x": 149, + "y": 241, "w": 22, "h": 22 } }, { - "filename": "tm_rock", + "filename": "fairy_feather", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 20 + }, + "frame": { + "x": 149, + "y": 263, + "w": 22, + "h": 20 + } + }, + { + "filename": "magmarizer", "rotated": false, "trimmed": true, "sourceSize": { @@ -5610,35 +4392,14 @@ "h": 22 }, "frame": { - "x": 139, - "y": 401, + "x": 150, + "y": 283, "w": 22, "h": 22 } }, { - "filename": "sachet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 18, - "h": 23 - }, - "frame": { - "x": 161, - "y": 401, - "w": 18, - "h": 23 - } - }, - { - "filename": "tm_steel", + "filename": "mini_black_hole", "rotated": false, "trimmed": true, "sourceSize": { @@ -5652,14 +4413,56 @@ "h": 22 }, "frame": { - "x": 179, - "y": 404, + "x": 150, + "y": 305, "w": 22, "h": 22 } }, { - "filename": "leftovers", + "filename": "liechi_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 150, + "y": 327, + "w": 22, + "h": 21 + } + }, + { + "filename": "n_lunarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 151, + "y": 348, + "w": 23, + "h": 21 + } + }, + { + "filename": "super_potion", "rotated": false, "trimmed": true, "sourceSize": { @@ -5669,13 +4472,559 @@ "spriteSourceSize": { "x": 8, "y": 5, - "w": 15, + "w": 17, + "h": 23 + }, + "frame": { + "x": 167, + "y": 369, + "w": 17, + "h": 23 + } + }, + { + "filename": "max_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 178, + "y": 392, + "w": 16, + "h": 24 + } + }, + { + "filename": "candy_overlay", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 12, + "w": 16, + "h": 15 + }, + "frame": { + "x": 178, + "y": 416, + "w": 16, + "h": 15 + } + }, + { + "filename": "pp_max", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 171, + "y": 153, + "w": 16, + "h": 24 + } + }, + { + "filename": "pp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 171, + "y": 177, + "w": 16, + "h": 24 + } + }, + { + "filename": "protein", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 171, + "y": 201, + "w": 16, + "h": 24 + } + }, + { + "filename": "repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 171, + "y": 225, + "w": 16, + "h": 24 + } + }, + { + "filename": "super_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 171, + "y": 249, + "w": 16, + "h": 24 + } + }, + { + "filename": "abomasite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 174, + "y": 137, + "w": 16, + "h": 16 + } + }, + { + "filename": "golden_mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 190, + "y": 136, + "w": 23, + "h": 19 + } + }, + { + "filename": "mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 213, + "y": 136, + "w": 23, + "h": 19 + } + }, + { + "filename": "n_solarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 236, + "y": 136, + "w": 23, + "h": 21 + } + }, + { + "filename": "reviver_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 259, + "y": 137, + "w": 23, + "h": 20 + } + }, + { + "filename": "moon_flute", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, "h": 22 }, "frame": { - "x": 358, - "y": 89, - "w": 15, + "x": 187, + "y": 155, + "w": 22, + "h": 22 + } + }, + { + "filename": "normal_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 187, + "y": 177, + "w": 22, + "h": 22 + } + }, + { + "filename": "poison_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 209, + "y": 155, + "w": 22, + "h": 22 + } + }, + { + "filename": "protector", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 187, + "y": 199, + "w": 22, + "h": 22 + } + }, + { + "filename": "psychic_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 209, + "y": 177, + "w": 22, + "h": 22 + } + }, + { + "filename": "rock_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 187, + "y": 221, + "w": 22, + "h": 22 + } + }, + { + "filename": "scroll_of_darkness", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 209, + "y": 199, + "w": 22, + "h": 22 + } + }, + { + "filename": "scroll_of_waters", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 187, + "y": 243, + "w": 22, + "h": 22 + } + }, + { + "filename": "shed_shell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 209, + "y": 221, + "w": 22, + "h": 22 + } + }, + { + "filename": "starf_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 209, + "y": 243, + "w": 22, + "h": 22 + } + }, + { + "filename": "pair_of_tickets", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 282, + "y": 138, + "w": 23, + "h": 19 + } + }, + { + "filename": "shell_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 23, + "h": 20 + }, + "frame": { + "x": 305, + "y": 139, + "w": 23, + "h": 20 + } + }, + { + "filename": "wellspring_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 328, + "y": 140, + "w": 23, + "h": 21 + } + }, + { + "filename": "steel_memory", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 351, + "y": 140, + "w": 22, "h": 22 } }, @@ -5695,13 +5044,13 @@ }, "frame": { "x": 373, - "y": 88, + "y": 141, "w": 18, "h": 20 } }, { - "filename": "metronome", + "filename": "sun_flute", "rotated": false, "trimmed": true, "sourceSize": { @@ -5709,18 +5058,543 @@ "h": 32 }, "spriteSourceSize": { - "x": 7, + "x": 5, "y": 5, - "w": 17, + "w": 22, "h": 22 }, "frame": { - "x": 357, - "y": 111, - "w": 17, + "x": 231, + "y": 157, + "w": 22, "h": 22 } }, + { + "filename": "thick_club", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 231, + "y": 179, + "w": 22, + "h": 22 + } + }, + { + "filename": "thunder_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 253, + "y": 157, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_bug", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 231, + "y": 201, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dark", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 253, + "y": 179, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dragon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 275, + "y": 157, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_electric", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 231, + "y": 223, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fairy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 253, + "y": 201, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fighting", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 275, + "y": 179, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fire", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 253, + "y": 223, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_flying", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 275, + "y": 201, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_ghost", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 275, + "y": 223, + "w": 22, + "h": 22 + } + }, + { + "filename": "sweet_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 231, + "y": 245, + "w": 22, + "h": 21 + } + }, + { + "filename": "syrupy_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 253, + "y": 245, + "w": 22, + "h": 21 + } + }, + { + "filename": "tart_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 275, + "y": 245, + "w": 22, + "h": 21 + } + }, + { + "filename": "black_sludge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 391, + "y": 145, + "w": 22, + "h": 19 + } + }, + { + "filename": "tm_grass", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 297, + "y": 159, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_ground", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 297, + "y": 181, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 297, + "y": 203, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_normal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 297, + "y": 225, + "w": 22, + "h": 22 + } + }, + { + "filename": "blunder_policy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 19 + }, + "frame": { + "x": 297, + "y": 247, + "w": 22, + "h": 19 + } + }, + { + "filename": "tm_poison", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 319, + "y": 161, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_psychic", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 319, + "y": 183, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 319, + "y": 205, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_steel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 319, + "y": 227, + "w": 22, + "h": 22 + } + }, + { + "filename": "dubious_disc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 319, + "y": 249, + "w": 22, + "h": 19 + } + }, { "filename": "tm_water", "rotated": false, @@ -5736,8 +5610,8 @@ "h": 22 }, "frame": { - "x": 353, - "y": 133, + "x": 341, + "y": 162, "w": 22, "h": 22 } @@ -5757,8 +5631,8 @@ "h": 22 }, "frame": { - "x": 353, - "y": 155, + "x": 341, + "y": 184, "w": 22, "h": 22 } @@ -5778,8 +5652,8 @@ "h": 22 }, "frame": { - "x": 353, - "y": 177, + "x": 341, + "y": 206, "w": 22, "h": 22 } @@ -5799,12 +5673,138 @@ "h": 22 }, "frame": { - "x": 354, - "y": 199, + "x": 341, + "y": 228, "w": 22, "h": 22 } }, + { + "filename": "tera_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 341, + "y": 250, + "w": 22, + "h": 20 + } + }, + { + "filename": "unknown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 363, + "y": 162, + "w": 16, + "h": 24 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 363, + "y": 186, + "w": 16, + "h": 24 + } + }, + { + "filename": "hard_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 363, + "y": 210, + "w": 20, + "h": 22 + } + }, + { + "filename": "sitrus_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 363, + "y": 232, + "w": 20, + "h": 22 + } + }, + { + "filename": "blue_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 363, + "y": 254, + "w": 20, + "h": 20 + } + }, { "filename": "x_attack", "rotated": false, @@ -5820,8 +5820,8 @@ "h": 22 }, "frame": { - "x": 356, - "y": 221, + "x": 379, + "y": 164, "w": 22, "h": 22 } @@ -5841,12 +5841,54 @@ "h": 22 }, "frame": { - "x": 355, - "y": 243, + "x": 379, + "y": 186, "w": 22, "h": 22 } }, + { + "filename": "lock_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 383, + "y": 208, + "w": 19, + "h": 22 + } + }, + { + "filename": "metal_coat", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 383, + "y": 230, + "w": 19, + "h": 22 + } + }, { "filename": "x_sp_atk", "rotated": false, @@ -5862,54 +5904,12 @@ "h": 22 }, "frame": { - "x": 355, - "y": 265, + "x": 383, + "y": 252, "w": 22, "h": 22 } }, - { - "filename": "potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 374, - "y": 108, - "w": 17, - "h": 23 - } - }, - { - "filename": "unknown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 391, - "y": 91, - "w": 16, - "h": 24 - } - }, { "filename": "x_sp_def", "rotated": false, @@ -5925,14 +5925,14 @@ "h": 22 }, "frame": { - "x": 407, - "y": 92, + "x": 401, + "y": 166, "w": 22, "h": 22 } }, { - "filename": "zinc", + "filename": "gb", "rotated": false, "trimmed": true, "sourceSize": { @@ -5940,79 +5940,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 + "x": 6, + "y": 6, + "w": 20, + "h": 20 }, "frame": { - "x": 375, - "y": 131, - "w": 16, - "h": 24 - } - }, - { - "filename": "super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 391, - "y": 115, - "w": 17, - "h": 23 - } - }, - { - "filename": "wise_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 408, - "y": 114, - "w": 23, - "h": 17 - } - }, - { - "filename": "soothe_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 375, - "y": 155, - "w": 17, - "h": 22 + "x": 401, + "y": 188, + "w": 20, + "h": 20 } }, { @@ -6030,98 +5967,14 @@ "h": 22 }, "frame": { - "x": 375, - "y": 177, + "x": 402, + "y": 208, "w": 22, "h": 22 } }, { - "filename": "poison_barb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 376, - "y": 199, - "w": 21, - "h": 21 - } - }, - { - "filename": "quick_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 21 - }, - "frame": { - "x": 378, - "y": 220, - "w": 19, - "h": 21 - } - }, - { - "filename": "absolite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 391, - "y": 138, - "w": 16, - "h": 16 - } - }, - { - "filename": "shiny_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 392, - "y": 154, - "w": 21, - "h": 21 - } - }, - { - "filename": "oval_stone", + "filename": "metronome", "rotated": false, "trimmed": true, "sourceSize": { @@ -6130,250 +5983,61 @@ }, "spriteSourceSize": { "x": 7, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 402, + "y": 230, + "w": 17, + "h": 22 + } + }, + { + "filename": "soothe_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 405, + "y": 252, + "w": 17, + "h": 22 + } + }, + { + "filename": "upgrade", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, "y": 7, - "w": 18, + "w": 22, "h": 19 }, "frame": { - "x": 413, - "y": 131, - "w": 18, + "x": 187, + "y": 265, + "w": 22, "h": 19 } }, { - "filename": "baton", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 413, - "y": 150, - "w": 18, - "h": 18 - } - }, - { - "filename": "candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 11, - "w": 18, - "h": 18 - }, - "frame": { - "x": 413, - "y": 168, - "w": 18, - "h": 18 - } - }, - { - "filename": "mystery_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 18 - }, - "frame": { - "x": 397, - "y": 175, - "w": 16, - "h": 18 - } - }, - { - "filename": "dark_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 413, - "y": 186, - "w": 18, - "h": 18 - } - }, - { - "filename": "aerodactylite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 397, - "y": 193, - "w": 16, - "h": 16 - } - }, - { - "filename": "flame_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 413, - "y": 204, - "w": 18, - "h": 18 - } - }, - { - "filename": "aggronite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 397, - "y": 209, - "w": 16, - "h": 16 - } - }, - { - "filename": "light_ball", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 413, - "y": 222, - "w": 18, - "h": 18 - } - }, - { - "filename": "alakazite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 397, - "y": 225, - "w": 16, - "h": 16 - } - }, - { - "filename": "light_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 413, - "y": 240, - "w": 18, - "h": 18 - } - }, - { - "filename": "zoom_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 200, - "y": 279, - "w": 21, - "h": 21 - } - }, - { - "filename": "lum_berry", + "filename": "metal_alloy", "rotated": false, "trimmed": true, "sourceSize": { @@ -6383,13 +6047,13 @@ "spriteSourceSize": { "x": 6, "y": 7, - "w": 20, + "w": 21, "h": 19 }, "frame": { - "x": 221, - "y": 281, - "w": 20, + "x": 209, + "y": 265, + "w": 21, "h": 19 } }, @@ -6408,8 +6072,8 @@ "h": 18 }, "frame": { - "x": 241, - "y": 282, + "x": 230, + "y": 266, "w": 21, "h": 18 } @@ -6429,14 +6093,14 @@ "h": 18 }, "frame": { - "x": 262, - "y": 282, + "x": 251, + "y": 266, "w": 21, "h": 18 } }, { - "filename": "altarianite", + "filename": "poison_barb", "rotated": false, "trimmed": true, "sourceSize": { @@ -6444,16 +6108,79 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 + "x": 5, + "y": 6, + "w": 21, + "h": 21 }, "frame": { - "x": 200, - "y": 300, - "w": 16, - "h": 16 + "x": 272, + "y": 266, + "w": 21, + "h": 21 + } + }, + { + "filename": "shiny_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 293, + "y": 266, + "w": 21, + "h": 21 + } + }, + { + "filename": "zoom_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 314, + "y": 268, + "w": 21, + "h": 21 + } + }, + { + "filename": "lum_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 335, + "y": 270, + "w": 20, + "h": 19 } }, { @@ -6471,8 +6198,8 @@ "h": 18 }, "frame": { - "x": 216, - "y": 300, + "x": 355, + "y": 274, "w": 21, "h": 18 } @@ -6492,8 +6219,8 @@ "h": 18 }, "frame": { - "x": 237, - "y": 300, + "x": 376, + "y": 274, "w": 21, "h": 18 } @@ -6513,12 +6240,33 @@ "h": 20 }, "frame": { - "x": 258, - "y": 300, + "x": 397, + "y": 274, "w": 20, "h": 20 } }, + { + "filename": "relic_gold", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 11, + "w": 15, + "h": 11 + }, + "frame": { + "x": 172, + "y": 273, + "w": 15, + "h": 11 + } + }, { "filename": "mb", "rotated": false, @@ -6534,8 +6282,8 @@ "h": 20 }, "frame": { - "x": 283, - "y": 285, + "x": 172, + "y": 284, "w": 20, "h": 20 } @@ -6555,8 +6303,8 @@ "h": 20 }, "frame": { - "x": 303, - "y": 285, + "x": 192, + "y": 284, "w": 20, "h": 20 } @@ -6576,8 +6324,8 @@ "h": 20 }, "frame": { - "x": 278, - "y": 305, + "x": 172, + "y": 304, "w": 20, "h": 20 } @@ -6597,35 +6345,14 @@ "h": 20 }, "frame": { - "x": 298, - "y": 305, + "x": 212, + "y": 284, "w": 20, "h": 20 } }, { - "filename": "revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 12, - "h": 17 - }, - "frame": { - "x": 202, - "y": 316, - "w": 12, - "h": 17 - } - }, - { - "filename": "power_herb", + "filename": "quick_claw", "rotated": false, "trimmed": true, "sourceSize": { @@ -6634,36 +6361,15 @@ }, "spriteSourceSize": { "x": 6, - "y": 7, - "w": 20, - "h": 19 + "y": 6, + "w": 19, + "h": 21 }, "frame": { - "x": 214, - "y": 318, - "w": 20, - "h": 19 - } - }, - { - "filename": "razor_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 234, - "y": 318, - "w": 20, - "h": 19 + "x": 172, + "y": 324, + "w": 19, + "h": 21 } }, { @@ -6681,8 +6387,8 @@ "h": 20 }, "frame": { - "x": 254, - "y": 320, + "x": 192, + "y": 304, "w": 20, "h": 20 } @@ -6702,8 +6408,8 @@ "h": 20 }, "frame": { - "x": 274, - "y": 325, + "x": 232, + "y": 284, "w": 20, "h": 20 } @@ -6723,8 +6429,8 @@ "h": 20 }, "frame": { - "x": 294, - "y": 325, + "x": 252, + "y": 284, "w": 20, "h": 20 } @@ -6744,8 +6450,8 @@ "h": 21 }, "frame": { - "x": 202, - "y": 337, + "x": 191, + "y": 324, "w": 19, "h": 21 } @@ -6765,54 +6471,12 @@ "h": 20 }, "frame": { - "x": 221, - "y": 337, + "x": 212, + "y": 304, "w": 20, "h": 20 } }, - { - "filename": "white_herb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 323, - "y": 287, - "w": 20, - "h": 19 - } - }, - { - "filename": "apicot_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 343, - "y": 287, - "w": 19, - "h": 20 - } - }, { "filename": "candy_jar", "rotated": false, @@ -6828,33 +6492,12 @@ "h": 20 }, "frame": { - "x": 362, - "y": 287, + "x": 210, + "y": 324, "w": 19, "h": 20 } }, - { - "filename": "big_mushroom", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 19 - }, - "frame": { - "x": 318, - "y": 306, - "w": 19, - "h": 19 - } - }, { "filename": "hard_stone", "rotated": false, @@ -6870,12 +6513,96 @@ "h": 20 }, "frame": { - "x": 314, - "y": 325, + "x": 232, + "y": 304, "w": 19, "h": 20 } }, + { + "filename": "power_herb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 229, + "y": 324, + "w": 20, + "h": 19 + } + }, + { + "filename": "razor_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 251, + "y": 304, + "w": 20, + "h": 19 + } + }, + { + "filename": "malicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 18 + }, + "frame": { + "x": 272, + "y": 287, + "w": 20, + "h": 18 + } + }, + { + "filename": "white_herb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 292, + "y": 287, + "w": 20, + "h": 19 + } + }, { "filename": "wl_ability_urge", "rotated": false, @@ -6891,33 +6618,12 @@ "h": 18 }, "frame": { - "x": 337, - "y": 307, + "x": 271, + "y": 305, "w": 20, "h": 18 } }, - { - "filename": "miracle_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 19, - "h": 19 - }, - "frame": { - "x": 333, - "y": 325, - "w": 19, - "h": 19 - } - }, { "filename": "wl_antidote", "rotated": false, @@ -6933,12 +6639,75 @@ "h": 18 }, "frame": { - "x": 357, - "y": 307, + "x": 291, + "y": 306, "w": 20, "h": 18 } }, + { + "filename": "big_mushroom", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 19 + }, + "frame": { + "x": 174, + "y": 345, + "w": 19, + "h": 19 + } + }, + { + "filename": "golden_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 193, + "y": 345, + "w": 17, + "h": 20 + } + }, + { + "filename": "miracle_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 19, + "h": 19 + }, + "frame": { + "x": 210, + "y": 344, + "w": 19, + "h": 19 + } + }, { "filename": "wl_awakening", "rotated": false, @@ -6954,8 +6723,8 @@ "h": 18 }, "frame": { - "x": 352, - "y": 325, + "x": 229, + "y": 343, "w": 20, "h": 18 } @@ -6975,75 +6744,12 @@ "h": 18 }, "frame": { - "x": 241, - "y": 340, + "x": 312, + "y": 289, "w": 20, "h": 18 } }, - { - "filename": "golden_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 372, - "y": 325, - "w": 17, - "h": 20 - } - }, - { - "filename": "toxic_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 377, - "y": 307, - "w": 18, - "h": 18 - } - }, - { - "filename": "lucky_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 389, - "y": 325, - "w": 17, - "h": 20 - } - }, { "filename": "wl_custom_spliced", "rotated": false, @@ -7059,8 +6765,8 @@ "h": 18 }, "frame": { - "x": 352, - "y": 343, + "x": 332, + "y": 289, "w": 20, "h": 18 } @@ -7080,8 +6786,8 @@ "h": 18 }, "frame": { - "x": 372, - "y": 345, + "x": 311, + "y": 307, "w": 20, "h": 18 } @@ -7101,8 +6807,8 @@ "h": 18 }, "frame": { - "x": 392, - "y": 345, + "x": 331, + "y": 307, "w": 20, "h": 18 } @@ -7122,33 +6828,12 @@ "h": 18 }, "frame": { - "x": 378, - "y": 241, + "x": 352, + "y": 292, "w": 20, "h": 18 } }, - { - "filename": "relic_gold", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 11, - "w": 15, - "h": 11 - }, - "frame": { - "x": 398, - "y": 241, - "w": 15, - "h": 11 - } - }, { "filename": "wl_full_heal", "rotated": false, @@ -7164,8 +6849,8 @@ "h": 18 }, "frame": { - "x": 377, - "y": 259, + "x": 372, + "y": 292, "w": 20, "h": 18 } @@ -7185,8 +6870,8 @@ "h": 18 }, "frame": { - "x": 381, - "y": 277, + "x": 351, + "y": 310, "w": 20, "h": 18 } @@ -7206,8 +6891,8 @@ "h": 18 }, "frame": { - "x": 397, - "y": 259, + "x": 371, + "y": 310, "w": 20, "h": 18 } @@ -7227,8 +6912,8 @@ "h": 18 }, "frame": { - "x": 401, - "y": 277, + "x": 392, + "y": 294, "w": 20, "h": 18 } @@ -7248,54 +6933,12 @@ "h": 18 }, "frame": { - "x": 395, - "y": 295, + "x": 391, + "y": 312, "w": 20, "h": 18 } }, - { - "filename": "ampharosite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 415, - "y": 295, - "w": 16, - "h": 16 - } - }, - { - "filename": "audinite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 415, - "y": 311, - "w": 16, - "h": 16 - } - }, { "filename": "wl_item_drop", "rotated": false, @@ -7311,14 +6954,14 @@ "h": 18 }, "frame": { - "x": 406, - "y": 327, + "x": 411, + "y": 312, "w": 20, "h": 18 } }, { - "filename": "banettite", + "filename": "baton", "rotated": false, "trimmed": true, "sourceSize": { @@ -7326,16 +6969,16 @@ "h": 32 }, "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 + "x": 7, + "y": 7, + "w": 18, + "h": 18 }, "frame": { "x": 412, - "y": 345, - "w": 16, - "h": 16 + "y": 294, + "w": 18, + "h": 18 } }, { @@ -7353,12 +6996,33 @@ "h": 18 }, "frame": { - "x": 221, - "y": 357, + "x": 184, + "y": 365, "w": 20, "h": 18 } }, + { + "filename": "candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 11, + "w": 18, + "h": 18 + }, + "frame": { + "x": 204, + "y": 365, + "w": 18, + "h": 18 + } + }, { "filename": "wl_max_elixir", "rotated": false, @@ -7374,8 +7038,8 @@ "h": 18 }, "frame": { - "x": 241, - "y": 358, + "x": 194, + "y": 383, "w": 20, "h": 18 } @@ -7395,12 +7059,222 @@ "h": 18 }, "frame": { - "x": 201, - "y": 360, + "x": 194, + "y": 401, "w": 20, "h": 18 } }, + { + "filename": "lucky_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 214, + "y": 383, + "w": 17, + "h": 20 + } + }, + { + "filename": "dark_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 214, + "y": 403, + "w": 18, + "h": 18 + } + }, + { + "filename": "oval_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 19 + }, + "frame": { + "x": 222, + "y": 363, + "w": 18, + "h": 19 + } + }, + { + "filename": "flame_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 231, + "y": 382, + "w": 18, + "h": 18 + } + }, + { + "filename": "light_ball", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 232, + "y": 400, + "w": 18, + "h": 18 + } + }, + { + "filename": "light_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 240, + "y": 361, + "w": 18, + "h": 18 + } + }, + { + "filename": "mystery_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 18 + }, + "frame": { + "x": 249, + "y": 379, + "w": 16, + "h": 18 + } + }, + { + "filename": "toxic_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 250, + "y": 397, + "w": 18, + "h": 18 + } + }, + { + "filename": "relic_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 9, + "w": 17, + "h": 16 + }, + "frame": { + "x": 250, + "y": 415, + "w": 17, + "h": 16 + } + }, + { + "filename": "absolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 267, + "y": 415, + "w": 16, + "h": 16 + } + }, { "filename": "wl_max_potion", "rotated": false, @@ -7416,8 +7290,8 @@ "h": 18 }, "frame": { - "x": 201, - "y": 378, + "x": 251, + "y": 323, "w": 20, "h": 18 } @@ -7437,8 +7311,8 @@ "h": 18 }, "frame": { - "x": 221, - "y": 375, + "x": 271, + "y": 323, "w": 20, "h": 18 } @@ -7458,8 +7332,8 @@ "h": 18 }, "frame": { - "x": 201, - "y": 396, + "x": 291, + "y": 324, "w": 20, "h": 18 } @@ -7479,8 +7353,8 @@ "h": 18 }, "frame": { - "x": 221, - "y": 393, + "x": 311, + "y": 325, "w": 20, "h": 18 } @@ -7500,8 +7374,8 @@ "h": 18 }, "frame": { - "x": 241, - "y": 376, + "x": 331, + "y": 325, "w": 20, "h": 18 } @@ -7521,33 +7395,12 @@ "h": 18 }, "frame": { - "x": 241, - "y": 394, + "x": 249, + "y": 341, "w": 20, "h": 18 } }, - { - "filename": "beedrillite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 201, - "y": 414, - "w": 16, - "h": 16 - } - }, { "filename": "wl_super_potion", "rotated": false, @@ -7563,12 +7416,180 @@ "h": 18 }, "frame": { - "x": 261, - "y": 345, + "x": 269, + "y": 341, "w": 20, "h": 18 } }, + { + "filename": "aerodactylite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 351, + "y": 328, + "w": 16, + "h": 16 + } + }, + { + "filename": "aggronite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 367, + "y": 328, + "w": 16, + "h": 16 + } + }, + { + "filename": "alakazite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 258, + "y": 359, + "w": 16, + "h": 16 + } + }, + { + "filename": "altarianite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 274, + "y": 359, + "w": 16, + "h": 16 + } + }, + { + "filename": "ampharosite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 289, + "y": 342, + "w": 16, + "h": 16 + } + }, + { + "filename": "audinite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 290, + "y": 358, + "w": 16, + "h": 16 + } + }, + { + "filename": "banettite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 265, + "y": 375, + "w": 16, + "h": 16 + } + }, + { + "filename": "beedrillite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 281, + "y": 375, + "w": 16, + "h": 16 + } + }, { "filename": "blastoisinite", "rotated": false, @@ -7584,8 +7605,8 @@ "h": 16 }, "frame": { - "x": 261, - "y": 363, + "x": 268, + "y": 391, "w": 16, "h": 16 } @@ -7605,8 +7626,8 @@ "h": 16 }, "frame": { - "x": 281, - "y": 345, + "x": 284, + "y": 391, "w": 16, "h": 16 } @@ -7626,8 +7647,8 @@ "h": 16 }, "frame": { - "x": 261, - "y": 379, + "x": 283, + "y": 407, "w": 16, "h": 16 } @@ -7648,7 +7669,7 @@ }, "frame": { "x": 297, - "y": 345, + "y": 374, "w": 16, "h": 16 } @@ -7668,8 +7689,8 @@ "h": 16 }, "frame": { - "x": 261, - "y": 395, + "x": 300, + "y": 390, "w": 16, "h": 16 } @@ -7689,8 +7710,8 @@ "h": 16 }, "frame": { - "x": 313, - "y": 345, + "x": 383, + "y": 330, "w": 16, "h": 16 } @@ -7710,8 +7731,8 @@ "h": 16 }, "frame": { - "x": 217, - "y": 414, + "x": 399, + "y": 330, "w": 16, "h": 16 } @@ -7731,8 +7752,8 @@ "h": 16 }, "frame": { - "x": 233, - "y": 412, + "x": 415, + "y": 330, "w": 16, "h": 16 } @@ -7752,8 +7773,8 @@ "h": 16 }, "frame": { - "x": 249, - "y": 412, + "x": 299, + "y": 407, "w": 16, "h": 16 } @@ -7773,8 +7794,8 @@ "h": 16 }, "frame": { - "x": 265, - "y": 411, + "x": 313, + "y": 343, "w": 16, "h": 16 } @@ -7795,7 +7816,7 @@ }, "frame": { "x": 329, - "y": 345, + "y": 343, "w": 16, "h": 16 } @@ -7815,8 +7836,8 @@ "h": 16 }, "frame": { - "x": 277, - "y": 363, + "x": 345, + "y": 344, "w": 16, "h": 16 } @@ -7836,8 +7857,8 @@ "h": 16 }, "frame": { - "x": 277, - "y": 379, + "x": 361, + "y": 344, "w": 16, "h": 16 } @@ -7857,8 +7878,8 @@ "h": 16 }, "frame": { - "x": 277, - "y": 395, + "x": 377, + "y": 346, "w": 16, "h": 16 } @@ -7878,8 +7899,8 @@ "h": 16 }, "frame": { - "x": 293, - "y": 361, + "x": 393, + "y": 346, "w": 16, "h": 16 } @@ -7899,8 +7920,8 @@ "h": 16 }, "frame": { - "x": 309, - "y": 361, + "x": 409, + "y": 346, "w": 16, "h": 16 } @@ -7920,8 +7941,8 @@ "h": 16 }, "frame": { - "x": 293, - "y": 377, + "x": 313, + "y": 359, "w": 16, "h": 16 } @@ -7941,8 +7962,8 @@ "h": 16 }, "frame": { - "x": 325, - "y": 361, + "x": 329, + "y": 359, "w": 16, "h": 16 } @@ -7962,8 +7983,8 @@ "h": 16 }, "frame": { - "x": 293, - "y": 393, + "x": 345, + "y": 360, "w": 16, "h": 16 } @@ -7983,8 +8004,8 @@ "h": 16 }, "frame": { - "x": 309, - "y": 377, + "x": 361, + "y": 360, "w": 16, "h": 16 } @@ -8004,8 +8025,8 @@ "h": 16 }, "frame": { - "x": 309, - "y": 393, + "x": 377, + "y": 362, "w": 16, "h": 16 } @@ -8025,8 +8046,8 @@ "h": 16 }, "frame": { - "x": 325, - "y": 377, + "x": 393, + "y": 362, "w": 16, "h": 16 } @@ -8046,8 +8067,8 @@ "h": 16 }, "frame": { - "x": 325, - "y": 393, + "x": 409, + "y": 362, "w": 16, "h": 16 } @@ -8067,8 +8088,8 @@ "h": 16 }, "frame": { - "x": 281, - "y": 411, + "x": 316, + "y": 375, "w": 16, "h": 16 } @@ -8088,8 +8109,8 @@ "h": 16 }, "frame": { - "x": 297, - "y": 409, + "x": 316, + "y": 391, "w": 16, "h": 16 } @@ -8109,8 +8130,8 @@ "h": 16 }, "frame": { - "x": 313, - "y": 409, + "x": 315, + "y": 407, "w": 16, "h": 16 } @@ -8130,8 +8151,8 @@ "h": 16 }, "frame": { - "x": 329, - "y": 409, + "x": 332, + "y": 376, "w": 16, "h": 16 } @@ -8151,8 +8172,8 @@ "h": 16 }, "frame": { - "x": 341, - "y": 361, + "x": 348, + "y": 376, "w": 16, "h": 16 } @@ -8172,8 +8193,8 @@ "h": 16 }, "frame": { - "x": 341, - "y": 377, + "x": 332, + "y": 392, "w": 16, "h": 16 } @@ -8193,8 +8214,8 @@ "h": 16 }, "frame": { - "x": 341, - "y": 393, + "x": 348, + "y": 392, "w": 16, "h": 16 } @@ -8214,8 +8235,8 @@ "h": 16 }, "frame": { - "x": 345, - "y": 409, + "x": 331, + "y": 408, "w": 16, "h": 16 } @@ -8235,8 +8256,8 @@ "h": 16 }, "frame": { - "x": 412, - "y": 361, + "x": 347, + "y": 408, "w": 16, "h": 16 } @@ -8256,8 +8277,8 @@ "h": 16 }, "frame": { - "x": 357, - "y": 363, + "x": 364, + "y": 378, "w": 16, "h": 16 } @@ -8277,8 +8298,8 @@ "h": 16 }, "frame": { - "x": 357, - "y": 379, + "x": 380, + "y": 378, "w": 16, "h": 16 } @@ -8298,8 +8319,8 @@ "h": 16 }, "frame": { - "x": 373, - "y": 363, + "x": 396, + "y": 378, "w": 16, "h": 16 } @@ -8319,8 +8340,8 @@ "h": 16 }, "frame": { - "x": 373, - "y": 379, + "x": 364, + "y": 394, "w": 16, "h": 16 } @@ -8340,8 +8361,8 @@ "h": 16 }, "frame": { - "x": 389, - "y": 363, + "x": 380, + "y": 394, "w": 16, "h": 16 } @@ -8361,8 +8382,8 @@ "h": 16 }, "frame": { - "x": 389, - "y": 379, + "x": 396, + "y": 394, "w": 16, "h": 16 } @@ -8382,8 +8403,8 @@ "h": 16 }, "frame": { - "x": 405, - "y": 377, + "x": 412, + "y": 378, "w": 16, "h": 16 } @@ -8403,8 +8424,8 @@ "h": 16 }, "frame": { - "x": 361, - "y": 395, + "x": 412, + "y": 394, "w": 16, "h": 16 } @@ -8424,8 +8445,8 @@ "h": 16 }, "frame": { - "x": 377, - "y": 395, + "x": 363, + "y": 410, "w": 16, "h": 16 } @@ -8436,6 +8457,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:d91a46c431ace3f09f5ca68916a2171e:1e84369d9a13e1416fa58028d629d116:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:22a2cc3d3e531d383cfd9c9c6d0ae90e:cf2116762e9ba52acbac985ed04a7bd6:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index 191766f520e852149c71b728781f7feb401f4514..c510ecebd147b619feefdd0d58cd80fbde7d4170 100644 GIT binary patch literal 57986 zcmZ6xWl$W?7dDE!1po1 z6clt6ZH@Pe8V(+Oe0)z&PtWn^{&{0yU|5)+J32Xg9;+y8v$L@K2c+KL-0JA--kp{1 zY;V`p*7o%DK5m24)6({D?nWm^|JEsiz=4ks^TC0EbDO&gsBL(q+~nKaQ_oU;GQwkbHY%WIC-P@8;zh9TVRiF4{OSv3hWQ+Xk9sW!zhX zW&gY1Lg)_cpO(}^G>>ZI{WDGGPk@*B~7*?=;rot$9n@TCM%fT7Fkpdgltg zPm#D=5{0GMe-gEQSFRnUSDoOYkYSbU+A^6c^LDQKwD8O)r=+Up_x4>&$ea)7&`HSe zlV90@m++FJ9&3FT@d!Cd8_$LN06m3w1x;@S$i&}4>%0r!<>&P`S6vr7S^4}k3;+c- z*01tUSG-ecKO3uP=q?aoy*|~ZjaZTR;BdKcS1@wBl2Y~;VOI}gzwDL1pRP;z3@sn7 zdG%}dX}RCOplHai(aJNi$#!+pF!t#&BA~cGz4d|DQ*iew+nw!VMNL`MPIG|ez}0-P#tt$%T?5H3_d+V;;9~z)wsRV*?Fu(S1!HV=+*&o zi=O=RBYGz8yMA0z@@-h7{7v%j?yOBiBb(sajn=u@k6-PskCrXUc5ZKp+FDHwq=D=_ z`hIQ5yTiNu4Go1UYpsTdh};;-VjNe$u8bdEjLv|SBI`t}8J~0>>iAk2@acCqJxY2> zvJ9sRo>;419(rYJArgkrl3CW9c}uCumoHx~i&}&ayeykc&?d(1pobp#uk3xI;doAc zypOu?^#1z*cZG!IGjZc)So?Hmc4Z5{>t=%N?9^)?NnDeTTt68svntzt-+zy#;HVN zU|U+0j+JI3^iD}nA)QP-OZd`2G-iC}y}(MK%;$zYJ6e*etefSlyCcG!vH2Pc=*sQN z)stAI9VW*8({(;o)Z}~1ea&hD z!S0U~KF$?>0y#Y;?>M!{SOkCSUv}F(uKPu}^?KNiAB|Vj;qd9w8wVHnAIh3n$;EX3 zqu`r2I;?-WBqiZO=D06jbmD*LVjeqvdZIdd|w>~E{M6s<@yTGs|(7ISWRWgd- zp%H03MBYo0`ushU;b)C(?kKG-+Tj2gx47=4J&uWxRy*S6>%9M1StJ>9Z*8N~obfY& zmNL0FKkE8G?d-;!%jRY}-`K>z?{ZJEx)=Y5X}4@U44>(D04BfxK+@mWJ`VC3xS+d- z?$Y`4JnVqM8j^{X1<1fV=+5A%iLGDz_PxXoP4&9*X-1;R!pG41^Ss_DE-B_i8hiv@ zmZ73fUv17X7v~pRF5p!PImsN_3sR)sJy8=LzjVmphjl=0R&QTlL!-ZtHn{@kr|fXU z0=)R|s8I0JZ4nKBPbaNA2f43UNbL^qcQk1E(FE0-POjdKD<4$ox1)*VU!6{+15Qz> zK!CYY!2RUKeq#Rsjj%Bte7AzJ`i2yW%=v;^Zsm@cnzGb_N~82zlh@f$_ogQi#cQZw z#{rbpI_k$qxE*k#IpsIE|qF}U+%0v5x$An?IpJic4dpO2xt~?+8HN4m>7%Ti+>QHu^o4=krAQq=A#&! z$d{2>ac4b1Jr%^NZtEv0m{wte~KiJ#5;fIEJdJ^a~)WbouQ=UhX zQnCd2MobEF9;kdu+hwG@AIwf7W#s(C&KP61Uh`NS7$q>qtuB%ZW>nI#`zE)BBK!f# z&y7ZjjQ{ORfdb52R?|;r(-FK`SwGw3%Lg5%|C9sYRaI3ie3u4v_e27I-=g>?(B5s0 zH-Di2af@c$>98Fxa5VuhDU_Q5{6>3swh|mXc`tExMjrTrb0`CgfRYbO8hi1Ldbs~R z>eTcQzByV|eZ&&UKL*~;*Joj1M~9)dtNR>NO{*X~) z&wwLfDVjal5ifog61wT9V;-`vo}kbBf)~CDu!cO`w#BgnwLkRi{$!L;nl9t58b3e_ z9nDtr)6kh})-g21uPt|-{sXAkYy4KXMlI}2iGC@sB4Xoa>dWnPMEhwmbpF<}AA9dO zIg7AKmf_b!lVGlk4oE=e=^c)BBfCs+kID@~S8s#R>fts6bn8BdJ<&U`QmcMvG;Kf? zW~h~w@#1Do#0gPt1Dnz|C5ihUob2qHWkxi)xVR`E^Ub8$V?#-S*CK{?6*kL9N0dk; z_@D~QtmI^X4QiOzassFDby;i%w<6Qg(LKuHnK^84(-Bahuqj52oarkm>w$wgoY6rH zO}ROFYfUMNjI&!t_ZgR;OZB)(nt`=PeR{)QIF94FBySCFi4m2<@oq^YVtxE5gv`D4U%$! z#}5wjIx&zP*}~r)&J`p13C!Q;8O$%5f|lPNn>ZR!xKzSe{CkOF-Vbzgy?N{45DM2e zBOj9TV=-j0EUNdNJ6FWujRWWzpwQnJ*ad4dc)$f!FMfs;XX(EX|<=;3iBm15E>d( zFId0miSPFXTalbOgRVr$>hT_Q6L$nBqi=s|=csi_UeJ9|E(<=HQV-c@H{dhqK*=1g zK=Ea)<~1vb4n3U>besg9_&=&?*AJ^Jqj9-YQ}c1TIr7RF=+xJl)?S2I5@4kBrvZLZ zhZz=ib5ZD;I|GRlR+*2sgjP$uOivWI`rLKQ4HldPJ%3U^EJN4me3!ln=NM5?Kl)5x zg|8-|8=EC%T1Z`y|K_|q=mU(j&%ZZ}>;1m7JxVqGNAPF;N1pcrEEG&q*hq2x#-kCS z7HUc@6(kDVGr`&!yjtkIA*tz6l|jj$;k#T^JX|9Z=+$R`be%M@NSs{D*^PtrnjQB) zw5szXa{&!;-iWhg*D)JN8@i#CpF2iY~IhyJfKa}n z){<;B>q#IkB2%N2g+A>VZ8cM9#NM4DZTT&Sy)Mr3!||fV>0+|rx;-tW{kMs9fd{pJ z{zx3n3iF5EK%&$g^WRdOA9vW2kkGv4nmr=#D5&-Sq6$%yV%->L!HmHDxvO~{lA1qm{u{Q$|n`)S*`ukJ_!*t?b2?8Ai1n$XHq6m?TV zCq)R#{f?QYo*Uk17yjcRST`}Uy` zxG)9@&Hi*ee%A+NhlZr5jU?&|TI7r@=J0?=T~$FGXGs0)w{etoKbQ20WF`)ArfHLUXFr9K*`2D5R1 zAKjh7ls~Jm4N8)zL6drkag~czQ-{mJk7r5g01?9(|YO_{W7D_tWGY!zg zUH&>64K}RK9LQJ;ce8hUDcBGjr0a1oi>3g(JL8GmF^Sy-AYXqf$qg|=OexFTd1b%M_Uf+HH79=v7C$%ud?WP1xzi4L4tK?kvP=46PFw8kF7nV6Yh zAkOt#pJHI*m-#PndqWT++p~z_v;hN4;s^K^xPJ5zEv1k!Lj=fKgU8T6%KZB$39{%x zE5hXMp4iL4NuN5pE|<^pEG!Wm@xBCmVR!Dd?;UI^ub%RDss-QDLC$}mTzU^I(Mnt% z%UJajXwTYN@{RrwZG2T2+CLs%KmIM;+Q|1Y*J8lt)Dx!?O_G_=*L*1M(!O9anp|8j zMDcAjk>9W5-^$85Xdh~kuX0#iGO12vJ}oP4PI|Z2D&tM9BWM}_zR&yKDNWXihC|t# zrl?51gWn;V_=91*p17s2##5LV42{Jj6EXkio3s=2qq%9 zKYIdEFO%tvhW{3AaW(4_$0@kHppMo{W7E<#mp32a6m~Ujud}?lIlE%wVo}P4iL#V+ zvh!@8&M}t@WR`V{4#-lve2Q6nsRu5o>XZSa^NvwGRUd*J*^d5&nrw}ZY7D>_{{5|5 z@IgJ;bw$A{aauw+y_1vmkrHE`+Qg(foqfgd>=$Cd+bS(O z`OuHMZxX}*R^!Y~gm+fw?&H)R61%7;E^O^~fwdOej(Nl`V-ClxT+^-MXWMTtc|8|- z8`3mqP zY`2nzfgF;_f!?(CWx3Dku8QRm@@2mC{kc}8R4WY&fD|QotJ&|Y&SdF#%%upOq(`cDZZg_ZX;4)QU<2_IwrEtToo=0 zqTt4cru13A(IsP2Fr5@UfG3gtOPRymima!sKFm#z#}B2&)LjYi8oL|%z8Y0L!xn69 z8mJYFSMM2hE%R_LxHD5czz~VBY|p z9RFN%r8=}nD!@e=I)X(oY%oNTB33@a((7}y*c`{r_4rRKl>(wra)++{AeuM0&u$*w zwoT;Z;o+g%E$H!0GSF|3q!37sD4@FtGYn2MELru=A9ku*ol)3&4Xc1vkC<|t8Rz1@ zuEfA>%-mBH@tE^Xv-TNcF=N#X^T$Ey_jP$9Tdy11-&gZKNMv@C@imiEOJ%rR%h4LSPu zLcCAbF=J{*(o^c|c}@5y8IccNzFY05N=KJY^ILB<&OF_iN9!sbOh9=wg_#yTEx4Aw z{aliKe1eiM;{)sqR&5;B;tYLJtF<_)smf#y{l#~_gHwTN2!?+A;f&!5nGMV>^(}Au z|LywDIR884oeStTCh)PkSl4)~NHOjI)zGrY^H2CRibsiy*2qB^6W36x@78ioj{h-@ zuzA#^r;S*$s+lXaoJvx3GcvUI0lUwGu}l;wm0}SwNlg*OiW9TON(Nwyd_hg;y2r&U z3ftqq?uV^jUypRD77Gbb1>JHy7a#9}v%ID%0z5!pkbMxbVZhE7J2*F^IN%LP1wXZc z`k;Tk?+@|~Xfk3gTZDL!qm#8n4&|5NU`){qrAEL5?$$*=%|dJWxBHz5H&>5YnUw37 zguG__xW89|{51#hfwLjWtz5pN>qRjQ{o+tyAMS`M!Rw zZ}tV<`BXI{E-nso8~SR{5fR^RE{0M4q)P=xdd=E`D)9@FDZQn9}1IRPQB=Wpp^o#Ed zf6dIyw78~FerQw{tnYEu@(FS#SFkY`Q=Z3y}%0A-{e@_E3&wHsrlYqLj2-T6$*Tj(55 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 literal 59627 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 X1m@~7!j6GBz~zy~6ZIN3n^*q_+l|+J diff --git a/public/images/items/ability_capsule.png b/public/images/items/ability_capsule.png index 06b6b3e173d30ed3e2c1cc04c7e1ec5dbfd8ce93..ee8aec6b34689dd9a70c73d591997bfb6644c3d0 100644 GIT binary patch delta 257 zcmZo1hFJ8zonXn=V8Fvtm0UFO@WcQ6j|S=#IWenVewUHER=_@ wJeg@vxX-!%WVxm(O@<=tx7W=1^;}oo`Zdd|a~syZ1v-Gi)78&qol`;+0FI-22mk;8 delta 240 zcmVnU*r;m1%vlPnJ*;5D;?B`Ae^%;6E^87$g#jL{bo?6x7hYczkVHrpbUY4!j4V ziwGAx0AgO#V7YT|2my##`40000z@UOk` z?f>U>-H-k+d-;FG$8TGH{lE9%=KpU;|Np;w>DT{npT2!IWEKZ%5GV=q3ugF_3JwHx zI|JpWdAc};SoEHqvILG1Wl;8Kw9JbZ%%Gqz6caM3_!N)%i2P}E?Y%5_T{Ee&@Ymi?LPeeKSnZ-*z&Tq$*LL-=Y@n`qf7 f@s@Id596P+mG!e0*k_8lfqd-g>gTe~DWM4fzBP@M delta 542 zcmV+(0^$9%0;~j(8Gi-<0047(dh`GQ00DDSM?wIu&K&6g00GQNL_t(oh3%HTN&`U@ zg+IkY3yY|QDTG-I#faKlNg4|qEi6*`0LDgA_z+^FK7*YB(IQPql?U(#iA8o$BoV|w zlwA$TSj5?EmPB^5ZW=u>%rXOW&OP_e?1g{)bqs_(KnS6{YkyM8(C7Llx9V1#0IO~( zA%yBAEOK%;%CZ!#2rZy2OQA#z^(sJ0IgnUPC@lscU&t{nX8V)>PSCm6u0)=OpM>}& z?>PnCu3ujw7DA}YhH4w<4W)z-N~s&AUQc~nKiCWT*_{c%b*(va)#l#Oorz(r1v)QK z#d^sB9zR<9bAOY~IXz?eehqy);3ZFu76Hgie9y5gw=O3lOM#C3-dwxM_kWfW(cA*lydXVe04*oNkb_SL z^p!HN4gfF~cF|6_3oa;mHvvir(YBB;01jnXNoGw= g04e|g02c@V00000007cclK=n!07*qoM6N<$f&nq;*Z=?k diff --git a/public/images/items/abomasite.png b/public/images/items/abomasite.png index 09177d97a44e3a284a6a9ba561034d7c05057652..0758786bb0f06dd4340d004c0eb49288c277120e 100644 GIT binary patch delta 226 zcmey!_?dBnWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DP%!MN4q7@Td+pIF z*S1c%wzp^L`*ZiM9liGb|NsB@FHV&ND&j5)@(X4F@}Z!%toABUIMdU`F~p+x?Ztz9 z2NXD%FK9L^{r`WEdGg&g-euda?=x{(|2q1Ke^gp@w}eGzz*Y$c!JFW)fDD5wfaSSRIKynODGyF++_lBf8s>%p@->;D|vX7{j?!SEc@ VCkNq2%Ye2rc)I$ztaD0e0sy`jWx)Ud delta 224 zcmV<603ZMJ0r3Hl8Gi-<0047(dh`GQ0Jup+K~z}7?UgYKgfI|AJxZ?NRlLR?VXt7B zE2OmC($dy4rB~R}GV*0dh9R(xKg+^A_z*<+k1>N?=Qxh@uY?eaPV?d+#WOL_WlZlj zA}Byv%&$-80+zg=&qah@F05O=&UA^I07^9?al3$&BmMZiK3M_I7RnT?fR5Y)D?t-@ zOv_gZih!&eg7vc!8oW!r2enDaMo`LYQ?QeO074Vc5?Tc15TTcA2`wV!Kl>*%FLoTq axtjw~FOuCtHf}ut0000A(G+q)oGTq@-8B^>*H}b+-M>GaEz1Sh6l9iWxRKZAh;b&|h$)iH~QqqrmS@ zmL9!8hT5ZY77Cgid#sXjGcK<0ymKLvfoqat+}EF1-Yt^fU$`d!mCb$|rd=6nVvay7 O89ZJ6T-G@yGywn^a$Y?E delta 217 zcmV;~04D$J0qOye8Gi-<0047(dh`GQ0I^9#K~z}7?Uk_!fG`w99VN3^I)W>>hNWdn z+l=4{X)P^X!O}8vfyfa8HvWk4AAA%M?&VCdX%t0K{)#as@Kg`(2N&k$2mseAA_zd3 zbz7Xox}WiR5)lvQ;A#?20xa>mKnlmS-E@Bf+~0QG!~_udBq1W;X_Mgy z<`N9v72OA=CQ=I`;iVSxCLn-QASS>PEP`-|cyv)TD;5PkLpJ-)B3+^J7tehXiZI?s@}z2Ekqioo6XMb?gS|LVA7;<#r6oCbM=} zzIeBkwN2nNS9&n4DhFEwj#pSLAkAve7+{$Ek{8jr8P l?EV|bSnzlJmaVson|GOIg@}2~M4%@aJYD@<);T3K0RU%?gO&gQ literal 1034 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U}gyL32_B-|NsBLCw>H0 zuWeXyO{HpiKV7|B9QuX-9?FTy)ngzrA1~%dzcD5_xd&Ex{b4dOZ+prE4Q=YDVF6*2U FngB)Wg;)Rp diff --git a/public/images/items/aerodactylite.png b/public/images/items/aerodactylite.png index 1cf5e028d6fbbb100966d3437d14c40d56c650f5..4feb04f3702bd30ac1dd64f20db753190f2251b6 100644 GIT binary patch delta 235 zcmey$_=j-Wmg)WTPvenwhX Z${kq8bYTxuVGz(-22WQ%mvv4FO#mOIX0ZSO delta 228 zcmV=K~z}7?UgYKgfI|AJxb0pN3h&$Y-ww0 zxmQSOxuw@gxmQTJB`9U)iQM+~# zLBTs0E?ecC*H(^9&!s&_+$40l&{g6{Kuer1Amzx5K1~9_ypIw*giOJ87w9S2Nk9N``Fbm%MNlrMqHDQ5ibX`qFZ(BS eFAjnrIGZ25qGt$_YsA(7000070(s;;h{0|IN8 zE?s)`=+SfM&Rqk6|L@# zx=@wRrZKM|;h~~XfuA5V>ycK*vvP)J7IGEpHO-cC1&K>MZ~a~wnp*hk)6YojN;y6w Wrq9;g{7-?_GI+ZBxvXF delta 218 zcmV<0044wY0qX&f8Gi-<0047(dh`GQ0J2F$K~z|U?Ug|a!yphva}>|zRlJH@mpz7C zmtMmoO!KAFex#61#!{FEpM((j&q0&pa2&_^S3(HF*+H5?roqmADdMiQ5G}<#LwfDS_ag1rU=dtO6X}h*PVCnLw@eQo=-FjPaJh z5nLr$0PmXagKv}2DVUxDp29i_2p}e_UnN)s<@!}LEoTW9(ej`D6SfySj^o_T6RyUE U56Iu(UH||907*qoM6N<$f_Zsi$p8QV diff --git a/public/images/items/alakazite.png b/public/images/items/alakazite.png index 02d8ff580f41e2c450df5a2d8c95ce3e9af742e2..ed6acab02ca19f083c812d5baa1a6082a886f896 100644 GIT binary patch delta 230 zcmaFE_?>ZrWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DPSu@#2 YKd_IPYn$TNNT96@p00i_>zopr0RC5J{{R30 delta 219 zcmV<103`qS0qg;g8Gi-<0047(dh`GQ0JBL%K~z}7?UgYKfG`Y2JxW)vU_1Z- diff --git a/public/images/items/altarianite.png b/public/images/items/altarianite.png index 8d2436bc24a76f8bab78914c8e6fedf9dd183222..0bb6be2381941f3659527d962df7826c0500e9c3 100644 GIT binary patch delta 225 zcmaFD_=$0XWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DP{_LazkBbucWdrF z+k0=yz5jckeS3EF-m_=V{{R2~?omq@P!V@YkY6wZkPij5WwlpgA0>{uUcvh;Z(h-oe=T>=46dr$X1cTrSsN6+#g0=E3WfWQd#ei-=QE&E-jX1{UFVdQ&MBb@0GTOhvH$=8 delta 233 zcmVPBw!$g|n6opb5kkfP|c75mo$RdAIA`2{olhk?3IkuacWho_5Uh(+(+OQ-o-6?j+z z*k8Q_%*5d9VVW6WJJYD@<);T3K0RUPhYd8P^ delta 277 zcmV+w0qXva0;K|w8Gi-<0047(dh`GQ0PIObK~z}7?Uu0(gD?<98H3U-Wk$#vStDa) zjg%?VW(2R05h&AMbeKcO89|Op413ylSM?$33UjzUbjRcVCQz5dC0U`Jb*3AE%_wLImC#CMDe@rHm bDOF#;zmH^{#||ni00000NkvXXu0mjfc$Iil diff --git a/public/images/items/apicot_berry.png b/public/images/items/apicot_berry.png index 2cfa66acdfa66ec4347db53b2de05488f858e782..4719671eaf39dd24552bcc6eb3c90483046ab669 100644 GIT binary patch delta 266 zcmZ3)G>d71WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0R)9~4E09)DP^eClh-y|So@3a( z#cS`qtg~m6-o2}~^lA>uT9VbgcgmV)N3XtXTAMiusG6@N$S;`TKQajSx-9~fY4LP% z46*2addX9$L4k+G;qbiH|Mk}!>OZC&*v)tRrB`6f;~()3o8LySE_G)xUE4a9apFDJ zY~G`y3rfWkLng>FUf^ws*&}Fn;6O3Uhdqr<$0CY~4z5r?p_ec-o%h{5Ls#}5K{3`$ zZjRUj&ZI@67nUm-J^a>uL9}P})I%yeVlDUlot6KL<;6a>iz`DLfbL;n@O1TaS;y>@ G&;$S+J#$q6 delta 274 zcmV+t0qy>p0-^$t8Gi-<0047(dh`GQ0O?6YK~z|U?UkVp!Y~+w_ZY~&0+LslL?S0^ zk&}~HBoc|lP9i6;rQGYwlL4pE@Yp*B4StUFr z064%9P+cMS^*I5R74QN8Qg<%}D6yMNfbUOheSsL95&&FXK*Cb+;sU?m6abVGDgyBe zxk>??)djZp9IioC;F|=1JlSFblt2l~NvOkP5ebaT6^i~L<259_`tLc_D)5$;7OlJi YDJv@B{y2Mz01E&B07*qoM6N<$g1|s@i2wiq diff --git a/public/images/items/audinite.png b/public/images/items/audinite.png index 51fdc9310b09a9343d5d7528450310fcc479ecca..f7c21bf8e3b66d20ccc071affb4fb16bbe2f4b21 100644 GIT binary patch delta 244 zcmeys*vd3PvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gH^3*v6-X;6DD2IuewWq#Y{`;m zd-r}jyZ76cqwmfh{dV;1w`W(sy}SDV+tvT~p8fy-KWQ&Z4NwDrNswPK1CWmdp7zdL z29(P7ba4!^=zV+9k?(*42aAJXRCKQBzyEiddd)X@o_|-WF1<+e?H|sJX{G09Bs0Zu zJvuAH@jz>nknoBEMuYEByP3YI^JJV;WGe7|$ed{BqcPz{$41A02dopNUH&z2s_t#w kYrEBBasT~@Yu1Hw>%X#i{ByoD8)z?sr>mdKI;Vst03P^tTmS$7 delta 223 zcmV<503iQ`0`LKl8Gi-<0047(dh`GQ0Jlj*K~z}7?Uk_&!yphvJqq)Ag^Z9jJVIJZ zN=n+4l$5j={wYKk+mRa|k)?am7s$LYMaj?@tOJEA7>DbI;ILnV#`q{Qh0y`0njJtSD9?WF*sGFXMRfJ}{kS3*so#BeB~ zBLLnK+53&emq0`J9_&maFN@CUe@$UM2?!u6r{73O5!`{2^vk7$6zS!EdlQBi8-`(= Z%?l?UyjQ=!=&t|(002ovPDHLkV1kKZWVQeR diff --git a/public/images/items/auspicious_armor.png b/public/images/items/auspicious_armor.png index e3620bb605435da839a0e447bdb21998b4fda3df..27c40ae0bd0c369443170dd44fdc79aecb857a2f 100644 GIT binary patch delta 671 zcmV;Q0$}~!54Q!7B!7fyLqkwWLqi}?a&Km7Y-IodD3N`UJxIeq9K~PLN<}ITb`W*Q z&^lQV6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u9b5%L@B_rr$w|>gO8j3^ zXc6PVaX;SOd)&PPgl3hgW?%wPHOojR;$kkpDh6K>!UzJ0Vt+_trk>0!X5l%$?&0I> zU5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK8023?T&k?XR{Z=6dG3p_Jy zWYhD+VPdh=#c~(3vY`@B6Gs$PqkJLfvch?bvs$gQ_C5IvLj`Rm!*!aYNMH#`q#!~@ z9TikzAx5i4ihqeT?Z-X*!;U{iE}2{vFmf!Q1{IRy2mgcL-I~RzNjE7J2YOy?`y&bj zcY#*Jw!e>UyLAHipMfi_9F0002ovPDHLk FV1i_aF5mzF literal 2013 zcmZuy4^R|U99~8WI5NRhEX~zzgU6Lk;h5CoZ6V7HaPC#v0v6X37yt>?c&khpp=H`iH^n~ORX$s_szf@E}W z*|a1hzIf)b1)=qOm5zi9M8a>jq_2w$-)ix<|9JG!$+oJ;ygp-QTK>IR>=c{#dyQE?=Lqc zohiaoAF28F)Dp+W^cHr0;GN>%92-vzJhf}iXP34)cO^|~ta}^nM6>sm9nU;B_1?z9 zm5==G+Sj`&S=XQ0m+{9718v=LTka1{{v-85N5|Io<-6)nr5~F-E9L6qr5|5Rcsac& z^U-qO&t<2YR<)+Bopz-`+}-v2^6g2@>vnP-Cn$?<==ftV3`~A?q0i4C?;g$`>fAFsasHQUs{YzDg}YQW z)c!$F9dc@h9IEWu@F3IwY|nF@S1%o$^2+_kh4VLT2j|>{pFPc#U%ujP8hprZFW+3= z@yVpB%CFzpbN%Yt6X*WP9=w@9G-I<{*_(`FAHhwT54Bpn5Sjb&P?y9 zs5tL*?sy3e+wBk%5)-DuhfXaiD!m=MkPlAI>xQ#Qvb{2hAj$V>cO0^9`*Z|}zbv{c z)C$L9mY4i`PLSL{ANI=-jUd?z!ZOFN04nMRUNKpd^hnx$lMf*wx zl&&mt@heyG76Dr@f1)ls%t8h~P&qX0_XUD%*osAnS@^C^8!$8iQCC>83WpQTl@x%| zdRkB5d0{a`VUPqxvlYR^me>|WN#MweRjaDZ8Vt3ywfb74UQ)aU(qgd~2+BZFI7HyV zx`4`s@j!6)C`pvY27q&zOEsz$gL#Z5=$9RiG4?<(ssmKS5awh9sV5A6 zzm|0b9aQr|FgTja9nnEooeT^mASl%+Jje@yfI2%CF7RWqa*g7PR3Y#N-~)aL3&PdN zv8D109L_PcR<&33%aI7E@EA%JJ^yL*zkIYWk@RDW!>}>F{~=>_YCtFkYm@jIEuR9L z71I`F1&J30Hu6dt-6UsryKy7WQ#j3-DV(9rJWf(VmdC^sCLr)Jo`OJ75kM?{i6TPlalY~SXgmVsG0`4|&N7>E zh9XQjZ84HKlf@A@ZDx#+nX!<7#!!K07fFhrgIgy0IWI8C0WXGX%CZZc1y+pG6Vaj5 z$Eh9&h5i-;f>axf&bvfEC{;O4I?|j)k)(++TL=?LP*fCA29zN5mPSSrdWykNO?eh3 z4<+O@+riLCNo=kHI8{!|*AF$ht0k&}Q%uE=>P1&@!Lin`k; zq7hHB96!2LkP86;i%#;@T)+$9p@n`Kg^73C6OZ7r7y*ZKln3B6;7quiG?{S=Fq=RY zLkjSFEIufC)LKpf3%#&9SOm03qzE)4s@t3xvbGv%qClabIdCe=MUt#Bi={0XY8Y2X zwn00T<7>+{+)0K}+_=L$+9)E?uv5ShjEglNZ8X-vKmZD$!1mPpTE*|MwRIKP7P^=v zeI;imABO*UQ`&CdKAb#l%YnWtbzL`fIf=^)N0Oi1@bJ*4&iW(s);}0pb)=;A;iGHT zh0}_#^eS!bWu^gwf(yy1km{_L531IL;^OgdaReAhRB&iLn<)5FOh Xj?5hHk@|LMExRDE$o5{&^7?-P)5qQ> diff --git a/public/images/items/banettite.png b/public/images/items/banettite.png index 20704d624c237ba0962d7161b3ba9fcfd1589a0e..b6bcadd72fce4380e32f5f9a2cd367da9ab47681 100644 GIT binary patch delta 230 zcmey$_?>ZrWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP;hc`3JMCkH;3c@ zIm!Q9i?2oXyua78cki|DQ_lVW|39{<0H}Iw2F`?$c+z#G}H3}>q&o}i4&;I!6%9o#!)}?Ys W+L=y;^ET;&oa5>0=d#Wzp$P!tJ7d`Z delta 228 zcmV=K~z|U?Uk_&gFp;LDOrK;X1NirWR0vr znKElovH~R~E2K>6#1=+BRwNpHD3YJ_1wx4bu5^e%Z zKO9Q92u#zmOYj!75-7m;x~_v?lh7%+?gE^GodgSTT;ASFpa_@iSJAZ`B~V1mFZ(A{ eFAjnrIGZ=_$X`@UNmqRU0000E=X9p)m7b)?(q|hS9JC1vJ?|WbFz5|4MnW<(+ z6i_wGNX27fHn$=MUeQIfA48asn5iey3mJHhuY36Teiz|c-hXv}j$S2iGQcMiN11L| z#OuT}o0iUbpE$%yl0tk=JZ{hhi66NxyZpwv=&-;uLq;YwM;sy+i)}2oF)JA=@icK* zQ8mgJvMwu}w>YciDr?@8zc85BmeX9PHG()6kw6k6WK^+%GAu-B*GMsuqVt%Cf7tOS z$t9C(1B@K=sDD6(pURz9|O`+yXtTZr_^cIDG&z z)T^Z%;NTD#D^m8F$Gf}R`}S{5vwuIgT5`hT!J>}<0Dk}*P)t-s2mk;jB_($v9-B5P z)n7*QdQp0YinYPT-RbQVZdv01000SeQchC<|NsC0|NsC0Hv*f~0000^Nklzb0000;vxAeOiAMub+K6bnh(m)iJ;U4MdH z3b{7G$T5#HG=IphAN&n|cWdRRCcUJf1a!VQ&c`Sa*ahlU$N4^Xocamie+I7froUVR zWSslwHYBQ^@Cm_cMB?EHH2j^sIWlHTH4(0Hmp_ zr5oVj5Ev^^_F9{JcenQT=RaEdQo>G9@Sq) zdWMSK>Fu?_#hW%M0002(cB3Nz000SeQchF<|NsC0|Ns90Q%`sj00009a7bBm001r` z001r`0jlENk^leza!Eu%R5(xN(Mt}%AP5A|5wLpy6BiRx5omh=*(j42zvw@88~{@M zgeZkFVOju_Bw|G%sfjQNE~#-B8$cQdvGw4_&56AQ6SIrvI19SOE*yx$gCGLX_h2$7 vjbI3Kmjn#)4OFc6N`Zd;oV)>3M}XdM55FECB~e#>00000NkvXXu0mjfTdNN$ diff --git a/public/images/items/beedrillite.png b/public/images/items/beedrillite.png index 3dd1444bf767b474e2854dd28fda1172b0432114..99e516446d7cdf1d8494c47c4d9a839d180b8019 100644 GIT binary patch delta 243 zcmey)*upeHvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gH^3*v6-X;6C|FurMnxqxXDLjn z);zm}gw*jd-vWu+Wh}n_tCx2-aY&F|NsAlaNQ3;4g4iRe!&btJ`#A^J8v0K zD$CQwF~p+x?Ztz92NXD%14??T&kUfo44$rjF6*2Ung9c)Y)b$D delta 230 zcmV4n$IOl}Zy*R}z)5Xb> zj^*1$q!z~*Me2CO zKnU}ugo?m3FK>x)Jby{B0RB}y2dzomZwI~d))dy0fB>QUKwftvq gLib|BFpRx<0p&As@ybpL`~Uy|07*qoM6N<$f-Ws*6951J diff --git a/public/images/items/berry_juice.png b/public/images/items/berry_juice.png index 127fa458906bebb2c3c9ede5314ee6dbea6a2a07..2f6272eca7c9f0387a376a3e16a2e959fd7668b5 100644 GIT binary patch delta 287 zcmZo;KF&13u-+iRC&ZPXfx*zwFe+OhIY_am+NouV)zT?ZYxgFfYw>!&xA@%NmaW&8 zp1arb?An}X|F6CO|KC;l_$CGh27!_wzhH*{sNg_Aw=+;~rKgKyh(+(+iH<^t6*w4J znbbIb{l70Z>80weFY|0G3d#eH2gULHtN+Y9?{CA$kQV*ZO&mftci(VE`5!WmIBn5__n5;;e7P(JO0=9{-(oK;>e`DntF6#u;AHo3E_uv0#r>D0(Wh|5Km?$DS|! g``h#-vj1k;-RfXF{KRTyH_+J(p00i_>zopr0C&cXGynhq delta 350 zcmX@k)W$r)u%0E|(btiIVPik{pF~y$1_pxwpAgrmY=N!UmKquwzW@I}IY{x@|7+*& zwJeSM-0T8XP-+AmaMHd5s^>#XsU)us-%o!->o->r3xCoMYpy^3H85aWHe?{gt6! z$oNRWoaOJfqX$mw#yIVNpHbP0l+XkKr%{|; diff --git a/public/images/items/berry_pot.png b/public/images/items/berry_pot.png index 5841ef1c3240040033e6d8c5adb16d6c3d3dcdf6..3cb9b90dc53685d3a3fde8d6d14a6690ce24c95c 100644 GIT binary patch delta 260 zcmbQtG?i(BWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP_Rr=2+As6Q|%bk z?U;4cF>B76CEuE-9DR58-M9b$|62*ZISo|DQxfDC%mC!W0OyeaHK2IAr;B5VMep57 zj(mp|cvv>duJHZ$|9;-wHn&$+-^=)FIWpZEgtmWc=h$)8dWG-{NyCXDb!m+);@TW? z2afy1%P3asoO&=ZHb z!}*)^yXqG%Uv3`Lb;|taw(Bm5x=m$gF1@|*SHoZE0c%Fo)U}~NH!*m+`njxgN@xNA D_Azrt delta 258 zcmV+d0sa1!0+Rxe8Gi-<0047(dh`GQ0NP1JK~z}7?UpeP!Y~X)dz4&*F<0mj7_%}m zGO{uk}RRA^zd^6Un9s@RRvHDARIKI6X%ysGj<28QFA+@o_ zU_)T@-NzWu*In1(aJbdJUKjR?oP+=yDoT`t$2UfJYX3$QZ{*8l(j07*qo IM6N<$g5ND}C;$Ke diff --git a/public/images/items/berry_pouch.png b/public/images/items/berry_pouch.png index 878ef60023928c39a462ed2661989ac48994473b..d14d71358a9beb3ca1681da5ea69e27e847fb6bc 100644 GIT binary patch delta 312 zcmaFFbb@JuWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE08uYFtA8qhzPLg$gsFk zVDVsu#g7vfD`q$xSP}5zLcoU?9Une?sF=ht5vY{6B*-tA;Xe}4WpP{!l-TC!;uvDl zdw0@Jp+g274Bm}Xl>h(V>vU<=A!vCo3k}(71?2u}ys1ff?r~HKndNal-tBpvRXZMr9uF z-l?VgM7KSN^Xg=plq~mHh+)>Ag4v4xX57c#ZH${Q#Nh6{mThlK?Z#uf6|^0*dPClp z8{TMM-&68S@mpkvmdKI;Vst E0GY>)TL1t6 delta 338 zcmV-Y0j>VX0^$OY8Gi-<0047(dh`GQ0VzpDK~z}7?Uo@D!Y~j;d!))pj!=n2A~{Bn zz!7>3Boc{4R#xK5eDO1%odgQmR%K`YFhINi?Kat_X=>D{u`t@Uovk)CA8*}!KZU6N z7`A~)nJWafT6YMr@ABppuE8h%cLPC^%g{v#n&bddkIAhI5Px7&5Z0V324E`*z)pN> zzgq`zGpj%{?E+09g;S{Ey!#)3l>-2YEP$Ho@3@vKuHHU>R%HRKF@cM!SMzD?qww9D zSru(YrqaH7XXf7c0#vVZXxo1z!X6cV49{k z({BLb(D?0yUrPaC>I#4)0D!d0)GXk3B!DhvHwX)pn+1Sy0bl|JSvrK=04xaK4NHty kJ1wQoh?|}hYt-lFzvFLp}$&v4X z0tZX$x+&lO^Xmod)z!~1m-9($k}mDZU+-pQD;Q|XZtP+xc=~Qkr-EZs`{Q#gf%=S^ zUzi*695^cYXH5PiWcJ)CXbW$UL#WTWR;xu^a_X;Fu-$m{{Ax^d`u->8f;okr=UQ5m n-78D3+}&6C<{kf^%FhhT?=#PQ_`}s1=n@7`S3j3^P6Is#@1$l!NZy}&dI8)PXE!yEuoOEm|83_`X9*>YsZz~!mw z0JzVQ49D<2ngi(Kdkjnq-=jDH38M!+oKJ1bu{nT{AIEXaN9?HXb8Tt{sU00000>98C zXTAPEOZxx+f1X|GRG=J3NswPK1CS2_S5Ji)0mWK8T^vI!dY@i$WICe2!R&Bw!TbP0l+XkK>Y-`o delta 258 zcmV+d0sa1h0+Rxe8Gi-<0047(dh`GQ0NP1JK~z}7?Uqpu!!Qg)3t07*qo IM6N<$f@F$r1poj5 diff --git a/public/images/items/big_root.png b/public/images/items/big_root.png index 37eeb5c2f9354def96d3f1cfd2f071b88fd2f7e0..24b863ee238492e12a53dff38044d1faae20ab67 100644 GIT binary patch delta 297 zcmV+^0oMN80=WW^8Gi!+002a!ipBr{00DDSM?wIu&K&6g000$GOjJbx001B$Ad6ZM zw1YX-q*~_9ga78F6yF)r00007bW%=J0RR90|NsA`f2R8Y006&9L_t(Ijn$G%4#Y4B zLt}pTKXPp{T}(swGgMWj@G#(Jt^W(?RlKBO%z0+|K|twrMt^4T83?d2L*@FO1bA5P zshKx`WxUq)9;r2snLg0qh+IfEgXjrVZHRe?ry++%Y)cq|j4ygmz(_#0})OaFSRb vg>B)qM+@X_;UaYD`hUJ%#!bB5)t`?GbIAkE63KUx00000NkvXXu0mjfpqGI1 delta 331 zcmV-R0krb1m{CSx=0Z^TE&j@=nX@+ZvSfIIPQ8@Zw4HGn=U7?b-wP~eLg(S z)g(9ofDoJ=ppRub{n|(Xm_0x=Ykh7Z0dNG|x8=xOGmf&v^M5$QZ3MWs;Q-52VS-fz z7@UJEDb5z;K){kcvITfJvS-N|oXJ}1k6;0ywdc~{ooWJE?GYSmKn2b|1OJ!=fLLN) zKHPlT8%&~!{Je}nBqM-#E#rq^tboqC60mH*EPGZ)N6$upK{T)~pb`Nl{51jXWT?Uo z$PH&zAnRhTe?&I_JV8|?-VxAGvVOL0DrEn$0;O$dorWy?lJuo3ngv`pU(N<#G?1*Sdl z9ckk1*2-nyFR*<~nedrMRpt4nEeyd-_c-|0a5?YzJ-whnjpaOdQ)XrCyNvsV+&^aJ zywb0mHKobsfI#GeC(#|VCeBHeysZCX_HH%)pIVGXl}VOiKwB9+UHx3vIVCg!0LU^; Ak^lez delta 201 zcmV;)05<>I0onnO8Gi-<0047(dh`GQ0HH}lK~z}7?Uk_&z#t3+8HJX07$K{$2CFav zGbNQ3%d$n|x1z`|eUlXTfp=U=DwX=9YOObSICx&K*Jv>zBsesLgv*nF2GHR0-JU%r zfP_E-$c9^ucZU;T&u*Frp=U1le*$Y>qv7D%(G!r{9d6w-A3{CXKOhfaHQbs2DEu^j z@Br|yC&(I2Egc-r15lf_B?I4bR*29&4;imiD)l8jpqX2FGk#e}00000NkvXXu0mjf D+Idpd diff --git a/public/images/items/black_augurite.png b/public/images/items/black_augurite.png index e8531a1a8cf3587388fe209ca575ae09feb4ea82..b34127e29420860f8b90326ef8c8301b95930fe5 100644 GIT binary patch delta 278 zcmeyyw2x_mVZBy>Plzio0|;0d7)IFnM1qiSfLBC*PECGpOjr(pk z1U>jVBiXrI&cf_Z!X_^6!!KuWWd#V?9^Am&{36F9n)C1%licW SGfJO8e)n|sb6Mw<&;$V7lYu4x delta 334 zcmdnT^o?nPVLeN_qpu?a!^VE@KZ&di3=CQUJ|V6^IzOkz%E0j4xogv>F6fIbjkNQL zu=Dx<|No%_ry}iq^K)wgydr?gB%eyZ15$h?L4LtNSp;BkJ#gm)P=>R>BeEE%;4la? z9?xHq0uEak-;eT|JW4%y|0uRe^4i4@=|94wEifwWD_CiKy>1>r1C+a`VYuIKd zzF{rviG3mp2HcDS2NyAIJn=7vahl9|r-yvEpNKqta%yhziNy@r3m*&mw+8Kcw6oyg zAwjto=Zz6RPEN?0GvjQ+Aq|-*=Z(KRItvB7IPaeA{(5YS`PJ5VPPHQ!s!SG6bHAX_ za_@ z$M+4k--TzM-~PDppdI_ewA?@3o7k4!{j>I~fa--E&-Q4@KmWKw;=SXe4HJvQr4Uaxt zgGm$I6ezNyF*NCs?oeRMF!bp0<#5jJlCOwQ<8-DKAOx<4E&&k1ZQU+e1t9>-yd(=D zC>6kqOKQbJaRIQby9I%TG;u3c6o^k6*+A<7j(__Abr&00000NkvXXu0mjfLmzFm diff --git a/public/images/items/black_glasses.png b/public/images/items/black_glasses.png index 52fe0e60a1e42254de8a9777386bd5d0e08793b2..4b18d828964b9f1733df2db45563945271da185b 100644 GIT binary patch delta 204 zcmeyt_?dBn1SbbG0|SH0lCEPD4W;Y#85my0GcZ_9XJ8O7s1e=82$bUw@Ck7R(h3R+ zUXET#QAuado-Ofc1xc}%1o;Is{09P=3u-|?fh12C#}JF&w->$n4k&Q21h7^8Hx@U# zxTQ`ZHe5{aNiUnI<=4FoB5!#%>}J*7!~F9hqYt~GO2N!m$^08w157QXwy87h*kItZ z-|^0aY?&t^%NlL&9ITStC*)|A%No$|$-X|ueC{WPJGs?n$AH!`c)I$ztaD0e0suoq BM^OL( delta 209 zcmey&_=9nRgd__y0|P^2NcwRg#ggvm>&U>cv7h@-BI`s&>3RbOhF1v;3|2E37{m+a z>y# zamOKmp|@X6LF0r%!!dWk1Q+v$z(@f#=B0Cc4rWQT3NRh(YErOM_Bjx6!^2ZRgI_qn zEF~n+%qT^-fm@=Pg@<**U0xxFtx+7Y4g#?Zhj%mcG05&^Pc%F{YaY-Z22WQ%mvv4F FO#o+rJzxL; diff --git a/public/images/items/black_sludge.png b/public/images/items/black_sludge.png index 37aa31de43eaa5314563d42550b2fc912c1a4210..fe308586dd38bad839e7ed8c686611c3b4c37803 100644 GIT binary patch delta 237 zcmbQsG>>V5%0v^1dVL0lSMdxCR?`_6#0zRfcQGo~Iz3$+Lo9mVPTVbez<`HIx$#@PWyg|F`3-w6 z?0Aqfp(b{Jn(L99Yy}QXYm_!BD;-o8^x?8(I_e{=?UKwnA(r(+r#MAD zIAs@Sx;uS;*>v{ca}I^qigQdDXF0meoXC4l@QTzfr-v_%>>k8a`jj7;q3~!egHG-L lEq1FPm#;SYoRwK0Wv6&KJ|44$rjF6*2UngCX1TRZ>& delta 234 zcmV-K}|sb0I`n?{9y%=Asc@%008P>0026e000+ooVrmw0000I zP)t-s0001-q_m5RtaEdVN=jNFARvaU<&ppZ00DGTPE!Ct=GbNc004bSL_t(|+U=7; ziUUCm#Kw~R|1a-hA&2y2K9J~Ig2INne%!FT&$0TTtjvJ>DNi1aC4@&|D8SwO28#jg zPFYeDm>JBDo(-!UN)KZV0K)|1U9bVLgj2W{n;8I5&I*WfMyuTG5KN;|<+#EDFg@~r kc2@>{z4ByVeBToO0GUw(1yB8B?EnA(07*qoM6N<$f+P@KegFUf diff --git a/public/images/items/blank_plate.png b/public/images/items/blank_plate.png index ec82203340cc57d4ff45107ae92ad230fa8ef2cf..c08d25aa3c33cf79564034e34bd25eb75c8d47b9 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~Eq!JI{l_8&g7@AUbzSFc@v@ZipqCkcXC+Zh-bI7)*2 zf*Jlpz|~VBMnJJFPZ!4!i{7h~9Qh6?aIm;0{{7#-w0+qjsoC>x^|`C12x&fz_h@?7 zW!Id;;q!Oyfflit%S#y|1f)2{T6c+0VD;~4N^KPKusFe4{qQTxUe6Eu(JDTdlbO}O raHwvPI>EhXp{pEs$%c}R_tO}HF0*ZIb@iMLw3fls)z4*}Q$iB}z$8-0 delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_t|1pTGX#!JQ{h&R)H?|L~DH zixvSTTU5kO11XM@Aiv=M5WsM+d2b|8jI+QavY3H^?=T269?xHq0u-F+>Eak-;eU3L zCtr&J56fh=)Bo#x0&ks5VtQl}EHmLnP)L0c$JbVS;X_ROw@nvN>J!|ODKKG?4c8^5 z6O6T@dl(9`6s#M$9V^8)a7{X}vT+NS-a*b7j#HZxIJI(weQv0hG;(ijiB{y}6j{cy zbJM&9O>eKap5mOAz*Nt4R4C*`>LU3B-pXg2AJj$M4!!ZYdf_$UDKka)HcpoZI+KCH N)76jFWt~$(697xTZ6p8y diff --git a/public/images/items/blastoisinite.png b/public/images/items/blastoisinite.png index 6b8310610e84d21122b6906c8dad0c61bfc8f57c..ea2ddef0640e2111df0cf707c97be7ecf962121b 100644 GIT binary patch delta 230 zcmey&_?>ZrWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP^gYFoYPYrRovp# z@;!OZ_q}`f_N=|P_1ybw*RK8l|KIv-W;;+FPf3tpFawYe1DrdtxPBq*`W zt?b}o7Vx*&@IZ)j$M%j!qsiRNvuu-c6Kp>C{a{P7d2r~&f-T>JR|gfo`t~zYy;81p WF4O9wFd?9&3=E#GelF{r5}E+5_G8ch delta 226 zcmV<803HAL0rLTn8Gi-<0047(dh`GQ0J=#;K~z}7?Uk_!fG`k69VIKcf@9b^f~9Rr zM{os8%dB9T(iJQ%BR_C*9Dv7f;N?V7i6;Rr@wxz&BaJ_MGD;9k}5;BFE$1=Ur+rywT*0Yv5Lr34p2Iqiz7<#H<~5i0-epHRHm cFbv~uPOkEBL5p$4uK)l507*qoM6N<$f>%ggSO5S3 diff --git a/public/images/items/blazikenite.png b/public/images/items/blazikenite.png index f14b108de608a4318198999002853ab54dfeba20..9b6e9e59212f0cf2f55556c40a0635e8774c6853 100644 GIT binary patch delta 235 zcmaFI_=jDOM?7@8Gw8^&}DI43zW$6ba4!^ z=zV+fAm0H64(0&Xn{4m??=L@kRC-5BN_zEM@8k_r=Gw13u}Mtroafa#LD^NE4)yo7 z4H;cHR%N~3%NStukl~@CP=TKybFip5!!+BZoC2E5N@2SCh2?QL&{_shS3j3^P6YMUqw~8l=u7c63PB|NUQFo>0vFt085TO{um>&?)&gCH6JE6X!Y=w>>!3 zcK)BlB*}x-;ey8Jc#8I2V-kOu-#AOFBL19lbI8}K#V!Ra=WvPNlFqx*Yj7aP!k^`f zz;s`!-8Gi-<0047(dh`GQ0QpHoK~z|U?Uua_gD?<<8HJWIYfxqk)}YJ^ zDO0inWk$#flqqR1c}P!szL<(LQY4@BB>v>@Gd>xbrdF+5|5$C?S}v!7Zx6F!Ow$i* zSrH7puC^s7;6;kTk!jwSfIz534$eS=!0}~UF8woBLInucQhzwXlsGJa0q|NeQ$*oB z_V7>%c099ufp1HfAO}afZrUWm1rTkv*?uJeFD5Ws3IklP5gsO>J&>C%&+#09;R1eb zwdr`wa{yK1umB}EFgx3Wbq`R9uzf&hryGrbGuOK%&xG!VUP9Lz(fh@|2ZVUIN)&;s o1hOY^`hUUcKN}>qYSk)HA3Eibd<=w|Z2$lO07*qoM6N<$f{mYgZU6uP diff --git a/public/images/items/blunder_policy.png b/public/images/items/blunder_policy.png index c1e2e3806488c72eb221380b821b645f7a9d97c3..8d5b11cb3f65a641ccc358f9d45842448c4588ef 100644 GIT binary patch delta 242 zcmZo=YG#@sSllz?EDmyaVpw-h<|UA$9^ez=3ZykvH1}>}*t?72=JkwQ zH?qHfuYNvd%JXSczW=`V=kK-u|AFZJ=C`k9fJ%8wg8YIR{v!ch7RR+fi9$~o#}JF& zr;{A{8Wea~TDK{1|F2)q8`v!JCHqmYr+>*N6`kALM9y7!yZK-#lVJM3_7fa&47Tf- zJItF@9(b`&l4zX$I`rv8fgdSqf2K5?GEw~89Uy*cUh*7n#T7;(FK)KfX1!f>uq^PG hk@x-Y$Lk~JF+cjlnXs+!)m)(M44$rjF6*2UngE@Saa8~S delta 244 zcmV_2?aMy9Y_yIFU1ak1uL-_*`YAKRBdy>_wUv4xWVVM@ zz~^IhO!E+c$F diff --git a/public/images/items/bronze_ribbon.png b/public/images/items/bronze_ribbon.png index eb9b926c50c5687e8b8562d8c2448e2b32be810c..cab218e09f52c6d72c3d6439c80a7f3aa4776f3c 100644 GIT binary patch delta 309 zcmbQhe1vI&L_G&H0|SH0lCEPwim^Dz-HBn{IhmJ0j!J+}h%1ox@CevnZ$HUDYfDDi ziwK98D>FMfX8gao`NoY0|G&Na@#Dw0$IPifbvz|Oe!&d?5rFeZfErMIo2QFoh(+(( z$(($L6?j;Z`Pd)*|G(YNLuBi{Rcm+EGqr4LPBzH7E$^CQd+g4B?XCQ;kI%AE{#Get z5@L6(D&dmw%ydcmNwGsqCa;m$$NTN8@>;Qp zx}~BF8S~0K=7a?|?wY^#UUt+wtMnhm*Ggvl-U$ehVo+gdJYdo+)sZk!*K*az_4D$@<{F%`Fm0{aHww>p_2 zG7;7;`JBm6d2t((z~Y?@CD)JzzNIm&T!;`5?-h>t*mYjLAD4h2msL#sM=7hAg!ecF zzAXR>d|Ln)07cSAP-MXc-U|W+-ZKckhetLe|4050*kd060=Io3z95A!00000NkvXX I1g=70g0$hlN1N-JULvAr`%NCwYt2HyiLU8=k$da_+BxwC2*;0ynnbJ7=RjGv~H_Ur*(M zdsX@W+ypguI=$dM)%854gkzh@0e{9l*SZz--)GK{Ea3Q^(@|`&#WeSTrt3^`3yH2j z)*qc1%1>noIqEYBSJ+SDOz?4^(Q<~*m+iPrA(!S-k*jH+o+kE92+dAr7dycI%x#)e zUaYsI=rfi(4(F7wO%UVW(KIKV&wHQeh2RUdM-$(K`1}-q7suRJ({F$3aq;h`mCWw? WoUR>pdp7_*!r4eX(KUf4@YMo+--lGZ zU4WpI8-w#c@OSsu_^d=^6Zqne;q0bx^MC&YD4`-R6To7CB7Y!o_2;Aj?n@+!;Y$Jv z$2&x|02Vmh_c0rUl>n5X;Bh>}*zK09kR>p?eGHWVoZ0eP!P9(-@$)-v7hv`jpag*0 z?a0!CUnZb%gu?ZI04cOu!0tUG)mXS!AO+^jb4xZ0Xy>!>u-7(wTXw=BvbhO4a2O~( zn++Y${a=EwWp$rb0fJF_?RZ|>j@Qz!Wxpz5;T$@6#>%8RKWFc=D`4Sv>hasR@SN^DsBQz az{Ud{9qwyM>m{}T0000N-WjfTAs)E{-7dd7AFA4E9>pg2?#kwKlckhSICcyCI4s%qS(LX| z%WPuPr&SKzevQ`a<0lofJQ8BgVYE@HD{EQ$Wlx1U-0o_yw^`1SHl W%*;70S7%QKdBfAy&t;ucLK6T)k7+~z delta 309 zcmeBTy2~`du%0E|(btiIVPik{pF~y$1_rqRpAc6d{r~^}kKecKe0y%@(|s2n9?V|i zJo~|myxa4EQk9`fK$3y0B*-rqs0;!aHl5Kq4;1Ar@Q5sCVBk9p!i>lBSEK+1H+i}^ zhFJJtop@2`umT6mL!FjC|M|aPx~P#=fBX70o0LQA+NCV_UwO}U>9)0_%hz}MO#+K+ zgtjc0(!>__Fz~>pX@=a3&T%{r?)4O~y)%`u*S{%ahw;3tepZ|v3hcpB9!%y1g6kT}wPM0OKc@8J-)5fzcl0@&(e_&XYW7iviWD2JJ<2kge?yxYj%@s( z_d!pc{qyVa_17LU=*9n3$oZ)7rcnIeHF=KbKUuy?%X>Af4`K%S)zj6_Wt~$(69AOO BhzbAz diff --git a/public/images/items/burn_drive.png b/public/images/items/burn_drive.png index 47ad9cc8f38c8fb8106bf3f270bad7b786655eca..02ee18c02bdc54444ab695dfa59fb95ec0e034c8 100644 GIT binary patch delta 201 zcmV;)05<=x0`dWnF@F_MOjJb%001yBFnCBn&?petSU})dQ23aLN7sCo00007bW%=J z0RR90|NsA`f2R8Y004MNL_t(IjqQ;^4uBvG1Z|h?|DSB37$X%-yy~6^GqeS^?a!Nt z$P%l;=89tvRPU9*rY%|NI4Y>7M&d`!N^#~ZRL?GkkXFFf;6kW03XW@70wW7><;0@^ zwoTSqfGqe6Y75#jJ4A^<2O zC)~FYNU@g$`33(60|qH?W;dV^XMsm#F#`kNVGw3Kp1&dmC^*5>#WBRf|Luf8vBL@+ zERCV>>!0XN*tY9swXK7-yx?8O-fjCnh}TOAp4swv#%y+{DY?gH9QYd$S9<*6(Pc4L zMTOrz*e82s@kY}mp0qU+;%uUSTc`7!v07lxwc>!q%*AXE^cqfChcRj{IkY=Ol_~y0 zap5E{#d^mxQ5KJVSHwpB_%o^VX=;B&OGt`itF^u2ny(DE7K`lVuem1$bR2`HtDnm{ Hr-UW|DW_@Z diff --git a/public/images/items/calcium.png b/public/images/items/calcium.png index e98416f6280833020cc8fc66ec7edece89354c80..4c42228d72419a2fa54e526c0a744437a2099f5a 100644 GIT binary patch delta 264 zcmZ3^G=ph^WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP?!>Bxh2c+np z4b>e1vwZIq&Hw+87K7P@FjXCa>;PnpZYi=D)g7?r=o)wkfPXN$BarzZwN!V&(R)Y# zKl}C!Od~r08G|ea$!fs;!&*c8`w~$HVi}T~2Otd-i5> zN0p&`gYuI1wW?|YiA@|!q9!wJQy1~rrYKY3m)OkqMvKMdeaA+}ZwHJQO1pe(;8I+< mW3OFlc57T+a^(My#msU^%uimfejN|An8DN4&t;ucLK6V#BW~UR delta 230 zcmVwAPvf|fT#CAI{p#O?yE9It zCJ--SQ-Vbx=lqd4`}s?P3g9m5cd)jJ3az(g7Pp4lv4>R(#j9} gCx{m-ilXez8}CzQiT{`&L;wH)07*qoM6N<$g4d~P$p8QV diff --git a/public/images/items/candy.png b/public/images/items/candy.png index 9a68bdab6063e4ec775495e94b921311aedbfdfb..81cf5e19ee2e70cd561729d686f9ffc544c19147 100644 GIT binary patch delta 242 zcmbQl+{`pVvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gF~BFp6-aApYOY_u{?MUAhYue< zdi3bovuE$!yZ7wbvv1$N{r~@8fyKtOsb;<1C8 z27)>J4Aa;{Rdkm`KQsubK01@5tZqM3dQtlU?`FTW;9Z6%i-jBB6*`(NmTu*U2#b%D lSW^@~&Aj5qbF;cm?v`%mHWQxnvw^N)@O1TaS?83{1OO4WYQg{j delta 386 zcmV-|0e$|10+Iue8Gi-<0047(dh`GQ0a-~zK~z}7?UgZ(gD?<9KdTh!Ek(GrlEzh( z3W*DFk%&Y1030IX4z9TX5+|TS>2MTLP=PzA0xcogg^+Bs{*nuiK>y8nJO-?+tgNj5 zyPQ{ls}3w8d!cH)Ug_MA&Lr{ z*l;enhqY72Sh##X*M;)yG6&+~oKDZ$v2tVCJY&H1*34mhKJu>5>HpCD<2u+;T3lS7q4fU-jp$ j+~z7FhWNNM=g$etuV-hQ_{pvU=tc%lS3j3^P6n?MwO+*HIy#(_*-afz%< zT+VT>$V$%9DyVB*>Uu6GgCaPPhhk6NAcJDvwTi>N3PLWKX*-1EuG1NwVfnkvd;9;} z{Qw<0boj?m+J302D(i8UWy-4wsEIe5%`T>C+Q~v1lm89-S$}zT^0p!_j#(^(IBCAM z0992vb|ZMP{3D4F0$waJb|V~<1*Hl3& z!l%9P88$TJ#eYc(gA^EE!;}N8=d+hNdLc=M1!*Nrw!6=lq;D7GgHdI|O6V63o!qEm zkIOS>AV{%x0tE63`n7;ap8$Ifw-4aM9I#X1iv=^ft=7xnJjXE0GR4$1L|=8>|4g@z z9Aa9g&+mJLV&=l_1JT=Cn3{IJQvd*^XJ91X17$`0?rGb1Ov@DOUL|Nc0q}W(dnRzqUqNF0000qiA*KTt>qe55b+4%d!F~sK)$4j>TLYC8k(E`z z1j&+QuA|~JwT`lrCAqZJwsxQfZ~}1DsUlczdId#V4L^v;_ALT|1O_5QHl3U$JW607 zF~vD1JQ;o0bucQD*+)Y)ID7SrrHG^)#TkJ8#PUu=Zm~5T=fAlF27`zdQ_7t900000 LNkvXXu0mjf@o#KU delta 235 zcmVK$j~}(3^szP~;YF zD52y8L$i?#u@O!jX!c2~{FKaSw7UTe!!Qiv&&b#pNj5JZ61o4xfC{goTh}Q@78Avh zxSl70j5tzBl%!CSKv!VaS4|*lxSJj~nFKmbU|n@oNVX&!Eo9FjL96Y}l3dnIAOJW6 zI3*fyFa;`p6p>xcCJcHS8+m8joBKw*cn?G-a$HKpr}jjM%9C`n?`@Lq(};~RGG-M! l0Ef)uy@)*Q7i$Bxp#`@|D(l@ z-Q7`p_i8Trw&v)XCEvasy?6B4w`bq}f0HaO3jr$SEeY}qX84Z;bXgqN0wvl!T^vI! zdaq9M7CRuoFVdQ&MASh F2>^kja&Q0u delta 271 zcmV+q0r38q0-pkq8Gi-<0047(dh`GQ0Omk24FY9&@Tgh`C+H5P#h3crK|bga*)xP4&0x z0Gr#+3_vl2e#hME0PgL=?)RhD09r7{I2FKu8~T)*07x6xpEOi605KOe1&GZxMAI$M zjh+E4dT9o5zOi^I12CsnLev1+j`;XdE1|AJSd-Pz$2RJL@ V?IN3yn*aa+00>D%PDHLkV1gl$bI$+( diff --git a/public/images/items/catching_charm.png b/public/images/items/catching_charm.png index c220ff70c03408c81c400f715fa3d94f0da43788..575456221310463f868f662a31eb7afefcc2cbe2 100644 GIT binary patch delta 17 YcmX@aw1R1aJR>KAr>mdKI;Vst04?JMIsgCw delta 43 scmZ3%bckt#JfkvSYJ_K+uP=iZ0|NsG5QD&_;K?A$)78&qol`;+0L%diQUCw| diff --git a/public/images/items/charcoal.png b/public/images/items/charcoal.png index 4d2511773efd510bf6f910389484f6962493a439..e10f8f20fd688bc9d188b449ec6ef8e677ba2544 100644 GIT binary patch delta 234 zcmey%_?vNpWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0P=HT}E09)DP;hi~OiD`X?(W{Z zcW>J*10$d)TS<^#FvEWksH%MM4=B>=>Eak-(R+82qtIam9_EcH|NcK+*KVe6ZMod1 z?X;c{%e7zE1wS@iF87MCF7IPI-JNZu_b$#N`Df9swT$YH_X686s zliPP&9FqNh;OVRO)la!RBfnl|H0Uua5E43P^C6Vg(dTx()~jh7+pK@&F8WmdKI;Vst0QQ+=Jpcdz delta 236 zcmVGfrN6`4Epd?Pa(L3T=#VO7TemUhAlx z{opeEMF9F4YVclpboQx$TtQ;86&_^3j)UKV_jn+%PJ{QH7kE&@_<2o53q0upB)6{g mpji4)+C9CABd%xtUjz^1&&Jy0zF+wO0000$(3u@Bafq>zt(#Ky^GNL4LsuAOR@gJQAP=6wmT>aSXBOeS6W7 z?|=dai^IeqoqzxL$C}(bpk})}{8&P7W02p!mI-fnY%1{cxUF2YT8-)Rz49c+4gmqV zZEg%g;T8@R9V{{4M-GIn=4Lo;XJ}=iH$(K^K^gHK3bk%i!ti=d#Wzp$Pzz+G4i= delta 223 zcmV<503iSP0q_Bk8Gi-<0047(dh`GQ0Jlj*K~z|U?Uk_&gD?<98O3v?bm=u%#brjI zbxD~rE3isN_{kZWd|i-eI7dkLq%R~3@gFA}hQV$AYz7Qc%|=W)fW9=qhn2KoX}5wDR_Fk&x8&tRyU^pjZVs+eTCpW&$x!#}XC- z_t$s4as+=QNI>p2-3NP<*rs543U~^75>?<6legCrEW%$!({h$zkyie{(VSVbf$D{%k-002ovPDHLkV1i!UURwYF diff --git a/public/images/items/charizardite_y.png b/public/images/items/charizardite_y.png index 784eed51acebcb13621bbd04c75f98d342b472f9..5a3ea59d0915e6aebce21894586d7c158c72bc95 100644 GIT binary patch delta 231 zcmey&_=9nRWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP&g;aa8Fao*dAc};SoFTV z=*@RPfrBMrYLMN%|NB^_%N-`KoBMW8f)CHOvQO%FgRV8SSiW52Rbs4u=$EDT#>P&8 zl4lF8cmix59%%Abd2maK?GTS1kH@!;t&JZKSU;5R_}IX$%zWvdzb@0!mA9X#&wWzK Y;9$Y@)7kH2A<$X|Pgg&ebxsLQ0Lr&znE(I) delta 226 zcmV<803HAM0rLTn8Gi-<0047(dh`GQ0J=#;K~z|U?Uk_&gFp;LJwjT#YqLU1R$&Cz zVGT-3TFR8HzzF7SapdQSM1wCv@{_(m27M&d`!N^#~ZRL?GkkXFFf;6kW03XW@70wW7><;0@^ zwoTSqfGqe6Y7WvY3H^?=T269?xHq0u-F!>Eak-;s16*px9vr z4wlBy_w`ToCT!dFvf9?cT3+z3WACh$}t*@aVFb ztD?g19_*97vUsCu5>MKi32`>jzpc}G&R8ul=UQ>VV&-DD2YL;stiu>JmmJz1qRJG1 zp}268mtwu+nJA0LzAIv*e*Br#`82gZq9r87vDMmMam`nTTZ={Z^4Hvx0y>Vt)78&q Iol`;+0DB&7%K!iX diff --git a/public/images/items/chipped_pot.png b/public/images/items/chipped_pot.png index a2f35f9aed9f362131b0c53a5a3461cf01c6f0f2..969c3dc3c16c53807626aaf89ae9e63f26ada030 100644 GIT binary patch delta 653 zcmV;80&@M>29XAkFn<9rP)t-sWB>p$C>Sv;7#JiW7$7MjBq1pzAt@v&DJUs1C?PR0 zF)=hTIXF2OMM^0}LOE@7LP0`DNJ>gcN=i#gPft%zQBP7(Pf|@%T1`??QBqn}Qe|I3 zWqVq9lXJ44TDPKFx~5&Sv1+8JcDK26|JQT(-*f-pbN}aiIe)UHUXYA?gM)L5jBlQp zNvokxs-jA&rAn@)V5_BNx35paxKzcvTF1Ro*T!1Y#!}YERMyK<+s<&xz+=t_wUHs*v{MD&fnhF-`>vm z@80+K-uw6G>+k3L_lP&gsQ>@~Wpq+bQvj2J0c3w-rcjUo00AFKL_t(IjbmUKk${~Y zzdU2GIxk-B!AgoUxDDYuue$e#3Apgl8^)h2`ZkPK*LbXVP#`uU|2rsiM;@<S81-R8v zear42lPE5sX=`g{22>CURG@&Sz{xMp)j`V4%*e>mF(Sg3$DIj16rFs0;vIm&U?d_U z>BYl?E)P_}>Y)`NA|fg(EG+1PJ+xVcgd9B`V`F251v#+F1AQ(p2?Ww|o;V_dfrCQ@ n2-H|`$%71GXD5_oh9>|3iySMhdic#T00000NkvXXu0mjfguymz delta 728 zcmV;}0w?{E2G|CWFn<69XF*Lt006O%3;baP0003mP)t-sDI_T|C>Y-7rT^!97)45? zr*^WjYGr#`F(@I<_wR7Zz&Wy|y0@SI*K^+c_aP)9DI_5nBq4F*Gs%-*b$Qkb{kk-uL%ltEHv$=XjHIIc;-m)84h&v43x#n7XE2F)%Ub>+k3L z_fkz#N=Zsm+s;qIxJs_2QczD%QBTg>-kkIATF1Rgs-;xLyGg5|DJUtYw6d?hz)z~8 zRMyK{)5f==TB^FbfQ5-#O;Tgi#&e2{bNA<@@#a$2$WqtFz31LSK|;vd*j|u~bJECx zh=#4Ywa(w(hEt1-gM)xtRZ?ZQuZD((z31nry0i_@%Wpq+bQWLNGAv`nM7!27Q(stR0_iM0xv)q z%<%;-vnT?P&E|4T%PXran_lDdg#w=QEr4}N5{vT2=2oessN3b8-93PSp#2C4X!~MC zKB!i)pfKe_U#NuyoJUgSxZXH9)%9l6FwV|-fqd&fJ>fzu)-PKv!@z=$g>`&HxVpZ% zZQmJ&XF3SVoQRJ722*ZqmfY28i8B}^wN(6cU0000< KMNUMnLSTXb0$nZu diff --git a/public/images/items/choice_scarf.png b/public/images/items/choice_scarf.png index a83fd1f4b30f3e3d1c4bb9373a11df856a78d784..2ddf7d3be16a5d992a4c7885734b39c6e3f3d3a4 100644 GIT binary patch delta 334 zcmbQje2-~@WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DQ1A+haxBg=ES_W8 zz1M5by`(Mog4TSiKKibC@BcaX{-1sK|K4i;c%V|=k|4iehW|)Fm&I`{P~wcIi(`mI z@6}1xOot6PoSl6P^Xct_-_1b b|Lg2u`#FNmKM1S@`i#NT)z4*}Q$iB})2NmJ delta 388 zcmV-~0ek-50+a)g8Gi-<0047(dh`GQ0b5B#K~z}7?Up@`!Y~wsIZCcTx#hN$l$2Z2 zQf^7f6*vMVEhQya;0To4dKrr^j4THbwpUsymPUd+#oxRiCz(vfHLm}@x~>b4)Eqq9 zp2K|i6TXj^DE*f{SIaP)FWMNKpcLcRN+@1rz~KxWJqLce+*?A0sEABd zDLXwCTynS@5d33v=nWKSpZ470f?|L;+0&}G4d_NM=}^xF?|Xh5$ZBwg&d<3F=vr>* zcm`07w+uMkdwtFs_o2f8WmoUHx5&Vd$UdF=6kh!ah_T$%d(Vl@-5#ZSa0mAvns$bPk_YuWtN_>Au}oJ(eE uK4Q#zcEP;5Vp3UkWZ$>ub;o}c?qOIyhpENlBabT3NerH@elF{r5}E)|*lhm* delta 267 zcmV+m0rdWi0-FMm8Gi-<0047(dh`GQ0OCnRK~z}7?NzZ2!ypj!2q`I9#cO1QtdY{I zWDQ10n-Nmde)5SAJp@|<8zM`8(n~aO$KUY`gF>ND92M4D;`$r$(~a!~NCHU=@}>g# z@W<8A8gX+0>`3)zyHqWwX@G?I6D5r0eTl$iGx2NoN>F`wc! z@{rmiv$8~7*MUR;6XL+g9?_i~aaCS|0B--=hKLNs_OL*g7qa%Gi$tLC3ix(WcV>aR z4<x^sl_*33yS0E&2>IKT3!rOQe}e)WE0^idP|` z51`wjz7aao)Jne_Y delta 313 zcmV-90mlBQ0?7i98Gi-<0047(dh`GQ0T4+kAN*Ok6Sf@?XR9Tk>Gu8F=)%sYfw zZP`#q*dNSE4?t^1045BfXMiVeO&-tKM0Y`Id%pjB00000 LNkvXXu0mjf8?u07 diff --git a/public/images/items/coin_case.png b/public/images/items/coin_case.png index 14f9878e5c432dd86d7bbc6549957d8df3eb9b2d..3c17c2b13f8241d8ffcf4edcea3d4b785a7e0010 100644 GIT binary patch delta 238 zcmey$_@8ltWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09)DP^cCVaCCI6uC88V zX?Zp(>gXEFckinI|Np;JJMJ`41y@OsUoZoZ4*_+ZB4I$$N>3NZ5R2ZslRWtv6a-ju z#SZ?jzromc;!?qflr<9ivBtc|9{kc+ delta 228 zcmV=K~z}7?Uum}g&+__Ex{6KgClL&%C=-1 z9&N=IFmoW;sH_4DKl#~7CK?l%#|Xx0GMP+Da?Zu%5JDUtD!E%Y&2wD67mYT$Kwwe? z075bVxvLkS2wWgI(gb`s}^xSFj{lwf34| zHGtY+RRAIqoeSpx)qCLzz*j6m@Gx944sHhEAy3brRteyABD%Z+I9IRAF|7U5X{ugB eP1T!Bzt9PQIX@523Hmkw0000CL_t(Ijm?tF5``cPLruZ*|9@;!%0emYd+UhIK!xtiVcu~>QqQS z0Mo-*pHChERh&w@jpfX>$VGrMWuYu em(f}NQ9Otf1rcztr<1Ax00004CfZ<;A-bkPrXMsm#F#`kNVGw3Kp1&dmDEQRV#WBRffA54q zzQYPU&ca+@{+X|P%dpgYX>IN_t`&8Lob_dO7w0n?f3CdXm)kIvsX@)p(P=)zv_<(s z(hpW}^LMKscp+NZq-Mxy&ByP?WFmddYyYR`A6Bv$Ffc3&xFi+%n%AXm;YsxeUq4)n zkY?;_Do}gC@ax0I)B_GBZYFF8*K@9rTKx5%!1h1V2QFurWqoFEV6ZW;a_~#N^+~*8 zrxkmoi|yer;ZY7RML2$Z7G24hU^7MdVXQtwPG7v$yMXn-d|4Hmc*5W5JIttYn`6|l wJ?;OhdS8y0b+@+vXK}lbrmpb%`GLx~W%q>R*XD3s0(zOj)78&qol`;+0GD-YBH1 zs~ER-LUl!}LyxFOH-~f$r#3^y41WgE^RW||4^6!}|3cwZ@c=JFZgbxzgU9t7YZ-bh oKUsgZOiy3(BD*{(uRg{)cR!2h<+M|ifDU2sboFyt=akR{0G70EQ~&?~ delta 236 zcmVF5M9Biw-)cRqDaOnb9d}XxOEw3;Q;BZ}c?*aqZ zYQ=n80PezHLkSQzOaXN7gSv;7#JiW7$7MjBq1pzAtop$DI_T=C@C>0 zAu%v9F*GqeJUl`?IT%GsDMdm#VOl~&LP|+WM^aBxP)|}#Qd&(?Qc+T6UqNMiTC$&7 zx1w6Qrd_hJYNV%j|JQT>-*f-xdpWYDUXYA?gM)j9gnosFWq*{8XqS<1o|t!&kZq)& zNvokxs-jA*q)M)(U#_HJtEErExKhKlQrE^(*2q-W%Tn9UaLT}A)5e5`gn@{LhKGrU zh>3=YiH3`egN=-sm4l3rkh-^@r?j%FwY9CfwW_(es=B(Yy}h-zz24`gufD*i#lX7U z*@W-sl=ttg>ow=E@8-Sl=cV)KwfFD6`}fG&*v{YH&iC)$_xIlW_vh>H=kxF9`}c4= zF!=xg0AO@dPE!DrfdNpHkO2>WHnVUP0003JNklCq7W4W1W^huTtLH6%wc6?V_;woP=JCk0UkvK1tfD=ogJe& zIE;)!Lu0@oOp8aBo7)AUf+IFQK3YuJ!q^}@JSHYk#Lz^SgMmYl6Uq61oUYNn!g}WB zf*ShzIwERd1u{qqfJ!{${WL{I?d;5eKwKq=k4F*Jw;Y}kaX3TaPfu%W?4ivn zENpLYYpX6H#EMlO=yMq`2_TS^cEJ%D44j;xfL3I|B@Z%$gM(0#8J++DcFZc^V!LBn P00000NkvXXu0mjfm75}I delta 700 zcmV;t0z>`q1-Ax}Fn<69XF*Lt006O%3;baP0003XP)t-sDI_T|C>Y-7rT^!97)45? zr*^WjYGr#`F(@I<_wR7Zz&Wy|y0@SI*K^+c_aP)9DI_5nBq4==ll0kO;SopN`F$@&QHR)O0K27`}dUh z??+NkU#_H5!?j7Pp(!XSr?j%KzQ9kaqEyz)Ibm95l#WWRq-~_1dxnI!qFSoDx~Ij! zXqS;vP)~-4iBi_cT1`@3kc_SC=R!O=$lBQF^Y2noQe)G`caxBTh=#4Ywa(w(hKr0+ z*T%2!=DqLdxL9(A(7$7MC001J9ls^Cf0AO@dPE(U{0a25H0SpGG)Y83R5(xFlG#?mFc5|#ZVk{B#TE;KwJM@kMNz6n6pd>Y6&Dt_ zy#HI6w4;V{Jl^wN^lxUq&N)en*gp)XfCdVXz({O#3|@gg0ioFV#AN>vd7)q&PbA_P zD^L(ff|7q!G2vh}sqkUY2}4Vz7@L|_f%J@SsA@PT5VXv!iBLA1%ZUkur04W}p}^;S z3uxZ5%msUKX}MS=WTmvawvHGwoF9Q9XT#jIx60-1ol0f5v=<0fN#N;P`v;y^s~vLc zN5>7_fNz7R5Kd0HKm*~de%{dY5#i$U>Y7r|^L=Rl=C(=i?jN8LhA>(!LOf6GqWMUl zp#Li{q-CC82x+%nx6_fzkOIxNyWL*zmA+|E;m86qs+9Bo5gt*9EHK9r2W@=*aajU> iN0DD9A`CJN0%Kp%@<4eHcU8pz00006~uPD-loj*8k_ z3c;li+O1m96LCRwpDmGd@foucY{0o@>3I&-?ga-27YylKlhhoRhFFWBL4$LAF@Tx zoL;H4_0Yw71(tkoGd{aDoNl(NIWsRV`0vP}bC1RQFvD4ofP$_)%WmIpP+ecsKKoO} c-8#$s(_)-YT00lL2Kt7<)78&qol`;+09*2&0{{R3 delta 396 zcmV;70dxN50-FPn8Gi-<0047(dh`GQ0b)r+K~z}7?Upf)gD?<9ISNUjBH35a= zKRlByfCjqp=Rd3jpbUZ$eLsZgx_(t6O5p2z451Q$v$s4~@Z?;GL))ecC|o4~#4n2y zy|m!n1Qf2%0i@7u0Xy~#q}euzYXwqZ9tQ8+kS?H=&%(o4+uqx>6AqE&A`EH00U1a= ziwzae@n3_ZCV!HrAzmbub6zW+=eFW0fctIhUL!y_7aiPVW|k_S0$EG33MkyJdYtZ1kFIII7W0J6ZvXbU|4TX1ijBKoz%ee{|s-(^FxwB!P+ qW4#rewIRvbf|Xry5hwyS{s7F7#(p!=bN~PV002ovP6b4+LSTYO6SD09 diff --git a/public/images/items/dark_stone.png b/public/images/items/dark_stone.png index eb8eaa13ba82de1940ac9a7fd9c425a3d1317cee..c28a93ecabcf41b3488db77f8a4dc1309b64985b 100644 GIT binary patch delta 194 zcmV;z06qVz0_y>gF@F_MOjJb%001#DF+xH@Qc_Z5V`Fo3bBv6Pn<|v000007bW%=J z0RR90|NsA`f2R8Y0041GL_t(IjqQ<93cxT3LmM@{|Bl<6p$&hyVZp07*qoM6N<$g8!LOI{*Lx delta 257 zcmaFOxQc0lVLeN_qpu?a!^VE@KZ&di3=E;@F#EbxddW?G>#$EvQmIu^o##oH}Jx?H!i@IJr0H?5YZbV0l0 zMTV?4yR{Q|6+|BPJ37S`UbR*X6Wzlh=iRwxdy_L`WFD($s`LFy_M8vp!6|B2?Tv2D z)(PpZVlhu(WOHjw+{4TL;7y^-oXErKEtd5=T17UUKcmnDbQgoCtDnm{r-UW|NEKgO diff --git a/public/images/items/dark_tera_shard.png b/public/images/items/dark_tera_shard.png index 4060f9142f63b552d6de93a261298dcefd059ec8..ca24664b74e2655863d870e659c1b8c41a583294 100644 GIT binary patch delta 225 zcmcc1)WtNxuwE{}C&ZPL0R(h)3{QAirsOQ2Id$fWC97Vpn!j=D<^TWx->h0OA1KXL z666=m0OUhJU8hJGP_)I<#WBR9_v$1^v7-tc%-l|#-}is;e|zo2^`lRp@HWL=Pe1*J z|J^lCWjEhOy%5oqL+_Zhryjnw(qmrnp{kwcQEYPWu53OxSxV`IW4FMM!;)Q}MR|LD z%qBK{Ipe_X*J!lBSEK+1H+i}^ zhFJJtop@2`umT6mL!FjC|M|aPx~P#=fBX70o0LQA+NCV_UwO}U>9)0_%hz}MO#+K+ zgtjc0(!>__Fz~>pX@=a3&T%{r?)4O~y)%`u*S{%ahw;3tepZ|v3hcpB9!%y1g6kT}wPM0OKc@8J-)5fzcl0@&(e_&XYW7iviWD2JJ<2kge?yxYj%@s( z_d!pc{qyVa_17LU=*9n3$oZ)7rcnIeHF=KbKUuy?%X>Af4`K$opTX1B&t;ucLK6Ut CeugUm diff --git a/public/images/items/dawn_stone.png b/public/images/items/dawn_stone.png index 0e3da086649b4ce7f122a497a52111ec3bf98184..b29d2016a568752a1b791ae3d132050330ad46ed 100644 GIT binary patch delta 245 zcmbQl)W$SHvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gBEToa6-X;6C`fEs!f|hlz}ce` z|L;xt|L*_)|0)ZucL3!$N`m}?8Gw8cxOytY2q@O!>Eak-(ff3gBi|7P9%k=3OaA}= zc&u?=){gaAihOe?c4}PzdbH;pV|w~>f%b5(yo+;AY(M5vaj#tZf|HHYj-#g^Fbc{j zb>+883Lo~kL5v= rMcS_xmDN|DskX73@woce<39}30+<)R6j+)7bQFW9tDnm{r-UW|oTq41 delta 257 zcmV+c0sj7m0+Ird8Gi-<0047(dh`GQ0NF`IK~z}7?UqXp!Y~X(yJX3-%N&{`aD-lg zC0FPXxI(~46FGy!20Id!M;fU=WuB&1n`KF*Qva$_O0_&K_);IHLqRxrt$RJ+Z=E$r zNH_;EKnMiFPy5yaAPYjC3jsjo-vIE;x?SJLKSOZ!vZ$En0D9M3cr?J!2=@SJ)xQ?w znz@CKaBl#y3>SyPa!(teE&!Np*lM5)_H4kamO;_76mIV0)GyI1FbEer>fP%T6E{-7@6423r|Z9Wp` z#wK#*0HYN157if+SWYlVJv(}<`w+t{hOfVi?YW}%r2O>BdVQ~b@v)WmbGc8nu=xMa SxWEdunZeW5&t;ucLK6VZH)6H` delta 218 zcmV<0044wL0qX&f8Gi-<0047(dh`GQ0J2F$K~z}7?Up+ZgfI|8If~E3`6xNUwv-%! zmXb0httk+Y@Y!T1AuQ5ZvQqkurAbm0DwXQ30zliJvSQX?_9WYJK6?@X^947<9Bu({ zyb;2gxEb;SIN=_E*mY`2{olhlAR(+N(g}CQlc~5R2ZYlf1=_ zC~&Y`e)#?`zf9*%-br8g>{z=^;Dd!-bqT|l8#}oh=5FQOQ&bvsi@iW7Q@P>D1owba zrf$QgOAI3O_Sh@=JeRq$y5a7f6SZZZeqYj=aOcR5N172aEjykBZ`d(qvd6(gW$&VT vo}_)%+xUaeo^_iAt9kCWhUxiVoIb?p&)6~%qdOOz zq$q)oFyDu10YELBWD0kJ+q9v$KXE|55xicGR000000NkvXX Hu0mjfegbbD diff --git a/public/images/items/diancite.png b/public/images/items/diancite.png index 6fff500867356520c44600671cf7ac92b0acc3a3..293d327524ec38d7c4a6c4075179abb4d7a790ec 100644 GIT binary patch delta 239 zcmaFQ*uXSFvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gE5Ikj6-X;6C|sQr^lVGk)#C1F z-D|$>UGi?p-fu^n|G!)EZp+bcN3VW+_U!-v|I?1Rn*dewl?3?(GXVJr5bkwb1Spf` z>Eak-(fjt|LB0bD9LyIqcb(Mv|9^J|vv~f4Nps(B)#ttV_{Pu4OCqnGn3Fu|f^;!6 z)55(cynGfMV&z=1H=Om2zr=+(&MXh+9b#vSQ4{efIdVgx{=wW0yh`;4S|&vux;HOs h$%W(jI;hGAd1jiJP0#`J_=t~JUfqAlz5-b9E z=UGCVlf-Tc0P8!roW#`doc?YKr%8YSN^qS1C_zP1xodm=aw Y0Q8EvdYK425dZ)H07*qoM6N<$g5OVJKL7v# diff --git a/public/images/items/dire_hit.png b/public/images/items/dire_hit.png index 5917fd02d9901845acbca0ed13536877e7aa9461..0c060710ff2c8852f700946cd96ea53c4b70f892 100644 GIT binary patch delta 286 zcmX@lw2oLk@DUZi=!`HY?xjyCGI3Teb*t;VVFp=&HuG~{YP7nuRa)&MaaztwaeLSru0UA2W|kU<|>W0<^JCk__k{?lPB*X;#N4!L|In z9+_Yt;2e{j`B4R!Z79EFuH{F+8+=##FPYPX%idQ=fUgG7A4A!8J$R0?*A>n-O`K<7 z4TW<%(g4p1S2zQDtj2K8HQxo?E$%NJ1;zoWd+C2Qk@YJmhGqZkDk}PGy#cg_t5ozU RQ?&p9002ovPDHLkV1n>qi-Q0F diff --git a/public/images/items/dna_splicers.png b/public/images/items/dna_splicers.png index 5a3c7fed75b313b29355eefc4231c94fdd9a8507..51c1524076efe17851c2560cef278390679cbbca 100644 GIT binary patch delta 258 zcmZ3=G?{6FWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DPzVZ&sxA(SN-AD6 z$E&(|&bMdHTlQW(d-d7>|Np(VCFMGaV$pl|(m|oa z3LGpKauhiJ{bw&fIx~*z+nsl%@iR2ys;|eh9oV^@Lq_6EGt*;BhKYvr*bbb%du&44 z0k%tg7g*k?dO1#T3f&{L!~BNk!ME#H-Mp=SKqVl#V~do-1l!i)eZRyLy(ACxTr<`+vZW2B(Yj|#Zv_hDJ zG5r46z5s-PU;7en>*Y9rdGgT+X1EyuiXxZ*Tr(UX=G~V77=Lcs{dk?S02+>Ux-qK* z7M&d`!N^#~ZRL?GkkXFFf;6kW03XW@70wW7><;0@^ zwoTSqfGqe6Y7$hWieMp zh2K5cCwpb_M$;sov^5jrY@&Z#r}Lb#T42t#;(*1>#cU7s8ctbb#76!2GpX}wYJWsaNQz^twY}n+uMD>qi|pmExhDm59D}E;pUXO@ GgeCx7J#2gc diff --git a/public/images/items/draco_plate.png b/public/images/items/draco_plate.png index b25df530171dac336fff67579abf75d18be97e4a..b4702aadba3091dc58ec5ad808f3fd3f8220656d 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~EqL4$$C42OUX9sws3G9FYk{FpF9LHPU~1_lO>k|4ie zhW`+7^;C!vP%O*S#WBR9_v$1^z5@yzEUt-v|MxF#Uv@}p_Pkqt?rJGQnor|Bnx1vp zHRo{n{GEHCMJ(p>QicctDNeE0UE&j1{X3dc8-+Y9PH0W$<+Mb6Mw<&;$T~EKS1z delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_m2E0v=Q}{FpG~L_)?4hkynH z3!r530gWUe#ZeOE7yKUr816OijRcBu7I;J!GcfQS24TkI`72U@f)hPm978Pp&rb5> zYcb$qnXGpDe|=Bjt#e6Ck4%DPCcFp=sSo1#+G;O+h-v?}=>kf9f?F~LCM>eyx}Y0uTg`7xTB%i=r`E2upx`^AMH$GP{ye2$lrs&?r>GD8lGB9|$ M`mwsKb4q9e0IyYN_W%F@ diff --git a/public/images/items/dragon_fang.png b/public/images/items/dragon_fang.png index 33659e5030775fbb07b68e95652e2a987e21059e..4a9904e0ef3755a19307d0cb4d959b2d796906e8 100644 GIT binary patch delta 258 zcmZ3;G?{6FWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09)DP-xCdn$q38cgdVB zYnI%*diL4bqu<^=`~UyHK*{O zw6;IBOr6i_Q8!^d{`hOEOH0$nH-+etZ6p&A%8fXff*+iL3zmjKR~@&t;ucLK6VZ CnRSK$ delta 273 zcmV+s0q*{j0-*ws8Gi-<0047(dh`GQ0O(0XK~z|U?UbPo!axv2`ziNrNPeRdi$qo; zu}EYkwz3k5Eg6zWHYcif?+`o5r1VJc&F)@r7*eTJkV+|ASGd$I#NPzCU8nXT1YDkT z-vIB|+9!a8>p30|?E(mNpDr6(=g0RwJb(be1*LkuhX$y@vVU#A`}_f7opgX!TGM}S z0W5G&0%KSB`859KiLE$nz}>26z6yW|pw9~+0kkH&R<8|Jk!*v=1hAcP{qAYMHr3_? zp(}KOHTO%0g9i*-AoC8n@#+!S%Jmc&hg>#$Bd~`p^r|I<9fN*{gX<8rn}AcPR{8+5 X3J3Bo1og`R015yANkvXXu0mjfU9x%l diff --git a/public/images/items/dragon_memory.png b/public/images/items/dragon_memory.png index 15a3cd170cdf83c13a86115fc613374f9386c972..01a14cadf3e9fbc2869c9926a35cdca4e0b75a67 100644 GIT binary patch delta 325 zcmeyxbd_m>WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0L4Z$)E09)DP)JIuZq7}?y#O;D7z@$!p>S_PjrLa@D&-o(Ylv3`Hsr-V&Ir z;S#!KZpWz;3m)%iNmFhGTPUHudaiC>;y0-cPb~jwtv~;E`e()`LL8-w6lLRq Po?!5F^>bP0l+XkKH)owJ delta 362 zcmV-w0hRvM0{Q}w8Gi-<0047(dh`GQ0YOPbK~z}7?UpePgD?z5ISN;*NTWkgsMuZWR+6Hd$AoWRns)pFQX~~Mc}Um>biEJI9-6C zd3A1keh2QQh#UeBcjv~%eFXFe_wm0)A_+dd-;CH3!0*RqmwzzB*LjKx5KaM>BTImA zhL(`^m*B3u`e@s3SHdLV=H7>t0GzAkwFFN?=cB*0#|0!@N&tv&HYHZ6!KVpGxO@&E z3C$MJwP%DH%kK~Yq`-0;eO3+&u;FCmq1Jl!I_-o*(D2a6l@ckdH*LcZT#sD}q{2-Cc;Q|K zm<0}_6u5a5^W`iD1wu3blmkg<+y_UgO6-@dI` z^X}f1tMBIA`@iPh|367Rdx6rNB|(0{4F93PoN4wIpkS`2i(`mI@7syiVh0pBSX^25 z{_kA;!+oCXt(04`VS&%<;+PJpF7@Hq#xxkPPx<&nSAoOX%tFWYM79JRb5)2w zQ7JC9JK%S|)0#sqp^ah@^A!#qsyteI=U!pwd3UM5_c~I&?{BCVQgi#oDtEn+W$VhA SnYBQh89ZJ6T-G@yGywp^C1Ae* delta 216 zcmV;}04M+N0qFsd8Gi-<0047(dh`GQ0I*3!K~z}7?UlU|fFKM;9fkRvhtd&P!4WLe zGD1q)Sb@j|QT_@q-`#g-_g*+K%Oa6TB!7rfinvaL8nm}MXUI7-M&yE000Qoz9v-)g zL=4_6kp^T1IEmF9Z4w@=0co>kfwWBm>C~J+NupXHhL;4MT2UpCJNBsp9Mpfmtp=>0 zzEwa2wjDnw@TFZYU+vUGp57O5mmklYWB1T5VD1UV0Iox}Uv9llU%3*AWJXSUtrqr0 S!c3z80000c;)wO5Ro*NH$-Z*~u_5c6>6R)fn0!nk0 z1o;Is0QnG5*C`SP6m9WzaSXBOy*kNJ?5F|j+0D06FGMuu&^spWsfTZ^^q5zCsA{Kq6r0?;E1SU~QQlr3 zvx!Y#&Ny)UHCnHqKdG4IkqC1Rqm4>kSlrp43x6`nZQr!K{mjbudJYuN*ox}tP>Dv;tT3GxdDDuV!qO=on@14TItJR*x382Ao@Fyrz36)8Z$O`a}} zAr}5uCtegftiZwYP^ab3fBx^6E^1`e-@ZQ0Cgsq&b}7sKSKf17x^3;~^7Wm5lfdE{ zp)CuhG_i#}3_P%Dnj!b1a~zL@dp!kg?@VRv^>519VLb1upA~0^0(-EO2a|b0p;zJe z%?z!Q?Oz&HI%dsgt(b7nk14(Qx7nw_9eoaGw7pipntha^BE^PlkFt#B-_T};BO5>H zeb7^9|NJ_9{k4Y-dhtIMay}}&DHOkVO`hZVPnNIJ@?H(=gP4KtXYh3Ob6Mw<&;$S% CGKZi5 diff --git a/public/images/items/dread_plate.png b/public/images/items/dread_plate.png index 4cdbb76f1805678391dc7a036698124d4890dff6..6537320bc0a1bcde32acaee7113fbfec8d4b115c 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~EqfkQ-rM@Bk|4ie zhW`+7^;C!vP%O*S#WBR9_v$1^z5@yzEUt-v|MxF#Uv@}p_Pkqt?rJGQnor|Bnx1vp zHRo{n{GEHCMJ(p>QicctDNeE0UE&j1{X3dc8-+Y9PH0W$<+Mb6Mw<&;$VI(oSgr delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_luoGdfnBSa9G$!GsMS84V5* z1wct1fjPT?6h}#rU+{kjV7S-3HxekuS>O>_%)r2R7=#&*=dVZs3QqKNaSXBWKRd~j zuf>3eWwP4o|MfkAx6UOoJu(TFneZYgq&|q_YpcERA*TJ?rVA+b32w<0n6Su(>ypw5 z##+%m3LPB3-uPU-@S5c{G`&MBb@04hXiga7~l diff --git a/public/images/items/dubious_disc.png b/public/images/items/dubious_disc.png index 8bb234974627765cf4fc091db6b5c0cec673a160..122958f955014704c7e6a6068261197ecd4bf5f2 100644 GIT binary patch delta 275 zcmZ3*w3umvWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0R)9~4E09)DP^gZ|ni5sLmto76 ztT{`HxBORlw`NN7nmK!qHm^Cl<>trCuqBi0zm@*ML1D)D{>KZMVp=zppo<7rVpf4B;EGr!FwVg9rd9vB@#IO gwXCG1r2e^{XcJ|27g!1t6#xJL07*qoM6N<$f@`vOX#fBK diff --git a/public/images/items/dusk_stone.png b/public/images/items/dusk_stone.png index 12ad19505d0676563c7846c3e0eda88d3488938d..e2cf73d04f3497611fb7ba553082079c510da9da 100644 GIT binary patch delta 249 zcmeBW>SCH8Sllz?EDmyaVpw-h<|U9L7vK}(3ZxYj6oMRslDv|NgQ~lu zrcB9NvZi{?-YI+Et$8;8!Qb;h6NWT2|smNoohMlcakmM;<%fiGnOWAvsg#@oNS(hhk zKa62*iAzYc;bRcq=I+AyG^@nvlfWx!xy1a-EJyY^a1_{Yl$*>YU>nxlr#(w>iNnlE r&*#jT-EZQ2#B5=7>&IO__s_8|f6glF&zWBcbP$85tDnm{r-UW|OWI_> delta 252 zcmVG{=!5cX1=fY-FD%}e$Z;oxW9 z)Ixw-Rf5AYxCOso)1GdRdJ+WZvy<>SE=K{ULc&D=18ZYXmBn7;51Hc1PG1- z6ff~81h@p>f>Q#e*>gCTa22rNB>|V^|5TvLF_Z!XXfpef0ATMvK9>uK3rMgF+}Z-S zGj9oSkk;yO>k^{6y?j!FAoAUJefz)S@298dFY*Eo7KukJ3nd2t0000L2V#Gc_Bf2N=ZsuQ9@EtN=i*qN=;f)O;S=(QdLw^Uu%0~Wn*Y(Xl-q3 zZf$LQXJ~M4YH)3Bb#-cRa&2{TZD?+Lj7dteTwQ}|UH5r=_kVqRfq;9hl6x3Igeg^= zD_^oMU$QY@urXn+F=f3$V1{3AfmC>~F=fUvY0gP`#Z-R7e~XxSld^b}xJrWFex=@f zs_%QM_ne!6pPYc7oPnR6ft;R%l#`58slz`?AHvB-p~@2%ti+uX(5+{oVB&fDD0+uY9H-_G&V z!{_VX@9*CK=hpZ4-ud_5|NGwm|K9Ka=lA#L|NrOz`|q?oVTb?#0Bm$pPE!Drp#fl% zumKBya!>M@0003rNkl2rlfw4RH$zC?Lcrf{L;T zHg5d?yOZ1!67Ia~`?{-ZYHYTt3n64u?VR^9jI|)n4WB%Sj;zEi03ZtxlFbF7{Ub}k zYG`D7$WkQ23;@}gy#O0R##OQM)hEGNyL+f`Qjmnujkk_#rixEGE2F}Z*0^A9KgcDs`t0J zrztEcduM3Hn2`VH){L>p|NrMHBq8^Cd)wU2ZEb2&O;T`eZGXeSsu&2q@Bin(!K%Q)tZr>>#=fQh``)*-q+f1 z+uX%)Zfbj~?=fMmoSuY(YF(|8d*0j5+uY9o|K4?VYG`hIT2VrHld>^oy`P+bpPYd) z93jELslmXgx@fwjgsShHs;!}$fxy0}-rvso_uhDvxG`zYl%9+jL4;pxdl)1+qMd+L ze#1dvhAAi^l#`6->)w8)-kh6&DOH>%L2WBvvPy#9AtWiEoq;i5upmKsAwhcp003A& z{Hp)}0Bm$pPE(VS0b!G%0SbQrmQz_&00009a7bBm000id000id0mpBsWB>pGSV=@d zR5(x7&RZh_K@P)%Y!S(&$R(RLqK%?0bRm)GGT;B*q*>ce4_^7d?94g8 zb9Mm!C4Ub9FfuS)u#8zbjuploSjMfq&F)~t&vgPqhy)0oyjkcsK>B}^0s&J_hv^~u z+2wX~HVCIZA{3B!hE_=^aLvxm+c^jqJP-=PqSshL4@=8FgjUFJNLG1C^7{jW1_fZP z50LZ?_;o0WVvq_7Ha0_{EwUrLy|cR)5u^JDF}hm^heyZg1fg&^9*>;Law5Tiv!tS+ z6hh}0>C3B(s%EohfUkd(%1tVj%jNUw+sqvSG6Mi86tp5jrPBR_O7d8)RB31M>64n~ zBjAb5tLk%^_6>k>{Y5J_UgfN+zBS)ldSeLSdQEG5^g*-P`lK}zAUj04-R^Xac?RHm zRP6P-9b=vaI1r4*D%Ig418@KU{r!WmU?l$lVEhH#WMW%UWoHex00000NkvXXu0mjf DQF(4i diff --git a/public/images/items/earth_plate.png b/public/images/items/earth_plate.png index d40da06f6b6d90ea0c661d0681bbe11efe92f4a0..79fbbad5a844f26d2046af6664d9373f85f92f0b 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~EqK|_SYgba@b6#+XYWL#L$@Lu(&4v{olW|ec2(Y+4FAoxvQlJX+DkjXnNLV z*PO%Q^LOrn7O|MiOBo^rq&US|cZpA6_3vm(Z4~mbIKf%{@GHw+&ky?1Dn6H!nbp5= qsBV!u!M$gps~mU9hLVl<(-?v-vu$m4^_&f~mci52&t;ucLK6V;RZepN delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_lc%0xqm*c(7x_jtLnPGCUe0 z9DtI7{p+U#DUOmLzu^B6z;Lg5ZzNERv%n*=n1O-sFbFdq&tH)O6rAYk;uvD#e|C~5 zUyA_`%Vf3F|Lc1KZ=FkGdSntTGvP&0NPQ5;*H(MsLrnX(O&3t=6Wo$1Fkz7m*CnMB zjJ2YB7z(l!tQ)xol`;+0D4$x-~a#s diff --git a/public/images/items/electirizer.png b/public/images/items/electirizer.png index 7d4488d0ff3f7ff17eec0dfc74e41fd192e505b5..a5589a27e42d6b0f028cc99a3de06f30d2f97205 100644 GIT binary patch delta 252 zcmbQm)XOwMvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gF2E;+GE#Hk%~Yya!72cf#MIJ#0K*pMoJXI)YMd`VvK;kEEr%R^V%Jz4%X}fawOOV zq$k)E1P|t%VO5)#L=QFtD5b#b z`5@!F2GR;Q0pM`y8bS-^eG>pIND06#sBX`{eM=l}n`|Nr0n|NsAjN9L=5dIU;>{DK*Pd}MGS zpxYTJx7*XjF~p+x?j%Q{!wMX(_055d%oYD{i}~y}yj6Sp)XeW}KVKC7Nj|tjf5(KG zQ+kCW)_h+V6~-oVBznVA#+_553-mq-C_GP`F*Es@iFCodya`$>A79h5*&#iJG3Y_> zgFF6LUpjYi7RgO+JbX)UUdy9auIB34QYoPemdKI;Vst0KXHSIsgCw delta 381 zcmV-@0fPS70*wQZ8Gi-<0047(dh`GQ0aQsuK~z}7?Upf)!Y~j;eT*%0g_L_0O0Gbe zl5*QEDLDddO3J-L$}PFVY-a3lO^hLvm}rG$q){M5dC&Iu$gXW$_n+meKoxjvfu?CF zSDOm}L_eQIza0?`zHTSEw?w22%s_$bPwy*;yi6d1hn=s70)N9I2|N7y;RPU(6;N>g zZ>(a02uGz7Sbx9+xa+>9_WSOsgi*kSQW63Wqs4axzMPLzU&q6Gfhk-`FmSvglsw85 zyq$o8>*pAxp~V7sYmdqVi+^h%1g`yAW@Wtq0;hvFu5~*4blL%Dk<}p-0ql7sJ_c`y z>;DWsH~M)2Kz8Gv@9)x|CSFhd-01BBfTQW~y)ZMm7(zFh_H4@ydq0I+MsM4O zvD?wZo)3YgaFYPPFfTFf`)Ec>;O170m&>|K9>`xq1~hn+14*vsmV%28Bqc|%dMd60 bRUoZDfuiDP!%&9%00000NkvXXu0mjf7|*XB diff --git a/public/images/items/electric_tera_shard.png b/public/images/items/electric_tera_shard.png index e4e1003edbcd45ba76b6d5bcccff8b6a85e0502d..2195be32929308940181ca6c46fc11a24ea9907c 100644 GIT binary patch delta 225 zcmcc1)WtNxuwE{}C&ZPL0R$$8GhCd_zV=%3r^o9)e_r?V``$b6p8x;<|H=hrGoUnA zNswPK1CS2^b)6z%K+zUY7sn8b-m8-w#f~a)Fmrowe&7GW|LwI8*N;AZ!rK&gJ^l0> z{&&|nmEC+B^+H5b4!vX2o_g47g~z<&LshOOQEcx7uWUXyS?bP7$8Lcmhb2FK7Uk{r zF`L-bN WdFEN+CmGj*yy5BU=d#Wzp$Pze;AgM^ delta 309 zcmeBTy2~`du%0E|(btiIVPik{pF~y$1_rqRpAc6d{r~^}JMW(V{J!_|=XIYRue&&# zeeJd6$>Bg5h7IYnjshvJk|4iepfU(x*mOqcJW!Ogz$3Dlfr0NZ2s0kfUy%Y7+~n!v z7-Hdnb>c;#!wMWM4|Q7p{OA9E>7qtf{q5`1Y*G%bYnQUzf8{;brQ6nyE??j2Hwi4R z5!$j~N)uby!@vWZrWtZCI>+%ixYtv__RdtsUjL?y9meyn`dM*yD6j`hc`%t56nYhY z-^|b|+5V+LrDN7?)`|)D{Fu^*W@{#|77_pE$`K^K8P9Ueg;ohKbLh*2~7Za CV~Fhl diff --git a/public/images/items/elixir.png b/public/images/items/elixir.png index 694b07f34b6f0faa525ac727cbf75d8c6e80360a..b4bf7834e176b50208be861f177df962147c82c2 100644 GIT binary patch delta 273 zcmZ3_w2*0nWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP{=ZL+>+(EWJ%P~ z=Hh2dn*Z;ebM|cWyLU^zeOvPX-qpxMzVm_VcuIo&f*JlJ0OyeaHK6!pPZ!4!i{7h~ zJeimkIanM69smEo-(fXVX4Xm5m)XEpF>;nJfMtH?tYWP|H=Ax+%&an{ab|)s3dpuX-Y-8LGZ#f z+=;GddZb8~uFV?9l*Q(KA1S4yJ;d7_dO-jL=8!qWt^i-=vwuF#dHbb#cW4~}3f;q; zWfsT`Fq=ZMdkuiUnT>%Lxy4f!%uBO3H3tBj0RqwhTrvO%%of7=*UU{b003T`rFHC@ z0ST}qw+yU>0Dwyd03f$t8-rU0)|k6yVCna}bPt#V;Mhq?0CV$SBhW^&X#i#St}mj} lG2HA;xXWX-Rv0bMdIEa+4U#30O(OsR002ovPDHLkV1g&EevSYD diff --git a/public/images/items/enigma_berry.png b/public/images/items/enigma_berry.png index 26c7f11ee9c7f3b6e1303397e03f634b1f8c7ba6..1a1a20854ed158df46926c707e71a65bad6577f4 100644 GIT binary patch delta 260 zcmZ3^G?i(BWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0bbwEYE09)DQ1J5dYHn`cvZQ;< zmMv%ZE_rtE=(lgr9z8vI0VvH`666=m@E;1ynPy)B3QqQPaSXBOy*tTK=!gOb3-gNy z|Ks;CFWb{`Z}Sw(Qg(sLdHZ=fcRYN^C&ODS`Q(ouo8_598!id(e3{oY?U;5$WeB(9 z8s?LCw-{-Zc%Nh0I$_550M;@`wR8U;9`#k-Y^`H)p^VXP_u>P=TQ*c^R5SGzeq7}c zvO#=X*dBH6go{~S%xel3ZD!mN7v`E|G~M--@9u}|kMrMCVv%1}zqcRgJ_b)$KbLh* G2~7aow{iXe delta 279 zcmV+y0qFjf0;d9y8Gi-<0047(dh`GQ0PaadK~z}7?Uq3b!yphva}>|xwOsZZIYPEs zcG)X*nImMIGQuyPVNwG9+C?20Fa~_j(HN&`#E21JMoQ`M*%iF++p#_GH6QC-v$+Jo z4Cm*j5)3y`DW#^Dus*qj4QNonmu0CL3FMsh5}yRnk9Q_uDSs2Nfed6oY_hreNC2M{4w-Hj50sw|lWw;imiP&H d#E8F&7wm429S~;MM{)oF002ovPDHLkV1f$RdLRG* diff --git a/public/images/items/ether.png b/public/images/items/ether.png index 970c9a27778ff4c600195bb61f43bc94c92a13bc..44a6e79de8e541e7f0dfbe6977a564744913b572 100644 GIT binary patch delta 273 zcmZ3(w2*0nWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DQ1H@BY7Xk2leMIJ z&XT>|NAIn9w&dv1Z&&|cefI3x|NrkMt9b&|@stGl1vC6d0L~);YC!SHo-U3d7QI&| zc``98aI*SV5 zXL$en&Dq}~4C&0CoE1gc_ii(>%{aL9%4vqLM|PgkVXzihE_u7}L}NtC+CCYX8=NwE zPOR1ftLI5J9^TzA^DX#&bwk5i3x?m>EpF>;nJfMtHIje R1_mw$22WQ%mvv4FO#tY4dbR)n delta 284 zcmV+%0ptFm0;~d%8Gi-<0047(dh`GQ0P{&iK~z}7?Uu0(!!Qg4J&M|_k}@Nt%nB(} zdIgs%vqDOb;MS!^NXy^_JP;6);)1jhKm@*V!9SWWTf@++*S}Q=L0WP*Pa;jZL7?$_ z5m}!}UgIo}%b2yKlm+uR&vKulJp|1uLJ)-JlsUwq0NNb-Hh;(K*XHNb)eoRGJE-73BV--gy3!|p8t}$X$A;@=1^&3*9>TY zn%pw56@maR86bdu{iQXyWnhcBYX)k+-`aP;9Dv78O9Pmj|5`z5CA$VtPw#poY8}Jf i?u3V2Mtk-0tQ8Lr#w1AsU+tX$0000V4HY2U}_wA&jvm=5oI5J0vtrC z0fvvjK6_ltDlh^g7%Z=VKWwN7Kj#jR970rpTQBMadG;`1n~vHKV0rf51eYH7y;Cp$ r3-SzzfDE2GkVaE*`Xo%HQh%!ho}gX7qF2Xa00000NkvXXu0mjfkTq(( diff --git a/public/images/items/eviolite.png b/public/images/items/eviolite.png index 8eb195ece2a38d1c86877a3e2667d7011223636f..8591791a5a1d76e6e2f99e8c08854720aa93c898 100644 GIT binary patch delta 216 zcmZqHzsWK|Ql6QCfx%@-*D(eL#@0+{=KxPgpH%?4=@LA16M1c<|%#oBt6&IgXMbzhH*{5ODQWh!IdM z+|$J|#G?1@1WUdH3Ia!NO#c7hVzZ0a(HzGp9V=;*q@L59t8V>1^M>n3$CPvDOX4zO z`JcBs=_T1aKRElUB4@siLxTSDgW(4Ki`){J{&P4!I`r2os`lqW=F}R-iC=`j2LkP2 N@O1TaS?83{1OWB!T&(~A literal 6019 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 diff --git a/public/images/items/exp_balance.png b/public/images/items/exp_balance.png index 56c645b70fcb4a1b5693ce70ed19d9ba08bb0af7..6a03556a3a269f8dbd74168a91fd4cb31d289558 100644 GIT binary patch delta 325 zcmeyta+PUhEdXLS^wivoG26eb9NZ^{(}X+Lp&L0XJCe zST9Tv6S=TSWc5)W(ex|VFD{+nbkiiESd8QS$xy-5d)Edg{^^JbQrR9W=Ad{WydvV` z3iAe)t13GiJ=Iud1TY(X>NwYS%G_YF^o-&yg>ea6-Q4(APsn7o`hJPAJ27-oS=j=^ znRa3CCqCxStm16EtAF+D3V|1s9o_dHk5^CRDts&Fq8A(Y_h%sgqs9NSKePG2WS+Lr Sd431bLkym-elF{r5}E*3GnH-t delta 618 zcmV-w0+s#M0{8@w8Gi-<0047(dh`GQ0zXMaK~z}7?N%X=+b|e?nFFthEX4ItKtkNJuI1Q}(Fq8d_`2@8;kwht@h2 z0RW;G2SigYCGW9tw=?)wGSqdA?RE=g)T=vHgJBo|0BM?H7zT)5oD_6%0Yz3I&-1W( zWGl-1GPpn~#eXwCqpB(xV^Eg#B=KYjV^B&Dl*P7ct)Yy9G73`4ux^Y&krkMlklB=a z-tw?902EmP+I67?@tQIUkO1coAs4<~7f*rKI;gkSCPh}bj(6Da_K;HI>Bm#@x5_vh zMOFZSJJpKWdwTExwbo7<1y(UMRdXs}4if%-CCq*dDdmCM z^+StZ@M8l<&MLs$=YRf8h{@wDc!ho{vMifCV@?*Jck(E~q8CS@8awH{i*LC#T7b1S z@weN1h{g&SBcHqtul=Bjb9C`#bj{b)M~b=OhW{780kmgq+N8;q-~a#s07*qoM6N<$ Eg0Q3{p8x;= diff --git a/public/images/items/exp_charm.png b/public/images/items/exp_charm.png index b42da73301ee451846bc9a6876b05519a40c69db..2635e4d802001a73419c109dd72613f6eb4ccf95 100644 GIT binary patch delta 346 zcmZo-e#JCFvYwfNfx%@-*D)Z)SRCZ;#IWw1%u680FTf|n6-X;6D42y8m_?OZ#@5@! z*SRDW1Z7tLudEJfS)SUpFs*w*M(4teu7yFH{s(RO7qsnv)UN;S{ZpoG+x5S9%D<&c zns5E@zW2ZT(ZB!yzd5$8-U>8PswBuSnBhMJ)I(_`iaqGB0#Ml!PZ!4!i{7=95AroD z2)IO+Zso|isCDW8|BG20J^9Z~GMURf(${SRgCrTSl>-#@>mUYFoUP7pUXO@geCyRC#($s delta 370 zcmV-&0ge9Z0)hjO8Gi-<0047(dh`GQ0ZBJ6F8UBI=jgpd!c-?yh1^7397u8l=SyyW0|0?f z1$Pe+hGAYPP+*cxfHE^<%oafDD9=E=0$lWUl>#RKrbXx^1%KC!7}C4oKL~FCz{i5+ zD+OL>fQ{qdlvM;G34o{00Pznr0F|jN4clF1fUr85d&cJ{>TVGG3p})z!1~<0=4#-r52&8Q%rIf zXb3Xvy)RL1O>015)1Of`3rRKu*FMv&1KjXGum>QmBO2GvWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP;d-#%&N}1cdxj4 zN^^7boHcvbELpO5@7cZo|4%u3^xm^)|M@2NZ2~IgEeY}qX84Z;bXgqN0woT6x;Tbd z^xmC#kngYpk8|NA2gyJGzn?q#;)+xK)!);&h05Z4W?!=B`=Ik+>s{*&wJnch0&cL_ zv0j)UCURku$m*j$qUl$zUtBuD>843Su^7kulc9pA_pS|0{L>K=q_RC$%t7%$ctym= z73K{pS5Z9%X?_7QXPq|-rN5;_4j!;V0W*o1tGfcCMrRR|uN zc6^75$prMny*#=@vV4#_%lQpe%$|s;wXhrO zqy_iJ%Nw&=W`3?2w+7dlkaX92B0Vtrftw9A_kyQ1qos6SPoN~J!CB!V@@!?LdlVyJ zyhBn2DFUQRl_o~f#l)rRUPw9v9tj@Dv^`KG!7{ALr8Qnu@vL=xoAjpsf(;w?S~~zX XDTHvvxAZLl015yANkvXXu0mjfuJU;p diff --git a/public/images/items/fairy_feather.png b/public/images/items/fairy_feather.png index 64cabec7500050a8d57e45c9ab2cad8aba9517ab..44923a1db94ec228859da2066794f5a2c6359943 100644 GIT binary patch delta 237 zcmX@W{Eu;hWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE0EUE&}h<*KBM@p|L;8ZsF@f5RKZme)xO h9{bL^`(gYE&W%f%`6lXZzXWsygQu&X%Q~loCIIp<*F1KH@N&lc1+pg-R3UJgL3z#g?hcf`wW_^Ryfgz~y>0f(^`$r+3o~`@$!n%5M zF;c2R^ycfB9e;OgNpG7l8HLFb>UY+2=M_>R)Mg!B>o}@01aU2Y(0Wf@;E(_mO6bM* z+I~AOLoQ!HGHR(cw%v_ud1-RFHk>RW8AZ*+9Lv?W2WPX%5=$4L4`-S5Mhe zJmu(|Eqj~)f17gkUiZ7RQ~qCF^X=Z=Z_m!Y`*!a?5Jbtb{R8R|C<*clW&jBwfdc{E z&Oo`no-U3d7QJ^Tc?um?;9;rP72C|w`TxI}@|zfgAM?(f485zG{m|l{p~@p>s1a_bO-eA)u{W@^!A;sX?aP;HyC~#v{|Yf>9VDG zZF0*_=GO;*L=<&&Glf0cHHlNZE?~!bm9uLtc+$JNViUhhZFpk4Z_4%O-%kHzxH5wy Ur#h2o70@dTp00i_>zopr0CrcM+yDRo delta 370 zcmV-&0ge9K0)hjO8Gi-<0047(dh`GQ0ZBaDrvA;zR8Hv$^Y>FcAksH&>?Wr{421^!x~EKB3c?g9i| zJ7cC{G5p-Fvl-7zl*rd$fB;`6^Y+0tifkr;n+-=};}gI+Du03BLL{Q$j7xxU3Lwb> zgiq~kqpJWYBjHWc+0=F8l?W18y3s~T08Su}CAdF4)20Y;^c0|kE&t=2O^H!z@MZ!M zj!3xtA3zeCETHH96-Q&?TmmU@IrX+GNdhuxJj}Hoy)HZ95UEot03d_Xv)Rz`oPQsD zZS<=Ggz}k}9c#~H-SM*YYoiaUfP{0=!8KOK)%hWFAKrut?pkuCM9k=e9z%@s(+fun z#KMCFa6{iqhZ0fwKD4^H;T{a}HB{vnEv>{2^g5_Ot7RUlRcNo&~KcM{0 Qq5uE@07*qoM6N<$f*) z{&&|nmEC+B^+H5b4%M-SX|-<+o@n#Din*yH(+s&6o#S{M-0LY|duJ+RuYXg<4&!-O{j4}U6xf5MJebT23cU)y zZ)RwfZ2!`r(lKi`YsG|neoX1bzs)`c?&xzkqwTf&)$F4T6)84cdz57~|Asa*9NG9m z?}MH?`{&o;>#sdz(2M`6kn>UDO`-U`Yw{e=f3kd)miKB{AH)oFKZB>MpUXO@geCwN CLx`3D diff --git a/public/images/items/fighting_memory.png b/public/images/items/fighting_memory.png index 3c152f439006cc94021e28b91a550195cbaacc6d..13789836880445a50238fc4922e203af011de223 100644 GIT binary patch delta 325 zcmZo?zREN~vYwfNfx%@-*D)Z)SRCZ;#IWw1%u680AiyWY6-X;6C?q9SKPzUKQk?ay zS>o9g%e~#z@0LWp+frR!J>~40Iq#0n`F3^h|98*+|NpO|#l9b?N1!CgFPH(yM+OH1 zx}AY?+dW+zLo9mlPC6)bSb@W(zWE{t+n4|Uw{>S$8_cTSt)6}_*zxAJdY-Q~3D=@} z#kn?Q->KA7=32kROwL&J1k{N9(qFTTv4798>7Oj}_RkUjdy3T8Gi-<0047(dh`GQ0ZvIoK~z}7?Utbu!Y~X#_Zi6j!X&?foWxF6 zBC(T5BoaG`MDh!hlh{JKri83)S<8;&uH5Aq+ph1WO+&MyD6(HhmIRW(Ukl`Uu6?n% z0D`*XMt7Hk)?I7jerwFVIU?cUvwFelhlzYm00wL8wTX`cWPc{45_0%%B@%G(=QD_C z0RykHUce)PS-YvXV5MpkWvNCb4`Gvlj#$=ZtqFjER2^nAPbIb4#xXd8Or ztnH$}T)0R81~ff?L;#*+GnxYzw_+T8@Zaz0`HLJ#d@VN?9CaXxIfA8AaS})ZJRYHr V!tWjI*}wn*002ovPDHLkV1l5Bul@i4 diff --git a/public/images/items/fighting_tera_shard.png b/public/images/items/fighting_tera_shard.png index 4241a901902a92fe58d4dd9e96876fc6019c5185..8423a41cbe8ddb471be660b09c64d0afbedb1ef1 100644 GIT binary patch delta 226 zcmcc1)Xg-(uwE{}C&ZPL0R%SLGkhyxcsW=7JY(;1!fKvB*DkH}&M2EM}}%y>M1MG8=Glc$Sg zh=u>vi5GAKg0}pJPX2`wh9LM9}UQYqrJ5w2Z{hKm&7|*-vXT{l}z#c5+!DL=g=vDZA zGefIn`$&&wPoB!XN^Z(i2|L^Yo|NsA*G=CRRk3dO~UoZoZj|>h3 zbUOp(wtKobhFJ98o#ZHXSb@W(zWLY!#}EIuzfG9cd-2WfoB#foIBb6_?`*68W5cy6 z;#?Q&LO230onc6O+4S-Z!+)*^TkTkG1s5GY(@@N}*m1Y?A}y{MuO;m5ik%u3aU74X zYBbrgG^(baiB8 zbaixObYyjO^c5T(d4<|*`jg|VaHS!}q$Zbu7{2eW*Rw@cRmCr($O2j5uLa7oG@;mB z03dVQ8#6r3_<7xoxz|x5tH8t6!=IO_02k?ZDv2og2)0?8M}Hd@pnDQfO2otG1UQ_Y z*+>=`;Wir=Qi7le25y?Oi@I)RCDZ~R5(G!KxMtwKZC#uW$MpgnK9L}xUtbE!Qi8V= zU~v9B0&!@vz{lDn0*yuY90-AX*SV^!78o0jH=bQOV diff --git a/public/images/items/fire_stone.png b/public/images/items/fire_stone.png index 7fc77cd5975f0451238a0a16eae6b8de8d23a975..3db1942dfed0d1d791ff82795eb33992cd26b113 100644 GIT binary patch delta 304 zcmcc3bbx7sWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP^hj}xK}LjZHnQ& zvjX4V87^7kb@XV~vuD-+|9Ag?H|PKVcLxtmm*ba4!^ z=)F71oA0m!4{NjH58?a&_tZ9Q=Jcz-9y*_8wj{HWU0=OV=bog{z|!wAnpz!)3>F^I z&=6H@yk?wOAmMVUI{YTfhu1~vX$3c1AB1O5R%iO*!LjJ+N!uR+R_aa(1=YffZt>U% zGJQ{D`bP0l+XkKC$fhV delta 331 zcmV-R0kr6N=jOyGx_G@U`LA2r142#L6(yD&Vj?1ORikGBC0IQC6wggacoTb{${V2 zWwJ>k0+ca8^jPy2=(?*7 z!+A%d1VV7Rp4)280bEUB2X_(@z~|2b7VZ(Sa7REQe~F$z2uyH!^pXmMIuD=Lbit<_!TxgQ d%a!ZQdI4Yxg22D40u=xN002ovPDHLkV1ienjSBz( diff --git a/public/images/items/fire_tera_shard.png b/public/images/items/fire_tera_shard.png index 74a04df16804ee75e7a8a2b7e3735362ea522f1b..5783a5e9720cfde67a0e95372733bac1e1e8c51d 100644 GIT binary patch delta 226 zcmcc1)Xg-(uwE{}C&ZPL0R%Edq;{!kyq}W%_iN?ntrK7D-1+kO_5c6>PYzl<4=Bx5 z666=m0OUhJU8hJGP_)(4#WBR9_v$2Tu_Fc?%!iM=-1&cKbwzadm4i=T@Us2hWfz^M zzav_`N5YhKS3u|l&fVN=0{F6*D^;B1eEsxZv_!?O;PY1gStnH3b)6pYr)!)KH!)GV z;lg!DSxDD{_1&I-x|Z$^?j4NV80HDtTOSJgwx40=vG6C8-1be&+s~|gPd@Wd{CfGr XH<(-Q`3p4wUBuw&>gTe~DWM4fe(GaS delta 309 zcmeBXy2~`du%0E|(btiIVPik{pF~y$1_rqRpAc6d{r~^}m&dPv-a7Hc&Yio|G%`h` z{(h}|KP4F`#d6-W3rKO51o;I6l|cZ*rZYO{fufuR9+AZi419+{nDKc2iWH#WCQlc~ z5DWjS6EBJ#R^V_}6kGED|6$+qEYY|1+pg=@ewY%|yy8v#m)#9tJ_#!Ri zY0H8sO=)WmggHc>p1~NH-tuvG2dBW=cc&Vj`8Qk|4ie zhW`+7^;C!vP%O*S#WBR9_v$1^z5@yzEUt-v|MxF#Uv@}p_Pkqt?rJGQnor|Bnx1vp zHRo{n{GEHCMJ(p>QicctDNeE0UE&j1{X3dc8-+Y9PH0W$<+Mb6Mw<&;$TA`%c;b delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_mbzB7Q9B__1TbgN}j?0S+@f zEP#?e-s|Q8DUOmLzu^B6z;Lg5ZzNERv%n*=n1O-sFbFdq&tH)O6rAYk;uvD#e|C~5 zUyA_`%Vf3F|Lc1KZ=FkGdSntTGvP&0NPQ5;*H(MsLrnX(O&3t=6Wo$1Fkz7m*CnMB zjJ2YB7z(l!tQ)xol`;+010queEKTuXKL_pJ@fP(lWGuSv8Rdx$JI$3 z4m0>xd}TOsK*W?G)x%{=L!<212?=X5O50~IkX1a(m(v-uYW63aufHQ7e|@L_nrT5Y W)0RiKPd5Q=XYh3Ob6Mw<&;$Shret^k delta 351 zcmV-l0igc#0q+8k8Gi-<0047(dh`GQ0X9iQK~z{r?UgMagD?!mgX1X3N+d@>a*WDJ z&PN z-{-V}h1;T79Uo~`*|-ac7y#mD+)wA)Ek6>q#WbUI1B4)bvY`BLPP1jqUxloE&IPy^%FTFals~T;{^219JeY0l|gc zLmA+NGWTz1004xuXBdEK1JRj#wj_zD58NDJyERm1Zg4Zg1+2dUAWPVcHE%#J!6^=K ztvO@BAcl2x4_MfD^AN%SdhdD`9y7-dS^e?kW)FM-aP5bL7l*MSWuKrJU;%-Pvqv#! x>Gfwcx7yq9c&+SvW1=S9EAnlB00<5Q2cEkuy&;?!m=pj2002ovPDHLkV1g;xnvnni diff --git a/public/images/items/flame_plate.png b/public/images/items/flame_plate.png index 26a56f1846291ba8094b20e192ada78d0bcec27e..7633773eee19ad3fac33bb0b67686bbe0cd09963 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~Eq!2%AB4H6PJ0vvusMEq!I_%UNf=?udg3=9k$B|(0{ z4F4hE>ZuSTpjeiti(`mI@6}0;dkT{_kJfzU+|H?0L8P+|^QqG@r(MG(GFG zYtG^D`8)SOi&)I%r3?`QQk-I~yTm83`gb&?HVS!IoZzf}_?2a^=Lh|06`#w=%<5k_ qRJTZ-;NG*)RgSx4L&?VbX$(P^*|xU2dd>z~%i!ti=d#Wzp$Pzr&rRC^ delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_n0*9DX!3{FpK0M?}O135f+9 z96(9S9Iq!pilZdRFZe$MFx+e28wnKSEbxddW?0J1h-@gOju;YbxG+2 zW3A{OhJq{w>qc(JO0f-GlMbwG+`^@IkTZtk)aC?EtsG&W8>%IZ+#6e>75O+tma**I zG;cxE+v}~TIHx5r)iWIx3OSLwNIrqL^4aDGbrH8iZ+xy^cujc9OwqlK)8&EAWMJ@g M^<#Be=akR{0Jh&}{Qv*} diff --git a/public/images/items/flying_memory.png b/public/images/items/flying_memory.png index d4b31e2c240f06ad35618f21b5f4d0760ecbe87f..8d3efbf140173a878c24e78cd9a0ac88a38066a0 100644 GIT binary patch delta 326 zcmey%bd70(WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0L4Z$)E09)DP)JIuuCAVvHKn_H z@7_6Q&u%$;Z_T}TbKd=5^X~uNcmIzbJ$m)q|8L*^1HlJ7yL~`C0wqCy!3-b)Byb?0 z+Ziag!_&nv#G?1^BuBBs3LLEU%^4vaPyTJ!osgDn^7~tU`n9MI PzF_cl^>bP0l+XkK3x$>h delta 365 zcmV-z0h0dK0{sGz8Gi-<0047(dh`GQ0YpheK~z}7?UpePgD?yLc?w_PON{+Op3s$% zCuHoJk&%&=CuGc;;s_VZO^G2zRiz+V0=3PZ9oM94nx^_?R7Ic&{Ix(`*FF}P3n0i? z?je%10Opq?B3~1DftTnP@FxMR#D64|5W``ylmLaB_48~2 zSYQ~2AP|#qtOpRRR2QOc)vknC;7!7A+2TC~D`P_3y8C$n3a1hPq}>i#a`0sW6i&Yf zAPUVEz{cYdYbGaoKZDiiB`$=-{bP%}86dWK0H$zJp~+2wXghaq-yupU?bD4kXc$n+eW3kmMY}%Bi>r6agMj*1rg`xkxTC00000 LNkvXXu0mjf0qddx diff --git a/public/images/items/flying_tera_shard.png b/public/images/items/flying_tera_shard.png index bee18637918700d2a9d926235119040bea62dd08..97d3013f70b81e0b76bedc90cc202b66276c88c4 100644 GIT binary patch delta 259 zcmaFFw1#PdVZCC2PlziQ0|;n@EOlylbbbAcWBcE)K6QWfp=Wd7Kfm(n{r~^}cZ$7| z0;=FH3GxeO0P-P#A)sVZ1Wr zZatt?sFiBDgsq~`bE}M1MG8=G zv!{z=h=u>vi5JBVD{wd~@_GIKFTbb0#C>(f_Pu#8o0mV4a(Vh=(S6n>)88`)UR}M9 z!Abh5@B-GQA|}bKa;#If_DBkpx=HN!@@aVSY#mR=KbDR*>&Gk2Ua}}O+0D4r!}5V) zxxdD`Dz*g%$&=+KFa#EFW?+B$lx2f?|Nj1e9CMT%dc&ubU7ec5V6(}VX^(P_=HI1^ z48}>(fA~I3Z2tLm{p!#g4Y$MV8S>sT?$~bqA*`N3=D6^3L8ZwLxL(=gTe~ HDWM4fw{D49 diff --git a/public/images/items/focus_band.png b/public/images/items/focus_band.png index 830e12942135a1ed8e037a3e37c2a8e64f47e4ed..3a04ae17023fedf32068f6824503d612db15748a 100644 GIT binary patch delta 322 zcmaFIbctz#WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DQ0VsZ+8Y#fHYw>{ zb@kD1foE$B|KF?LySMrOk~LSaE_wHE@B8w7SwN+{B|(0{4F8dUE{o$@pu_=B7sn8b z-m8-y@*P&-XyNXNy7SxqJzv_iEgALo`O~M&xD)Qzar|Sw(u<4YFB%ns6Q9*e8zm~HM?@j-XR$e)Dyt_Mar#LXOfPg#Ebaf{wxhS6wLImCMIqw}gLxC&A3r!E z%5ndBzg6^|W4}|5b$MK#aN|OG<&NBYOr@nNOFm@3TM)HDK3p@%_=0uMrLNVUw$mNB zt>u@lYY5NhtH`uuWNBbDKedzLLh=FWz@P&%^*;5#wVun#$-nJ?#hW&h<=CZ@lNo`& OVeoYIb6Mw<&;$T3Fp?(# delta 350 zcmV-k0ipiV0`3Bk8Gi-<0047(dh`GQ0X0cPK~z}7?Uu0(!axi~8G#Y90&ApX1lFLW zWQ~-pkdl&;mXb0n1RV6xKkE`fa3Ue)Bs`XTGqd=q9|I8+2Qqeo5XA) z4AfSqw%PAH@Ubl4F^ek*umH-g!X|YE7yzCP%08(Gs0gSuh{GV zlA!<3g8nx*^Zd@82$bU}3GxeO_zwYBPlXr(#riy5978O6?@n?QYf#`|l@;9mzqk3+ z7u9Y0)6O1g?$@kc(NG@eCC>52vEl5i%z%mc)I$ztaD0e0syJsa3lZ# delta 275 zcmV+u0qp*a0;2+u8Gi-<0047(dh`GQ0P0CZK~z}7?Uum}gD?z586_*QMvqygBd`i< zbd?@Cc7;@-`jKN9;wmQX!Ipdh$^YTR-%OK-$3I61At8Sv{=DDz)B;f8Zs>0SAefe= z$}R{1q&1!v%I_ZYyeEg~2FT(_sTdUpK+ac;CCwmsAxRw1?SBEbPf`&{+#H}lY&8UL zIq!;@_|bSBjoDdeh8Wf`ao&mC?jhpbaOh>jnO`a{IbG{cn2F;nsjy~*O&}e6tLIdIU;>{DK+&qk;ng-OfO{ zCQlc~5R2ZcmktUYR^V{04_xT$!ua$5eqA-a+PfvYIBr)TkvtwW&vMFVQ}-hdP4Cv^ z@~@k<^P25~jYcn8L)QB&c+Pfp@gr95g6uaBx;THN*!_;XP@yU?@g3s9*-vcvII|h(98LyLS3j3^ HP6u6$ztdT=EL?T{kWD6v}=MTcpwQ6;i^4=$#!@(&%*39Xmm9R72g2&0F zAv%pf4Qjz%pCb{#fB@}*WpD}rhSb1#FN0HnVC2@70@B&<34DZ*!3g?k7JUIV0RZny z%l;Te66+xhrNGdCLO2enOdwu;Apq#~%pqL10suk+p}-rufUyb`kqBU5?l(dhT5f|} zfG|7rCUBg9f&Hfd0pA4pO!_~tv$O&P%dcbGyWdalfvsAds$QjpTn6?K-j4tP002ov JPDHLkV1nK^a8dvO diff --git a/public/images/items/full_restore.png b/public/images/items/full_restore.png index bd3ebfd3022346b705fcf4a111ae9da0bedec74f..ba64f2edad82328d45724af0ec995222df98e80a 100644 GIT binary patch delta 277 zcmdnVw3KOrWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DP>8BFtUjtRWlGYV zXO3I8G_UzTmrpv($JXX!^@hn-N|MMCmPUqJ!gd+|ADnnsQK=L#VdokPK;My}?9hPtr*n>;tH*z(X_yrCD^Hq>WGH1YgaDN6v##8{=g7X+m1q8qn z*!ddnvJs_`G?d0HqT%|p%LrHmKz+qZn5_b4%FB-fr#AwZRk+NjFA3g=@;%}r@GNl! zumJAe-{%@v0fe7+euWw>VD>8FHDmzfATB0T54kF$YISkwrIUGD{lt+C4DJKM~$yrRU00000NkvXXu0mjfN0)#f diff --git a/public/images/items/galarica_cuff.png b/public/images/items/galarica_cuff.png index 1b3f9c69296c2ce2573269220b99e11a4aca9f06..56523da5230d1aec5d8cf0c17152357392f1b29a 100644 GIT binary patch delta 953 zcmV;q14jJ83E~KlFn0EEp*?5Gy(!7%V9eI3OS( zARr_lDI_2%C?F{$DJdu^IWQ?fAP`C@AVDx7K{h2pH6}qgB}_jnPct+KKnNH>2oO~W z5LFNmSr8Ce7!_s{5M>w`c^Dvl5IK4k5KJH-NFX#_WnbyqffT{Lr5IdfMzbyqoX zXGyvW_ z5Sd03oK+B?T7MOvWfQk)8-q|QtXVmWZZw>AHk@@lpLjW+ct50JG1W*A-b@hQNEpae z9@|2s{(kSKQV*+zH%P>?30Tp<9_V;%%fgG%?jHZB(FDc2zB{j9DCoPeKqqw+P6IB6U ze}86@OQlYUu0ErhPXSlG}|L_}X!rX6)19KK%tu3+(nLBH18SM-r>mh=Ce0;U0 zIVfJ>V{vS3G}n!81DeFjSKH8_t7{d(g5m`h{&3y=XzSWqR)<;moKC@^y6!w6(3HV+t%SjCAuE8TcDJ(Nypi6jm;FN~|=1#m>1Ehk0 bJc$4Rf+}FMCuwMZ00000NkvXXu0mjfh2eM= delta 1049 zcmV+!1m^qV2*C-EFn<69XF*Lt006O%3;baP00057P)t-sDI_T=G!P((5O8=`AV?q} zjSzRE6wSIAN+=*0c^J*M7*BE&DUBF8AP^8ZAY!}ygRS=dl4Vgw05LpBp@p~9!f|UtXVlABp@*?5Gf!SoOL|CjX_sOF1L*|byqo zG^BMwb5%Kea$lixM0Hm-w23*SaY0u`E1!5db5=H5NHL^!N^@5^QbH?gR5YxCKPf06 z00002BVh0V005A5QchEo0Rn-O5CRT=00U*`hX4Qo32;bRa{vGi!vFvd!vV){sAK>D z0scuuK~y+Tm5}>a5*#?+>$gzTeNebN2!}ME?f>G?`UhA^JR{|tbo&Xa~D!y|<48fq<+3 z#(=RjVTPN7vK$;59u5X2??`BW)J%j9gSUKgaLn%?8}dq_(5Ol512BI3jyf_i5e`pI z`sBO!?oT-lA5ShAfACOMr>7rkbvpEb=l$yly5Hegj2fTgON%xwsH1AvMpMDqZE8UJVMAi$zS0LK0Sv1P%x T+)bgn00000NkvXXu0mjf0j8=M diff --git a/public/images/items/galarica_wreath.png b/public/images/items/galarica_wreath.png index 7fe319f20cf48d36aab722d6c517f8cf680eec2e..20356bafd8ab3c4c009a71546e3d7d62bd584934 100644 GIT binary patch delta 1112 zcmV-e1gHD=3YZFzFnw?WgHM~7#MjNF?I?zd<`vO96V+dAbk)# zcoiT>AYWP)M|llIeH&DL6J~E1Rz@*WNHJPSFw{bxmhzc8w3N)1p zIhhC`i4Y)-5HXPuIhhb`lM{EN6m_c*bFvVQmHn5 z42YR=%JTDzRq-=0FXZRPAzxOO>np~}JKOVC}z#Kz__QB#wZm4kzAnxZowU%o$z5+*OU z+3f5re=IdMbsTJLij(x3{gMG?{E0GdW;v)t# zK_|$dLfTWtR9G0u6LjTwbCal5h$zXbf~c^!fA=X4m34K6xtgCrM8rnjQ891Pid=}0 zy-!ABs4K|tFjtGHPne^a7Y0)xmb<(>CsLQ6zn&K&uh!L~v_LDSC?uI5641++FDnm^ z%*|cQ3-Pp?T8mP@mV6Np4_G~KeBPq6%-me>qGjcroIE@&E#0cKRi;hzVuD)8TNsv? zf0^m)o1R{ta)u%GAQ)QZ|sUa64G4T85W)v5t z`{w%k+S;njZEXdbKh3ZSDXzHFmY4bz&kr=2+F>+h$}|f*W5XsPA%r}CTJ-Ye89ss8 zCMJ`uG&L=zO*b~=LXrnrk_$|5W@b!YHs&)LwS|PN+cDBEFja%n5R)>@N+=+fG!2*>@|D9?OGzdRK8?=!zlyxzraX~>iC0a-^ zoN+<4br}DZTAVZpF_93QVL?(nFCWc`Z-gQ4YLlqEE7(p~CN<1kx zF)0vb7%?m)>)Us@H8mpHP)S5VR5(w)lG#_&KorKqEuCPCq-aCf8f{6X zKwV0;fU-zYfi57#r66LdN(u@VQE{ooeJ=<~RS*|YoIlgdBn1vW_~1EyXC7we`~gg2X6XQb0Am20lMA4oH>3ezG$NM4dD~3pe0s4V9oTMUk%1{F;JExP z1O*s_r4XswvD0ehaZwR^kkdXd;Bio15(?G8spg(z7| zoX$O!8lnR>msnL@T~p(B@2wC;Yw5oIl?OZ?LQnue5Nf>#5BYq5b#?U(KA*!O9yXbe zG?Hf_05mm8lDD~~p zdSznLg!WV3=8n^y!9YMgg~H(XcXyrX={;*uU3Enwa$o#$d{bsi>N#B>#GrF%O z03dbXR#t4T)gM3Cc)q-B{mC?dAZoRMZL7c5oS5G{bUKg~WItqGTYx|HuK>os0Uhel Vb>mH}ga7~v002ovPDHLkV1gjF<$(YI diff --git a/public/images/items/galladite.png b/public/images/items/galladite.png index b204209a91c007157e735c32c745be89e5bf281b..15c93cd9c7eb0565d3fd437143886cccfb45af69 100644 GIT binary patch delta 239 zcmeyy*uXSFvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gE5Ikj6-X;6DBMdbo>JW$wPZ@x zmL=6&*4&%3x%KoV+pWY>^Wq9(E|DtFW zffu3SNlYB#DHCs1vntddVhC#EIAGe!AM(V2alu8w{ACnY*xI_+c5Bw- f{`(QvtPACC2QWuIyU23`Xf1=MtDnm{r-UW|$SQ26 delta 229 zcmV*0`>ur8Gi-<0047(dh`GQ0KG{>K~z}7?Uf-8!!Qg*dz74OaBy_6a91cC z3@i-Y5e7p83j;^JeQS{{Z&gX1X_BAx)u`mZxKTO`j^jB0N(g~ux)+~Pq-nfRIiC61 zMFa)47Rt*)b-r;q^0;SykC;iw@P4sl`$1YT#MlY%76Ax f=w9qNjw47;zWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0bbwEYE09)DQ1EgrUNR-BIBUth ztIb!hu9-9C?9sj7E_^Az4V30A3GxeO_zwlxh2v7P#}lU`KO9yB9jO#BdM>eQ zO}GVr!dK}vLM|M$D7EC{{c&Lg&!F950?f#CsI@`bAszbO%2$kgs-yu*o0DmV305pxKC?v4T!SQT> zrG^89CQnNOXVi@>fLFLgX)^rZ3b5M+yabz(3@gSjCsY8dA>9Dd+G8?00I>;m7hsI< zx&dI4)CD$Tx+^%&zR3pAx)Ok5GD~<~&xRrZ)}f>>5MuXE&=ZjL285mimI&eYUEoA) zLd$NoTmjraMmbDk^@2jU9K&mFq@Ax$RJj{ibuVK5R){JqU%Q^Q3u}uO|HcA}pX07}T@VDpzmifCPV?eCjPlqnB4s#^ zO+-*I&8w946_g`ez8=>RHwiAUl-y3@lK@McE}-Se-uLwt;9Q&q5SJ-f0gf(2E8!+^ z`$ED+U|#N30$b2ZumJ9LT?g+bp;K_(1v~{i2?!uAPj4ky1m*fwbS-BI7SZyb{S%rO d2SE^=%@a*8Q1zLd8NdJl002ovPDHLkV1nzHTfYDR diff --git a/public/images/items/gardevoirite.png b/public/images/items/gardevoirite.png index d29ee3eab0322e8f2a7adaf5024133f3335c8e02..66a90b93bce142df0f563ebf1d602e8466322f85 100644 GIT binary patch delta 236 zcmey#_?K~lWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP&jIsy|%bIXm4@U z(dxa`YnQH_Gv(aUrO%FTJ^KFIwf{g6pp>ZvRLWZt-Cs;RoidX%Jqx2vwy8} ao>^6e>Gx%=hMz!t89ZJ6T-G@yGywn)&}6d! delta 232 zcmV%t8Gi-<0047(dh`GQ0KiE^K~z}7?UgYKgfI|AJxZ>ySFzkHSX$;9 zmbR8DEiKbpdIVdKF!HmE48wwrlVxE(d<-G*pWh@ljmzb7{i{LCgJ*^X@j(heumtD&M0000ptUdIH`Q$kcQAyi;MEa?-BxSdf^e z+J#9|qQV^(HcVNvYM!g|qHKpwyXMy%8_I+3+p#$vdCh#MeSwbtyP3`h)*Eli>|~5; z>@Yi+*wc7%>*DPCKJkfyp`!kuo@uqG%{Tb^V)p%quIG|BeGdEb@k;gk+ZWWgOMgsF d6tA1bzV-o|I_JG-6M(K{@O1TaS?83{1OR`Gg%|(; delta 301 zcmV+|0n+}i0=)u|8Gi-<0047(dh`GQ0R%}zK~z}7?UpeP!Y~X)dz4-wBO`0aUZ*2h z=n*>h3XF`5T{%YAkRRd5HEDy0BZL%7U#KPZdzezvG_`8g`p0V9*2Yp4cr_+~PNR*c zhzJ_mdA8;}TGKDPaGtg6bVLY_h5^33k`SPYWecEL5O83sJ%0%Z15U{jKm+@S1m5DV z!5S3-o@u)IUjbgdoB+%9D$jypxP*qhB#Z~ws67oI_tgW@R8AlU#(KQ3_P-z{C^#33 zDx6E8@g9`GMJC{KA3z|P;`@T1ZAfa>s#UU{Fr|l~z%(vp00000NkvXXu0mjfy?KAB diff --git a/public/images/items/gengarite.png b/public/images/items/gengarite.png index dcbaf4bf13a3aab6ca12b0c3597ab3598fc0840b..4ccaae6ee8da47a966f9eda8a358fdc93843dce5 100644 GIT binary patch delta 231 zcmaFO_=9nRWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP`G9l(2i(`mI@7s&s zdt`+54@E0qjo XubGx*ecmGgw3fls)z4*}Q$iB}de~+` delta 218 zcmV<0044wU0qX&f8Gi-<0047(dh`GQ0J2F$K~z}7?Ulg^fG`Y29i^_(5j?s=SL(5= zcDLi630ckzm3R`660ZwzIkL>{dIdO_0*J{Jw15nMh*Mg^OdzNBC}AQ{D_s&; zf?7ff;9k@3;BFE;1=Cd^r=TYR0mS6#wS*KwIq!<5<$5b-5ibAipD?`GaUADuPB(gO UxK5g_tN;K207*qoM6N<$f_~{;5dZ)H diff --git a/public/images/items/ghost_memory.png b/public/images/items/ghost_memory.png index d3f174de7580908aa746fd7d3294d64dd8b57f5b..cb3c31ea4de93a0e12046f65acc02b8dd0638c73 100644 GIT binary patch delta 326 zcmeBVzQ!~`vYwfNfx%@-*D)Z)SRCZ;#IWw1%u680AiyWY6-X;6C?q9SXBAJWuAZ_b z>E6-mcg@Xv=gc{Kb;`GUYrZ|(`|a7;Z}0AX`~U7g5aj8emj~(*C<*clW&jBwfdc{E z&Oo^xo-U3d7QJ^Tc?%s;;9#w97V1@a@^8EBg)_(ezZvJJhL$TXIR3G}ahkYK=+;Ya zj2batw`D|1PT(qaT&l)!;fy$+)5Zx7kEdz#`7#L_b|0Gl_y&`4_(#bahTREsE=|{|G7gkZw10D8 z_Lg6@CufMW{^|SYrL^M-yMn!_#+n_Hj7K-_KlIN0#-#5%wAbH%JN+}`jmsQW4+M7` Q1AW2Z>FVdQ&MBb@05qeUbpQYW delta 377 zcmV-<0fzq80*M2V8Gi-<0047(dh`GQ0Z>UqK~z}7?Up@`gD?RT;o}a$RY4gzkmk?x4-2XzVS#T!N0pn27i{BuL&&o)A)Gjkw}Jb z3Me=uTL1%mwWA2cB$$5-@48;1ZM#hgw}6!Z96*6SuQm939V9+3{c!;e*Af8YpGApT zTJUKC8m_+sNJFy)Sa>#Kg@tWVmsL3|z=G3-hg{p)+hr#lB8Q8RosJ>f?pbW8 zc;nG$^52nkA3+Y=3@X{rlCY?q7TS^Z)<<9Tf+S zfhxF5g8YIRfP5&ZEvvl>6mIi$aSXBOy*kNJ=&%6?bMwN0kN?@j3)hL+vdf2WmU#2J zDtG4JgLkbGkF3zV(7LM0=f?5_UQaiaX-#^bFlR&DyWYlj>#u7*FKOc_x}d~TSKRif z#?@JQvhNZFTjL8&!4J;8u2+4|@xsUOfY<@&N7e2Tr~YvWWY@UrWj@J%`OVtk(cg(` bf4==Sp;C6D%Of37FJ z>6K5$g4BnrPu&N~nq7Kn52UzDg8YJkDxrYE%b)QRP?)p8BeIx*f$uN~Gak=hkpdLl z?CIhdV&Q*v;zhB;3LMUgd|to*%kQZ#abKOWeQ(~&=H*YMT%P_|bf0y}^!E&cS6A<2 zaFTv1ynuD7h)FW59P5;=J(2>YZW8;wd>URnTgQ{}kENr{`teG$mn;fRb~7&ZuzX-x z?ys?~ifw^G@?^OQ41vX)8Q5PwW!YffzrX(<#~fvc-tZ}9SEnX1*le<8+M}GK`FANJ zgK<*yAHEM0n}2>?zdH0r!|m{ThP=0oJGNVY2&-q1IWD|hP-*f5u9vnz4={MT`njxg HN@xNAQF4d^ diff --git a/public/images/items/glalitite.png b/public/images/items/glalitite.png index 83e05f132fab852705aeb31e853f346ab6f95ca5..ed7858c631c0ae22144cd50282b79bc4205b904e 100644 GIT binary patch delta 244 zcmey)*vd3PvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gH^3*v6-X;6C|CkPQn6)Lbyjh) zWAhxxIeU}V9BuBNGH1@5?!8y%oV|DT-n;+*|GTVZ-U-yeUlQaO%mCygfv3ImmI0-* zJzX3_EPCHw^yE9Bz{Bjo5iOoO=fC}SPSNcxUbc@{yN9tTzWL)hMJHQC%dYc<_(e_& zr>bXDXE?NQDqX0`XF4%2K;fjb#e;c=*mz{LST>X&x#98cfb~LY&D+dcEn8;oiJL!b g=d=F%5!bBi)78&qol`;+0BibbN&o-= delta 230 zcmVq10>4_gBrj^j9YC4`W4suwToCv`C<0N`sC z5h=!bO^C?llwo}GbBdXSE*Gjw90_QN(*>lQ^1x|3f*iWn0$&u9EtCQ}(Dl0#W&-21 z97>o75F*jO-oFw`fG~Xz_BH`+w3+_j7RpVqKt2kS=}QSM!U6-bfN6R8DHgaqPkz}y gp?b07IL_I80npfRzid(pF07*qoM6N<$f~J>Y<^TWy diff --git a/public/images/items/golden_egg.png b/public/images/items/golden_egg.png index bfc517c6632657545eb9627146cba5072a96e369..5727b4cb5137d14e12a685641d524ed711077abe 100644 GIT binary patch delta 232 zcmZo;{>eB&vYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gI>0By6-X;6D9kAqI6BAj>>96c z$G!fa_4@xT>Hq)#ljdyV1WI$31o;Is0Qq2G&NTZ9P_W$7#WBR9_vs~Xp#}vW<^XQP zg8#y|nGUZyxHs*n&%KbJG1v8z=Oy2jTG*O+T`oj5?Y(k~!IpdN8cYSvB`uAgh2Oea zB{4rcz-7VW$(t6y62Zi^eb^-$NlHYwd~z9 c{rxk>KW)s;#=n{!fNo&$boFyt=akR{04ZBxsQ>@~ delta 374 zcmV-+0g3+k0fqyR8Gi-<0047(dh`GQ0ZmCnK~z}7?N*_3gFp~{WHKG!ro<7EQae^ELLwSOOcmQ|z3H1(WqugR z&FIt|Ms5%hT+c@s070}@8b(UfPz;&fb~$Rx-6-B`oe8uKBvaE)=P+VnVev2U1GPPe Ur{eQw%m4rY07*qoM6N<$fi_@$3odhq15FVx3GxeO0P;~lJ%qQRyZAm(%_2`1#}JF&wUcl2wJ7kotc+^i6&sTB z|9|k_2Wr0`OgZw#hT)`)({jyoe}hX-Y^vWb{r?#YgGT_XhHKQn(%av9MdIscWw|V6 zId$_*+Wu#IzFDMuX|~iluJ!VC31tyn@~~FxMR3A5)(^%Ee*zi~F4l5Sa}9ka_&nvM zRbufwmsMxYa^2@2Rq2=}F7w*Cy3wLBD<|Ru^ObGBEV_F-B;Im7JAULAL&{v%(DQd6 QECGd#r>mdKI;Vst0CXOvkN^Mx delta 426 zcmV;b0agCo0=WZ_8Gi-<0047(dh`GQ0f0$FK~z}7 zbXOshL)}CdM?rDwFVM9^L2$4Ci& zB%nWW7Qke-D0CTIr{I-_JWZd@*kk0yb%-r-kMH|QY zQ3*2{V12twKC%wra$jCP+raKg4sa(xlf{u)Pg;a~&m+l4(3K%ahK{0jJi7xQItTaoADI&@n?*Jz;f0)LDl0Zk1w;);vFUcU-$2GB?9e|Ip#c zD+=sd=LMMqI+vf>-t}`0^J`5*#Zw_?Z|CdZ4f~=yslP)w_ptTEwtl(m@piZ5uQOlH WXUe$rUSbl^5e%NLelF{r5}E+)&R_EY delta 322 zcmV-I0loh60n!4H8Gi-<0047(dh`GQ0U1d|K~z}7?UkVtfHAj%c84NZ0v1_Tcjxx*tkb6;cTX1?8j_YS~fu~-a4L^%=Vs^?vk zVgN|^3;^IWG24wSH+ zx>)HNHg}=z7CZD2YwbV~PJqj`w(Wg8)_#bHC@t<807*qoM6N<$f|p^9`v3p{ diff --git a/public/images/items/golden_net.png b/public/images/items/golden_net.png index 5fea1ee7dba10d0544babfa6de08102cdfe621c2..3205d545e272b7d280f546ba276d7110eed924b5 100644 GIT binary patch delta 249 zcmdnU(#14EvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gF2EO)b)k-Ntibgfv|_HZZT+pX+dpR=tw+t+ELESe@H zagtkUbE=?Yd9(4s65EXvr7s*;Xg_5(Me+h~2cxCa%<3h_<{s~=WcNF`OVe;cZV~s9 pj`N2kH`yBe;8Gi-<0047(dh`GQ00DDSM?wIu&K&6g00GfSL_t(oh3%F-Pr^_X zhTj@Tsgn*B;-DsM#Hevm2c0m)4a(rwMJ5t|09a>3!h{Q(gUDKClEICjF%B389SqtS zak{X$cpL}>D7`HOUF@4Qw>=*{PtMIfE#S)4f0tk<=xA+*41czA-BzxZCV9@VPb2_H zX!{+TFq3NCtk2RoKunXvK9SUT003~2s~Y^t(g&!1h~v=NNDyX;^mwv~&nF$lJBIBQ z(GbwKZ>W1CL6~lV*DvAz`VE!$FGLn4gTHcF$I=U-S=OD@?TANBOp^fsN~~aTW-~zm zKuRtC$`$|sg@1iwPqA)wL*;ACF#z`zsPO>2e#x{0Q)?3B)vVLn0Bmf*YgLEWFBw)P zRzNlrglG30k@;!IU6|lG&5FNPb!0O^D6s+>S5f3{m4U-*Q~)8Fe&9l=@c@)q0nM_G zgtqSpg4=<7jR9zNV$j--83lq1007DKgXK%|H72wnl7FR-p&+aPgmxD=a6&gk<0?8- zCoDU_Q$Jk3#so2x8)`eabD&%I*Ka+~%R6&sp@JC75!2+>S2T1+yh&;I?9$D_LXTnV z^w}z(m?p!sdk%Gdb}au7)OXp+VVX?zP2_Y=j6=f!yK?2~@AU(NFYFA&05b;w000hU lSV?A0O&kC!00008000000002eQ>98C zXTAPEOX}|Ke)jCy|NsA|ZPz{tRKZmeGRr$`u3w9nJUF~p+x>I6rj!v-A8 zYZIJ*{BP&B$mD0emAra#dYSt)+hg^t6KmL38|km&(a=9Vr}bfto7Tf;t&FvwoF1%a zUG!z;gU+-4hp&_$W@XtvU*S}b`1WKY=InTZm`S1=i;4qnH_t3HJ$R2}E89t)e#@w` zH*#}Ik6%@;ZMO_}Pj+!vu4u3D*6i`Wv%PQH|0ua9Yna#lH?U3tI*q~8)z4*}Q$iB} De>QK( delta 503 zcmVcfv3f zz3fa(GB@0-Mb0fhW4Ki!BNvIRYwg@DvVUQ2mEb@oisFjIy$MJ^pv}s+;hxjelcdeP z@4ojE;Ep?Pj85ARiHPgwjWMnFsKaAhVy*RNA{}nuOC-|_et!TyMTGN5B4VxehBRGP z)+Sp$>s1CnNRM`+(ScoZOL%TPI9FScKXsom9`zb)=Ii58TWW^@3mx~HyP$?#N(n#sI!J&!1-%!%dc`o0 zervlWmr_D&4W$&4Bsq_OZ5k^11%M##?zy6rg6DaNq6k6=NGV&_finfhn2sM{ZzC%P z*j!Sc=T*i4;QKy=5GP$!jUXca{eEL2;>BXYM8rhI%y7&^#9C^= diff --git a/public/images/items/gracidea.png b/public/images/items/gracidea.png index 0552d11b01bfaea693489813e8fea9bbb44c1958..6e464390f1776bf49626bdd540fcee679b4b02e9 100644 GIT binary patch delta 338 zcmbQt{D^6SWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP*`K=b+p{G)o8SNd delta 387 zcmV-}0et@A0+R!f8Gi-<0047(dh`GQ0a{5!K~z}7?N%`of$-SRxI;FE$h0hh$*BTSI!5K;D1c9fm@Dyp zaF)2(Y<+DQobp0W-L{UMWAE&Kztno>(ghq8g z5-Y!BFB)LRKVZUGW&$bcA?0%{DJhQSchC=!b^ zXiyfKj69w}qBnt<2Sdn6&SN`9BFX)4C!=jXTe{@`2Tk`wn|jF!bp3>MDVc->E}%*O h1N$^-w%B5Gwl9yW7X*op)b{`Y002ovPDHLkV1j#^v)BLt diff --git a/public/images/items/grass_memory.png b/public/images/items/grass_memory.png index 28ffc343c663a98e7bb1bdab366d7ba17d80db68..9d7d27de770fb5ba9bf86af4f406e8eb1cd98690 100644 GIT binary patch delta 330 zcmZoh8{Z zx1{>rn&vHAy5DVCa`fn&cSpB;JA3ro)vMp0z5Dj<|NsA9g&eU!Jpv^`e!&btJ~B8E z(CrMA+vDlt7-G?Tcapcz5d{v``euu)AC>=a^UXMQEaRK;nxLy|D;th~>}OpZXW;qX zNt$)R#EAEIr-ZR>aoeuI&3sCC#;Oy}4MB$zjP3P1GR+=*E^H2sl)XOd;laBPm?kjg zvpoMdb*^2DN5Cl$HojupLZPTF3k-H#pSgU3gUgw$g5o*K2Aea!2=M;kf2OCnqg2gV zO7{$>(vti2yppdUH5oJ=pHg^||3Ji-2F67K+2lXT#h-dz{QK!IrbFr+ VIZOF?7XW?2;OXk;vd$@?2>|(qn->58 delta 369 zcmV-%0gnFK0)YdN8Gi-<0047(dh`GQ0Z2(iK~z}7?UpePgD?z5ISNhAZ<%Q?TK39>i2@p(pNI+I2S$_bFwB{ZZAe;h-WC6k% zQev!X>AK?r5-ueG#3!2)S!(cU0uuiA zy#*wp$pU)s8NSBCvjkG0A4gY}!vbtL+4x z1qel;^s?i5uWCD9mOhkyv;g58I(Wy*_&Psk@1vVgmi^Pnl@fchkNO!xLc{ggrNCZz zoWQc6{@eA`cA#MtI> P00000NkvXXu0mjfG#;$& diff --git a/public/images/items/grass_tera_shard.png b/public/images/items/grass_tera_shard.png index 01bf4bde64043219f681ad59d5c18679f37ab708..30e8762b5b66ea21a20540447b072a2e73cfbbf3 100644 GIT binary patch delta 217 zcmcc2)WkHwuwFXAC&ZP50Sp%UFTdUW|9#7;mupu)JbwA*q5uE?pZB=A6)4GB666=m z0OW&#In(SbK*0u27sn8b-m8{iFxsfZmA8a^3vW2_Q&ib)-pbqW4|IHYpY`GXYsSJZ=1BR}rOF`Z Nd%F6$taD0e0s!m9VVVE{ delta 299 zcmZo-y391eu%0E|(btiIVPik{pF~y$1_tQ>pAc6d{r~^}%P$X|dbxJ>!{ZDK{r|sj zS$?}4DBfs)%pFK^mIV0)1J!^5L$H5^5J<4VBeIx*f$uN~Gak=hkpdK4kkLJw3%t8>co^T(Nnn)FHV;A+<>*fqAa;rrq;d69bP5@OvUiYUvDgFgCQthH*WWzI qprUiXQlQU*BmK>x+rO9>ZdE^|A$=?)VId#Ta6K5PbXb|HqFX|IZvw0V?G!3GxeO_>Tm1Ssd2_CAN9GIEGmC zuASV=cSwP!C0ufi!~Or2Z~2Y8>%a9#={uZww^&)Wa;-}t9ioNzka^rdD zj1@JL7#}a1-*|i7uDy(9;%ryuT;}9Bb4`t9Ms#$qBTHJGbJesQMIWn^T@P<3#M@uW z61*7{&fM@UbNPu(Q&ElMk*^mod8)U!{eHFQ_Q<2WtV@|3m;^XVj8`;qh~1pDSm?je zFQE>RtUEtvseBZCaF#J&|G>|LPuo9#xYjUVzG%a{cy{)iAJQ7tfqr1{boFyt=akR{ E036tor2qf` delta 369 zcmV-%0gnF20+<7k7+wSe0001iRA^(^DA4f%?iV42P=?k2?jr=m3W4N*%lQZa0d{EyzX|^l0yE2j70(@=6K{Do!e% zQr$dfPWO^2Q`W56d+*-=|Nn)i&a4J1;w}mD3uXZFp`f;`_9{?#xu=U`h(+(!Nw>vX z6*yR*7M%X~zuEc1Rj-ZD`TEc9VBRvtzFzyq)}zZqMGwX_N=3AA2p{h6mT?#E5IcNc zTJF#!M)UH-K8FAGkIh)r1(gr{=2sR~n6^>$h#iwsQ(nut;Dv1oFSi{Rn8q4!K~z}7?UpePgD?z5a}>_gk&%%rFm~+N zm65R{SLju^3YC$*WLb_QVTTGSmOOxf_w2+#N-bL4DY~xPt*j1~@!hulwJb+I#=edS zJ&-^-FtVSVJZSW6dR;Prx)k22- zL0fwgfCR6e3jpjIN0QLip8zBPsDwj|u5rB;>Bijn5hMo()GfegJ$Ie}7CiI|X$kTi zh9RcPx#8&FJCMF0Q*F)=ZFV@lEDtcAPhrE zY?A%|7cZvTq&2j=PK(3^KZtP{<1fp<>1p>mlXrwM9=ssj&40`VfTrrrCrjr70B?XX z!^udB@C|@cgPEmo0QU)CMig*daRxF(kh1^>8eqsckh1Eq-eVD=he)q=CM=c(R~aGQ zKJ{{@?K)ac*q^CvV3m&ya+A~0w#><&Z*p2)h$S|IFQ9^4;%*WGRO$}j%<@gusB!zJ fY+RrI-FgDa!4d;j_FU^*00000NkvXXu0mjfpBH|F literal 1026 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U}gyL32_B-|NsAgZmZ_KW0v2a z_snTg+&f3JI$6=s&=4pNlpO`5Aux?qW1z{4DzbMn{!?(A0QAl5~A$2BapWrG!26q?k=VIZChuJE(1RPM}kX(K#kUOf{N4ZAe zbKSbOBsY!e9L0M-`#pPFw{>!X?Xq;{uQf6gW?S;=ThIA?HO+4`x1r*;J*{$2T6WLg s@Sv#t$}_$AaJ7fuW?!06_ujpVX?F_S&Q`ttZ=iVcboFyt=akR{0CkUbdjJ3c diff --git a/public/images/items/ground_memory.png b/public/images/items/ground_memory.png index 8ab042c02ffffb731e75cabb8f9b2cbf558f191f..808a4e13eeb5038feeac9d896ec2c4dd7dc8c9a7 100644 GIT binary patch delta 325 zcmey*bd_m>WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0L4Z$)E09)DP)JIuZZ6KcchvFO z)u3Fb`~UyF|NsAcdKcXQ>Jcaj@(X4F@{z%TfNp1? z+;&eF#}JF&yOSJ+jwo=j)I0Yyv3>c!|E{C9_~PpObF<4|Hpm^fZ>!q(V9DC0I|3VA zv$JC(KTfIOxSEp~P{UGib-F|N8@IKh7SD^#UKBZ>Inv zxOjQCV1h>Zyq1;?fzMCKE}L}Zj8fRkhn4FX);u%*!LTD?-lT}DS;Eik4&7N`$89!k z%}yP@57Yim-SBkJ6ZWSm&KHW0Ce8`)nY{ndJM)B-)izVs-+w#(GvkLP9DDZO48H>O O1cRrmpUXO@geCy#zoWwd delta 367 zcmV-#0g(RH0{;S#8Gi-<0047(dh`GQ0Y*tgK~z}7?UpeT!XOYubCg^mNAL=kmX@}b zl(|Am${fL#(j(YXT3XuTEV#*rAX$PL#~CuS1*7sF@Uv1iO;i1{sv=MX{#u}}YZI!? z1rYRn9E>s2-~;3PZJ#8P0Tyq#HvU6Jz9xWR2agHBSlQx8uz%q&*|NY0cc0080hmBv zcUB-Qp-GKkAv#;fqlikd1$+qy$JL4fj^Ms)ZMEmqdI1Wj5&)!WhgJIE%>*c%eh)wt znk|6A^D7iA7*ik$TzYpTs|7G{)8MJu>ium;IEbtcA^gYzY2q<#dN}_Wd};Me0YTn* zHA}yrc)ImVt7vBmNCL;EBZi#`C7*Nli2^Fpa^*xKW%aDr(1maQheO*g3Z%kW0x+SI zP#*jgIt=0sT?&?W!? N002ovPDHLkV1jJwq4xj) diff --git a/public/images/items/ground_tera_shard.png b/public/images/items/ground_tera_shard.png index 153bbd9058cc171b42c70e44aa7a38a33e6b6d4b..d7760f7dc1b2c0d984c9d6d8acce9cea49d2abd5 100644 GIT binary patch delta 225 zcmcc1)WtNxuwE{}C&ZPL0R-k}FzngZcjMT)i)S}JJiq?TrE4#)UHSk2|4Y}?T|jBB zk|4ie1|S~->N-WjfTAs)E{-7y|J!RHt{;8+gtsZ~div=% z{O_)DD!chL`lYC)9D2vHddlHjD>dd7AFA4E9>pg2?#kwKlckhSICcyCI4s%qS(LX| z%WPuPr&SKzevQ`a<0lofJQ8BgVYE@HD{EQ$Wlx1U-0o_yw^`1SHk Wic;#!wMWM4|Q7p{OA9E>7qtf{q5`1Y*G%bYnQUzf8{;brQ6nyE??j2Hwi4R z5!$j~N)uby!@vWZrWtZCI>+%ixYtv__RdtsUjL?y9meyn`dM*yD6j`hc`%t56nYhY z-^|b|+5V+LrDN7?)`|)D{Fu^*W@{#|77_pE$`K^K8P9Ueg;ohKbLh*2~7a+ Co``G! diff --git a/public/images/items/guard_spec.png b/public/images/items/guard_spec.png index 3efc9448404f127dd037dc9be0be56eba0ec6780..95a37d0d28e61b4b2064c3eb5206fdacb0b46509 100644 GIT binary patch delta 286 zcmX@fw2oZ8{Dv`-w?!3Eb+|atWKKH+5VqT?zdDjs+L-!cTC+~{S?JzjOSoGcR z!P5zWG9qEl4`wb)KIapm*R5vdsi%uzI3r+dbyOilbHFo3t1avWjr>mdKI;Vst05$%H&;S4c delta 313 zcmV-90mlBW0?7i98Gi-<0047(dh`GQ0T4+{{{R^_N>c3r0O@FNoByEi65U&wR00000 LNkvXXu0mjfUH*(J diff --git a/public/images/items/gyaradosite.png b/public/images/items/gyaradosite.png index bc8e6d6b115671b3384d946c354487f6818fe0e1..e4cae1366abf5afbe567ceaf9f535cdbb63c111b 100644 GIT binary patch delta 235 zcmeyv_=jG{s#h8&dFDSN_k6y{DK)k0x+P<;%;)7-G@; z_ToXl0}33>0kX`A@BZ&EKYCPpM@mY1^;_@c4O8aYuRO6SOzoWK)H=brN}Ue%_q7cf zT{u>Gyxz+gVDpgSp`uWMk07&fpg6-c+oYTVn-6|J*oti)FfGZv^?T*nlEPP?enwhX Z%DuE^x_=+TqD4>S~$N^wS(8BlVjzD$@$Z~k8NK4Dni(;5VV3rS9 loj`YsN5Lo<1*3r4000onM`&z3UIqXF002ovPDHLkV1ghZUs(VE diff --git a/public/images/items/hard_meteorite.png b/public/images/items/hard_meteorite.png index d8f3490c581c8db2f35102652baa5d8ffd4fee9e..8e8a2b5688bdc1b6d4398aa49802342df3c3b681 100644 GIT binary patch delta 256 zcmV+b0ssE%0;vL!F@GCSOjJb(001yBFjzP^fKX7FXlTfQc(915(3r^JxX2y^u!jHu z010$bPE!E?|NsC0|Ns9t0-MwT005^+L_t(Ijop$#4g?_x1eFHq|G#(}likC}%zc)` zQx(t}$N1N>`HU@n-YM?FNi6RT&rlKW3)XS~WFmS2)#?%mczGw7grMjS(F)p6))bBC zRwNk=SJZ`OMRA3U$Vg3bTo=^(8ZSc$&Je~DltOsd^{FI8-9i|3jt~Zo=H{`)kGHm5 zs-3Ro!+un_;bWrip!mZ5hbRNp-L-#>jqm@HO;z^~-d`V1_yl;16mU5J0000DOlTjn`vhW5FHIk4z>% diff --git a/public/images/items/hard_stone.png b/public/images/items/hard_stone.png index 604b44f99156fdb87663e20ecdc11fcb1f17caad..571d96afaa87e3a0879801201ab23525a0a14738 100644 GIT binary patch delta 244 zcmeBWYGs-rSllz?EDmyaVpw-h<|UA$7~m7)3ZxYj6ucZAgS@RiJRSr;B5VMeox~j$#c8 z9IkHUwzKJ&&i?t~+*KP{4hDG{Is@Io;OXk;vd$@?2>=~DXea;x delta 252 zcmVjI!d8i3+Q zfcr4`0f3Nk3qWyq0IiH`0K`K8bo2$V6`W}&Bx zV~9oX-Amp=M-(_%0z_F|_xvwqulHTEgss&6^6k3T_~-w$_dUPT?ICQxbYYyw~URTy7VjGvI`H^?Y|eip1J(5a@k*9vEK^S koELt5S$pT_^}l&`t4^@jdQJEq1#~Whr>mdKI;Vst0QkXx^8f$< delta 331 zcmV-R0krE<+TB3KeQX2_Y&otHP`N-lQxm zc{C+#lFp)pmxoh3kT_;75Wc6NjJkHVgoM|S4&0E)cj*USe}C5FEHNseVuHO%V8LyF z=>X9&vPrixgA&@`H(NlL063|6h< zybIt5bb)62m4Gf`6X06stw;fR7u0a!NP$<8SOqw+ZUSnO0peXCfZf{!oVzzAFlgKX zkN}_$?xlNEfJ73265I#()_tFZ9>5lb+a&lb(6cCfs>Gu3Aqj5-_l*Rh1h4v*M2Vk( dLxuXgdIJLcB64Il%|8GD002ovPDHLkV1mqtk^cYy diff --git a/public/images/items/hearthflame_mask.png b/public/images/items/hearthflame_mask.png index cd2ecdf1949cf082230017390048737b95969012..deed3d0cde891ab376a67c75900403e07008e05f 100644 GIT binary patch delta 277 zcmeyxw3lguVZCC2PlziQ1B0QVVK_g(w~xJ Y#5!*(BVX`spa&Q{UHx3vIVCg!01ifXPyhe` delta 338 zcmdnX^owbNVLeN_qpu?a!^VE@KZ&di3=E0^J|V7#hKAlgK8L#P{+{%lDJ~w)&;Qn1 z|L@xQm<;J4#tp|ZVMt7toY5vnDB$|080(COT-n%9b3<}8(nY>UD~>L z(vhxtJPa)@cAn}D)*9tC%WO_DJ!9c*iFt}%bmz!vwB=e>kwbHhdENT?MONEE}g+^?R354 fyZBlbF(LHmQl7^SoNuIcHU;L;Zbi zLq->lRavk1GJ4oNWO%43RNy1X9IPtNFwHh8r@-ce-w(E8n+Hrw0&o3Zc{Zc))u*44 b)|GM}KQrArS+h9K~z|U?Ulg^gg^{M=V%$@(H1;z3Dbfl zYzte4SC3o5wBd1E*b*W?5Q#zXVrE&$gO4J@e-majr634`e--o~J-h!A=4Kh|B7&gcd=$d=*{GwS*Rt@}K<^ fnimH_5ZuiM#GzW5+_C3>00000NkvXXu0mjf!yjc` diff --git a/public/images/items/houndoominite.png b/public/images/items/houndoominite.png index 9e2e5f2eacd669df2d8888b5978070c41095e70c..c9ea1954dfaab27faea9ded6e8af113adbd688ba 100644 GIT binary patch delta 235 zcmey)_=jh(#zu(Ta0H~C=B*-tA0mz2~T^7f+K#43*7sn8b z-nSPI@*Pm%U=Endc=+xA{pClGO7BQXNw0qEoxEYnT>F(LHmQl7^SoNuIcHU;L;Zbi zLq->lRavk1GJ4oNWO%43RNy1X9IPtNFwHh8r@-ce-w(E8n+Hrw0&o3Zc{Zc))u*44 b)|GM}vzRWmY+LFAw3fls)z4*}Q$iB}7-MCg delta 230 zcmVbYFzW@LL diff --git a/public/images/items/hp_up.png b/public/images/items/hp_up.png index ff456d2528996ffadf90a7ca9645acbb0074c03d..5c6baff067394bcf9f1d6e3332f631c8ce8865ea 100644 GIT binary patch delta 275 zcmZ3>w3umvWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0R)9~4E09)DP?!>B>DcWUwKr<- z6wUufi?f!zTXS^Hl5b0m%N$> P=rjgTS3j3^P6Y3SpfDV1K@99Pg3))y)Ls5tI;PpgnyZj-Nk!%57$RZ3c&!Z zwJASK4luZ3nE_}G!T0E!9KgMtpXMpl48Vdh+NA*Vx1f$G3xJjG>4O+58-SUcvI6j% z^L|-4zT4|Z$D`!Sa1A&%8@pyQ5M!^N2Nj28++<$*tZD z)%hk9*%?}r4jGy%@NBpx#}vqN8=_pKWAy?@UB%oL-{GK)QO=2->? PE(QiqS3j3^P6+R0qsNeuo{bQ;xz|)7gHC#N4NN^JY{(l`O79bcT2r6qMkib%a zmfsvMB?t_-6u@;;0Z1%j7hq~ymFQ=C3B46DeG>r*kK*Oi0#q{rf+AS{O<>F)g~?9P z`@JZTT3rHPLMf2J*U7a+bpieot{@VjX7F^ciNJ1JTvPXK1b#_at-zr~;n|zOcZZS! n6yPSuGkqRxei|<9>8X`3+KidPTUg+J00000NkvXXu0mjfZ7_Rx diff --git a/public/images/items/ice_memory.png b/public/images/items/ice_memory.png index 01e68c08f821b86200526fcced196cfa33de6f28..812548cf36ca190c43d8019f56c20f4055519217 100644 GIT binary patch delta 316 zcmey)bcShyWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Zh%jSE09)DP)JIuuCAVv)!p5^ zWy_MYN1Ly{>wfla&b$9>-u*xN?f=zp|DS#P4+MXoMH~QX;4caC3uXWbAi&e!dCP!O zn><|{Lo9mlPC6)bSb@W3bD(r;{l)+P?=<-q8_cTSt)6~Qnx*9SKf@Q52XfYGigPKr z&R$-Wwm{^e<{6$R-YY`Csy#Syw_u&rAv-CHI}1eDw*`0YC^VkYc=w}|LEiF=FKP*$7ydGS9#U9Ud`X2y8fek<)6I$bIj-Vak#zWIUfadKZB>MpUXO@ GgeCwtXPb5a delta 359 zcmV-t0hs>G0`~%t8Gi-<0047(dh`GQ0X|7YK~z}7?UpePgD?z5ISNWD0)H)#=lSfb%LN!@ zrg<~$@|&)Oh@1j<<2<+H8|WJYh19YSt69VDK^MuVUK9{gzahXM@ccODbZ z-(}))>yK8i7GSWjavF4vcgB}|&9hevNVu=@phU>(Rj;A>0QU)m!c_t^p*h$A`k$Lo z2wdHYd2$22-a-fwe93{t*K%XQQ3sNkBUm~WCxIj&>jlPc5QZV|%|!qJ002ovPDHLk FV1ht+m;(R+ diff --git a/public/images/items/ice_stone.png b/public/images/items/ice_stone.png index a0fc0c12c5dd8dfb458c06b6ba2de4bea3e5a2b7..945714b759c79ef6d469104cdb3b6e6986cac779 100644 GIT binary patch delta 306 zcmeyxbckt!WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DP>{%)VmW6^(%!RE zuHM`G?%UOO-|l_;|L*_)Z~y;y2s)nyD&j5)@(X784+phnwO4_{J3L(+Lo9mlPI6>A ztiZwI8p-tU|G`+FYQfpnr%Tm#MCQKLuXn#@lfZoD?`)+GPiCuQ7X`X4=gwi`Ym0ee ze5SZL)X}7J-UD~Xl7NH*su_YOG-tS5^eB3@sm?ebEfH|jax!aCV>C~XlELhyAD-0; zyY$-3=$B!x)$bCW=)P{}r_Z&HlaDfQtGIq?3(N0N^Nde%N}E!-5{?IaDmtL6u>FbB zS{v=wqo(U0{g7xWpYi`e`W-v}w=cK;{j`UH_c-g7?i`T^KwmI;y85}Sb4q9e08VR* A^Z)<= delta 362 zcmV-w0hRv30{Q}w8Gi-<0047(dh`GQ0YOPbK~z}7?Uu1^!!Q&DHAYIUpfc;E%sehL zMp}=MQmsc|>6Z2rbigw~SQIJ42*Bcj0t?>p^NZ3jP1Eqs3|*iL{Ck0M9Ahpo7XWk) z*La#QOZ0rX#wDd9)o=krjPcHTkWjwPfARC@cgdDS6$zG0xHpzyl-l76ZwGLWp-I3S41fzfgMWOV>IK+6T@C;NBpeP{qu@;!kzY6tcLBua zRnm7|vinVe9Ag{-&FA2NOLku*;Mc1{$(c{#l)hy5n*y_efcbUH=zw;w``riIAAEZI`uYF={~1nZ{RGN!mIV0) zGXVKuV9qrA3Q(}g)5S5wqW9_~Z?OXk9L%TB7yK7C-x}?F{piytyiIY}^H0BFE`Qx3 znC#ma7m@9#)-yr$RN~tZmh+a0bKmtgPPhKLCgk&yHm#xyN-X~h+FsSTIx9E%E>W;q zbfGEu!MWG%Ph=V`jxapAc6d{r~^}x38aXfAGm?^){=@_RhHv zw%>gK6fby?5e=j`OM?7@foi~jA=tk{2qakG5n0T@z;_sg8IR|$NC66N@N{tuvGBh- z@u1LQ1r8TR$3Oq|&n;W*cxBu5X);Fj4{gOwuk5?>o=fEIWQQYvzL+;QEUgjR;i2iu zc7xSnN?%W?f|-lPygVJILepdxo_!og^4cn{SiDr~u->7N+MtraY~KFF-=6!>qAo?j z2`ovbq2e+sw>%HzsqWullPh9Tj&gIDVY$`}0p! u!_-Qm;i>if7Ug*@#(WQR|2AH@#d__J^jR0{!#zOPGkCiCxvXCp@KVJO!QRVV_Hv22>Eak-(R+20Bi{i94i?wMzyJG}wl6y*HGAHzK6kYgA z?3!~peE!Zo&>|Ldc_~ALfE1@#>n`yLto|KMsf|J&7AH8XAAV)o>-j-HTE*vbGPC*@ r4%IDEC%E@4bd}>S*-*0aei}p2Wwx!YuAZ}j)-rgy`njxgN@xNAXw6b# delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_m=uoVf7g$BQ37cD#7uuwaHm zLj_RsO?1XiAjMG<Opi>0WhT4`3aJm`_}XeOe28iPw&?;&eS%vu1tu)A;ku-B zg0WU~4?{tgf^{ReW2M*zu1N=0Hg4h4JIEQsacXk{r&f-z&kfa*M(&L*(TaSWBFk8I zZko5C>FxE_Q=HQhnCh913Wc0VT_m5tTlsABgSv>@p*KEPFT5r^Wv1xf#_94vXEHE& Ny85xYtaD0e0s!{$Y{~!t diff --git a/public/images/items/icy_reins_of_unity.png b/public/images/items/icy_reins_of_unity.png index 84ec94a1d87e8f911b49df11f397cb3f0ac583c6..b7af48d6a812cdd03eedcb3194b33e17a9fbea44 100644 GIT binary patch delta 311 zcmZ3=e4lB8VSPw|Pl&5D1A~Hqp@N8^ri7uUil&5!qlAiMOUwVB=KuX||NA@tPwf1^ zX#M{s>;5m@_J7Ha{~M0~-*Wo@&eQ+*pZ$O4)Z25n-k-no|H94x4`2U(^6~$(Pye5P z`hUc{U5kN%L8c_gFPPy!E>Qpf|H|^Ufk1^5JzX3_EPCHgyeQVBAmE~#KGk94)n1?f z|LwiyY!r9dmHT~WD^EyYpz-gNtHr}bQVfbyx34{=@B3m4W5&FNSM(IpOc^=ve`z@; zVS147_;?}vSwT|^{irueev2<<-y+jK01e2PyZ3h;B(I2v_13LZ_xsSb3fgu xnk!{j%DF!~8t~REw#oJ32S<)T_aD>0vOV9)TGQZkelyT@44$rjF6*2UngD=3rnmqA delta 381 zcmcc5w3K;*VLeN_qpu?a!^VE@KZ&di3=AOwJ|V6WB959WnrBYEU9#@Kf`H+o_5aV` z`M+ex{|h(&Yf2byIsL!C?SD`6|NhSZ`_KM=_UZr5)Bjsq{x9A3|H;Sy&p-X&aQwf5 zh~dP}|L1PKmr!wh`1(K4;B(2GestSz(gfBVeGoX4d0 zp*|~+wX|IXZ3Wb+oC$Zyu;yKrt})7GRg9w=Sl~v*XJrU znH@JyShy;lg^69s#F{bX$vLOQ+s5mS?d6;V=3l-P7q$717DJt}c%#qVl6O_izxMHe zSNwW%cSz_uY4_)8i4O|Wf@Q>`AG}WvQ*_#Bf5<#dd&Qpy17H4y5{cP&6Tj*KozLLu L>gTe~DWM4fjoi3g diff --git a/public/images/items/insect_plate.png b/public/images/items/insect_plate.png index 75b44640a1b978c194a8435f9da9be356057d041..5bcc0eebaf501a3e24e84ec46eb035918341892b 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~EqLB$M>2^%a{Tu3c#R<;phhJItdVbK4R`I!<%&h)} qLv@SP3GO`$UFEn-Hk53wG5uFelF{r5}E)g%1~AS delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_moGB)s^s;KPp{Cq6Vx*kDmH zLjx$eUn^P!NO6<|`33)n0ETanMpx{JL7sn6_|Fe@k z`C1HkSSG8T{$Jk{czopr02w@Lq5uE@ diff --git a/public/images/items/inverse.png b/public/images/items/inverse.png index b1ad5d2c00ef54f1323d947921363faf1381aea3..0d77ce77dde9a01c93f406a5b0a2c55d5cf01e2a 100644 GIT binary patch delta 268 zcmbQsJcnt5WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09)DP^jZpUoL5ILErpA zpf7twj;aV6b90wFFnsaUjzFUvR$@k^bvYJw2))$4*ujOGs3I9k1ci0BQ@g)3Ez1Ch$BX}E-8?-b4M zZpXcQqy8T)UUPKKw{J_1-aGp2+p}-~zeQ|b_y?$zwijLy?!~O}j@pE~2=CAX-C2hBsMaQQh zp?t;ytEDz#xxD@pGdCLh7(|&eIVu$!=bR3^u;`A{A`PJ|$%KX11YQMl9P{Lu`&f|8 zXTo-tOH&nAOkVSM;)==F4qwzzxZz?K-@5EmZifA7Uao%DzgOnP-3B^|!PC{xWt~$3 GV-o<^LUQr| delta 272 zcmV+r0q_2p0-yqr8Gi-<0047(dh`GQ0Ov_WK~z|U?Uu0(!yphvJqm5glqs`@*T@)d zJ%UTGK*<^@JpwJsM>^|-0yKQANF4gYHi-Xph%?hPV#L3NF(#BmH@9{U-fusJF&YFG zUY2LpT!c9k2mz>NpbJ1rGys990Z`4?`Eh0;*JDm|2r;+oEq?^}iqADQh0p+6sj2?f z9AJ0*nE@z;(C?Vr9KgL@IQ$WN4WI>Mj8g&px1rCe3xKryHbrTuZUAB~>I#sWYlyB} zpc_2{SoG2i;Cy58S_WWFt%RrnvK{I1qgFy)@p6TT1|Sd`r1TS_-VHCkl#Up|h!5C9 W(lM}d?1BIQ00{s|MNUMnLSTaZQFF5Z diff --git a/public/images/items/iron_plate.png b/public/images/items/iron_plate.png index ee89275566025bda0b3f849bf9d33ffdbea86721..65d660e34ebc144603ff72ec4a79b4682accc357 100644 GIT binary patch delta 191 zcmdnO^n!7MVZB6vPlzi!1A~EqK}JSKMMXtNN5_T@8!lY9@Z!abOd)qU1_lO>k|4ie zhW`+7^;C!vP%O*S#WBR9_v$1^z5@yzEUt-v|MxF#Uv@}p_Pkqt?rJGQnor|Bnx1vp zHRo{n{GEHCMJ(p>QicctDNeE0UE&j1{X3dc8-+Y9PH0W$<+Mb6Mw<&;$U8L{C)! delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_m7+9TzTKc=6)Jh7B7kDk?HE zGJul$Dn4vLilZdRFZe$MFx+e28wnKSEbxddW?0J1h-@gOju;YbxG+2 zW3A{OhJq{w>qc(JO0f-GlMbwG+`^@IkTZtk)aC?EtsG&W8>%IZ+#6e>75O+tma**I zG;cxE+v}~TIHx5r)iWIx3OSLwNIrqL^4aDGbrH8iZ+xy^cujc9OwqlK)8&EAWMJ@g M^<#Be=akR{02@PTe*gdg diff --git a/public/images/items/kangaskhanite.png b/public/images/items/kangaskhanite.png index b7eb6849729cbe71c70b51ab1a21b32f7847d316..3d65d2cc5ca093e873e297b10302c2667381a696 100644 GIT binary patch delta 235 zcmaFI_=j<=73a#nQ#8@FF$%zdPho1di7iHUD{k1eYsaC9VWm;&uTom!!B<35lGufW%}9tyTa>H)1PcCQx#^l&}%_ zf~J6j#7%qP{l%pE-p^IsjNLOv}#!|IIO1ERHafQSxrpk|7<6rO|y@EY$&@ygMU=XUcnSta~FR;`kxj6 z;6`hz01(gtnCqE?D5?hKN0_HFMl`m8jCo&vKqf;V=FeCKZ$Z2jy&`&V@~tUi1(z5i zW1G-}d*6YeDpdgRjRCN4I2pd443HCYUj#r*KEEHBR|nuIdVAypz-=}FyWS09#JK(3 zC-eENziuyKELgqP63AH;F9Pt*7^@IPz5iZ%{a*C(LJ+@zT$qew)_xp||CFdk%-V0k xSb^%FYyf!HWEqd#V&98Y!Y%rnee7dP;{&ONxGVD>$Xoyb002ovPDHLkV1gu;ph*A# diff --git a/public/images/items/lansat_berry.png b/public/images/items/lansat_berry.png index 6b2a8fb47601d96e5a665bf3ddf9646a3577b75b..223bff3eb26306e3ec12b062093dd819f1d1e436 100644 GIT binary patch delta 281 zcmX@aw32CpWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DP%td^YPM83n&p+W zr21ZW*0;S&y3a0I@@((7qig0oNnZ|B#9b2P7tHV<4rSbu(FV`(M{p<-G7X` zUM}mB)XFoq3&7FqzG{eA@WIv!zPE z6mxGRxh$!CI_qH9gN4VOkDSkEyf?e{uNqV8oN&`w9AztH!x*k*&B~2++^xUy_w@Hy a*u#~CSmp+&f5-qjmci52&t;ucLK6UnPk!zI delta 306 zcmV-20nPrY0>T228Gi-<0047(dh`GQ0SQS&K~z}7?Uu0(!Y~j;Gm2NBWQB}DnU<20 zGHbYGg_J2-fszqujXvmGKc^@{$^{GLlfE1)(fxPli;||PQRCMlgpi7w$NP|qLBP1b z#_|BgyKso73_%cHTe+E1yJMROfo||f9^>V$A-;6$yLA9+%74U23S)=^2>|Q?#%G|h zYu5v4RZNOK%xF##!o_?7Ayp9wMrzCzTHSgJpe?lk)|_2%?Z9~-Cgwa6HQf{-SC8qI zDTmQl05}6QR#}KmhL8yfVPRlOxxIpOGmzf|fzVZj=Qr!Zr{?Yen%tVs-FJadb0)=+ zEL9A-bwS&2zbkUKdNp$UA}%FSh@$@nMgI|N)cA{d0#>7Mpc`pgx&QzG07*qoM6N<$ Ef-ua80ssI2 diff --git a/public/images/items/latiasite.png b/public/images/items/latiasite.png index 6b92d1851cc19eceecdef37c2c26eaf39685a9cf..486a542576fa800e8f55cc18ed104db4306f9a9e 100644 GIT binary patch delta 237 zcmeyx_>XadWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DQ21|Xbu?(sz3MqV z$=9Z|+*`Wz``*3(|1Z6^_vruc@4x^5|G&LL`x#IvZ%L3}FawYe2f8edYk?9uo-U3d z7QJsTI`SP*;9zkOTq^SCe>Jz+y#s1#w!6dCq?wk^`NJ8pE%{KFC1cXMt)AX29Q}p6 zCq(EZD6uG9nz_4CD%@hj0};+0(>fZvCU7&)(lxX;(5uki!)&Nmkhmn+>U;3&OV6%6 e{T!)YDaYN-^!>`G%aK5f89ZJ6T-G@yGywqr>1c2O delta 233 zcmVO$Qykf_-J^~y|0mNhqT0n+h zL@i+^5M#cSFcHXmt`gV@T0#ooT+{d9+a!1jrn^8+K~Dk#h{@e+2`Ped{wkW5O9?5$ j$GMvWuIq_uFM4&b00000NkvXXu0mjfg_~h) diff --git a/public/images/items/latiosite.png b/public/images/items/latiosite.png index 0d2af34781ffb53309143c9ffb47adddd8ef85ee..69708835c7bd3b1cf03c9a756205b1ff371affd3 100644 GIT binary patch delta 237 zcmey#_>XadWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP>3pi){}fqv*mm7 z(*ILh?zQZFzjW#My?g)fJ^KIq`|tn%|L6U$Jq4(gwx!wLpm+PZ!4! zi{7^v9r+F@aIiSIE@A!izna_Z-T}2V+uh-6(o9R|{PEnHbDV|4a^;bp8%xy}arGDO zoDiXtpu`fo#L%2sBHUub0TIp}(>ofwCU7&)(lxYJ(5uki!>piJkhmn!>U;3&OV6%6 d{T!)YDX02~>5tfD6>Xr!44$rjF6*2UngHjzX3YQq delta 232 zcmV%t8Gi-<0047(dh`GQ0KiE^K~z|U?Uk_&gD?<98O3c@qRj}b;4&pE zcnp_WAthy6N|zVDr6Z>UiH0*mx-WehONjscv7zf+E|=@B3L%hm^WZT~)DK^J#8Ss5 zARL@CRU;f8(lUQj9nB!{V1yu;74y7-fK4Ed03^ie0BiW-*J1Osz5-lJ0NA7j4Is@M zQA3ykq*M+eOaRLKuNNmlLr4JJYq}5in&1{pPl0SfHvs_HWc3Eak-(R+5X zqtHzkqrZvOOJt`}F|A$aTg&(o?(A0JICx~i76s&*+?V0OhBg$mf$e0M{uGpG?=@F<(0>er4n32Oo46D%2!% zUp%~ZGxIk7fVbj(OHY^w`&n5mw!G}foq494R0DhP2XZRjFM1{GQ;lu~dgsQf4Ie}BEn%S&EfUO{L+c)XjN zmwe}(d+$l4&#~u(b?=#IH2T*XO08DY?=|NL-y?wp08!!gc^!ZL{#zD4ZtM8Vi?~$Q z_H_KZa$4@?CnbM>rXh%sb@vVBiP4D4uU$B$;!N_azK?m6^6E-MWqJ+(m=cWVm$qao zea@PxXP>;9kbmme4Qu9*o&rE7n~PT@G8k4VvNt)C$ms=QV{w_t+>+Gz&0v?ngxNoR z_Rtom@4nTwcf)r8%pN=`{Lt(nfBfpb&Uq!U3UD8s+%4;Ur&7}Fx%R_D7aipXz5?i! zJ>*{Lx(`qu9>~hK7oVA`3x%1|aW)E6zK7Zn?0+17y-joyU{7!UL0c8K} z)0~dY?9DR|kUe+4+u9S)6@a{2UAJD!=8>zN(;JE?}0K5F)*E`w!d0_W> zfNlp&c`P>4Rt`J`&@4Cku)JfpT9SV-?MV(gE&+FaXfxL!M+I;-Q!JG{%RyJCfKrOF z1pJu=kbgt$RSw!di0tvxO4_Y?r`_&`>%(qxin-=E>we{+9UT^Y*}g$gqSpZ0p!J(^;S#JPza6}2trI80W`N; zNh3MwN3SkfIHPD2P$_RokY6yveH98TDniS8l8FPS%qZl_GEtUu=B?|U-L6jDr_Qjy$Dz?fNHXcX=zAt{(U6da)aJ#9K1=;&3ux)I zVml#PaDRgQhP4bFjNce|jzqmkJ|lY}MK->U^~`4114j?l-S3zvw){}r8sq5)o+{5X z+WF&tOO)B^vekc79xS$LJe#fHmw5l%QNh~E3HGbSyI-?E>H6F93g`(2Pgg&ebxsLQ E04FbsZ~y=R delta 348 zcmV-i0i*uO0_*~i8Gi-<0047(dh`GQ0W(QNK~z}7?UpSL!ax*+dz4y^P>HQXRw8SW zE0MKGWF?X-a0Je?Fq=#=d0EngeOt9JnY3wvZ{E+c+jT8kv?z?e@1xbO;MaRix<5kF zG!J!6C>X%7OmR3539Lq{n8<>!r#Ro{7}k)keD7|6aDo9GFMr1bg$dl_iue4Sn+eUF zSu31X;4{}YSU57b1{CgI1uZ=wkTqeeK?B8A*eX5efX}rBt_F1Q2;zN>8ZMKfUk<+KHwy-KqOyx0JTi9ebfJencAssU7it*}|=;I0Os<+&si zoDGHQ;8DdZfK}Px3OF)WuqqAe7m7^@ayRe`t|cejZA)ew6u^7iYc=4y6Vimjwa?Z- uwQ~TZCDvZE-_?&}x%1zy=fD;%YQzV>@WJaOKckNT0000!7Xx diff --git a/public/images/items/leek.png b/public/images/items/leek.png index 7ef3fb989a4c2ada712a784fdfa7bc24bf905a00..1cb136aa78c1473b3340bce3e48fe980efe44957 100644 GIT binary patch delta 213 zcmaFH_>6IaWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09(If+Pm7DGb$nIksH& zI{PkZ%a-nE&yN28|1C6a0~b&QS4ogxFvEWssOuC71Bxbix;Tbd^xnPXD0D!9gV{k@ z;mdz{y{CRVte)NFkL!H7n78ixo-i>cAD5f1tAUm=c)I$ztaD0e F0su)wTj&4) delta 213 zcmV;`04o3H0pe9FBwD`+l{~UMaO%9jjohTCiAD%S_KV*f4+k}$486=pnY!A-es?= z1mSpkEud>IaDop<@kuCVDnWreFvZLSG@L*UHlGRH7=Syt`A!UQ`1C8+V3)}!oGa+E zet;~?bb`D6fCv{^_bVC-@BNkVgd6Vp21DK9R{_@jprIu~k6K~yOvWoeCiqK~k7^A` P00000NkvXXu0mjfdf8pV diff --git a/public/images/items/leftovers.png b/public/images/items/leftovers.png index 48ff07fbed3b8b0cfd8346cce6bd80d4bb7a9013..4732d149b648f4c6095790be6057066875f519ae 100644 GIT binary patch delta 256 zcmbQsG?8h7WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP^k9u+7cD@EGXz( zQd0F4g*n|p|GTr!K3ntd|JDEh|9cqym(Uj{8C6@^qqAe(evuCc_wzGEy_;a1aQT73=I<`Qn|TX3 zm;{S+d^y+5(5*b$deE%bx$TRL%H^kv98#ZcT*D@dG3&FgUE>aP4}+(xpUXO@geCy1ig5n` delta 269 zcmV+o0rLKl0-XYo8Gi-<0047(dh`GQ0OUzTK~z}7?N%`k!Y~Z%Q}UjU89R353w=UY zMxMaPHyHUsM@CkovwD%qifp9flTK+}slFu6#lw(DB)&u`MZljWU(SI7I9u|vR;7)( zCf{n6*F5V;0gRI_B5d+y9OX7m9|G`>xSI(4P}Y-@B6@OVe18Q1y9i77Eoc?LFTYI) zatqvx5PN>#u1yGu80#VA7(V5pNy%_C>P3V*;r|M-H9!FzL#!CEGq)m0S08{0F}W4P zXMA@RfHU75v0Dwqc}KV!5t6`uc{k9S5qCEuHXywns})BzCVf*9(u^b$hsGOm)1veG Tsw$5F00009lGR8JSj5R2ZYlN^PPDsVVw3-9!s^#)A2^Z7y5ozVCUhH$Id58g5qYl-rKba`H%#ASpUCG_NuZ>~p9Q!Zj^$k306RgA)y3Q2xoxgCpib-tYvV+EE4$Gzn zZQk4TVJg!TH-VMD%NakGd`uU;-S9BI*!9Ln<~z|03(Fh16;2l0l%M}|^AXdB;2)3K z-f~M#m^UG3$*wEpRkZ_>N+r_W2M+N2QofyZotKxFVucVg$rQ$wrlfBGu+zOS zA~2+CfHsd~YJyF==U^BydG8z!FipcWbh2wRI5!}JCQpK@0e?R7+G+S{9%NVC0H1~o zbs}*cx2jfP~egX5e}mzD&rq`b|ebDZr=xVDq`fBp_P<{a4Eb?B!)uFBB=e Vaj$abivR!s00>D%PDHLkV1gdZcuD{O diff --git a/public/images/items/liechi_berry.png b/public/images/items/liechi_berry.png index 492ef7e86f1a5c1e8b0a08f32b61512a76a2b9c2..192d8f001ef618cc8e41139cbc1d2abac42025d7 100644 GIT binary patch delta 294 zcmcc3w2f(kWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09)DP*@WraJAU*{~E6) zbDFQ7o$~+Ll5g*h{{R1N{>`R%pbD;%AirRS|1eP3DG~-0-Qels7-G@;bkae-!wNjk z($klm{Qv($PFD!$i+7ic9z1F{Y3XG~*mEfCtpB5iHnuxd${H}9J-fo5-? o{{M7OUhVbTzs)s&1MO|(Z{25AeCzvO8R&WjPgg&ebxsLQ00;kvhyVZp delta 331 zcmV-R0kr$0RA@3j%bOtUv_$&)+^nRh1}F;@2XC5U27Z!tM2xvcFwo zjQx;!zZwW03X%GJd=qZ=o0NJlD+C?}Q6vFyMJC~9mlChxOn+7g6{i@4#~dIOA#im= z-~n1GtyTyEayAIT?<|I})!RPv9zUZ===QMn18CoM0M!)>KnGk9V*nImj|Y+Gu~hNc z)k6yw15jLtP$4MDzBBc7xEz=Rn6jKFg7&)r?4V6Syx9Ioh-Mi=T`(44uJ3BSYZuT3 zic!e+e5~)T>O}1vP*4|+o&a4|6wd-+x1oyCa(mvhiqEZNwcOgi+E21pXe-WM_1FC) dDpBHZ;|`ya7#B7{t(^b>002ovPDHLkV1hB@k#_(9 diff --git a/public/images/items/light_ball.png b/public/images/items/light_ball.png index cd421446608b2268e3cf7b30030ad70e619084ca..7748f735d37d88adf6cac66ccd4fa528eb3e906f 100644 GIT binary patch delta 232 zcmbPW{F7yZBnLAC1B1(wu49uIu!%BhOx(Pkt&Fk$q`cS$ptxLsPlzj!HZU+~Xkgf} zgJHn}fd@AF zEq2&|gN606m`|-K-Zp$g3)0Rg}n&EL%YMPd!QpY`mFrTUV zET)HY7Oa}8kS?CcX`%O$i~q}^H62&1AKq{(Ia+rjvDo_it#vz<4p_)!Nm|YQ^)vGE d$GiK_uzxCLj^fG6%Ldxb;OXk;vd$@?2>|VYW>NqE literal 6544 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 F{{psh2qORh diff --git a/public/images/items/light_stone.png b/public/images/items/light_stone.png index 2b2be8240208a0527b9ae94fdf37ec0c7aad523a..97258cf3970b24fd8caabaf64de54b5402b5ce35 100644 GIT binary patch delta 208 zcmdnW^pkOdVZC&KPlziA1B0QVVRCYEOH0d~IdhI4J$mihwP(+s{r~^p{`s2&3=9mM zB|(0{3_v~@m^0130u(Iwba4!^=zTlkATP5a2TN~c#P|5ZhG0K+)=LgX_a)bExc=+& zNxgj;hj{j-en??0$?iT|oWa%boFyt I=akR{06N85o&W#< delta 269 zcmey#xRq&wVLeN_qpu?a!^VE@KZ&di3=Gl%J|V8j$;r>2J)1LU&e5YsuU)%lXlVHV z|NoYj7NGo0rR82ginAohFBm8Y1`NUe6+$4v0*}aI1_r*vAk26?e?BVfmBMKaDfpKEr_djCX@-n^cq|Sox_4A*$%<}l`zn&%J?O`r|7oAl}Cg0k57!1V| zf(7^$_UT>g;Aec$6`}HNi-I`I3Lkk!h5Ewt(gr!ci{%}11y5IUn|MrlEVg5P;In_c z0S9CnJFeFiPvpDOwTng1!Qgnu@{Z#Y2KEkV!Z diff --git a/public/images/items/linking_cord.png b/public/images/items/linking_cord.png index ab695ae1fc873258c32c15946ae17c9f091fdd38..4cde9da3f14164c5320b4a11cb02b7f3561c740c 100644 GIT binary patch delta 274 zcmbQuwuothWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0P=HT}E09)DQ1Ec@NQg*isAxEG z;)LYka(AF8TS<^#FvEWksH%MM4=A$6)5S5wqWA11Z=oX!94>F!-q$~6nAO>}F)Pei zCurK=jGs%U)N@Ws-+Qe}Wrd0#gUgfZ1Rd@(_5KdWH#LYF1pBp|W5`(F=ee3$>~4O7 zp@?ck(3O~}bDQR;*{)lWG(%S9CCg*p;G8up)!FBK)IYptO@o4w^(x5={_~=r?%aLr z_a`H>*_(HVMVV~4S!;4ps?$k0Ac}j{_F%T8r#H^LP&^cS@4xN+R=F>?AIJWWjk#jQ W_$rG3iZcT@(CMD8elF{r5}E*(lyg=9 delta 783 zcmV+q1MvK!0-FYq8Gi-<0047(dh`GQ00DDSM?wIu&K&6g00O&7L_t(oh3%FxYui8^ z#eYf@BNVHcLc$SBIWh@D_8T?kBV_a!=#nX;y5(bJ?AXzxM~wj&qw$6kL}QAnf)GjJ zI@ouWWjj$EGBpo8+)2Lo?*HEZPVk2R9bR+d{PQ`J@x<71|9_y}mRfpk8v+D=;AJ{9v5Fa`qouMPe>(QUAl%p; zWmTF;M&x;p5Q0%U0_OHM|Ff|R%Bplb0*GWptYQXd1AjU@9aEHrVUcdY9337J1|i-3 zF7VGjOAdHNS*%oUr2;lU3j#-OgBj%!N-4LqNJa=D$n)IX{Ja4mRxxRs*8TQiy>0KB z6TM!K`-giI$%yG}N_AHugh2n8|9Lu_a{c`p`BCEU`eZu8-}O;SQQcKcXHz#H_<{HE z=i$pH@_)4zXri84o9awwZuj--49*7bdEf_LS(O`!EjDJLo?u{Q@kL0N-bvHcdEbWo zQ33U~Q%X5c?as=oq%Oi%q77*)0d`TC`?v07>~uQ7JapS)tpIT-ysNKQ&IWrYL^7hR zO4EDa17P-hW?~h)L#F<2Tde)iSd`z`7PGzF9Dg@a4=LcavE#{;&@NoRpll$u)~*}u zGke^&{f5~1sb#BR1z0q*(6qpkw+-V{0-T5@YA4`QcfjUD=UD=pA}pbu(^@axaL?Iw zYXMe7^KPi)CFE~-1HfOaWs&jHp7;j<000hUSV?A0O#mtY000O800000007cclK=n! N00>D%PDHLkV1f~nX%_$h diff --git a/public/images/items/lock_capsule.png b/public/images/items/lock_capsule.png index b2e64dfdbfdb93e828454e357a2def62bd054371..25d0cc14cffc889e66978de4da571c4ff6e67b46 100644 GIT binary patch delta 274 zcmdnUw1{bfWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0bbwEYE09)DP{_*4lGrlG^4--b zQ>JX$vgPdAv(KJA+da)T6DZAD666=m@E;1ynPy)B3NG+;aSXBOy*r7K@2~*}Gq-Qf zzyFT}Cwb1!lG~uTH0$WmgMRB@?>`k5oBp)^^Tqbvhb3(Cc^e#r*e!B-pfWe9 z`fGZg|5uK4eha!hH4bojv@#v(*~hUxv9j&y^bMUdbv+x;tdO~6o$!4}FON9aW$orS z?k)DUIjkvs5e~}(mWuYBWj?WDKf}fQf%y(BQ3ceA5(_f z&@nCem=+Yq@Pe|)!cKN?S{Q`HnwkCLX&N?c*a@5Gxmeiup5Nc(DW$S3%LlsaJ?C7u zZQIYDUzh-$5>VgW1stVTQHubO1@{uPvO%OG1>D`DZjrC+`hOL5ooJp(U*|&=TO*fFiIWc)P!z1s??9i;vqF(qKU3z)pzk9;oLU=>3)+JGoAXDFxrS z2vApB0o1uBrvwOanTDebAOf%zYXPAdXdxs6y)o~W;t3G2RSx- zSvF@yElCR6(wwzqPW6&GbIz{mKD%bg|8IN$|NmdHv;GxO1Aj@7UoZoZj|86f&RYhQ z%Jy_|46*2ad(oTkfC2|gKx@?R+`=9I3%SkS9Z-w4zFj#}z&G=$|E9F4`3m)%=9}^c3ztmWuzk6h h=AVz!m#b9IF*ABIKbE{5cnfGRgQu&X%Q~loCIIRlW|#l~ delta 226 zcmV<803H8@0`mco8Gi-<0047(dh`GQ0J=#;K~z}7?Uf-8gfI|AIZCgA#3GR^k+mz4 zm0Y2+5{ca-aGkZY%!DSh6oO%9v&p>VhX(Usrwvq^5kNMHIru{2OJGIx9vn@=H$uBVo5Fq)D1Z^!eIda_uspO1<;ACXBbWc|pP*iB c7>02-AJ*G!FX>I6MF0Q*07*qoM6N<$f{=4z2><{9 diff --git a/public/images/items/lucarionite.png b/public/images/items/lucarionite.png index 82d3b19129d7472681eda4cc98701e2f636532a0..b97161df68c471c109b78d129c248a7e599f4fb5 100644 GIT binary patch delta 235 zcmeyy_=jEak- z(fjt|LB0bD9Lxc&hBM#%-(P<8sPvAMl=SMi-pL!L%(Y*6VpCYsDbJ~OM)FFX4)yo7 z4H;cHR(ZVM%UEFZkYS;sP=T)?vv8m|!!+BZoB*2-em~d(Z5}W!$-MP@<=K+LSD$`H bT35=oax!g8dmTIrXf1=MtDnm{r-UW|WItz6 delta 229 zcmVK~z|U?Uk_!!!Qsk<(hb1YUxB7C>C4Uzopr0MYtX82|tP delta 181 zcmV;m080PU0mcE48Gi-<0047(dh`GQ0F6mRK~z}7?UpeLz#t3&eTt8Fbo3h;v*rmM zyS7tAL`wye(2|49cNMe=!Eu}~6JxyEQ5Vy3)&V4)h+eE3@gx_IXywc-!aN}5vNz(* z(f>DKRSrnD0Vx-|0RDQDfL6Xe0FajCBDY`^0Z8(44oJCF;VwwZBl;B2q~h}aH#`%o j?F9WIqPmPYj74yvw6a3WW`^EOr#q5Yj~pm?agz1wp^C@-tP?-1 zmFPO#-~4L%Lng83{v9sIx<5;takww8lXtLdYf8-UT|IYSplm18Pt=D6oD-yJ{4(KihPgg&ebxsLQ0Fh&H Al>h($ delta 258 zcmV+d0sa1w0+Rxe8Gi-<0047(dh`GQ0NP1JK~z}7?Ulg|gD?z5GXf)Ig&sL}jgHW3 z#>gtn#4&56B+^I5N>D4=rd9JL3l2!{@iE}s$jGn6d!PB3g7f-3&JyzSxao=830$c)c`aQsiO1ulF z*NW{!ZK1IPyFddTW0c#4)*|-c1&pMWWS5aXUqI=rS4Fqb25?mS3sM=tRh#HFQ;q#eUUr?O8k&$oC3o|8Gu_GQq$^ZZW07*qo IM6N<$g5u0`eE}VkGpxPgGy7+E zcX!vm-;)mge)jCy|NsA+%$LgmRdAIA`2{lo`4CXoDG~-0?e=tW46*3FI^iJSVFe!N z!pROl|I4pqo@$oqS@t6JGv`ZNN$2eUqLmd|cV;Tibh44Sdc>jp#YxtyhbkWTvrhc5 z_C?p({^nQ9A2NwO_wR5y*8N%H%z+!?I(Y}XwiXr7{@j!HDU0!b$4Rzs9{#yA%ihS% zsXTr+xs-kG?!^XS?ur%dmEKxg^6zZlHtBzq-g7tRr6Gz5+CXugK~z}7?NvQb!cY`F#SW~_Cgyf9EG(}5 z0fzrTSR8$EF=a4>kqKr;Ng(kz5ZRd=O_UJwUPxdvadj|W7caJ@mI5s}^eoN$NYA4tbcXnLR_?iXOH7A0Kj~v zcM@T*BNt*JOdEwHm*U7zP8}TA29X}wT7W)O(ZPQngCFNk`a8E`>!1`E|XyoCkt(W4w`wNCCze>+bT513!%+ml6N~ zYJ>DVaMPParhh*?2?a{2pqO0+e0%~IrNT<|_1k8ETqy;uH9XJ5Xf#Skz)u;_9Zr{S z2Y{oO-pXw7JP(fJpwsEVbzLZ>5_d$b35_up`W24q0D;yTj^hN@08p(~;kquT@nS|! z%Jb$c6A>>K3nn5aB4%bLB5t?afo~=gOh|=D$o*?(UOo!UbeyisM4X6J-U4HcCFToz vVz2N=E7AKivNsV2BM%#N+ZQrNj=ka=n7$|@a_ZA100000NkvXXu0mjf`vS#a diff --git a/public/images/items/lucky_punch_master.png b/public/images/items/lucky_punch_master.png index d48fdf04bae7811056442f81a0beb2ca0c776d6d..89fc1b67cf433c717a28aee30fcbd08c5d857bd4 100644 GIT binary patch delta 256 zcmcc0JdtUFWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09)DP$&{eIxMsNvDvY= zHMhFEyWh3mdG_qt|NsA2{a%y^RKZmeGRr$`u3wA<6gF~p+x>V$)QhZT67 z3x%D2{+D0JJk>1Iv+PCcXU>0~2u^@v0Hi<7KZ4^=$wXPx+A z?TfCn{mrkIKV%Yn?%&~ZtoyUXnFBY(b@C2&Z7nLE{kbRYQx@a>j+1QNJp6NKmc5ai zQ+fPuaw+@V-HQ#v+!ZU@E4{V0m9qi#v+C76RSH;OXk;vd$@?2>{2^ Bb(a7D delta 454 zcmV;%0XhDW0@VYM8Gi-<0047(dh`GQ0h~!hK~z}7?Nu>P!e9`6B`n0niGi4S{S9tS zSY6#gMyJoQB%wu_wMf9 z9gri(AHzs`k%&0_PHSysE>u{4!u%UQR8(wqL}1TScH&YonLtKKrpHd))EmZKx=Ir-5h)Aj3bv406^bu zCk!ir2c~Dk$ba;QC!s(o6*zA#fZso{cT!%8{ zZU=z7{pY3GVB0oK(?qx1g=JY#N+s@ymDSQ(8x3l4R0jwg$AM{@finQq>vdR`#c6EJ z$VoXmxMd<@*L9hQn24B}nTWX4=>(pcOfVr8A|dymnLpVRnCUo;%fu=Xsq6x+wISvU wdt#^XM=R0$GqN)ge?}fQ=%yPoM~(^b diff --git a/public/images/items/lucky_punch_ultra.png b/public/images/items/lucky_punch_ultra.png index aee27600f5c6db6d60f3594a844039ba6220c403..a95c23666bbe001cc52312e759787c01f7e9fdcf 100644 GIT binary patch delta 256 zcmcb_JdtUFWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0T!2rAE09)DP^in2y|LBs=T)EX z?(W}@yM8~N^z7NQ|NsAg=)Lg;sDi5`$S;@y$cKQsPLVL6Xt$?}V~9oX)d>gr4lD3D z7fyEg`Con=^Hj4;&$1V(pE+OJN;+r%7p<(&x-(O8rjw1t)gun&FHW*vJyh|ypLODg zwJ*BP_BX#;{*X!RxqpYtvF^_jXAayD*U3BBwY8{t_UE3oPg#ujJ5I87^YG7|S@uS5 zPUZ2t$))UbcP};wb62cruk_a1l7DCWwn_h^^q#vhFAY&l&<47T!PC{xWt~$(696U_ Bc8>r6 delta 451 zcmV;!0X+VZ0@4GJ8Gi-<0047(dh`GQ0hvieK~z}7?Nu>P!ax-MS{WF1c6m1#78chg zu7-r4z(4TfV#;8QzW`QTNgVtKHN@4x%-|p)DEd^R|=(n`jyY&0s zd*6EplqhjvI9U%85y!u2t)0RJ7~<*cRdmCxVm9uhAwPE#;(x3ox5REWvbX$t0RSjH z-$_JeE%`68AYXRZti;8@s4E$RGO3$qc|7z8(O=xOgYrbI; z)Dy{{f)4<|blA3~sx`rzbVMb~p|}V`et&yy=Yhc_sBa`9QGnLkIlFk^@K4joO$h*C z(96*S)8S2G`hVk-&_GHVS?_Mb}FoX3rsI4R$Q zb0#8QEEY^eOhnAgOhnx2bRy3}CYT{LM20-PW@am}&^&RvE)!`Ya=8n%){Ze>+!K36 tI9d~ZI3s%#aWL|@LASjjOO)6vegJHZC`{Zua6141002ovPDHLkV1oFd(RTm< diff --git a/public/images/items/lum_berry.png b/public/images/items/lum_berry.png index 8feb811e4114f52efd45f33f9066c45b3ee5c2df..d19c4fba5834471e7079232511543c9f783b0870 100644 GIT binary patch delta 230 zcmZo*`p!5(vYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gG{7gs6-X;6D0n4#1ugL^KI%2) zp4XE9UTdEna0E)Qmjw9*GyDgGrS;2x1BGfmT^vI!df!fpla1dxTp1>0<+F%oyF?v~-??H{_FbjfvlI4)?XWbyF4Q7WV|80C zP5DQ~6#n%(NrxtHKNQoHx=8o|8$0Wcye2`0nN{aR%<}ag?LDA1@z6ud&No~?JAym^ be>fUbWX~*_DA#@*=n@7`S3j3^P6v8L6|?@R%~JpX002ovPDHLkV1k;+Xr=%F diff --git a/public/images/items/lure.png b/public/images/items/lure.png index a148aa70db9376c9dcb284e7bb2212f0b6f04faa..1c3ea6cc8e81de83f68288e8df5a7e0095997a0d 100644 GIT binary patch delta 289 zcmX@ZvXNS;U0?Y)E8Gi-<0047(dh`GQ0uxC@K~#7F?N%#r!axvRIu*zwEtX3%3Iz!s zZZtSF1GI6HwvQk*h#t&ukLI7xD(~(OH0l2nv{; zZ(7tA0M=50Lm(1D&?uCBPLrM>(>R=jP@w6Wa>Z@KA=8w8DhXWzN8qnUmA*os7MoQp zv0W&WiX*5?f?Wd&1S3FTYg)Ftt(JeyE6U~H2kRCwS3}m2A&1~S4)GlDx z0KfqfOwW&8t8VPcm9Eh{k8>12wp8KGbtrG`e@K#3Zi5Yd_6FLkM=qBDawLfoRp7^_ zT2WVel{c7$0CI2r@ucp%0>{X%f!|~nND}bWXSLyJ@_#%(2;5zPA71{?dTRiltpET3 M07*qoM6N<$g2c@QA^-pY diff --git a/public/images/items/lustrous_globe.png b/public/images/items/lustrous_globe.png index a16cf80c3507713747ddb325c7756182ed504b41..2a854db742b50c81400efc39810996e66a99b4fd 100644 GIT binary patch delta 333 zcmbQo@tkRbayLf?8W(6J>Rv|9QkN=LpWyq56T7SE~%uMfJdB=>@pW7?mOT3@Ip*gqbps#5A*`jFz zN6dC`s{5T;cc7=H74Zxbxwh`$E2xPim4D@WeOfDSTyb z-{W>CM7k+v>&F94AJ?7l>Uvt{zxL3t-KI7R&eT0m^r?)UaY=NeQS^*`MXi-lJDFVdQ&MBb@01@J=_y7O^ literal 1054 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U}gyL32_B-|NsC0Aai= z^a*20kY6x^!?PP{K+YLY7sn8b(^n@Q6lzxBagjZ9sX^l3|NPwzw-^hna=#x+l%FlI zN$0=XW}lh1Hzo6y%X|_!d1LPPP3s<&J?Zqf4q%^@UbjR_$w-Lp*X@0-OPM&?rI`ej zq}MdK3DvSNbIjp<749gX$k%a7%!JJ-j-l{cxWjIlZ41_Om6+N&cz)2>#mK&}y`EjE zW-I@GcCX1(zE9^>k)9VRdh4KCyXRH47pueSQyt{oYg4=LJiB7I`mSzLqsi}clV|)& sO$>5Avh?PmEmOU(Ts~DBf9w8LX^UR&*ETyBg@dBY)78&qol`;+00s?|mH+?% diff --git a/public/images/items/macho_brace.png b/public/images/items/macho_brace.png index 2085829e1ce7d41377a1fec742fbda815592c1f4..760139cf7f83e838482145cfea1f9a152e74bd8e 100644 GIT binary patch delta 328 zcmeyu^p0tQ1SbbG0|SH0lCEPD4W;Y#85my0GcZ_9XJ8O7s1e=82$a(e@Ck7R(h3R+ zhFO-DL5^NgNnXuCSxbuN%rTs^WKH+cDO=v{J$m-)|Nr-{-h1}$-M3j2pBMu*@RtPn z1vC6d0Z)79Edxqz^>lFzvFN=U_Z#E{&F0!Ysb9ZuT}Kj|9C% z>lqzVrwaTyefss`4^tgKsAoIRxiw2E(Ef0iE61}JO3q?Zn_hmIsCu{b7t8NgCevoj zm3l7YDe%bw8`5>W9_d%gT1Cen0rnvAZ8) V6}8zp=RVL244$rjF6*2UngH+9myrMf delta 334 zcmV-U0kQt>0`vlq7#Rcu0001iRA0026e z000+ooVrmw0000jP)t-s0000WARx5vy*W}rYNT`j|K6OOF^k2NF={!Sq^!lw)k=d> z)!ydr?)FMrV$y6{qyPW_0d!JMQvg8b*k%9#0J%v-K~yNuV_={g5EK+Z;WH{JJE8~( zg%!I9peRUl6m&$=#i)N?A|TPZav@xVvD}eyhvV5(6X60b0@Aw$1Z7vklrU})-0dg8 zz<3s}M_Qu$)jD9FrGRnXe|z&7lidhY86^*H5#B1j1t|;|1%b{*4JAg2 gEduBPOS?z|00XEh)wqhgvj6}907*qoM6N<$g4~mS2LJ#7 diff --git a/public/images/items/magmarizer.png b/public/images/items/magmarizer.png index 0fca34c1e28d63c4d8de7e4e8d667d3e5234585d..4f4d5f45851a3feeb00a81d18ee7f477872e9d0e 100644 GIT binary patch delta 264 zcmZ3)G=ph^WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Vt`MGE09)DP{=YgOiD_sPD)RZ||Nn!!ySu+FSrWYC1rtyacS(?6FvEX1s4c6#3KZ`1ba4!^=)HSsw^)k- z2TOpW6VLzu2VV=6_xE>3Yxf?#)6`k-bD7)yiT@kDc|_hMY^`gYEEeH!{o(Ya z*U^jHpH1?M%2AoW==hs{wUc6pXHUo}t_~|I4&zoo8 Fn*iW)Zzuo& delta 274 zcmV+t0qy>n0-^$t8Gi-<0047(dh`GQ0O?6YK~z|U?Uum}gD?z586_*QN=L}iD=z%iI62^jZQ$21ENynoJ-2nV|eNFo~8Okmj` z1$6NQNkr8Fn9{!I_`_r-Qi$!0WQJ!Ys>C7T-a5j1l@rn0qhL3 zF5r_5*EInGcTGZ)kh%dQO+pUt7SKebcY+2s{W?k_QWv=YA8--43ap9T_IoyJ)L+yG Y2y3}8ACxtR01E&B07*qoM6N<$g0w1abpQYW diff --git a/public/images/items/magnet.png b/public/images/items/magnet.png index 7a07f557ec4dc2cbe3e5fe9ce6b828180b4b3914..9ce8b686e9f47413ebf2e3dd70887cd442a65967 100644 GIT binary patch delta 259 zcmbQhG=*t`WIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP$;$pf?}^IuQfqI zQBhl_ESa)q@0$N}ru^T#cgmdqN00vhd5Yr!P$_RokY6yve?|XsW0>zW*6%D)G-G6G_5yFta;Pq@Ly}U0UJx!-PpyiB4^y0Yy9xx-vfys4k(|z zUTy#JhO>+klVbdJp;e`A0UuTF46;Ei422t;qGa? z3ir`BrPsNzjRX+^IRW|Ht%hp}dG4`54VUV{%>}ODt8)#o{&)m6T-Kkx_Yi=qXc`g`V%)IrC%hIg z{|V`aA|O=@47rqg0z+>^EieqO=Oe~#Jp67xW@ctSl|Q+%*)gZl3xxmx002ovPDHLk FV1kw=Z#)11 diff --git a/public/images/items/malicious_armor.png b/public/images/items/malicious_armor.png index 495024ced208647a1b1b0d61535f1706c91f2c55..a37e21db2f10b2057f9c3877ff424d4312e43491 100644 GIT binary patch delta 662 zcmV;H0%`rf53U7}B!7fyLqkwWLqi}?a&Km7Y-IodD3N`UJxIeq9K~PLN<}ITb`W*Q z&^lQV6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u9b5%L@B_rr$w|>gO8j3^ zXc6PVaX;SOd)&PPgl3hgW?%wPHOojR;$kkpDh6K>!UzJ0Vt+_trk>0!X5l%$?&0I> zU5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK8023?T&k?XR{Z=6dG3p_Jy zWYhD+VPdh=#c~(3vY`@B6Gs$PqkJLfvch?bvs$gQ_C5IvLj`Rm!*!aYNMH#`q#!~@ z9TikzAx5i4ihqeT?Z-X*!;U{iE}2{vFmf!Q1{IRy2mgcL-I~RzNjE7J2YOy?`y&bj zcY#*Jw!e>UyLAHipMfi_05C8xLPBF&T7+|RoLY0{eUtWtjI}IkQp5lN00?waPE!E?|NsC0{{Z;N zyT1Sc0If+xK~y-6-IBo$!!QU#4P?px|M6_5DkROc)1+y>q>5j`&|-WL{tSSm;|&0F zm;n|TD1Q{H?^GjU5!e9UIpXE3(j-s{1dW!J3UM7O@GvuPe24=8-qR27YQ;1gFbFtb z6OcV_88V~%P{;soEjT^v3WzkZwa_EY^p|B;AS6aOuUa`JYYk_B*)?eQZs!(Uu;g*>rb-fa6h5 zJZ7x*8idjDz@nAHwAyOD>(rZ3Yt>c@)~ofXSRF(=Ui~)-6ldI-J^r`f`~LU7|Gl@w zo;fi_HAICVNKAT~H3z;?4B$>#e);(~&bf3#Pk0y7++;Z|@lPV(-*pA6M_C_l&K1 zF~&rjVh8dsns;8Y)jhuVByrZY=d))%e2&`BRIZ(NHF|A<|HjR1ymI};dmE$9XX3H> z#TOd0Y%50B(uuz9+4pTLPTiQZWz2y)>+M^jdRLWwiS9?ud#0R-Z|>i#YEpUrGsm8* zE2CA{;+x_gExWPvY{Z(uC4C>oUTPH ziaQw3R>&Fxm1QU z4)vGhU0Obzy0+lb;{7dm4)$9;_yqUI6YIe--SErjsN8!G+#7Fxn3k5iD!1YL-UWFl zH`G6FS#+xTmHFn=iLFCdImKPkD7G6O${>4&Bb6WsNvcjxX7lqG%v#m9VEOKR=}-9c z(8Uj4!B-DCCv)=a(1kS5KadA)QU0_%2|=RYRqhC6ef1y&>3WZMOqHkFGH6!tsu@mj z0(HRahiC*bCk6ZrI|In56S#Sw1$(&f5Qg%c12UaeOXcxr$z(PEGU zMa?4TqI0Yh!X$8I!HQ(rPir)#rKRdpomvpx8q#DkX$Y-GtHmJ#m&$xH6Tp4as1Qk* z#tI}> z%UjWsqs$L9IY1JMMHZx%0G~Xn-JN4QeEr3uCzu7tYJdlLAxwh1ksVu2Ot;xP&`Q>B z-s=x~K!rO{GVl6dn>XT7{shBs-yFJi@V$X-&r<KfDa{Ei&(Xn8 zBS>(%I3s~405$>F>k=5;q;qmO!?F~^5*+E$bL~9oK1pVLEKqnLvzmt_1jjI>mU7}O zr`O?nKyf%_BwaYEWwZuB5+-2OxBF*_JS;uN(>Wf6hl4x@oy(Nq)S7UTa`=nw>t1yiCx6`%HMh4mWJKaH0lsw~(EXz&X5!({MjCsVk(JvY{*@(o_Hd diff --git a/public/images/items/manectite.png b/public/images/items/manectite.png index 0dd7406cdc487447ca2ac6d8e089305476b70cb9..c9df61669bcfc669b3165e1962dbb20815ae98d5 100644 GIT binary patch delta 235 zcmey$_=jt=L zoTJHWul=9Xa`ar!|Nkvp&prG8{rms_|3l4tE&!GCmIV0)GXVK;pv&U87ATSB>Eak- z(fjt|LB0bD9Lxc&C)?iq-(P<8sPvAMl=SMi-pL!L%(Y*6Vw0HKInS$gLb9tm9qR9E z8#20Ztjc=5modQRA;UvOp#on)=3r5AhH17*IR!Q!{C=<%+dN=e;(6=$%CjkjuRi^Z bw62u=K~z|U?Ulg^gg^{MEoJJk1l#av30^%~ z!nELVOYrK^5^Q0P+5LemF$iAFEDL$?QAGG}!i+Xe5Cp-$l2Rg_>c#!C(>#oHv@Kt& zh@gOIqStm1<%!EVx#Q=Eo5ZPHs3~zPpd=m_kaDEUD@!1_KV1oY;xYv*pd%a6O1KHE z+k7kGB2Y^CO5g}u2`zwkUH8G&BxDM%r$A4^P67gm%j&I!7D2gu6`Q)?xl?uNq{zM91v`V+0 z#`5%#Hm53s;VE6`#B|05RYu0{(hQ>PA*%#GnoQtc)W!W^<+U9WXPY!a6&yPYPgbhz zayYW;`6X7%=i&}4{R7T6bSU1xJmb6U4ED1okN6Y37b{pl*!cYe+wX0yfeGy9qJI6M zF^0@L*h^MCbCycm@x)JHA#>G_e)#xpK0O|e-RG^FCSLb{ fe*5w7y;V#vEjS9L0_bP0l+XkKWlNW* delta 733 zcmV<30wVq80_p{j8Gi-<0047(dh`GQ0d30D zM6#}3Rn{TFfoo;gfoml)Rol8nM&b&t$hd+7M;x6yVR9ZJA#~}U8iqqM?|bje-1klj zrBaDL(ms78IIxcdjv4s;1`)1|xdp>N$lbRDE4N;!{@-WvhkwriG|3!9VDAjH&mPHH zjHz{BQ9vbeP&W1kO_=&kaMjUnuMFe1tXA1S{4CO zKE$VXVb3^PilYY!m)bNc_82URxc=ourUM+&Us+=s4u1o(%h4|N))LN!7&A+NMdyvE z_RY&HNi_ff3;>PrB;*ux`Y~qqN03DRU`kUX5bf7@8iAE}yPZB0pj=#XCYB;LXaWY| zp%13f_Xk61Ba>;-V=#>Xh0YV%?h~~J6{?=!&}8# zIF<8@4SxaX8OjH+)OsyK_~_%)%GTYA9zyQ=+qK7RSQ-KJ7e<~ZB$y00Epi{OxyGEz zb*)u|sJjs2S*i>BJMj%+%MFUnc3C0kqtv`c)hE4Rk{g@n9%B$+=Po;X%*o0C#$e`= ziT&<{lSw9Y{t(Th^RCA)+A95-mx1(Eo4rCtvsQvE;Mn5Q$x^<#{5=ThenJEvE-;XY z^s|vgog2U3lK?i2OS49Z%N8RhoIDLArspYAl!ne}dDj%%V|VszZ{>e|e2$Is zx1I7=LhVjA)LlM*VB4x~<_BIKYM7!9ea$UzGqV2<}PV2FV+SY1p$e)09HYrO{(sy z|BSw>3TR&0@!8b#k@A7r%=h9NJ|BFN|NPUlhWYYE8|1W4vb&$=xw`}C2L?}9KbLh* G2~7ZlXOIy9 delta 369 zcmV-%0gnF20+<7k7+wSe0001iRAxpdkzpKv@kvBMRCt_YWIzLq*aZaN3o^VHd=D336aWkV{{R(W6kz<%$p1m$14slS zAoNd&;l9Fsgn$xQ%RPJojEW5JJ|GJ)DKPwdfGnT{wB;U(fDr$EWP$Sc0w4bib|R?= z{k=6{HCzP)V>^(^DA4f%?iV42P=?k2?jr=m3W4N*%lQZa0d{EyzX|^l0yE2jjt<0D3U&cA`33?UJxkook P00008NkvXXu0mjf%M_aZ diff --git a/public/images/items/masterpiece_teacup.png b/public/images/items/masterpiece_teacup.png index 36b8c39dcc7b67e429a09a92993c78b001464858..ec2455c07637f7af0f3a7df5beccc05d2db39415 100644 GIT binary patch delta 203 zcmV;+05t!x0`vipF@F_MOjJb%001#DF-$r-X+#^Kmr%jEuIAy}Evgt>00007bW%=J z0RR90|NsA`f2R8Y004SPL_t(IjqQeZ9aLx%nv~8CU&3+5(-&;OXk; Kvd)Pqp$Pz_;c4vv diff --git a/public/images/items/mawilite.png b/public/images/items/mawilite.png index 95ddf987f12fa66cdc47ca5dfa9aa40414b12080..60ea4017f569357968d170ed61f8065cc8db85d0 100644 GIT binary patch delta 234 zcmey!_?vNpWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0dVo)eE09)DP;hbzDo!pwx3~D& zz3Tt}ljmgjoU2~@Y;Vujt=EnoJ^KIuf79=)F9DVEmIV0)GXVK;pv&U87ATSF>Eak- z(fjt|L9PP|Jj?-G=bm2m|Nq`>*8F412hTm5<*qU7(#iQL=eLOk7EHPrwU*zZ<@?@v zX~V{D)e{bxYb{p1?qraYZEC3QGBt2;vM?w+awFhUf9H(=)dQ`QmA3RRHxvH*qc^wq b&}Swi8Ky6Pm3#LCZDsIu^>bP0l+XkKH@R&d delta 224 zcmV<603ZMR0r3Hl8Gi-<0047(dh`GQ0Jup+K~z}7?Uk_!fG`k69VN3kf-6{BTDpQG zxPqmnWm-#1%d8Ro2Pa1e*mx1)9()iH{^N{iRT+k1{1xY1lqp`^w>@QBuMBe;5fq@z zdryh6rG#~)`z)ef&V*wqC-Ed8C0-Zca-^=C`xW3?3Lq*|NLdABa0qh}Y64R?K1!$v zEX#gN;PXo*qyU~(JqNi-@Dxo(_B*-tA0VD_ooJRuGfZ~%qT^vI!daq9M zWMWq2U~v?Q`S<^Rht*7(Stm_jW>2pV(sTJQX2g>%ms~wt-&u}>#D=K`S z;r;P9XMc+@q%(VRRupC5yUk=Z+U R7`PZ1JYD@<);T3K0RXDAe8~U+ delta 279 zcmV+y0qFjr0;d9y8Gi-<0047(dh`GQ0PaadK~z}7?Uu0-gD?z58O5uxMn<5`2wB5p zumWXDuRuvj>mb5Up%V^;J{)(}-ES!LpU^kBX=>HFTZIsENp$m^-$l_Nq;Xm-;-c3$ z=CE0! zy#*l8+}0pXp2M&T=B3@cngc-000CJ5lnneJw%tNF|CYIH1^^(g_x@jf_wN6iI5bokfN3 zGra%(=In0~hID36&WfV!d$*a`W*l64ltz%n0PpM)K R0|OTWgQu&X%Q~loCIA4#ddL6( delta 282 zcmV+#0pPPxgWhE(t4XPANe_`-{#y^m*Yt`!CDuf_4xts61ROJSN#*4h= zDG!P3D8tkzZJQ*)e4ZDHak7V?IYkJ9(3~=dxD-H}L*M3j{eRm0HuQb~wdrXNnFSI} zU`pxfa{zc|wgxmAU-u-M*LH7eP5_t@g31B7WPlLdEyeSnGdIlu0ni-EP3)Qh4N#I> z2981yz$F6&(62wY2Dc0xF?Y>C>Gxau4wwV**lB41bMs#-$gSkm0P5*oZ$!0Yc-o!t glFMkTR-W|%uM^fuZtW*J%>V!Z07*qoM6N<$f;UuvfB*mh diff --git a/public/images/items/max_lure.png b/public/images/items/max_lure.png index 384db7d7df89d00eb8168ce50c04c1ae8f6702b2..812229d140af16c2b57ba4287ca362ae8a0fa1d7 100644 GIT binary patch delta 294 zcmcb@vW;niWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0R)9~4E09)DQ0TUl=+-nmYiYS8 zO5t8m_0ew4XL}9*KXZK7z2^V_z5mbN`~UyH{28M;K-GLDL4LsuKt2M5d)*cR$}I47 zaSXBOy*kNSj75=y<*0u*&z=9fxa-fg7|niHmJpO`{~_|!|5l~^IoG3%%`;-BOV5!! zGCf!Ebp@ALy6BPQoOxV*tCQtc9$3xi@4H;)^852s#Ap4k`z6pKReh#wv!j}ja)_X{ zS+w9X|5&A{X!e4UDebM8#p4L$;e|2_TEOYd(kVuo? k`26(z#rgZcnSW+XT+HUg^YZ^(plcaCUHx3vIVCg!07mM7iU0rr delta 582 zcmV-M0=fOR0@MVM8Gi-<0047(dh`GQ0vkz0K~#7F?N%Xl!Y~j$_9iw*WgU^o)eVW9 zq_T6Bo5XFBIV8xsA&Z=h1lLJqWao+l*YQ)*6~-Xf?LExyy)DVLcmL;KE~U|GwdkC7 zaZYex{}VX70++uy1Nnj2#sS|^S6u@6EON+gH_PO+$p;1F6@N&vNHl7+VXkI^$bBxr z(?LlhT`Z{+W>{O3;GO}!^8&nE0#_%Khifbkm8bezIp-3n$S#R0yEhqycV(tlBl`?M zX4wyQ@?f|r#n#}jV{8I4%E$l@{RIUBcLx{GImRY{_)X(|?S{sRp<1f?5gyT)nUKpOG6o@AMoRk5|TJHF62$(hDe_M%0hnJ9hyt zA}Aoekh;ml`af0XhM!#e3;%w{IN$_MIjtsQ6fYd*OhCqX5FS3d4J!y3MaUz~q(7HT7R(>)j)cO8_yN z1bO!a|0Fs8C^`QuIfpJmmMur2Ge@^DOx_$y(|6MD{pJ z|2RtGJX-%WTD?eUw?uooLwLDFd%Z+^tW$NAV|%(~b^k0fI3P-6a5Xy#6J{$q8rKZ~?Hi>yG4w?crNe}}qp zgSvQz-fDo}ZGW8Jah&FKgX40J?rog*Wt8S|l;(Am=5v_lb)1-ii?^Yvy0EwIg`EG1 zr1qJ#|CzM*qp#zvwEm>B|Dm-1rL_O9wEnNU{Ik9Ov%mkkz5lMo|E10LuFe0l#rCqz z|F+HMyVL2u)BnQF|JvsN`u6tr|Nr*?|N8&`|NrSn$_kbM004Y+QchCzl2=#4Fc^lbA|c`cYaJ+R-2(?8?&3n!Dvqj9tB9)xi#Vb< z;Ln>-k5K6G!YkjKoYUvYNxnB_n12@tYioaj5PH1>6LdAD%gY$&a+rkY%N+PNHb#iJ zvm=UPUU@SZ@F~m_oM-yt?S3jYV7Mz!e{`w~8%07TT6b^VVQ)m=Pk3-VoArQ#Q1AZC zc48cf`tcwYf)5&pkJI6IONkXiyWKL^C zG$6|?i7W@A4c79mthT6679>fKeNmg$ylW6wNaDb}Y5El)MM1y}WBmMFQ^Nq2f23T1 zw4Tkuy(zT+z4?CK8%XcMf}0wQiYK-_H#NSLP$AX>mLb)%GbDF p*W@0Svk*zi*@jr?oBYE6lrLENad~>hTsHs!002ovPDHLkV1i#~rCR_1 delta 948 zcmV;l155n$2gnGJFn<69XF*Lt006O%3;baP0004WP)t-sDI_T=C^5H0d$%x5|1?_I zN^t+S&Hw-Z|0p^C+UEZ_O0qwTtU!zZvc>sOV*eyL_8>9-Q)oF982_cT>0fHz6d?X% zb^foqw?cr$Onc%yTL1e0_Bcu@ARv20O#k-({}?g= zx1p)#bC~wB%`qS#{-mHtPB|5ah%gXO#k}!=DX9R1R%v)W$uNX_M@-nb(Gar zd;hMqhb}?YM01#di!mG^|GK^7a*jC|5W29p=5?IaR2gugGe_P$TC@}x0001-6+RXK z004Y+QchEo!2xlT&;bg600C;+F#rGn32;bRa{vGi!vFvd!vV){sAK>D0o6%FK~y+T zy^`x!(=Zr^!<4L0E@D78M-UV!8?=-$I#wv)0JUS_g^L#yad;aJVS-G}Kku8%)=oHw zZ~Q*w&B^oRyh&QbuE_NZ2(`4RsY*ydkVxdlOe#vqfrdew7^jnwY9ec z(K|YHT^CAQoyf7XO9L#JERpU`h2+?EOAtw=&=V4Flit2NcX1>p_XCgLOC1!LnArZqWf+kCriPfc0o#JD6% zU?@GEnQz6Zf<^_Q4exa0Icf^i%XAa&dcY$T$2F;?T;?&`pW9#Cr^oADEMndww}#yYy`sa zv*#GECT#nK6ke`xZf)RXo|E;n6jtj(npWNGj`>_A9Bp|maH7(ORI4JEZ z;nU|Y`(I1n8UhqlF8luB_sUV;Bd!hkaePu0L~sZy`-Pu}r$?UWx^^laKRy#Y5Q@L} z6$v5kdF}U~N~I1O0xR-I;!j=sOKI?52Lha7gOSWt|I%UoOvuE!;d-kpV>8S>wBJPqPzhH*{a8O%Tdle`=+tbA{#G?1=ByX`J z3LGrV5(4k*A7q-$41Ha-tTg=Vlh1qB)!X-k_*L|D+>kmjGcTHX4^uO@etBV5%}(xG zr=lN^4*0d6X}1>Vaq~O3dy2tq<8!CI9X76boWoNX(h;HhLpX|US4gN{Nhrsv?|X%< zL~_@%7%h)jZ}Ox}evM~6%Y%c{(pP+|NnpG6fIMrBJPqPzhDL+9|~&AYOex?+dW+zLo9l)PCCfP ztjOUaF4Oq+zx|G$+lwy*PyVJ_^-)N5S0t z4=ism|HE!9PdxD1ZubET?rr(j23iN->?_{9o~w9OSyRx3s0;2F{5W2>_+)7n zYgIE$cKOczEaGpH^n00AjRLn#f`4Xa)K3+EwTorvt?SY3KsPaXy85}Sb4q9e02O<4 AR{#J2 delta 260 zcmV+f0sH=u0+j-g8Gi-<0047(dh`GQ0NhDLK~z}7?N%`kgD?!_DS2O4#*Q8HjgE|6 z85ukB1wVn6_M#d&R@8}eRVgPOB38tmoy24qIy(LlDW$!|FmYfNsR)FafXHK6b`Qkp z2DH@37=o6FQI|q9zvg_D9q)cjse~7|qF$V00w1#iHhZOA4t6jTs~0q8}QVRyryUP?PU&c+MvjqRrJ#zPPQ0000< KMNUMnLSTZ2PIEB; diff --git a/public/images/items/max_revive.png b/public/images/items/max_revive.png index 25849a3b940c1dec396c8c00277d0298098a54c6..609fd17c3b9b049e2858c551e951b0144a1f757e 100644 GIT binary patch delta 241 zcmey**u*qJvYwfNfx%@-*D)Z)SRCZ;#IWw1%u66gBEToa6-X;6D0q1>ELmdt>{<1< zZ%6OFd-wnUe;&SXtw1@Bk|4ie1|S~D0EbTgZaX-8%6)6 z>mBCmvE2NZmKn#+UL7mX9q`5cywkzR2YM}8%!ej33X4oMUT~y2;Xun4F$RYehPev6 z8)U5~Onf^}VRol`nAycYGip`m9b)|!dZw-;BY4K%rUKpvZ)Wac54#_nFyCzMe8zg` nFHhLkuWsmKno|ER{uz6~bLP&)91lx@4r1_h^>bP0l+XkK#ye*5 delta 238 zcmVdCP$MG-A@{5ts0wEF*2$QG@K%!Qz z0xTh=2@!yV%hq67wE#;9)0D0<6F@My6JSgvbZ|?c#p?qpFK44m>53)ReJ@XVErD=G z#I|kjmdkcvWqQG`;dc_I!-xfH_aDLLGXRIM70zSXd;s;r(YdPtcPY0*@42f$?JFlw o76|!22o=y0VFKYls)Ki2wiq07*qoM6N<$f?+ado&W#< diff --git a/public/images/items/mb.png b/public/images/items/mb.png index cfa421d621964cd10288661f676e92c65b791308..d80b3b891086124c530259cb88d02aa440a44cb9 100644 GIT binary patch delta 280 zcmdnNw1R1ZWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0R)9~4E09)DQ1A*0s;+L%GCW#r zcy-c}klB4&|e*1s)KM)8QEH447<|_&E3uXWbz(KgzZ4sc%Bu^K| z5R2ZYlMV_sEAX)THZ(Z=`(OUMo@4EFm+JiM&F9|uNlbYB!}&zThO0X=S8Pp_%je{p zCGecnK0V@u)CYkztWP#G*{O0Y;j`H-VBVDSJJv&BN);=s-EM{J-ApwHG-g!3o^+Fa zL3aA)1MiIuS8L@@ve%HBb&cinV)yi3rKO23a<20EvcJFX-(6U*yf0=({4>_Ox@>|f UY&u)#0Nuyn>FVdQ&MBb@0E*>$tpET3 delta 296 zcmV+@0oVSh0=NQ@8Gi-<0047(dh`GQ0RKruK~z}7?Uua_!Y~kpJ&IRINl8nYF=#1M zvH~My1XghA6;d)nT9apS*4dnuB9|Z}Kj|q7xxDXT<2@rwThN$^^UbdE-WTjvvCtw5Y*@N4I`7eGkuzAude+$seweV>)UKDh=aIA&A| zaE~MIw-C43m!RA#x8g9|Qy^Cfz0}d4r5+?kp*zjY9t#W<>0|Ns`NswPK z!+!|4dMd;SD3;~v;uvDldv%f{-vI><7T3hT|NED=FFPbPd)}=+ceNBD&8P7mP0zaQ znsYdO{?0wnA{KLbDMN&S6sK70F7XMh{vA!JjY1w4CpfDger4I~`9VKg#piM|v-%ef q)h$vdxc4k{mE$hiP_prU8bi=!wymwMp0k10GI+ZBxvX0 delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_lua947pz*zjXU#e)Qo85SND z7C=dJ86QO;#ZeOE7yKUr816OijRcBu7I;J!GcfQS24TkI`72U@f)hPm978Pp&rb5> zYcb$qnXGpDe|=Bjt#e6Ck4%DPCcFp=sSo1#+G;O+h-v?}=>kf9f?F~LCM>eyx}Y0uTg`7xTB%i=r`E2upx`^AMH$GP{ye2$lrs&?r>GD8lGB9|$ M`mwsKb4q9e09qVpiU0rr diff --git a/public/images/items/medichamite.png b/public/images/items/medichamite.png index 4dd57f10bedfd06c85817dd410b3e32eb9b8bd9e..42f22ed6cd68478734f6ff7e05a7c70c4afc0b0f 100644 GIT binary patch delta 231 zcmey)_=9nRWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP&lfX{VX}?e~;DC zsGjPr*Y+;$S=zJp|Jt=%&mH~$|Nn3HSv!I1cuIo&f*F8(7~nh-pavAr@^oeH}~zH1RtJlWuMgV23=#}uzac0RAH!o=$EDT#>P&8 zl4puWJP9@r4={PFJh-RCcFISOC*xbkR>qG9tRG4mdKI;Vst0BR>?C;$Ke delta 230 zcmV> zG^*$Sv*e)v|9h;!G+i75vY>kFwg3Ouu7zNr+TqD4>S~$N?Zs6W^md0wp>?4uF=5G_@SPD26!%X8C~C33Ru3 g6pVsVFbb#*0KGkORUPS4`Tzg`07*qoM6N<$f~baFE&u=k diff --git a/public/images/items/mega_bracelet.png b/public/images/items/mega_bracelet.png index e593b9076318f5fc09697995bb963dca150fd48f..5e8ff02be8cecb20209c84607ff62874d40dc302 100644 GIT binary patch delta 267 zcmZ3-G@EIHWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0R)9~4E09(If?^5BproX;L3_^z zMHM%DMIGJZHRo#ay{MzlrYzZV_TIg3-@cvQA$Aj}ny)0tFPPy!G6?s&EdrEj^>lFz zvFLp}@gm=01rFElZ42Ul{J$?-ztnfzO5>Z=@0%yxnJg@{?d{3^ii`4IWHl^SU~_Ak zQhZMQ0duzhgs1)rw;5J^lunT5y&(MY?~65}%m@5dxYq3W{?~}5G3e1_dA2E0!eVV# z)@<8iuw?Jn*kx@B5=Amh^S%}`YPkHFDgQW0>GQXfM*0_=S*yNWTHpwD5re0zp9{-6 Hr-UW|Y>0YX delta 286 zcmV+(0pb3e0vp05_Hd7JMU0@p=zS=>ZQ2J@2I3gxAUDedlBa2UD*UMd5P!MZ2JjRp6nEjB0mLGw zNC)sfQD|-?9yp4}!XRfM%K!(9MQKE09P?^mzwUr!0@q!A2$b$IXORw2{N#L~ahs%x zMLGaMJDfw?VE}9F{jCEKYsV%CgIL#gDBl6e1lJJkZ^HduoPtHgrGGq)&;-Tf&#w4+ kkTN4tk8OoQu@^dA0b`*4Z~8Qv-v9sr07*qoM6N<$f^f8a%K!iX diff --git a/public/images/items/metagrossite.png b/public/images/items/metagrossite.png index 445deff40c134e9e2e925009497899a8a546990c..c245368758d8760651485b8b4468dbf6ca2f4f0a 100644 GIT binary patch delta 249 zcmeyw*u^wKvYwfNfx%@-*D)Z)SRCZ;#IWw1%u680AiyWY6-X;6DBPP9v}H;2k|k4? zteLW9%ieo?yWgE%)4ccUoTK-a9KCw>?AfdL-T}e?|Njf8&N>LxBTy3L7t8?UBZC70 z-OfO{98VX=5R2Zo7Y_d_wky9(!uRF*=?!U-(~s$@ z1$;=d>tteV*}MJ-i&hMSi=?4;Lj9qJXA(*bzeVf>7M*Qj>ggTe~DWM4fDmi!L delta 225 zcmV<703QE}0`dWn8Gi-<0047(dh`GQ0J%v-K~z}7?UgYOgD?z5IZDpdD>1S%GJ0gp znvpRhYmVS6xHZVgO{rLLs!D#+7a1b{i-SbhIgaD}D b$GMv)JrS6=W!)!r00000NkvXXu0mjfDq~|J diff --git a/public/images/items/metal_alloy.png b/public/images/items/metal_alloy.png index 1201f58b463948302c4ed106ab3eb52a8e2e91ea..41f22df42541e8129b59873d11f25b4edc8bffea 100644 GIT binary patch delta 223 zcmX@k)WI~tuwF61C&ZPDfx*DQz&o%vvSd%qq|H5@OI9!0viZ=RIp;sUeEEY|0wKykRg4;G)w!!v5#rIDy!v9KU>eR`5YnSv#+XA?yOyZyK&--a}}5MHvC+A z;+ODK&JK@B!VPi`&tFHq*HnAy89aAy^^_?WOkUlJbro^ETxRt`%k_?~?^)0K8Pe@y Wte?AlCTs>eg~8L+&t;ucLK6TUg=bX& delta 287 zcmeBRI?gn~u%0E|(btiIVPik{pF~y$1_s3dpAc6A1B3tn|G#|yef5$pJ)KK7AG$N= z{HMs0JvEaydk6LcRZU7;91f(oOM?7@fhwVZ!ONfV6Hu75z$3Dlfr0NZ2s0kfUy%Y7 zoZ;!>7-Hf7bkaegW(6MB=9UFN|MS1A_jXXY;`jcoTu)j#Tl$nQ-2bHnUTpW{Q4o%p zZCX&xkpC`qKEtgXX3zWE7&TtZ`L6JTXPd&0$C@9)i*v6(ynbNgWn;B^u3JBso{-a+ zDrm6zN;^XYLv7skJKtA^92Kf~QM_ilLze608(+Q{J1AxZUCB& g8$U~MH@@P&JW-LgtoGg}peq?XUHx3vIVCg!07{F2X8-^I diff --git a/public/images/items/metal_coat.png b/public/images/items/metal_coat.png index f016d48bd2ebecbe5ab2fccf1984b7db0a299127..88f055c3fb396e46de6959d2dbf81a078d7c5239 100644 GIT binary patch delta 221 zcmaFK_>OUcWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0Xn;?ME09)DPzcJ-&TeVhdi3bM z_wWDz|G%=oBoipXUJ~RN%mCyA!P5F=zkxy}o-U3d7QJ^TUF2&};BaMa`TzgPf=vha ztXn(pl~tu>`ny*-Z}T5c6gBH#m9KP!y>H>>gJGP delta 216 zcmV;}04M+M0qFsd8Gi-<0047(dh`GQ0I*3!K~z}7?UsQFfG`XM9i=n5M%U;{j^G-u z;0Q{DhY-}-_KPTac%%XIM@dVE!R2xlXpC{oxofc1vaW~qI)reT8lDTbHGt5=bHTRO z3;}@BV5k{D8q@?+0j7B_4i?3fcmUE&{3IABrVD_C%39YDrcu8%06^3L(84iHB>?(A z>JZ|VyEA5^`w*T<>UuZ6KZFi|Ml}G`qxjlApdsvTT$%nLu^@Nu_9Sz;eytsrbYr)b SjNV-U0000)E!!0o=iD^`#ifscBvg#?E7Z< zgQJ^~+JYD@<);T3K0RTpNgTVj* literal 6500 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 delta 235 zcmV2euZn4TXEbf^T z)KWcX?a`%sm+n1!Z|l9IM~~jS_w4`w|H*=7|A0z)OM?7@8Gw8^&}DI43zW$6ba4!^ z=zV+9k?(*42aAJihW3~L@82f9;>}69w7EKUQ=mrbbAPQ(GTeqwmt^gq!GF~yq3*u6 zA)^b&s;t+084F?_GAvXSQV2eBAdWHNrt%jV(VO}K4`p2n8@VT_y}T2itJWPl{e1G< bCzT9lUCa!}#0?Gtt!40Z^>bP0l+XkK{iJ2f delta 226 zcmV<803HAQ0rLTn8Gi-<0047(dh`GQ0J=#;K~z|U?UgYKgFp~PJ<47oZH{4?E2KA}pTnqK7X(3YRZ>dAXR({$)p?Pr- c1i{gK0UPpXK`4r!^#A|>07*qoM6N<$f?*D3p#T5? diff --git a/public/images/items/mewtwonite_y.png b/public/images/items/mewtwonite_y.png index eb9b1d0dc550bace2b5fdc8aff3f6d0566f1a917..ff0c53396d2bbca151386faa40925a4db4cd3d71 100644 GIT binary patch delta 230 zcmaFM_?>ZrWIZzj1B1(wu46!ou{g-xiDBJ2nU_G0N`Oy@E09)DP-wBro)grvG^l59 z@!F$v_8wij_ukffM~@!8ckkK%|Nm|HHoXF><0%R93uXZFVSw{UfErLd)6>N<#G?1@ zMMu5^3LGpBq8X0=|KHbJcJF|i?e1{3c3%Wpqk>31|57MzHLB*BkK_ANZc_IKb+$xa8gHcXQ2F>&-uIb@DUA Ydkdyp=~E9a0NTpn>FVdQ&MBb@0B1{QQ2+n{ delta 220 zcmV<203-kR0qp^h8Gi-<0047(dh`GQ0JKR&K~z}7?Uk_!fG`k69VK%(hHF^5f~6za zT3TAB%o-_OBk~VUjzhHZBEmiRC?fpl8DrBpj^q555JHiuUOabWS-PpjVWndg5fr49 zO5QRBYCye`1y$k_JhE5NxFAPI{pXjK6jUWi)4OaQC@Ny0=R z=lxbf3gBMTbwF9-7U2+Da^G%eR#F^h2dXa9ui#g5}RZ*u?z Wr+f4qvh+3p0000uTO9lo8j*=k1 zV21w?aP?G(5l}44)5S5wqW9_~N4^6J94xMhfB*L{ZC`dsYWBQaeeP;0LYhzGJ(`|% z*)`{I`23xFphYa^@=}Hf0Vz(g)?MNgSp7SiQX7RlEKYD%Km5wF*YksZw2IH=WM=g* r9I9KSPH^v8=qkruvY}+-{WON4%WPX)T|H+5t!40Z^>bP0l+XkKp*d2v delta 268 zcmaFCxP@tgVLeN_qpu?a!^VE@KZ&di3=9$hJ|V6K1_n1KO!#r(!jBg(er(uqqM+bF zLIO}ST_JT2km4u_@(cbC0Sxz=_eKK6I14-?iy0XB4ude`@%$AjK*5QgE{-7<{%0q7 z^0gT7uuN7v{lC5^@YcB`rbi~hG80||h13Ued~LNCKE$+t+jIe?KEW-S0uvV5a9vV5 z!B{K0hoK-#!Mc&#u~KXU*Q5h08@F)j9psGRIJG%}Q!7W<=Z0!YBlpIZXhl9wk!379 zH_cnn^!9q|Db8sLO!Z7hg+flGE|O2+t$eomL0!b{&>Nqt7hV&dGE;PK<8*nTGZ`2> NUHw>H);T3K0RS7pYsvrs diff --git a/public/images/items/mini_black_hole.png b/public/images/items/mini_black_hole.png index dd7458b8b2ab52befdc84143535a6f942a9d67f0..6edcaad16e36bdb675f5af20671972267a0ab260 100644 GIT binary patch delta 165 zcmdnZxQ%gwWIZzj1B1(wu46!ou{g-xiDBJ2nU_EgPk>K|E09)DP&jIM_L<|et6zfo zfP9vcAirRS|NsAQ)^+Fr@;y9V978O6lM^KB8YFo>co;V_>Zv+px*0HN9n?F|!G0q| z;dF9vqgKBwt0L=*PZC;fElj5lHx>j4_vswE=qqP&&_KYa$XT3$VJ9!+*(rrj?*a{F N@O1TaS?83{1ON!1Hmd*t delta 170 zcmdnSxSMf;WIY=L14D6D)fXVu=L4tL0!V+e;A`{!CXMHNL&1w~CDsiNs5A(1R0;iaM&rJxw3p&6y28LOiiWnehb!fcL>hcbAXX_Mo7~#P~V2^?Oqj-ut+J_jLO1;qo6y zMh1OPj5?i?@IN*AduH>S)eP;N`m}?8UB+41Ugsi0Zq8)>Eak-(ff4LO|d2e9+$%2q(a>;YsS}3 zx?PX{|DV-)oPDcI&GpKZJmbqE$A9{ou8RNjdDWB^Nqqq?7&`xmGP<%bB#AI`m~`A? zJ8_LgL)F0i*1Uk|*>jF8KdNfG^V&}xW0|u(9_;TnpYM)3{Zo%8-%;XQa=z8;0J(k2 zYfsh8VR1B?_oeUNSFe3xuWC7Xrxt14idNhsVah7?_2yJP$$Vpx#e$ROE@l02E?k0M%FqW}E9m@_up7{;qNC{O0SV9u9z- z)1VZ9l`SC$09Vf;{@Sa_9KHsGm0XT%k zA)0He(A?Pui;twMY<5Z1>G16Vgh=sHAjC&H1#nas<|w?zd;M$%tc4V?)4G6Qokt;R zF0SpKQM2JY1!_76Jk6+=WmBZS!XaM|O5z%Y5I~J->3^`C9uS_*qMHmkerSZ|qF3x* z=yNcXV=9d$NKgPT7%`%?%Fjye@!XpqW@%)6H9axWv%qD}rS1<1kl>RrSjq^wGU2gZ zPX?d_WV=Nn8CdNZsa~-NP&*6<;DR6ky4tGyfx)w5Xf~=qk7EiTOQ3rU|Ji{=2N2{S r68b=*OCoQW!%TE2jQ}EmsQ~x}n+j#X7;arB00000NkvXXu0mjfY2^I` diff --git a/public/images/items/mint_def.png b/public/images/items/mint_def.png index 9cd92eac07ee365ee1710a39ed528a43d11e580a..584c610ffd7c279e5104d137f6c2b34f2e1ed1ef 100644 GIT binary patch literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|76tf(xB_Vj z8AAyfO9=%_MFmYw6-^0+APLn136)|2g=z+o9s!va35_`#7Hie4HYr=}63{s&VQ@~< z^S?{@1;>zU88w%kLf<<@zV}LeAC&n%s_=bW@%Px`pK-;%qYD4W7XFDZ{u5RDKepsg za>>W++V9oPbE3XwoLloIPquW>Fa z-jTC-J*0ke=hgfVH?}NNT(bP$={x7j%{Fg7x#|DP-|yuA)m`^0nW~;qqM-3(H-m{F zLq`-dN0I0)5e6k`hGdqFn`bZ-l)Tv+zE0`mR?9Cz|6gdWpOUV&apsqEm31pW$BCq# zT)n9#uFvhTV$>1uCCo>2w4auJ`}XDI37MMgGfyWNgq*s5@Nh^+UEj2=b~9hEVQ7B( zWwOh>_No4BgcTG_qt+hR?{=+WnOwSXU9$9JYfZzB;D!^cze;VI;eP6;jjj$;!MU2d oNBI*re!U@>@n6q3Ip6tyfV{+C^|v>Yfu3gYboFyt=akR{08R=GZ~y=R delta 562 zcmV-20?qxO1i%E48Gi-<0047(dh`GQ0tZP%K~z}7?Uuhw!$1_r`zLg8$k3r;l@=Uy zv)wE%Iu=DNv?4A_7fb3?9coKKD1tx6PC^k1UFslo*HHw)Kf~Y@f`w<^EAKeYgeFbJ z4k>&g4axg{?%nq;7Xg6Ce<~6Jga9)I;P=Px&Bs%q#na%m&VN(@Wb;n<3F?<^0Wmdz zaqUCHeSHWIj~3)l0aA&Sr!I^IkndqpS+Y5fS_Y6ICI(QAi~2XIP#Kc=esuYT3~SdG z6v{(-rg~)t1CY&mL|9Y?C|#H&2I%xng5c)@17Ly1&8R3A$M&+Y-8^D6M~L3QhHQPp zefQZ8VGbOZntxXSHfI1dVq>0bghDX@nrkbs!rU!0ZW;TX>{uGA^)}>=4N_4zNoaal z`4az=Ydy%90hTg-l9p_fI18K|6~t2p5CUI9fb5=O7X--e7$my3@2zitKs43>y=lKN z*AktP&GDKuqjqELDp1?W02{k+pe1yO#;b62_D<7)(tj3DVC%pT#t6f~t=(F#5Uycy z3MUH9vGr(v*9DOUG-m)_HE7Hrz5(1|u!!C?#YlOS3z-3=HUSE{MN+3i&csCD0@)m; z?hgo{#a6{su^|gPF%#oculDPy_3EtgZLSXLt_kXHN#4GF>508< zrw_H=JKu8eT*r-bJ@?M{JipxX{Cdm#+f&{@p7Z|U^7l`ce}BF7%gg28UoQU%B3FKY zzxL<*Ro_3a{r-LJ&kt*Veq8(i^Vmkrt zh9yCM!3_UN1g``hT?1-&20l7Tuy&q}R^n1{pZ=LY|D|NmEDUHLh~Yf4ogKGnQ7zBx-^THD66ioW;dzOMK=<%j}L@7DI^ ze_z!+i|Tjsan_jfId_xPrkuOiBfM^e%&^tDnm{r-UW|2oM(| delta 542 zcmV+(0^$9I1gr#*8Gi-<0047(dh`GQ0rN>jK~z}7?Upf1!$1_r`w<+w798x@u^&OP zirMVgevH=1P?dIcbS+>R z_y66?|J_{%05bonObUsa(9~wH7 zj{8-B{nn0Lg{1(xi7NFz&RPXfA$|>@8{3nvRENa(&*~*IM04lenm=P($pBPyo)HeJ z0@%VL`2gf|i2=xbW`Q%cXmFMzF6Wxge?xPGcp9_-(A*wCHoF0Vtriu4%^3hS9GsHS z+=I~oT1PujsekOlPnikJn7;zDt;EX(iAt-8ftqy##Pc~cYP+PSSp{P|2Ok(p`--l^ zyOs|mS_b68LI7R}yI#;xXkIQAToV(@2L*u7F$qo4oI!XZdNr1IfnH7=7|cdi$!?z^gBqQTGD9OK9MGa{&Oe!y)C&pfOhiugL-A3_Sq3 zF!8{8W>{fij0K=V(2Pdm?^a(Ag4TuD+wnpb_#Fpq!+&-l2?B_75J`L>2`X=r!%TW8 gO#xDXwHE;R0#{l6Ah~ECzW@LL07*qoM6N<$f&(J$tpET3 diff --git a/public/images/items/mint_spatk.png b/public/images/items/mint_spatk.png index 191ba6c4a1a7f58a143521b980817d99fc13cf1d..90a57c5608ba8d0e804ed01cb31ee1d38b185c87 100644 GIT binary patch literal 568 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|HU{{FxB_Vj z4NVRWLjfH_2^}D5si>lZ_l1Qqj>6!kOjMfmh8<~x0hknJ&8^CG`HPjSoWM@)pLP$&o#F_)ZF$+ zbNgc*5aYS#uIDzp9(o;q9(4S9(CzQj$nD$W@fLfHQPw?A_-N=_hq&*t!XY4ye5;?xu07>2ID z^U?gT)1oH1hs&5%KK*97qr@OEnWaH{`Nd-lH>WWq?>IHLSN%$x-uHWt=ZF2N|9QLP zpZvSI%QE)g*4+0eXU?xVEB{PQ&D=G2X{P(O+iS(1K2!~A%lTrwNI5?I{k_Tgy*p)` zoLeQ#?b+t+_uR7c+PRo=){H)O_M=N(uIODCJP`3!I(Jfu`sGZHPI0!^r8nHZyK<-; zwQm1VXvZ%0i{oOni=+U9MQK}*<|_t~n2MW>8g+Wtwd>?$8RuC@tz(LNXAbl^gQu&X J%Q~loCIE0b9b^Ci delta 572 zcmV-C0>k~d1j+=E8Gi-<0047(dh`GQ0uf0>K~z}7?Upe}0#O*p-x7!sIJycE3NCI1 z(Nq+U($WwFE`g&slvGQ!G*(cP4PAkdL!g4>QbROGL4$B&4sVGZ8^7N7o$q>{cj$RW z4k!G%cMtFT|L*&~_wF$OVE-xR1NZp84pNm9e5Q-;Y*nc=<0Z`4gY8A3)=O)D1 z00yNG4PzA@>P=49*lcX5EDQut=P;-$)g0ft2S9-s8KBQt2ClRWb>~@5gSfaqdifOd z2Ef7Fmp6bO^R6)kRRB^?oFoCt%??4B|MLnEiZ8%+sZK#LIHp$$4UW5SjOGYY?*QyS zx1n(V0HOIL*ncjyVF8dH%}+&8nOe2J21th_0nnW7-J0f3J>%44eYAmS0x~C}xoX@{ zwM{BFI4ss$=6!HSgHVaXT<(Gt*gPclmQC*i8L9^mf*uqAtf)i&wL@2RjOJ6zX~@2R z16#?MWm3&?EPKY9je)Dcnod^ar0|^%GizJGHu8|Vs((`%P{GwSK}lomA7gcJDyI{K zW3$+<3?Vc}2sGD3ugG3Na|vLGn~jWP*8om1VX*F^8L6d06;cA+6Mzb#0@&5ox*vq2 zhCH1IR5buu0=v)fpB+f-0NflzJReBx((C0g;~z?W03To?0Db_nTb8A`ITFJF0000< KMNUMnLSTa3JNgI! diff --git a/public/images/items/mint_spd.png b/public/images/items/mint_spd.png index 687119f25021d0fc405dd1d2e7b1a492e5439a8e..5420b0997b3d6bc72de7a3cecefca93976a1d6b8 100644 GIT binary patch literal 578 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|wgmWuxB_Vj z8v#WF2}KP>MIA*=6-`YIO+^DmO#?*47HtA?m^6})(^A#=EtGn-1bl<7&xm(@xxVq(eb<6weme184)0-zO z=vlgbY3IGhIqzGR{_ffOdCJ!BQ?~w}bL5os3!uAgN`m}?8UB+GzW=WU8pH6#)5S5w zqW9^fyJ3e61X`3+wY@qUoTf&tD%pNIKhw4O;`e&}?Q(iKhgW{LQZN6UYCO|r<$lfe zpS%B;WvE)E2%fW25c;ohz>=xK@^npn^1h_UObr<<8p*w8=5HA8KEKnIvEAkG&bqhO zzx$8Zq;|GA?v?xQUs>n2f3Aql(hjzqIDZ{}c}$ delta 588 zcmV-S0<-yYI662uIGnkYOV60n z)+lyJ;Uj5i@B6*)-FtZ<00{l3LIFSk&`|*Ge)xYXtUyIHXn(cNuK-B%%2@^0cUK*V zUjt|s9~$OrS*X5lgK;wsdbi$E3QYmzGb}14&2iKcKtlW&z-^qr&XSDUr}VH+iq7K*be!F11zxkiPt4kvLj5=DB7u0GdY^qKCtyF>PEXuaA^c3Lm&?itqT+6XnU zF8~SQ%tbAlN4{@B?)`vX*Cov2Rj_#UIUiN>i@obvZ3 z&Dowe=WN8B_pWo^crSeKyYzkR+V_cT-b>SyRQA8cJ2GJbHA5d`o8M&$F-L~uD|?!)wQ3iuYKQk?f