mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-09-04 13:49:32 +02:00
Compare commits
8 Commits
7d73aec8a1
...
cb24d21070
Author | SHA1 | Date | |
---|---|---|---|
|
cb24d21070 | ||
|
79576ad117 | ||
|
f0a56a3049 | ||
|
7316628448 | ||
|
ca7947c770 | ||
|
6a284b7ab3 | ||
|
c2db0ed397 | ||
|
5f29e4acf2 |
10
.github/CODEOWNERS
vendored
10
.github/CODEOWNERS
vendored
@ -3,9 +3,6 @@
|
|||||||
# everything (whole code-base) - Junior Devs
|
# everything (whole code-base) - Junior Devs
|
||||||
* @pagefaultgames/junior-dev-team
|
* @pagefaultgames/junior-dev-team
|
||||||
|
|
||||||
# github actions/templates etc. - Dev Leads
|
|
||||||
/.github @pagefaultgames/senior-dev-team
|
|
||||||
|
|
||||||
# Art Team
|
# Art Team
|
||||||
/public/**/*.png @pagefaultgames/art-team
|
/public/**/*.png @pagefaultgames/art-team
|
||||||
/public/**/*.json @pagefaultgames/art-team
|
/public/**/*.json @pagefaultgames/art-team
|
||||||
@ -20,3 +17,10 @@
|
|||||||
|
|
||||||
# Balance Files; contain actual code logic and must also be owned by dev team
|
# Balance Files; contain actual code logic and must also be owned by dev team
|
||||||
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||||
|
/src/data/trainers @pagefaultgames/balance-team @pagefaultgames/junior-dev-team
|
||||||
|
|
||||||
|
# GitHub actions/templates etc. - Senior Devs
|
||||||
|
# Should be defined last in the file to make sure these always override all other definitions
|
||||||
|
/.github @pagefaultgames/senior-dev-team
|
||||||
|
package.json @pagefaultgames/senior-dev-team
|
||||||
|
pnpm-lock.yaml @pagefaultgames/senior-dev-team
|
41
public/images/trainer/rocket_boss_giovanni_1.json
Normal file
41
public/images/trainer/rocket_boss_giovanni_1.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"textures": [
|
||||||
|
{
|
||||||
|
"image": "rocket_boss_giovanni_1.png",
|
||||||
|
"format": "RGBA8888",
|
||||||
|
"size": {
|
||||||
|
"w": 79,
|
||||||
|
"h": 79
|
||||||
|
},
|
||||||
|
"scale": 1,
|
||||||
|
"frames": [
|
||||||
|
{
|
||||||
|
"filename": "0001.png",
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"sourceSize": {
|
||||||
|
"w": 39,
|
||||||
|
"h": 79
|
||||||
|
},
|
||||||
|
"spriteSourceSize": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 39,
|
||||||
|
"h": 79
|
||||||
|
},
|
||||||
|
"frame": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"w": 39,
|
||||||
|
"h": 79
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
|
"version": "3.0",
|
||||||
|
"smartupdate": "$TexturePacker:SmartUpdate:d6c5e1804414106d43a7c46f83468d39:1f3f7898a58950988acac6ee7167e012:5f742cbdaafcd5ae864f18ec2af7512a$"
|
||||||
|
}
|
||||||
|
}
|
BIN
public/images/trainer/rocket_boss_giovanni_1.png
Normal file
BIN
public/images/trainer/rocket_boss_giovanni_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 698 B |
@ -1,13 +1,24 @@
|
|||||||
|
import type { Pokemon } from "#field/pokemon";
|
||||||
import type {
|
import type {
|
||||||
AttackMove,
|
AttackMove,
|
||||||
ChargingAttackMove,
|
ChargingAttackMove,
|
||||||
ChargingSelfStatusMove,
|
ChargingSelfStatusMove,
|
||||||
|
Move,
|
||||||
MoveAttr,
|
MoveAttr,
|
||||||
MoveAttrConstructorMap,
|
MoveAttrConstructorMap,
|
||||||
SelfStatusMove,
|
SelfStatusMove,
|
||||||
StatusMove,
|
StatusMove,
|
||||||
} from "#moves/move";
|
} from "#moves/move";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A generic function producing a message during a Move's execution.
|
||||||
|
* @param user - The {@linkcode Pokemon} using the move
|
||||||
|
* @param target - The {@linkcode Pokemon} targeted by the move
|
||||||
|
* @param move - The {@linkcode Move} being used
|
||||||
|
* @returns a string
|
||||||
|
*/
|
||||||
|
export type MoveMessageFunc = (user: Pokemon, target: Pokemon, move: Move) => string;
|
||||||
|
|
||||||
export type MoveAttrFilter = (attr: MoveAttr) => boolean;
|
export type MoveAttrFilter = (attr: MoveAttr) => boolean;
|
||||||
|
|
||||||
export type * from "#moves/move";
|
export type * from "#moves/move";
|
||||||
|
@ -1670,6 +1670,7 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr {
|
|||||||
constructor(
|
constructor(
|
||||||
private newType: PokemonType,
|
private newType: PokemonType,
|
||||||
private powerMultiplier: number,
|
private powerMultiplier: number,
|
||||||
|
// TODO: all moves with this attr solely check the move being used...
|
||||||
private condition?: PokemonAttackCondition,
|
private condition?: PokemonAttackCondition,
|
||||||
) {
|
) {
|
||||||
super(false);
|
super(false);
|
||||||
|
@ -86,7 +86,7 @@ import { PokemonHealPhase } from "#phases/pokemon-heal-phase";
|
|||||||
import { SwitchSummonPhase } from "#phases/switch-summon-phase";
|
import { SwitchSummonPhase } from "#phases/switch-summon-phase";
|
||||||
import type { AttackMoveResult } from "#types/attack-move-result";
|
import type { AttackMoveResult } from "#types/attack-move-result";
|
||||||
import type { Localizable } from "#types/locales";
|
import type { Localizable } from "#types/locales";
|
||||||
import type { ChargingMove, MoveAttrMap, MoveAttrString, MoveClassMap, MoveKindString } from "#types/move-types";
|
import type { ChargingMove, MoveAttrMap, MoveAttrString, MoveClassMap, MoveKindString, MoveMessageFunc } from "#types/move-types";
|
||||||
import type { TurnMove } from "#types/turn-move";
|
import type { TurnMove } from "#types/turn-move";
|
||||||
import { BooleanHolder, type Constructor, isNullOrUndefined, NumberHolder, randSeedFloat, randSeedInt, randSeedItem, toDmgValue } from "#utils/common";
|
import { BooleanHolder, type Constructor, isNullOrUndefined, NumberHolder, randSeedFloat, randSeedInt, randSeedItem, toDmgValue } from "#utils/common";
|
||||||
import { getEnumValues } from "#utils/enums";
|
import { getEnumValues } from "#utils/enums";
|
||||||
@ -1357,20 +1357,20 @@ export class MoveHeaderAttr extends MoveAttr {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Header attribute to queue a message at the beginning of a turn.
|
* Header attribute to queue a message at the beginning of a turn.
|
||||||
* @see {@link MoveHeaderAttr}
|
|
||||||
*/
|
*/
|
||||||
export class MessageHeaderAttr extends MoveHeaderAttr {
|
export class MessageHeaderAttr extends MoveHeaderAttr {
|
||||||
private message: string | ((user: Pokemon, move: Move) => string);
|
/** The message to display, or a function producing one. */
|
||||||
|
private message: string | MoveMessageFunc;
|
||||||
|
|
||||||
constructor(message: string | ((user: Pokemon, move: Move) => string)) {
|
constructor(message: string | MoveMessageFunc) {
|
||||||
super();
|
super();
|
||||||
this.message = message;
|
this.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
apply(user: Pokemon, target: Pokemon, move: Move): boolean {
|
||||||
const message = typeof this.message === "string"
|
const message = typeof this.message === "string"
|
||||||
? this.message
|
? this.message
|
||||||
: this.message(user, move);
|
: this.message(user, target, move);
|
||||||
|
|
||||||
if (message) {
|
if (message) {
|
||||||
globalScene.phaseManager.queueMessage(message);
|
globalScene.phaseManager.queueMessage(message);
|
||||||
@ -1418,21 +1418,21 @@ export class BeakBlastHeaderAttr extends AddBattlerTagHeaderAttr {
|
|||||||
*/
|
*/
|
||||||
export class PreMoveMessageAttr extends MoveAttr {
|
export class PreMoveMessageAttr extends MoveAttr {
|
||||||
/** The message to display or a function returning one */
|
/** The message to display or a function returning one */
|
||||||
private message: string | ((user: Pokemon, target: Pokemon, move: Move) => string | undefined);
|
private message: string | MoveMessageFunc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new {@linkcode PreMoveMessageAttr} to display a message before move execution.
|
* Create a new {@linkcode PreMoveMessageAttr} to display a message before move execution.
|
||||||
* @param message - The message to display before move use, either as a string or a function producing one.
|
* @param message - The message to display before move use, either` a literal string or a function producing one.
|
||||||
* @remarks
|
* @remarks
|
||||||
* If {@linkcode message} evaluates to an empty string (`''`), no message will be displayed
|
* If {@linkcode message} evaluates to an empty string (`""`), no message will be displayed
|
||||||
* (though the move will still succeed).
|
* (though the move will still succeed).
|
||||||
*/
|
*/
|
||||||
constructor(message: string | ((user: Pokemon, target: Pokemon, move: Move) => string)) {
|
constructor(message: string | MoveMessageFunc) {
|
||||||
super();
|
super();
|
||||||
this.message = message;
|
this.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, _args: any[]): boolean {
|
apply(user: Pokemon, target: Pokemon, move: Move): boolean {
|
||||||
const message = typeof this.message === "function"
|
const message = typeof this.message === "function"
|
||||||
? this.message(user, target, move)
|
? this.message(user, target, move)
|
||||||
: this.message;
|
: this.message;
|
||||||
@ -1453,18 +1453,17 @@ export class PreMoveMessageAttr extends MoveAttr {
|
|||||||
* @extends MoveAttr
|
* @extends MoveAttr
|
||||||
*/
|
*/
|
||||||
export class PreUseInterruptAttr extends MoveAttr {
|
export class PreUseInterruptAttr extends MoveAttr {
|
||||||
protected message?: string | ((user: Pokemon, target: Pokemon, move: Move) => string);
|
protected message: string | MoveMessageFunc;
|
||||||
protected overridesFailedMessage: boolean;
|
|
||||||
protected conditionFunc: MoveConditionFunc;
|
protected conditionFunc: MoveConditionFunc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new MoveInterruptedMessageAttr.
|
* Create a new MoveInterruptedMessageAttr.
|
||||||
* @param message The message to display when the move is interrupted, or a function that formats the message based on the user, target, and move.
|
* @param message The message to display when the move is interrupted, or a function that formats the message based on the user, target, and move.
|
||||||
*/
|
*/
|
||||||
constructor(message?: string | ((user: Pokemon, target: Pokemon, move: Move) => string), conditionFunc?: MoveConditionFunc) {
|
constructor(message: string | MoveMessageFunc, conditionFunc: MoveConditionFunc) {
|
||||||
super();
|
super();
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.conditionFunc = conditionFunc ?? (() => true);
|
this.conditionFunc = conditionFunc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1485,11 +1484,9 @@ export class PreUseInterruptAttr extends MoveAttr {
|
|||||||
*/
|
*/
|
||||||
override getFailedText(user: Pokemon, target: Pokemon, move: Move): string | undefined {
|
override getFailedText(user: Pokemon, target: Pokemon, move: Move): string | undefined {
|
||||||
if (this.message && this.conditionFunc(user, target, move)) {
|
if (this.message && this.conditionFunc(user, target, move)) {
|
||||||
const message =
|
return typeof this.message === "string"
|
||||||
typeof this.message === "string"
|
? this.message
|
||||||
? (this.message as string)
|
|
||||||
: this.message(user, target, move);
|
: this.message(user, target, move);
|
||||||
return message;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1694,19 +1691,33 @@ export class SurviveDamageAttr extends ModifiedDamageAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class SplashAttr extends MoveEffectAttr {
|
/**
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
* Move attribute to display arbitrary text during a move's execution.
|
||||||
globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:splash"));
|
*/
|
||||||
|
export class MessageAttr extends MoveEffectAttr {
|
||||||
|
/** The message to display, either as a string or a function returning one. */
|
||||||
|
private message: string | MoveMessageFunc;
|
||||||
|
|
||||||
|
constructor(message: string | MoveMessageFunc, options?: MoveEffectAttrOptions) {
|
||||||
|
// TODO: Do we need to respect `selfTarget` if we're just displaying text?
|
||||||
|
super(false, options)
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
override apply(user: Pokemon, target: Pokemon, move: Move): boolean {
|
||||||
|
const message = typeof this.message === "function"
|
||||||
|
? this.message(user, target, move)
|
||||||
|
: this.message;
|
||||||
|
|
||||||
|
// TODO: Consider changing if/when MoveAttr `apply` return values become significant
|
||||||
|
if (message) {
|
||||||
|
globalScene.phaseManager.queueMessage(message, 500);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class CelebrateAttr extends MoveEffectAttr {
|
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
|
||||||
globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:celebrate", { playerName: loggedInUser?.username }));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class RecoilAttr extends MoveEffectAttr {
|
export class RecoilAttr extends MoveEffectAttr {
|
||||||
private useHp: boolean;
|
private useHp: boolean;
|
||||||
@ -5931,38 +5942,6 @@ export class ProtectAttr extends AddBattlerTagAttr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class IgnoreAccuracyAttr extends AddBattlerTagAttr {
|
|
||||||
constructor() {
|
|
||||||
super(BattlerTagType.IGNORE_ACCURACY, true, false, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
|
||||||
if (!super.apply(user, target, move, args)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:tookAimAtTarget", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target) }));
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class FaintCountdownAttr extends AddBattlerTagAttr {
|
|
||||||
constructor() {
|
|
||||||
super(BattlerTagType.PERISH_SONG, false, true, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
|
||||||
if (!super.apply(user, target, move, args)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
globalScene.phaseManager.queueMessage(i18next.t("moveTriggers:faintCountdown", { pokemonName: getPokemonNameWithAffix(target), turnCount: this.turnCountMin - 1 }));
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attribute to remove all Substitutes from the field.
|
* Attribute to remove all Substitutes from the field.
|
||||||
* @extends MoveEffectAttr
|
* @extends MoveEffectAttr
|
||||||
@ -6603,8 +6582,10 @@ export class ChillyReceptionAttr extends ForceSwitchOutAttr {
|
|||||||
return (user, target, move) => globalScene.arena.weather?.weatherType !== WeatherType.SNOW || super.getSwitchOutCondition()(user, target, move);
|
return (user, target, move) => globalScene.arena.weather?.weatherType !== WeatherType.SNOW || super.getSwitchOutCondition()(user, target, move);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class RemoveTypeAttr extends MoveEffectAttr {
|
export class RemoveTypeAttr extends MoveEffectAttr {
|
||||||
|
|
||||||
|
// TODO: Remove the message callback
|
||||||
private removedType: PokemonType;
|
private removedType: PokemonType;
|
||||||
private messageCallback: ((user: Pokemon) => void) | undefined;
|
private messageCallback: ((user: Pokemon) => void) | undefined;
|
||||||
|
|
||||||
@ -8299,8 +8280,6 @@ const MoveAttrs = Object.freeze({
|
|||||||
RandomLevelDamageAttr,
|
RandomLevelDamageAttr,
|
||||||
ModifiedDamageAttr,
|
ModifiedDamageAttr,
|
||||||
SurviveDamageAttr,
|
SurviveDamageAttr,
|
||||||
SplashAttr,
|
|
||||||
CelebrateAttr,
|
|
||||||
RecoilAttr,
|
RecoilAttr,
|
||||||
SacrificialAttr,
|
SacrificialAttr,
|
||||||
SacrificialAttrOnHit,
|
SacrificialAttrOnHit,
|
||||||
@ -8443,8 +8422,7 @@ const MoveAttrs = Object.freeze({
|
|||||||
RechargeAttr,
|
RechargeAttr,
|
||||||
TrapAttr,
|
TrapAttr,
|
||||||
ProtectAttr,
|
ProtectAttr,
|
||||||
IgnoreAccuracyAttr,
|
MessageAttr,
|
||||||
FaintCountdownAttr,
|
|
||||||
RemoveAllSubstitutesAttr,
|
RemoveAllSubstitutesAttr,
|
||||||
HitsTagAttr,
|
HitsTagAttr,
|
||||||
HitsTagForDoubleDamageAttr,
|
HitsTagForDoubleDamageAttr,
|
||||||
@ -8938,7 +8916,7 @@ export function initMoves() {
|
|||||||
new AttackMove(MoveId.PSYWAVE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1)
|
new AttackMove(MoveId.PSYWAVE, PokemonType.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, -1, 0, 1)
|
||||||
.attr(RandomLevelDamageAttr),
|
.attr(RandomLevelDamageAttr),
|
||||||
new SelfStatusMove(MoveId.SPLASH, PokemonType.NORMAL, -1, 40, -1, 0, 1)
|
new SelfStatusMove(MoveId.SPLASH, PokemonType.NORMAL, -1, 40, -1, 0, 1)
|
||||||
.attr(SplashAttr)
|
.attr(MessageAttr, i18next.t("moveTriggers:splash"))
|
||||||
.condition(failOnGravityCondition),
|
.condition(failOnGravityCondition),
|
||||||
new SelfStatusMove(MoveId.ACID_ARMOR, PokemonType.POISON, -1, 20, -1, 0, 1)
|
new SelfStatusMove(MoveId.ACID_ARMOR, PokemonType.POISON, -1, 20, -1, 0, 1)
|
||||||
.attr(StatStageChangeAttr, [ Stat.DEF ], 2, true),
|
.attr(StatStageChangeAttr, [ Stat.DEF ], 2, true),
|
||||||
@ -9000,7 +8978,10 @@ export function initMoves() {
|
|||||||
.attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1)
|
.attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, true, 1)
|
||||||
.reflectable(),
|
.reflectable(),
|
||||||
new StatusMove(MoveId.MIND_READER, PokemonType.NORMAL, -1, 5, -1, 0, 2)
|
new StatusMove(MoveId.MIND_READER, PokemonType.NORMAL, -1, 5, -1, 0, 2)
|
||||||
.attr(IgnoreAccuracyAttr),
|
.attr(AddBattlerTagAttr, BattlerTagType.IGNORE_ACCURACY, true, false, 2)
|
||||||
|
.attr(MessageAttr, (user, target) =>
|
||||||
|
i18next.t("moveTriggers:tookAimAtTarget", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target) })
|
||||||
|
),
|
||||||
new StatusMove(MoveId.NIGHTMARE, PokemonType.GHOST, 100, 15, -1, 0, 2)
|
new StatusMove(MoveId.NIGHTMARE, PokemonType.GHOST, 100, 15, -1, 0, 2)
|
||||||
.attr(AddBattlerTagAttr, BattlerTagType.NIGHTMARE)
|
.attr(AddBattlerTagAttr, BattlerTagType.NIGHTMARE)
|
||||||
.condition(targetSleptOrComatoseCondition),
|
.condition(targetSleptOrComatoseCondition),
|
||||||
@ -9088,7 +9069,9 @@ export function initMoves() {
|
|||||||
return lastTurnMove.length === 0 || lastTurnMove[0].move !== move.id || lastTurnMove[0].result !== MoveResult.SUCCESS;
|
return lastTurnMove.length === 0 || lastTurnMove[0].move !== move.id || lastTurnMove[0].result !== MoveResult.SUCCESS;
|
||||||
}),
|
}),
|
||||||
new StatusMove(MoveId.PERISH_SONG, PokemonType.NORMAL, -1, 5, -1, 0, 2)
|
new StatusMove(MoveId.PERISH_SONG, PokemonType.NORMAL, -1, 5, -1, 0, 2)
|
||||||
.attr(FaintCountdownAttr)
|
.attr(AddBattlerTagAttr, BattlerTagType.PERISH_SONG, false, true, 4)
|
||||||
|
.attr(MessageAttr, (_user, target) =>
|
||||||
|
i18next.t("moveTriggers:faintCountdown", { pokemonName: getPokemonNameWithAffix(target), turnCount: 3 }))
|
||||||
.ignoresProtect()
|
.ignoresProtect()
|
||||||
.soundBased()
|
.soundBased()
|
||||||
.condition(failOnBossCondition)
|
.condition(failOnBossCondition)
|
||||||
@ -9104,7 +9087,10 @@ export function initMoves() {
|
|||||||
.attr(MultiHitAttr)
|
.attr(MultiHitAttr)
|
||||||
.makesContact(false),
|
.makesContact(false),
|
||||||
new StatusMove(MoveId.LOCK_ON, PokemonType.NORMAL, -1, 5, -1, 0, 2)
|
new StatusMove(MoveId.LOCK_ON, PokemonType.NORMAL, -1, 5, -1, 0, 2)
|
||||||
.attr(IgnoreAccuracyAttr),
|
.attr(AddBattlerTagAttr, BattlerTagType.IGNORE_ACCURACY, true, false, 2)
|
||||||
|
.attr(MessageAttr, (user, target) =>
|
||||||
|
i18next.t("moveTriggers:tookAimAtTarget", { pokemonName: getPokemonNameWithAffix(user), targetName: getPokemonNameWithAffix(target) })
|
||||||
|
),
|
||||||
new AttackMove(MoveId.OUTRAGE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 2)
|
new AttackMove(MoveId.OUTRAGE, PokemonType.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 2)
|
||||||
.attr(FrenzyAttr)
|
.attr(FrenzyAttr)
|
||||||
.attr(MissEffectAttr, frenzyMissFunc)
|
.attr(MissEffectAttr, frenzyMissFunc)
|
||||||
@ -9331,8 +9317,8 @@ export function initMoves() {
|
|||||||
&& (user.status.effect === StatusEffect.BURN || user.status.effect === StatusEffect.POISON || user.status.effect === StatusEffect.TOXIC || user.status.effect === StatusEffect.PARALYSIS) ? 2 : 1)
|
&& (user.status.effect === StatusEffect.BURN || user.status.effect === StatusEffect.POISON || user.status.effect === StatusEffect.TOXIC || user.status.effect === StatusEffect.PARALYSIS) ? 2 : 1)
|
||||||
.attr(BypassBurnDamageReductionAttr),
|
.attr(BypassBurnDamageReductionAttr),
|
||||||
new AttackMove(MoveId.FOCUS_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, -1, -3, 3)
|
new AttackMove(MoveId.FOCUS_PUNCH, PokemonType.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, -1, -3, 3)
|
||||||
.attr(MessageHeaderAttr, (user, move) => i18next.t("moveTriggers:isTighteningFocus", { pokemonName: getPokemonNameWithAffix(user) }))
|
.attr(MessageHeaderAttr, (user) => i18next.t("moveTriggers:isTighteningFocus", { pokemonName: getPokemonNameWithAffix(user) }))
|
||||||
.attr(PreUseInterruptAttr, (user, target, move) => i18next.t("moveTriggers:lostFocus", { pokemonName: getPokemonNameWithAffix(user) }), user => !!user.turnData.attacksReceived.find(r => r.damage))
|
.attr(PreUseInterruptAttr, (user) => i18next.t("moveTriggers:lostFocus", { pokemonName: getPokemonNameWithAffix(user) }), user => user.turnData.attacksReceived.some(r => r.damage > 0))
|
||||||
.punchingMove(),
|
.punchingMove(),
|
||||||
new AttackMove(MoveId.SMELLING_SALTS, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 3)
|
new AttackMove(MoveId.SMELLING_SALTS, PokemonType.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 3)
|
||||||
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.PARALYSIS ? 2 : 1)
|
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.PARALYSIS ? 2 : 1)
|
||||||
@ -10433,7 +10419,8 @@ export function initMoves() {
|
|||||||
new AttackMove(MoveId.DAZZLING_GLEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6)
|
new AttackMove(MoveId.DAZZLING_GLEAM, PokemonType.FAIRY, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6)
|
||||||
.target(MoveTarget.ALL_NEAR_ENEMIES),
|
.target(MoveTarget.ALL_NEAR_ENEMIES),
|
||||||
new SelfStatusMove(MoveId.CELEBRATE, PokemonType.NORMAL, -1, 40, -1, 0, 6)
|
new SelfStatusMove(MoveId.CELEBRATE, PokemonType.NORMAL, -1, 40, -1, 0, 6)
|
||||||
.attr(CelebrateAttr),
|
// NB: This needs a lambda function as the user will not be logged in by the time the moves are initialized
|
||||||
|
.attr(MessageAttr, () => i18next.t("moveTriggers:celebrate", { playerName: loggedInUser?.username })),
|
||||||
new StatusMove(MoveId.HOLD_HANDS, PokemonType.NORMAL, -1, 40, -1, 0, 6)
|
new StatusMove(MoveId.HOLD_HANDS, PokemonType.NORMAL, -1, 40, -1, 0, 6)
|
||||||
.ignoresSubstitute()
|
.ignoresSubstitute()
|
||||||
.target(MoveTarget.NEAR_ALLY),
|
.target(MoveTarget.NEAR_ALLY),
|
||||||
@ -10608,7 +10595,12 @@ export function initMoves() {
|
|||||||
.attr(StatStageChangeAttr, [ Stat.SPD ], -1)
|
.attr(StatStageChangeAttr, [ Stat.SPD ], -1)
|
||||||
.reflectable(),
|
.reflectable(),
|
||||||
new SelfStatusMove(MoveId.LASER_FOCUS, PokemonType.NORMAL, -1, 30, -1, 0, 7)
|
new SelfStatusMove(MoveId.LASER_FOCUS, PokemonType.NORMAL, -1, 30, -1, 0, 7)
|
||||||
.attr(AddBattlerTagAttr, BattlerTagType.ALWAYS_CRIT, true, false),
|
.attr(AddBattlerTagAttr, BattlerTagType.ALWAYS_CRIT, true, false)
|
||||||
|
.attr(MessageAttr, (user) =>
|
||||||
|
i18next.t("battlerTags:laserFocusOnAdd", {
|
||||||
|
pokemonNameWithAffix: getPokemonNameWithAffix(user),
|
||||||
|
}),
|
||||||
|
),
|
||||||
new StatusMove(MoveId.GEAR_UP, PokemonType.STEEL, -1, 20, -1, 0, 7)
|
new StatusMove(MoveId.GEAR_UP, PokemonType.STEEL, -1, 20, -1, 0, 7)
|
||||||
.attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, false, { condition: (user, target, move) => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => target.hasAbility(a, false)) })
|
.attr(StatStageChangeAttr, [ Stat.ATK, Stat.SPATK ], 1, false, { condition: (user, target, move) => !![ AbilityId.PLUS, AbilityId.MINUS ].find(a => target.hasAbility(a, false)) })
|
||||||
.ignoresSubstitute()
|
.ignoresSubstitute()
|
||||||
|
@ -223,9 +223,8 @@ export class TrainerConfig {
|
|||||||
case TrainerType.LARRY_ELITE:
|
case TrainerType.LARRY_ELITE:
|
||||||
trainerType = TrainerType.LARRY;
|
trainerType = TrainerType.LARRY;
|
||||||
break;
|
break;
|
||||||
case TrainerType.ROCKET_BOSS_GIOVANNI_1:
|
|
||||||
case TrainerType.ROCKET_BOSS_GIOVANNI_2:
|
case TrainerType.ROCKET_BOSS_GIOVANNI_2:
|
||||||
trainerType = TrainerType.GIOVANNI;
|
trainerType = TrainerType.ROCKET_BOSS_GIOVANNI_1;
|
||||||
break;
|
break;
|
||||||
case TrainerType.MAXIE_2:
|
case TrainerType.MAXIE_2:
|
||||||
trainerType = TrainerType.MAXIE;
|
trainerType = TrainerType.MAXIE;
|
||||||
@ -895,7 +894,7 @@ export class TrainerConfig {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper function to check if a specialty type is set
|
* Helper function to check if a specialty type is set
|
||||||
* @returns true if specialtyType is defined and not Type.UNKNOWN
|
* @returns `true` if `specialtyType` is defined and not {@link PokemonType.UNKNOWN}
|
||||||
*/
|
*/
|
||||||
hasSpecialtyType(): boolean {
|
hasSpecialtyType(): boolean {
|
||||||
return !isNullOrUndefined(this.specialtyType) && this.specialtyType !== PokemonType.UNKNOWN;
|
return !isNullOrUndefined(this.specialtyType) && this.specialtyType !== PokemonType.UNKNOWN;
|
||||||
|
@ -1,624 +1,624 @@
|
|||||||
export enum AbilityId {
|
export enum AbilityId {
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/None_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/None_(ability) | Source} */
|
||||||
NONE,
|
NONE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stench_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stench_(ability) | Source} */
|
||||||
STENCH,
|
STENCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Drizzle_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Drizzle_(ability) | Source} */
|
||||||
DRIZZLE,
|
DRIZZLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Speed_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Speed_Boost_(ability) | Source} */
|
||||||
SPEED_BOOST,
|
SPEED_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Battle_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Battle_Armor_(ability) | Source} */
|
||||||
BATTLE_ARMOR,
|
BATTLE_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sturdy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sturdy_(ability) | Source} */
|
||||||
STURDY,
|
STURDY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Damp_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Damp_(ability) | Source} */
|
||||||
DAMP,
|
DAMP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Limber_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Limber_(ability) | Source} */
|
||||||
LIMBER,
|
LIMBER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Veil_(ability) | Source} */
|
||||||
SAND_VEIL,
|
SAND_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Static_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Static_(ability) | Source} */
|
||||||
STATIC,
|
STATIC,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Volt_Absorb_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Volt_Absorb_(ability) | Source} */
|
||||||
VOLT_ABSORB,
|
VOLT_ABSORB,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Absorb_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Absorb_(ability) | Source} */
|
||||||
WATER_ABSORB,
|
WATER_ABSORB,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Oblivious_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Oblivious_(ability) | Source} */
|
||||||
OBLIVIOUS,
|
OBLIVIOUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cloud_Nine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cloud_Nine_(ability) | Source} */
|
||||||
CLOUD_NINE,
|
CLOUD_NINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Compound_Eyes_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Compound_Eyes_(ability) | Source} */
|
||||||
COMPOUND_EYES,
|
COMPOUND_EYES,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Insomnia_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Insomnia_(ability) | Source} */
|
||||||
INSOMNIA,
|
INSOMNIA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Color_Change_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Color_Change_(ability) | Source} */
|
||||||
COLOR_CHANGE,
|
COLOR_CHANGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Immunity_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Immunity_(ability) | Source} */
|
||||||
IMMUNITY,
|
IMMUNITY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flash_Fire_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flash_Fire_(ability) | Source} */
|
||||||
FLASH_FIRE,
|
FLASH_FIRE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shield_Dust_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shield_Dust_(ability) | Source} */
|
||||||
SHIELD_DUST,
|
SHIELD_DUST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Own_Tempo_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Own_Tempo_(ability) | Source} */
|
||||||
OWN_TEMPO,
|
OWN_TEMPO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Suction_Cups_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Suction_Cups_(ability) | Source} */
|
||||||
SUCTION_CUPS,
|
SUCTION_CUPS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Intimidate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Intimidate_(ability) | Source} */
|
||||||
INTIMIDATE,
|
INTIMIDATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Tag_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Tag_(ability) | Source} */
|
||||||
SHADOW_TAG,
|
SHADOW_TAG,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rough_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rough_Skin_(ability) | Source} */
|
||||||
ROUGH_SKIN,
|
ROUGH_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Guard_(ability) | Source} */
|
||||||
WONDER_GUARD,
|
WONDER_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Levitate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Levitate_(ability) | Source} */
|
||||||
LEVITATE,
|
LEVITATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Effect_Spore_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Effect_Spore_(ability) | Source} */
|
||||||
EFFECT_SPORE,
|
EFFECT_SPORE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Synchronize_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Synchronize_(ability) | Source} */
|
||||||
SYNCHRONIZE,
|
SYNCHRONIZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Clear_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Clear_Body_(ability) | Source} */
|
||||||
CLEAR_BODY,
|
CLEAR_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Natural_Cure_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Natural_Cure_(ability) | Source} */
|
||||||
NATURAL_CURE,
|
NATURAL_CURE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Lightning_Rod_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Lightning_Rod_(ability) | Source} */
|
||||||
LIGHTNING_ROD,
|
LIGHTNING_ROD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Serene_Grace_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Serene_Grace_(ability) | Source} */
|
||||||
SERENE_GRACE,
|
SERENE_GRACE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Swift_Swim_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Swift_Swim_(ability) | Source} */
|
||||||
SWIFT_SWIM,
|
SWIFT_SWIM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Chlorophyll_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Chlorophyll_(ability) | Source} */
|
||||||
CHLOROPHYLL,
|
CHLOROPHYLL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Illuminate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Illuminate_(ability) | Source} */
|
||||||
ILLUMINATE,
|
ILLUMINATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Trace_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Trace_(ability) | Source} */
|
||||||
TRACE,
|
TRACE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Huge_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Huge_Power_(ability) | Source} */
|
||||||
HUGE_POWER,
|
HUGE_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Point_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Point_(ability) | Source} */
|
||||||
POISON_POINT,
|
POISON_POINT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Inner_Focus_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Inner_Focus_(ability) | Source} */
|
||||||
INNER_FOCUS,
|
INNER_FOCUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magma_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magma_Armor_(ability) | Source} */
|
||||||
MAGMA_ARMOR,
|
MAGMA_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Veil_(ability) | Source} */
|
||||||
WATER_VEIL,
|
WATER_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Pull_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Pull_(ability) | Source} */
|
||||||
MAGNET_PULL,
|
MAGNET_PULL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Soundproof_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Soundproof_(ability) | Source} */
|
||||||
SOUNDPROOF,
|
SOUNDPROOF,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rain_Dish_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rain_Dish_(ability) | Source} */
|
||||||
RAIN_DISH,
|
RAIN_DISH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Stream_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Stream_(ability) | Source} */
|
||||||
SAND_STREAM,
|
SAND_STREAM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pressure_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pressure_(ability) | Source} */
|
||||||
PRESSURE,
|
PRESSURE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Thick_Fat_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Thick_Fat_(ability) | Source} */
|
||||||
THICK_FAT,
|
THICK_FAT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Early_Bird_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Early_Bird_(ability) | Source} */
|
||||||
EARLY_BIRD,
|
EARLY_BIRD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flame_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flame_Body_(ability) | Source} */
|
||||||
FLAME_BODY,
|
FLAME_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Run_Away_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Run_Away_(ability) | Source} */
|
||||||
RUN_AWAY,
|
RUN_AWAY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Keen_Eye_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Keen_Eye_(ability) | Source} */
|
||||||
KEEN_EYE,
|
KEEN_EYE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Cutter_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Cutter_(ability) | Source} */
|
||||||
HYPER_CUTTER,
|
HYPER_CUTTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pickup_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pickup_(ability) | Source} */
|
||||||
PICKUP,
|
PICKUP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Truant_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Truant_(ability) | Source} */
|
||||||
TRUANT,
|
TRUANT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hustle_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hustle_(ability) | Source} */
|
||||||
HUSTLE,
|
HUSTLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cute_Charm_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cute_Charm_(ability) | Source} */
|
||||||
CUTE_CHARM,
|
CUTE_CHARM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Plus_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Plus_(ability) | Source} */
|
||||||
PLUS,
|
PLUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Minus_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Minus_(ability) | Source} */
|
||||||
MINUS,
|
MINUS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Forecast_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Forecast_(ability) | Source} */
|
||||||
FORECAST,
|
FORECAST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Hold_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Hold_(ability) | Source} */
|
||||||
STICKY_HOLD,
|
STICKY_HOLD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shed_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shed_Skin_(ability) | Source} */
|
||||||
SHED_SKIN,
|
SHED_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Guts_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Guts_(ability) | Source} */
|
||||||
GUTS,
|
GUTS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Marvel_Scale_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Marvel_Scale_(ability) | Source} */
|
||||||
MARVEL_SCALE,
|
MARVEL_SCALE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Ooze_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Ooze_(ability) | Source} */
|
||||||
LIQUID_OOZE,
|
LIQUID_OOZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Overgrow_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Overgrow_(ability) | Source} */
|
||||||
OVERGROW,
|
OVERGROW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Blaze_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Blaze_(ability) | Source} */
|
||||||
BLAZE,
|
BLAZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Torrent_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Torrent_(ability) | Source} */
|
||||||
TORRENT,
|
TORRENT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Swarm_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Swarm_(ability) | Source} */
|
||||||
SWARM,
|
SWARM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Head_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rock_Head_(ability) | Source} */
|
||||||
ROCK_HEAD,
|
ROCK_HEAD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Drought_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Drought_(ability) | Source} */
|
||||||
DROUGHT,
|
DROUGHT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Arena_Trap_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Arena_Trap_(ability) | Source} */
|
||||||
ARENA_TRAP,
|
ARENA_TRAP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Vital_Spirit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Vital_Spirit_(ability) | Source} */
|
||||||
VITAL_SPIRIT,
|
VITAL_SPIRIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/White_Smoke_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/White_Smoke_(ability) | Source} */
|
||||||
WHITE_SMOKE,
|
WHITE_SMOKE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pure_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pure_Power_(ability) | Source} */
|
||||||
PURE_POWER,
|
PURE_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shell_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shell_Armor_(ability) | Source} */
|
||||||
SHELL_ARMOR,
|
SHELL_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Air_Lock_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Air_Lock_(ability) | Source} */
|
||||||
AIR_LOCK,
|
AIR_LOCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tangled_Feet_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tangled_Feet_(ability) | Source} */
|
||||||
TANGLED_FEET,
|
TANGLED_FEET,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Motor_Drive_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Motor_Drive_(ability) | Source} */
|
||||||
MOTOR_DRIVE,
|
MOTOR_DRIVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rivalry_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rivalry_(ability) | Source} */
|
||||||
RIVALRY,
|
RIVALRY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steadfast_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steadfast_(ability) | Source} */
|
||||||
STEADFAST,
|
STEADFAST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Snow_Cloak_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Snow_Cloak_(ability) | Source} */
|
||||||
SNOW_CLOAK,
|
SNOW_CLOAK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gluttony_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gluttony_(ability) | Source} */
|
||||||
GLUTTONY,
|
GLUTTONY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Anger_Point_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Anger_Point_(ability) | Source} */
|
||||||
ANGER_POINT,
|
ANGER_POINT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unburden_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unburden_(ability) | Source} */
|
||||||
UNBURDEN,
|
UNBURDEN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Heatproof_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Heatproof_(ability) | Source} */
|
||||||
HEATPROOF,
|
HEATPROOF,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Simple_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Simple_(ability) | Source} */
|
||||||
SIMPLE,
|
SIMPLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dry_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dry_Skin_(ability) | Source} */
|
||||||
DRY_SKIN,
|
DRY_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Download_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Download_(ability) | Source} */
|
||||||
DOWNLOAD,
|
DOWNLOAD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Fist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Iron_Fist_(ability) | Source} */
|
||||||
IRON_FIST,
|
IRON_FIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Heal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Heal_(ability) | Source} */
|
||||||
POISON_HEAL,
|
POISON_HEAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Adaptability_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Adaptability_(ability) | Source} */
|
||||||
ADAPTABILITY,
|
ADAPTABILITY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Skill_Link_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Skill_Link_(ability) | Source} */
|
||||||
SKILL_LINK,
|
SKILL_LINK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hydration_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hydration_(ability) | Source} */
|
||||||
HYDRATION,
|
HYDRATION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Solar_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Solar_Power_(ability) | Source} */
|
||||||
SOLAR_POWER,
|
SOLAR_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Feet_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Quick_Feet_(ability) | Source} */
|
||||||
QUICK_FEET,
|
QUICK_FEET,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Normalize_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Normalize_(ability) | Source} */
|
||||||
NORMALIZE,
|
NORMALIZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sniper_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sniper_(ability) | Source} */
|
||||||
SNIPER,
|
SNIPER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magic_Guard_(ability) | Source} */
|
||||||
MAGIC_GUARD,
|
MAGIC_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/No_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/No_Guard_(ability) | Source} */
|
||||||
NO_GUARD,
|
NO_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stall_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stall_(ability) | Source} */
|
||||||
STALL,
|
STALL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Technician_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Technician_(ability) | Source} */
|
||||||
TECHNICIAN,
|
TECHNICIAN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Guard_(ability) | Source} */
|
||||||
LEAF_GUARD,
|
LEAF_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Klutz_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Klutz_(ability) | Source} */
|
||||||
KLUTZ,
|
KLUTZ,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mold_Breaker_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mold_Breaker_(ability) | Source} */
|
||||||
MOLD_BREAKER,
|
MOLD_BREAKER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Super_Luck_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Super_Luck_(ability) | Source} */
|
||||||
SUPER_LUCK,
|
SUPER_LUCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aftermath_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aftermath_(ability) | Source} */
|
||||||
AFTERMATH,
|
AFTERMATH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Anticipation_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Anticipation_(ability) | Source} */
|
||||||
ANTICIPATION,
|
ANTICIPATION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Forewarn_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Forewarn_(ability) | Source} */
|
||||||
FOREWARN,
|
FOREWARN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unaware_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unaware_(ability) | Source} */
|
||||||
UNAWARE,
|
UNAWARE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tinted_Lens_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tinted_Lens_(ability) | Source} */
|
||||||
TINTED_LENS,
|
TINTED_LENS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Filter_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Filter_(ability) | Source} */
|
||||||
FILTER,
|
FILTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Slow_Start_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Slow_Start_(ability) | Source} */
|
||||||
SLOW_START,
|
SLOW_START,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Scrappy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Scrappy_(ability) | Source} */
|
||||||
SCRAPPY,
|
SCRAPPY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Storm_Drain_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Storm_Drain_(ability) | Source} */
|
||||||
STORM_DRAIN,
|
STORM_DRAIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ice_Body_(ability) | Source} */
|
||||||
ICE_BODY,
|
ICE_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Solid_Rock_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Solid_Rock_(ability) | Source} */
|
||||||
SOLID_ROCK,
|
SOLID_ROCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Snow_Warning_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Snow_Warning_(ability) | Source} */
|
||||||
SNOW_WARNING,
|
SNOW_WARNING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Honey_Gather_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Honey_Gather_(ability) | Source} */
|
||||||
HONEY_GATHER,
|
HONEY_GATHER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Frisk_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Frisk_(ability) | Source} */
|
||||||
FRISK,
|
FRISK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Reckless_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Reckless_(ability) | Source} */
|
||||||
RECKLESS,
|
RECKLESS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Multitype_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Multitype_(ability) | Source} */
|
||||||
MULTITYPE,
|
MULTITYPE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Gift_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flower_Gift_(ability) | Source} */
|
||||||
FLOWER_GIFT,
|
FLOWER_GIFT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Bad_Dreams_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Bad_Dreams_(ability) | Source} */
|
||||||
BAD_DREAMS,
|
BAD_DREAMS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pickpocket_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pickpocket_(ability) | Source} */
|
||||||
PICKPOCKET,
|
PICKPOCKET,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sheer_Force_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sheer_Force_(ability) | Source} */
|
||||||
SHEER_FORCE,
|
SHEER_FORCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Contrary_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Contrary_(ability) | Source} */
|
||||||
CONTRARY,
|
CONTRARY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unnerve_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unnerve_(ability) | Source} */
|
||||||
UNNERVE,
|
UNNERVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Defiant_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Defiant_(ability) | Source} */
|
||||||
DEFIANT,
|
DEFIANT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Defeatist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Defeatist_(ability) | Source} */
|
||||||
DEFEATIST,
|
DEFEATIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cursed_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cursed_Body_(ability) | Source} */
|
||||||
CURSED_BODY,
|
CURSED_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Healer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Healer_(ability) | Source} */
|
||||||
HEALER,
|
HEALER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Friend_Guard_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Friend_Guard_(ability) | Source} */
|
||||||
FRIEND_GUARD,
|
FRIEND_GUARD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Weak_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Weak_Armor_(ability) | Source} */
|
||||||
WEAK_ARMOR,
|
WEAK_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Heavy_Metal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Heavy_Metal_(ability) | Source} */
|
||||||
HEAVY_METAL,
|
HEAVY_METAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Light_Metal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Light_Metal_(ability) | Source} */
|
||||||
LIGHT_METAL,
|
LIGHT_METAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Multiscale_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Multiscale_(ability) | Source} */
|
||||||
MULTISCALE,
|
MULTISCALE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Boost_(ability) | Source} */
|
||||||
TOXIC_BOOST,
|
TOXIC_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flare_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flare_Boost_(ability) | Source} */
|
||||||
FLARE_BOOST,
|
FLARE_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Harvest_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Harvest_(ability) | Source} */
|
||||||
HARVEST,
|
HARVEST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Telepathy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Telepathy_(ability) | Source} */
|
||||||
TELEPATHY,
|
TELEPATHY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Moody_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Moody_(ability) | Source} */
|
||||||
MOODY,
|
MOODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Overcoat_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Overcoat_(ability) | Source} */
|
||||||
OVERCOAT,
|
OVERCOAT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Touch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Touch_(ability) | Source} */
|
||||||
POISON_TOUCH,
|
POISON_TOUCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Regenerator_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Regenerator_(ability) | Source} */
|
||||||
REGENERATOR,
|
REGENERATOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Big_Pecks_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Big_Pecks_(ability) | Source} */
|
||||||
BIG_PECKS,
|
BIG_PECKS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Rush_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Rush_(ability) | Source} */
|
||||||
SAND_RUSH,
|
SAND_RUSH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Skin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Skin_(ability) | Source} */
|
||||||
WONDER_SKIN,
|
WONDER_SKIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Analytic_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Analytic_(ability) | Source} */
|
||||||
ANALYTIC,
|
ANALYTIC,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Illusion_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Illusion_(ability) | Source} */
|
||||||
ILLUSION,
|
ILLUSION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Imposter_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Imposter_(ability) | Source} */
|
||||||
IMPOSTER,
|
IMPOSTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Infiltrator_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Infiltrator_(ability) | Source} */
|
||||||
INFILTRATOR,
|
INFILTRATOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mummy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mummy_(ability) | Source} */
|
||||||
MUMMY,
|
MUMMY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Moxie_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Moxie_(ability) | Source} */
|
||||||
MOXIE,
|
MOXIE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Justified_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Justified_(ability) | Source} */
|
||||||
JUSTIFIED,
|
JUSTIFIED,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rattled_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rattled_(ability) | Source} */
|
||||||
RATTLED,
|
RATTLED,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Bounce_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magic_Bounce_(ability) | Source} */
|
||||||
MAGIC_BOUNCE,
|
MAGIC_BOUNCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sap_Sipper_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sap_Sipper_(ability) | Source} */
|
||||||
SAP_SIPPER,
|
SAP_SIPPER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Prankster_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Prankster_(ability) | Source} */
|
||||||
PRANKSTER,
|
PRANKSTER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Force_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Force_(ability) | Source} */
|
||||||
SAND_FORCE,
|
SAND_FORCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Barbs_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Iron_Barbs_(ability) | Source} */
|
||||||
IRON_BARBS,
|
IRON_BARBS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Zen_Mode_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Zen_Mode_(ability) | Source} */
|
||||||
ZEN_MODE,
|
ZEN_MODE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Victory_Star_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Victory_Star_(ability) | Source} */
|
||||||
VICTORY_STAR,
|
VICTORY_STAR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Turboblaze_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Turboblaze_(ability) | Source} */
|
||||||
TURBOBLAZE,
|
TURBOBLAZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Teravolt_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Teravolt_(ability) | Source} */
|
||||||
TERAVOLT,
|
TERAVOLT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aroma_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aroma_Veil_(ability) | Source} */
|
||||||
AROMA_VEIL,
|
AROMA_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Flower_Veil_(ability) | Source} */
|
||||||
FLOWER_VEIL,
|
FLOWER_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cheek_Pouch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cheek_Pouch_(ability) | Source} */
|
||||||
CHEEK_POUCH,
|
CHEEK_POUCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Protean_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Protean_(ability) | Source} */
|
||||||
PROTEAN,
|
PROTEAN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Fur_Coat_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Fur_Coat_(ability) | Source} */
|
||||||
FUR_COAT,
|
FUR_COAT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Magician_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Magician_(ability) | Source} */
|
||||||
MAGICIAN,
|
MAGICIAN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Bulletproof_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Bulletproof_(ability) | Source} */
|
||||||
BULLETPROOF,
|
BULLETPROOF,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Competitive_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Competitive_(ability) | Source} */
|
||||||
COMPETITIVE,
|
COMPETITIVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Strong_Jaw_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Strong_Jaw_(ability) | Source} */
|
||||||
STRONG_JAW,
|
STRONG_JAW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Refrigerate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Refrigerate_(ability) | Source} */
|
||||||
REFRIGERATE,
|
REFRIGERATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Veil_(ability) | Source} */
|
||||||
SWEET_VEIL,
|
SWEET_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stance_Change_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stance_Change_(ability) | Source} */
|
||||||
STANCE_CHANGE,
|
STANCE_CHANGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gale_Wings_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gale_Wings_(ability) | Source} */
|
||||||
GALE_WINGS,
|
GALE_WINGS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mega_Launcher_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mega_Launcher_(ability) | Source} */
|
||||||
MEGA_LAUNCHER,
|
MEGA_LAUNCHER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Grass_Pelt_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Grass_Pelt_(ability) | Source} */
|
||||||
GRASS_PELT,
|
GRASS_PELT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Symbiosis_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Symbiosis_(ability) | Source} */
|
||||||
SYMBIOSIS,
|
SYMBIOSIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tough_Claws_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tough_Claws_(ability) | Source} */
|
||||||
TOUGH_CLAWS,
|
TOUGH_CLAWS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pixilate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pixilate_(ability) | Source} */
|
||||||
PIXILATE,
|
PIXILATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gooey_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gooey_(ability) | Source} */
|
||||||
GOOEY,
|
GOOEY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aerilate_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aerilate_(ability) | Source} */
|
||||||
AERILATE,
|
AERILATE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Parental_Bond_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Parental_Bond_(ability) | Source} */
|
||||||
PARENTAL_BOND,
|
PARENTAL_BOND,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dark_Aura_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dark_Aura_(ability) | Source} */
|
||||||
DARK_AURA,
|
DARK_AURA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Aura_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Aura_(ability) | Source} */
|
||||||
FAIRY_AURA,
|
FAIRY_AURA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Aura_Break_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Aura_Break_(ability) | Source} */
|
||||||
AURA_BREAK,
|
AURA_BREAK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Primordial_Sea_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Primordial_Sea_(ability) | Source} */
|
||||||
PRIMORDIAL_SEA,
|
PRIMORDIAL_SEA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Desolate_Land_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Desolate_Land_(ability) | Source} */
|
||||||
DESOLATE_LAND,
|
DESOLATE_LAND,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Delta_Stream_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Delta_Stream_(ability) | Source} */
|
||||||
DELTA_STREAM,
|
DELTA_STREAM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stamina_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stamina_(ability) | Source} */
|
||||||
STAMINA,
|
STAMINA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wimp_Out_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wimp_Out_(ability) | Source} */
|
||||||
WIMP_OUT,
|
WIMP_OUT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Emergency_Exit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Emergency_Exit_(ability) | Source} */
|
||||||
EMERGENCY_EXIT,
|
EMERGENCY_EXIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Compaction_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Compaction_(ability) | Source} */
|
||||||
WATER_COMPACTION,
|
WATER_COMPACTION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Merciless_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Merciless_(ability) | Source} */
|
||||||
MERCILESS,
|
MERCILESS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shields_Down_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shields_Down_(ability) | Source} */
|
||||||
SHIELDS_DOWN,
|
SHIELDS_DOWN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stakeout_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stakeout_(ability) | Source} */
|
||||||
STAKEOUT,
|
STAKEOUT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Bubble_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Water_Bubble_(ability) | Source} */
|
||||||
WATER_BUBBLE,
|
WATER_BUBBLE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steelworker_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steelworker_(ability) | Source} */
|
||||||
STEELWORKER,
|
STEELWORKER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Berserk_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Berserk_(ability) | Source} */
|
||||||
BERSERK,
|
BERSERK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Slush_Rush_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Slush_Rush_(ability) | Source} */
|
||||||
SLUSH_RUSH,
|
SLUSH_RUSH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Long_Reach_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Long_Reach_(ability) | Source} */
|
||||||
LONG_REACH,
|
LONG_REACH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Voice_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Voice_(ability) | Source} */
|
||||||
LIQUID_VOICE,
|
LIQUID_VOICE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Triage_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Triage_(ability) | Source} */
|
||||||
TRIAGE,
|
TRIAGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Galvanize_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Galvanize_(ability) | Source} */
|
||||||
GALVANIZE,
|
GALVANIZE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Surge_Surfer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Surge_Surfer_(ability) | Source} */
|
||||||
SURGE_SURFER,
|
SURGE_SURFER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Schooling_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Schooling_(ability) | Source} */
|
||||||
SCHOOLING,
|
SCHOOLING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Disguise_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Disguise_(ability) | Source} */
|
||||||
DISGUISE,
|
DISGUISE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Battle_Bond_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Battle_Bond_(ability) | Source} */
|
||||||
BATTLE_BOND,
|
BATTLE_BOND,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Construct_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Power_Construct_(ability) | Source} */
|
||||||
POWER_CONSTRUCT,
|
POWER_CONSTRUCT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Corrosion_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Corrosion_(ability) | Source} */
|
||||||
CORROSION,
|
CORROSION,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Comatose_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Comatose_(ability) | Source} */
|
||||||
COMATOSE,
|
COMATOSE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Queenly_Majesty_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Queenly_Majesty_(ability) | Source} */
|
||||||
QUEENLY_MAJESTY,
|
QUEENLY_MAJESTY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Innards_Out_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Innards_Out_(ability) | Source} */
|
||||||
INNARDS_OUT,
|
INNARDS_OUT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dancer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dancer_(ability) | Source} */
|
||||||
DANCER,
|
DANCER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Battery_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Battery_(ability) | Source} */
|
||||||
BATTERY,
|
BATTERY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Fluffy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Fluffy_(ability) | Source} */
|
||||||
FLUFFY,
|
FLUFFY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dazzling_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dazzling_(ability) | Source} */
|
||||||
DAZZLING,
|
DAZZLING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Soul_Heart_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Soul_Heart_(ability) | Source} */
|
||||||
SOUL_HEART,
|
SOUL_HEART,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tangling_Hair_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tangling_Hair_(ability) | Source} */
|
||||||
TANGLING_HAIR,
|
TANGLING_HAIR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Receiver_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Receiver_(ability) | Source} */
|
||||||
RECEIVER,
|
RECEIVER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Of_Alchemy_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Power_Of_Alchemy_(ability) | Source} */
|
||||||
POWER_OF_ALCHEMY,
|
POWER_OF_ALCHEMY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Beast_Boost_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Beast_Boost_(ability) | Source} */
|
||||||
BEAST_BOOST,
|
BEAST_BOOST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rks_System_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rks_System_(ability) | Source} */
|
||||||
RKS_SYSTEM,
|
RKS_SYSTEM,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Electric_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Electric_Surge_(ability) | Source} */
|
||||||
ELECTRIC_SURGE,
|
ELECTRIC_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Surge_(ability) | Source} */
|
||||||
PSYCHIC_SURGE,
|
PSYCHIC_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Misty_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Misty_Surge_(ability) | Source} */
|
||||||
MISTY_SURGE,
|
MISTY_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Surge_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Surge_(ability) | Source} */
|
||||||
GRASSY_SURGE,
|
GRASSY_SURGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Full_Metal_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Full_Metal_Body_(ability) | Source} */
|
||||||
FULL_METAL_BODY,
|
FULL_METAL_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Shield_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Shield_(ability) | Source} */
|
||||||
SHADOW_SHIELD,
|
SHADOW_SHIELD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Prism_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Prism_Armor_(ability) | Source} */
|
||||||
PRISM_ARMOR,
|
PRISM_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Neuroforce_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Neuroforce_(ability) | Source} */
|
||||||
NEUROFORCE,
|
NEUROFORCE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Intrepid_Sword_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Intrepid_Sword_(ability) | Source} */
|
||||||
INTREPID_SWORD,
|
INTREPID_SWORD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dauntless_Shield_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dauntless_Shield_(ability) | Source} */
|
||||||
DAUNTLESS_SHIELD,
|
DAUNTLESS_SHIELD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Libero_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Libero_(ability) | Source} */
|
||||||
LIBERO,
|
LIBERO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ball_Fetch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ball_Fetch_(ability) | Source} */
|
||||||
BALL_FETCH,
|
BALL_FETCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Down_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Down_(ability) | Source} */
|
||||||
COTTON_DOWN,
|
COTTON_DOWN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Propeller_Tail_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Propeller_Tail_(ability) | Source} */
|
||||||
PROPELLER_TAIL,
|
PROPELLER_TAIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Armor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Armor_(ability) | Source} */
|
||||||
MIRROR_ARMOR,
|
MIRROR_ARMOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gulp_Missile_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gulp_Missile_(ability) | Source} */
|
||||||
GULP_MISSILE,
|
GULP_MISSILE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Stalwart_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Stalwart_(ability) | Source} */
|
||||||
STALWART,
|
STALWART,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steam_Engine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steam_Engine_(ability) | Source} */
|
||||||
STEAM_ENGINE,
|
STEAM_ENGINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Punk_Rock_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Punk_Rock_(ability) | Source} */
|
||||||
PUNK_ROCK,
|
PUNK_ROCK,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Spit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sand_Spit_(ability) | Source} */
|
||||||
SAND_SPIT,
|
SAND_SPIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Scales_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ice_Scales_(ability) | Source} */
|
||||||
ICE_SCALES,
|
ICE_SCALES,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ripen_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ripen_(ability) | Source} */
|
||||||
RIPEN,
|
RIPEN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Face_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Ice_Face_(ability) | Source} */
|
||||||
ICE_FACE,
|
ICE_FACE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Spot_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Power_Spot_(ability) | Source} */
|
||||||
POWER_SPOT,
|
POWER_SPOT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mimicry_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mimicry_(ability) | Source} */
|
||||||
MIMICRY,
|
MIMICRY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Screen_Cleaner_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Screen_Cleaner_(ability) | Source} */
|
||||||
SCREEN_CLEANER,
|
SCREEN_CLEANER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Steely_Spirit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Steely_Spirit_(ability) | Source} */
|
||||||
STEELY_SPIRIT,
|
STEELY_SPIRIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Perish_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Perish_Body_(ability) | Source} */
|
||||||
PERISH_BODY,
|
PERISH_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wandering_Spirit_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wandering_Spirit_(ability) | Source} */
|
||||||
WANDERING_SPIRIT,
|
WANDERING_SPIRIT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Gorilla_Tactics_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Gorilla_Tactics_(ability) | Source} */
|
||||||
GORILLA_TACTICS,
|
GORILLA_TACTICS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(ability) | Source} */
|
||||||
NEUTRALIZING_GAS,
|
NEUTRALIZING_GAS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Pastel_Veil_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Pastel_Veil_(ability) | Source} */
|
||||||
PASTEL_VEIL,
|
PASTEL_VEIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hunger_Switch_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hunger_Switch_(ability) | Source} */
|
||||||
HUNGER_SWITCH,
|
HUNGER_SWITCH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Draw_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Quick_Draw_(ability) | Source} */
|
||||||
QUICK_DRAW,
|
QUICK_DRAW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Unseen_Fist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Unseen_Fist_(ability) | Source} */
|
||||||
UNSEEN_FIST,
|
UNSEEN_FIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Curious_Medicine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Curious_Medicine_(ability) | Source} */
|
||||||
CURIOUS_MEDICINE,
|
CURIOUS_MEDICINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Transistor_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Transistor_(ability) | Source} */
|
||||||
TRANSISTOR,
|
TRANSISTOR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Dragons_Maw_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Dragons_Maw_(ability) | Source} */
|
||||||
DRAGONS_MAW,
|
DRAGONS_MAW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Chilling_Neigh_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Chilling_Neigh_(ability) | Source} */
|
||||||
CHILLING_NEIGH,
|
CHILLING_NEIGH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Grim_Neigh_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Grim_Neigh_(ability) | Source} */
|
||||||
GRIM_NEIGH,
|
GRIM_NEIGH,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/As_One_Glastrier_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/As_One_Glastrier_(ability) | Source} */
|
||||||
AS_ONE_GLASTRIER,
|
AS_ONE_GLASTRIER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/As_One_Spectrier_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/As_One_Spectrier_(ability) | Source} */
|
||||||
AS_ONE_SPECTRIER,
|
AS_ONE_SPECTRIER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Lingering_Aroma_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Lingering_Aroma_(ability) | Source} */
|
||||||
LINGERING_AROMA,
|
LINGERING_AROMA,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Seed_Sower_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Seed_Sower_(ability) | Source} */
|
||||||
SEED_SOWER,
|
SEED_SOWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Thermal_Exchange_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Thermal_Exchange_(ability) | Source} */
|
||||||
THERMAL_EXCHANGE,
|
THERMAL_EXCHANGE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Anger_Shell_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Anger_Shell_(ability) | Source} */
|
||||||
ANGER_SHELL,
|
ANGER_SHELL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Purifying_Salt_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Purifying_Salt_(ability) | Source} */
|
||||||
PURIFYING_SALT,
|
PURIFYING_SALT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Well_Baked_Body_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Well_Baked_Body_(ability) | Source} */
|
||||||
WELL_BAKED_BODY,
|
WELL_BAKED_BODY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wind_Rider_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wind_Rider_(ability) | Source} */
|
||||||
WIND_RIDER,
|
WIND_RIDER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Guard_Dog_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Guard_Dog_(ability) | Source} */
|
||||||
GUARD_DOG,
|
GUARD_DOG,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Rocky_Payload_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Rocky_Payload_(ability) | Source} */
|
||||||
ROCKY_PAYLOAD,
|
ROCKY_PAYLOAD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Wind_Power_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Wind_Power_(ability) | Source} */
|
||||||
WIND_POWER,
|
WIND_POWER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Zero_To_Hero_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Zero_To_Hero_(ability) | Source} */
|
||||||
ZERO_TO_HERO,
|
ZERO_TO_HERO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Commander_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Commander_(ability) | Source} */
|
||||||
COMMANDER,
|
COMMANDER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Electromorphosis_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Electromorphosis_(ability) | Source} */
|
||||||
ELECTROMORPHOSIS,
|
ELECTROMORPHOSIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Protosynthesis_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Protosynthesis_(ability) | Source} */
|
||||||
PROTOSYNTHESIS,
|
PROTOSYNTHESIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Quark_Drive_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Quark_Drive_(ability) | Source} */
|
||||||
QUARK_DRIVE,
|
QUARK_DRIVE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Good_As_Gold_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Good_As_Gold_(ability) | Source} */
|
||||||
GOOD_AS_GOLD,
|
GOOD_AS_GOLD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Vessel_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Vessel_Of_Ruin_(ability) | Source} */
|
||||||
VESSEL_OF_RUIN,
|
VESSEL_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sword_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sword_Of_Ruin_(ability) | Source} */
|
||||||
SWORD_OF_RUIN,
|
SWORD_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tablets_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tablets_Of_Ruin_(ability) | Source} */
|
||||||
TABLETS_OF_RUIN,
|
TABLETS_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Beads_Of_Ruin_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Beads_Of_Ruin_(ability) | Source} */
|
||||||
BEADS_OF_RUIN,
|
BEADS_OF_RUIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Orichalcum_Pulse_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Orichalcum_Pulse_(ability) | Source} */
|
||||||
ORICHALCUM_PULSE,
|
ORICHALCUM_PULSE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hadron_Engine_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hadron_Engine_(ability) | Source} */
|
||||||
HADRON_ENGINE,
|
HADRON_ENGINE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Opportunist_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Opportunist_(ability) | Source} */
|
||||||
OPPORTUNIST,
|
OPPORTUNIST,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Cud_Chew_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Cud_Chew_(ability) | Source} */
|
||||||
CUD_CHEW,
|
CUD_CHEW,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Sharpness_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Sharpness_(ability) | Source} */
|
||||||
SHARPNESS,
|
SHARPNESS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Supreme_Overlord_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Supreme_Overlord_(ability) | Source} */
|
||||||
SUPREME_OVERLORD,
|
SUPREME_OVERLORD,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Costar_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Costar_(ability) | Source} */
|
||||||
COSTAR,
|
COSTAR,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Debris_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Debris_(ability) | Source} */
|
||||||
TOXIC_DEBRIS,
|
TOXIC_DEBRIS,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Armor_Tail_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Armor_Tail_(ability) | Source} */
|
||||||
ARMOR_TAIL,
|
ARMOR_TAIL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Earth_Eater_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Earth_Eater_(ability) | Source} */
|
||||||
EARTH_EATER,
|
EARTH_EATER,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Mycelium_Might_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Mycelium_Might_(ability) | Source} */
|
||||||
MYCELIUM_MIGHT,
|
MYCELIUM_MIGHT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Minds_Eye_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Minds_Eye_(ability) | Source} */
|
||||||
MINDS_EYE,
|
MINDS_EYE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Supersweet_Syrup_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Supersweet_Syrup_(ability) | Source} */
|
||||||
SUPERSWEET_SYRUP,
|
SUPERSWEET_SYRUP,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Hospitality_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Hospitality_(ability) | Source} */
|
||||||
HOSPITALITY,
|
HOSPITALITY,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Chain_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Chain_(ability) | Source} */
|
||||||
TOXIC_CHAIN,
|
TOXIC_CHAIN,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Teal_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Teal_(ability) | Source} */
|
||||||
EMBODY_ASPECT_TEAL,
|
EMBODY_ASPECT_TEAL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Wellspring_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Wellspring_(ability) | Source} */
|
||||||
EMBODY_ASPECT_WELLSPRING,
|
EMBODY_ASPECT_WELLSPRING,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Hearthflame_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Hearthflame_(ability) | Source} */
|
||||||
EMBODY_ASPECT_HEARTHFLAME,
|
EMBODY_ASPECT_HEARTHFLAME,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Cornerstone_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Cornerstone_(ability) | Source} */
|
||||||
EMBODY_ASPECT_CORNERSTONE,
|
EMBODY_ASPECT_CORNERSTONE,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shift_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shift_(ability) | Source} */
|
||||||
TERA_SHIFT,
|
TERA_SHIFT,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shell_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shell_(ability) | Source} */
|
||||||
TERA_SHELL,
|
TERA_SHELL,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Teraform_Zero_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Teraform_Zero_(ability) | Source} */
|
||||||
TERAFORM_ZERO,
|
TERAFORM_ZERO,
|
||||||
/**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Puppeteer_(ability) | Source} */
|
/** {@link https://bulbapedia.bulbagarden.net/wiki/Poison_Puppeteer_(ability) | Source} */
|
||||||
POISON_PUPPETEER,
|
POISON_PUPPETEER,
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import { globalScene } from "#app/global-scene";
|
|
||||||
import { Status } from "#data/status-effect";
|
import { Status } from "#data/status-effect";
|
||||||
import { AbilityId } from "#enums/ability-id";
|
import { AbilityId } from "#enums/ability-id";
|
||||||
import { BattleType } from "#enums/battle-type";
|
import { BattleType } from "#enums/battle-type";
|
||||||
@ -179,18 +178,13 @@ describe("Moves - Whirlwind", () => {
|
|||||||
const eligibleEnemy = enemyParty.filter(p => p.hp > 0 && p.isAllowedInBattle());
|
const eligibleEnemy = enemyParty.filter(p => p.hp > 0 && p.isAllowedInBattle());
|
||||||
expect(eligibleEnemy.length).toBe(1);
|
expect(eligibleEnemy.length).toBe(1);
|
||||||
|
|
||||||
// Spy on the queueMessage function
|
|
||||||
const queueSpy = vi.spyOn(globalScene.phaseManager, "queueMessage");
|
|
||||||
|
|
||||||
// Player uses Whirlwind; opponent uses Splash
|
// Player uses Whirlwind; opponent uses Splash
|
||||||
game.move.select(MoveId.WHIRLWIND);
|
game.move.select(MoveId.WHIRLWIND);
|
||||||
await game.move.selectEnemyMove(MoveId.SPLASH);
|
await game.move.selectEnemyMove(MoveId.SPLASH);
|
||||||
await game.toNextTurn();
|
await game.toNextTurn();
|
||||||
|
|
||||||
// Verify that the failure message is displayed for Whirlwind
|
const player = game.field.getPlayerPokemon();
|
||||||
expect(queueSpy).toHaveBeenCalledWith(expect.stringContaining("But it failed"));
|
expect(player).toHaveUsedMove({ move: MoveId.WHIRLWIND, result: MoveResult.FAIL });
|
||||||
// Verify the opponent's Splash message
|
|
||||||
expect(queueSpy).toHaveBeenCalledWith(expect.stringContaining("But nothing happened!"));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should not pull in the other trainer's pokemon in a partner trainer battle", async () => {
|
it("should not pull in the other trainer's pokemon in a partner trainer battle", async () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user