mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-27 18:52:19 +02:00
Fix super-niche edgecase with mega gengar and telekinesis
This commit is contained in:
parent
6c4dedb73e
commit
427d528ad5
@ -3234,7 +3234,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
}
|
||||
|
||||
for (const tag of source.summonData.tags) {
|
||||
if (!tag.isBatonPassable) {
|
||||
if (!tag.isBatonPassable || (tag.tagType === BattlerTagType.TELEKINESIS && this.species.speciesId === Species.GENGAR && this.getFormKey() === "mega")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@ import { MoveResult } from "#app/field/pokemon";
|
||||
import GameManager from "#test/utils/gameManager";
|
||||
import Phaser from "phaser";
|
||||
import { afterEach, beforeAll, beforeEach, describe, it, expect, vi } from "vitest";
|
||||
import { BattlerIndex } from "#app/battle";
|
||||
|
||||
describe("Moves - Telekinesis", () => {
|
||||
let phaserGame: Phaser.Game;
|
||||
@ -121,4 +122,17 @@ describe("Moves - Telekinesis", () => {
|
||||
expect(enemyOpponent.getTag(BattlerTagType.FLOATING)).toBeUndefined();
|
||||
expect(playerPokemon.getLastXMoves()[0].result).toBe(MoveResult.SUCCESS);
|
||||
});
|
||||
|
||||
it("should not be baton passed onto a mega gengar", async () => {
|
||||
game.override.moveset([ Moves.BATON_PASS ])
|
||||
.enemyMoveset([ Moves.TELEKINESIS ])
|
||||
.starterForms({ [Species.GENGAR]: 1 });
|
||||
|
||||
await game.classicMode.startBattle([ Species.MAGIKARP, Species.GENGAR ]);
|
||||
game.move.select(Moves.BATON_PASS);
|
||||
game.doSelectPartyPokemon(1);
|
||||
await game.setTurnOrder([ BattlerIndex.ENEMY, BattlerIndex.PLAYER ]);
|
||||
await game.phaseInterceptor.to("BerryPhase");
|
||||
expect(game.scene.getPlayerPokemon()!.getTag(BattlerTagType.TELEKINESIS)).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user