From a144e93ce1491062c703125faa8dd4376ffcc874 Mon Sep 17 00:00:00 2001 From: frutescens Date: Tue, 12 Nov 2024 19:14:44 -0800 Subject: [PATCH] Preventing item transfer with tryTransferModifier instead --- src/battle-scene.ts | 2 ++ src/phases/encounter-phase.ts | 14 +------------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index c30ab2e2912..194876a2e49 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -2585,6 +2585,8 @@ export default class BattleScene extends SceneBase { const source = itemModifier.pokemonId ? itemModifier.getPokemon(target.scene) : null; const cancelled = new Utils.BooleanHolder(false); Utils.executeIf(!!source && source.isPlayer() !== target.isPlayer(), () => applyAbAttrs(BlockItemTheftAbAttr, source! /* checked in condition*/, cancelled)).then(() => { + // Prevents transfer of Mini Black Hole from opponent to player / player to opponent + cancelled.value = itemModifier instanceof TurnHeldItemTransferModifier ? true : false; if (cancelled.value) { return resolve(false); } diff --git a/src/phases/encounter-phase.ts b/src/phases/encounter-phase.ts index 2e6b7e03c11..9e2ab51fcdc 100644 --- a/src/phases/encounter-phase.ts +++ b/src/phases/encounter-phase.ts @@ -12,7 +12,7 @@ import { getRandomWeatherType } from "#app/data/weather"; import { EncounterPhaseEvent } from "#app/events/battle-scene"; import Pokemon, { FieldPosition } from "#app/field/pokemon"; import { getPokemonNameWithAffix } from "#app/messages"; -import { BoostBugSpawnModifier, IvScannerModifier, TurnHeldItemTransferModifier } from "#app/modifier/modifier"; +import { BoostBugSpawnModifier, IvScannerModifier } from "#app/modifier/modifier"; import { ModifierPoolType, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; import Overrides from "#app/overrides"; import { BattlePhase } from "#app/phases/battle-phase"; @@ -216,18 +216,6 @@ export class EncounterPhase extends BattlePhase { if (!this.loaded && battle.battleType !== BattleType.MYSTERY_ENCOUNTER) { regenerateModifierPoolThresholds(this.scene.getEnemyField(), battle.battleType === BattleType.TRAINER ? ModifierPoolType.TRAINER : ModifierPoolType.WILD); this.scene.generateEnemyModifiers(); - // This checks if the current battle is an Endless E-Max battle/Classic final boss and sets the MBH held by the boss to untransferrable - if (this.scene.gameMode.isEndlessMajorBoss(this.scene.currentBattle.waveIndex) || this.scene.gameMode.isBattleClassicFinalBoss(this.scene.currentBattle.waveIndex)) { - const enemyPokemon = this.scene.getEnemyPokemon(); - if (enemyPokemon) { - const bossMBH = this.scene.findModifier(m => m instanceof TurnHeldItemTransferModifier && m.pokemonId === enemyPokemon.id, false) as TurnHeldItemTransferModifier; - if (bossMBH) { - this.scene.removeModifier(bossMBH); - bossMBH.setTransferrableFalse(); - this.scene.addEnemyModifier(bossMBH); - } - } - } } this.scene.ui.setMode(Mode.MESSAGE).then(() => {