[Move] Implement Ion Deluge (#4579)
This commit is contained in:
parent
1947472f1c
commit
c99df9712a
|
@ -513,15 +513,16 @@ class WaterSportTag extends WeakenMoveTypeTag {
|
|||
}
|
||||
|
||||
/**
|
||||
* Arena Tag class for the secondary effect of {@link https://bulbapedia.bulbagarden.net/wiki/Plasma_Fists_(move) | Plasma Fists}.
|
||||
* Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Ion_Deluge_(move) | Ion Deluge}
|
||||
* and the secondary effect of {@link https://bulbapedia.bulbagarden.net/wiki/Plasma_Fists_(move) | Plasma Fists}.
|
||||
* Converts Normal-type moves to Electric type for the rest of the turn.
|
||||
*/
|
||||
export class PlasmaFistsTag extends ArenaTag {
|
||||
constructor() {
|
||||
super(ArenaTagType.PLASMA_FISTS, 1, Moves.PLASMA_FISTS);
|
||||
export class IonDelugeTag extends ArenaTag {
|
||||
constructor(sourceMove?: Moves) {
|
||||
super(ArenaTagType.ION_DELUGE, 1, sourceMove);
|
||||
}
|
||||
|
||||
/** Queues Plasma Fists' on-add message */
|
||||
/** Queues an on-add message */
|
||||
onAdd(arena: Arena): void {
|
||||
arena.scene.queueMessage(i18next.t("arenaTag:plasmaFistsOnAdd"));
|
||||
}
|
||||
|
@ -1119,8 +1120,8 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMov
|
|||
return new MudSportTag(turnCount, sourceId);
|
||||
case ArenaTagType.WATER_SPORT:
|
||||
return new WaterSportTag(turnCount, sourceId);
|
||||
case ArenaTagType.PLASMA_FISTS:
|
||||
return new PlasmaFistsTag();
|
||||
case ArenaTagType.ION_DELUGE:
|
||||
return new IonDelugeTag(sourceMove);
|
||||
case ArenaTagType.SPIKES:
|
||||
return new SpikesTag(sourceId, side);
|
||||
case ArenaTagType.TOXIC_SPIKES:
|
||||
|
|
|
@ -8688,8 +8688,8 @@ export function initMoves() {
|
|||
.attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], -1)
|
||||
.soundBased(),
|
||||
new StatusMove(Moves.ION_DELUGE, Type.ELECTRIC, -1, 25, -1, 1, 6)
|
||||
.target(MoveTarget.BOTH_SIDES)
|
||||
.unimplemented(),
|
||||
.attr(AddArenaTagAttr, ArenaTagType.ION_DELUGE)
|
||||
.target(MoveTarget.BOTH_SIDES),
|
||||
new AttackMove(Moves.PARABOLIC_CHARGE, Type.ELECTRIC, MoveCategory.SPECIAL, 65, 100, 20, -1, 0, 6)
|
||||
.attr(HitHealAttr)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS)
|
||||
|
@ -9158,7 +9158,7 @@ export function initMoves() {
|
|||
.attr(HalfSacrificialAttr)
|
||||
.target(MoveTarget.ALL_NEAR_OTHERS),
|
||||
new AttackMove(Moves.PLASMA_FISTS, Type.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 15, -1, 0, 7)
|
||||
.attr(AddArenaTagAttr, ArenaTagType.PLASMA_FISTS, 1)
|
||||
.attr(AddArenaTagAttr, ArenaTagType.ION_DELUGE, 1)
|
||||
.punchingMove(),
|
||||
new AttackMove(Moves.PHOTON_GEYSER, Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 7)
|
||||
.attr(PhotonGeyserCategoryAttr)
|
||||
|
|
|
@ -24,7 +24,7 @@ export enum ArenaTagType {
|
|||
SAFEGUARD = "SAFEGUARD",
|
||||
NO_CRIT = "NO_CRIT",
|
||||
IMPRISON = "IMPRISON",
|
||||
PLASMA_FISTS = "PLASMA_FISTS",
|
||||
ION_DELUGE = "ION_DELUGE",
|
||||
FIRE_GRASS_PLEDGE = "FIRE_GRASS_PLEDGE",
|
||||
WATER_FIRE_PLEDGE = "WATER_FIRE_PLEDGE",
|
||||
GRASS_WATER_PLEDGE = "GRASS_WATER_PLEDGE",
|
||||
|
|
|
@ -1527,7 +1527,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
applyMoveAttrs(VariableMoveTypeAttr, this, null, move, moveTypeHolder);
|
||||
applyPreAttackAbAttrs(MoveTypeChangeAbAttr, this, null, move, simulated, moveTypeHolder);
|
||||
|
||||
this.scene.arena.applyTags(ArenaTagType.PLASMA_FISTS, moveTypeHolder);
|
||||
this.scene.arena.applyTags(ArenaTagType.ION_DELUGE, moveTypeHolder);
|
||||
if (this.getTag(BattlerTagType.ELECTRIFIED)) {
|
||||
moveTypeHolder.value = Type.ELECTRIC;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue