mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-04 07:22:19 +02:00
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
This commit is contained in:
parent
925bb73f0b
commit
fab415c156
@ -17,7 +17,21 @@ export enum ArenaTagSide {
|
||||
ENEMY
|
||||
}
|
||||
|
||||
export abstract class ArenaTag {
|
||||
export abstract class ArenaTag {activateTrap(pokemon: Pokemon): boolean {
|
||||
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.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;
|
||||
}
|
||||
public tagType: ArenaTagType;
|
||||
public turnCount: integer;
|
||||
public sourceMove: Moves;
|
||||
@ -211,17 +225,19 @@ 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()}`))
|
||||
return true;
|
||||
else if (pokemon.isOfType(Type.POISON)) {
|
||||
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.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;
|
||||
|
Loading…
Reference in New Issue
Block a user