From 636fc221417e037250c589227c027ae0c8e5f66f Mon Sep 17 00:00:00 2001 From: Stophles <71789013+Stophles@users.noreply.github.com> Date: Thu, 4 Apr 2024 21:45:33 -0500 Subject: [PATCH] Toxic Spikes - Properly removed by statused Poison types (#36) * Toxic Spikes - Properly removed by statused Poison types Toxic spikes should now be removed by poison types who are statused before they are switched to, instead of ignoring their entry * Toxic Spikes update Fixed duplicate code --- src/data/arena-tag.ts | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts index b34205db3f1..4a22b25fd9b 100644 --- a/src/data/arena-tag.ts +++ b/src/data/arena-tag.ts @@ -211,18 +211,20 @@ class ToxicSpikesTag extends ArenaTrapTag { } activateTrap(pokemon: Pokemon): boolean { - if (!pokemon.status && pokemon.isGrounded()) { - const toxic = this.layers > 1; - if (pokemon.trySetStatus(!toxic ? StatusEffect.POISON : StatusEffect.TOXIC, true, null, `the ${this.getMoveName()}`)) + if (pokemon.isOfType(Type.POISON) && pokemon.isGrounded()) { + this.neutralized = true; + if (pokemon.scene.arena.removeTag(this.tagType)) { + pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` absorbed the ${this.getMoveName()}!`)); return true; - else if (pokemon.isOfType(Type.POISON)) { - this.neutralized = true; - if (pokemon.scene.arena.removeTag(this.tagType)) { - pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` absorbed the ${this.getMoveName()}!`)); - return true; - } } } + else if (!pokemon.status && pokemon.isGrounded()) { + const toxic = this.layers > 1; + if (pokemon.trySetStatus(!toxic ? StatusEffect.POISON : StatusEffect.TOXIC, true, null, `the ${this.getMoveName()}`)) + return true; + } + return false; + } return false; } @@ -378,4 +380,4 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMov case ArenaTagType.GRAVITY: return new GravityTag(turnCount); } -} \ No newline at end of file +}