mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-06-30 21:42:20 +02:00
Refactored Baton logic
This commit is contained in:
parent
b271dc724b
commit
faa387a67e
@ -13,12 +13,12 @@ import { SpeciesFormChangeActiveTrigger } from "#app/data/pokemon-forms";
|
|||||||
import { TrainerSlot } from "#enums/trainer-slot";
|
import { TrainerSlot } from "#enums/trainer-slot";
|
||||||
import type Pokemon from "#app/field/pokemon";
|
import type Pokemon from "#app/field/pokemon";
|
||||||
import { getPokemonNameWithAffix } from "#app/messages";
|
import { getPokemonNameWithAffix } from "#app/messages";
|
||||||
import { SwitchEffectTransferModifier } from "#app/modifier/modifier";
|
|
||||||
import { Command } from "#app/ui/command-ui-handler";
|
import { Command } from "#app/ui/command-ui-handler";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import { SummonPhase } from "./summon-phase";
|
import { SummonPhase } from "./summon-phase";
|
||||||
import { SubstituteTag } from "#app/data/battler-tags";
|
import { SubstituteTag } from "#app/data/battler-tags";
|
||||||
import { SwitchType } from "#enums/switch-type";
|
import { SwitchType } from "#enums/switch-type";
|
||||||
|
import { HeldItemId } from "#enums/held-item-id";
|
||||||
|
|
||||||
export class SwitchSummonPhase extends SummonPhase {
|
export class SwitchSummonPhase extends SummonPhase {
|
||||||
public readonly phaseName: "SwitchSummonPhase" | "ReturnPhase" = "SwitchSummonPhase";
|
public readonly phaseName: "SwitchSummonPhase" | "ReturnPhase" = "SwitchSummonPhase";
|
||||||
@ -145,29 +145,11 @@ export class SwitchSummonPhase extends SummonPhase {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// If the recipient pokemon lacks a baton, give our baton to it during the swap
|
// If the recipient pokemon lacks a baton, give our baton to it during the swap
|
||||||
if (
|
if (!switchedInPokemon.heldItemManager.hasItem(HeldItemId.BATON)) {
|
||||||
!globalScene.findModifier(
|
const batonPassModifier = this.lastPokemon.heldItemManager.hasItem(HeldItemId.BATON);
|
||||||
m =>
|
|
||||||
m instanceof SwitchEffectTransferModifier &&
|
|
||||||
(m as SwitchEffectTransferModifier).pokemonId === switchedInPokemon.id,
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
const batonPassModifier = globalScene.findModifier(
|
|
||||||
m =>
|
|
||||||
m instanceof SwitchEffectTransferModifier &&
|
|
||||||
(m as SwitchEffectTransferModifier).pokemonId === this.lastPokemon.id,
|
|
||||||
) as SwitchEffectTransferModifier;
|
|
||||||
|
|
||||||
if (batonPassModifier) {
|
if (batonPassModifier) {
|
||||||
globalScene.tryTransferHeldItemModifier(
|
globalScene.tryTransferHeldItem(HeldItemId.BATON, this.lastPokemon, switchedInPokemon, false);
|
||||||
batonPassModifier,
|
|
||||||
switchedInPokemon,
|
|
||||||
false,
|
|
||||||
undefined,
|
|
||||||
undefined,
|
|
||||||
undefined,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user