From b82c320b099c4bc2c031ee8dcea0a757b0937408 Mon Sep 17 00:00:00 2001 From: Jesse Chung Date: Sun, 25 Aug 2024 23:35:34 -0700 Subject: [PATCH 1/4] #3722 fix --- src/data/battler-tags.ts | 8 ++++++-- src/field/pokemon.ts | 13 ++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index b059b4cf6b2..d2718fd7860 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -8,7 +8,7 @@ import * as Utils from "../utils"; import { ChargeAttr, MoveFlags, allMoves } from "./move"; import { Type } from "./type"; import { BlockNonDirectDamageAbAttr, FlinchEffectAbAttr, ReverseDrainAbAttr, applyAbAttrs } from "./ability"; -import { TerrainType } from "./terrain"; +import { getTerrainName, TerrainType } from "./terrain"; import { WeatherType } from "./weather"; import { BattleStat } from "./battle-stat"; import { allAbilities } from "./ability"; @@ -817,7 +817,11 @@ export class DrowsyTag extends BattlerTag { } canAdd(pokemon: Pokemon): boolean { - return pokemon.scene.arena.terrain?.terrainType !== TerrainType.ELECTRIC || !pokemon.isGrounded(); + const checkTerrain = pokemon.scene.arena.terrain?.terrainType !== TerrainType.ELECTRIC || !pokemon.isGrounded(); + if (checkTerrain === false) { + pokemon.scene.queueMessage(i18next.t("terrain:defaultBlockMessage", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), terrainName: getTerrainName(TerrainType.ELECTRIC) })); + } + return checkTerrain; } onAdd(pokemon: Pokemon): void { diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index e38813ed3c0..7530fffaa03 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -35,7 +35,7 @@ import { DexAttr, StarterDataEntry, StarterMoveset } from "../system/game-data"; import { QuantizerCelebi, argbFromRgba, rgbaFromArgb } from "@material/material-color-utilities"; import { Nature, getNatureStatMultiplier } from "../data/nature"; import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangeStatusEffectTrigger } from "../data/pokemon-forms"; -import { TerrainType } from "../data/terrain"; +import { getTerrainName, TerrainType } from "../data/terrain"; import { TrainerSlot } from "../data/trainer-config"; import Overrides from "#app/overrides"; import i18next from "i18next"; @@ -2690,7 +2690,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.gender !== Gender.GENDERLESS && pokemon.gender === (this.gender === Gender.MALE ? Gender.FEMALE : Gender.MALE); } + // check the endpoint canSetStatus(effect: StatusEffect | undefined, quiet: boolean = false, overrideStatus: boolean = false, sourcePokemon: Pokemon | null = null): boolean { + console.log("attempt5"); + if (effect !== StatusEffect.FAINT) { if (overrideStatus ? this.status?.effect === effect : this.status) { return false; @@ -2767,6 +2770,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { trySetStatus(effect: StatusEffect | undefined, asPhase: boolean = false, sourcePokemon: Pokemon | null = null, cureTurn: integer | null = 0, sourceText: string | null = null): boolean { if (!this.canSetStatus(effect, asPhase, false, sourcePokemon)) { + switch (effect) { + case StatusEffect.SLEEP: + if (this.isGrounded() && this.scene.arena.terrain?.terrainType === TerrainType.ELECTRIC) { + this.scene.queueMessage(i18next.t("terrain:defaultBlockMessage", { pokemonNameWithAffix: getPokemonNameWithAffix(this), terrainName: getTerrainName(TerrainType.ELECTRIC) })); + return false; + } + break; + } return false; } From 5c4c366abef01316e9ff93f603b0fd2b7c01c8f9 Mon Sep 17 00:00:00 2001 From: Jesse Chung Date: Sun, 25 Aug 2024 23:48:18 -0700 Subject: [PATCH 2/4] #3722 remove console log --- src/field/pokemon.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 7530fffaa03..f56bfdf38df 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2690,10 +2690,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.gender !== Gender.GENDERLESS && pokemon.gender === (this.gender === Gender.MALE ? Gender.FEMALE : Gender.MALE); } - // check the endpoint canSetStatus(effect: StatusEffect | undefined, quiet: boolean = false, overrideStatus: boolean = false, sourcePokemon: Pokemon | null = null): boolean { - console.log("attempt5"); - if (effect !== StatusEffect.FAINT) { if (overrideStatus ? this.status?.effect === effect : this.status) { return false; From a9251231219a0c5fe05f31835cdb55ac02e39ee2 Mon Sep 17 00:00:00 2001 From: Jesse Chung Date: Mon, 26 Aug 2024 17:17:43 -0700 Subject: [PATCH 3/4] #3722 improving code function --- src/data/move.ts | 2 +- src/field/pokemon.ts | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 24651bacb2e..e2fdaff9579 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1945,7 +1945,7 @@ export class StatusEffectAttr extends MoveEffectAttr { } } if ((!pokemon.status || (pokemon.status.effect === this.effect && moveChance < 0)) - && pokemon.trySetStatus(this.effect, true, user, this.cureTurn)) { + && pokemon.trySetStatus(this.effect, false, user, this.cureTurn)) { applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null, this.effect); return true; } diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index f56bfdf38df..631fe906b1c 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -2737,6 +2737,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { break; case StatusEffect.SLEEP: if (this.isGrounded() && this.scene.arena.terrain?.terrainType === TerrainType.ELECTRIC) { + if (!quiet) { + this.scene.queueMessage(i18next.t("terrain:defaultBlockMessage", { pokemonNameWithAffix: getPokemonNameWithAffix(this), terrainName: getTerrainName(TerrainType.ELECTRIC) })); + } return false; } break; @@ -2767,14 +2770,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { trySetStatus(effect: StatusEffect | undefined, asPhase: boolean = false, sourcePokemon: Pokemon | null = null, cureTurn: integer | null = 0, sourceText: string | null = null): boolean { if (!this.canSetStatus(effect, asPhase, false, sourcePokemon)) { - switch (effect) { - case StatusEffect.SLEEP: - if (this.isGrounded() && this.scene.arena.terrain?.terrainType === TerrainType.ELECTRIC) { - this.scene.queueMessage(i18next.t("terrain:defaultBlockMessage", { pokemonNameWithAffix: getPokemonNameWithAffix(this), terrainName: getTerrainName(TerrainType.ELECTRIC) })); - return false; - } - break; - } return false; } From 250a529cc997e30f7887f80168265942fb53aa6a Mon Sep 17 00:00:00 2001 From: Jesse Chung Date: Mon, 26 Aug 2024 20:04:37 -0700 Subject: [PATCH 4/4] #3722 merge fix something did not come with --- src/data/move.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/move.ts b/src/data/move.ts index f20d19723a8..925307d1060 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1949,7 +1949,7 @@ export class StatusEffectAttr extends MoveEffectAttr { } } if ((!pokemon.status || (pokemon.status.effect === this.effect && moveChance < 0)) - && pokemon.trySetStatus(this.effect, true, user, this.cureTurn)) { + && pokemon.trySetStatus(this.effect, false, user, this.cureTurn)) { applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null, false, this.effect); return true; }