Compare commits

..

No commits in common. "50c8e1a38c901170f195adab27e4c9d09f09d18c" and "46f2d79069af1b7f931dfe129b2f5e386a80c64b" have entirely different histories.

22 changed files with 694 additions and 894 deletions

12
.github/CODEOWNERS vendored
View File

@ -3,6 +3,9 @@
# 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
@ -16,11 +19,4 @@
/public/audio @pagefaultgames/composer-team /public/audio @pagefaultgames/composer-team
# 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,41 +0,0 @@
{
"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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 B

@ -1 +1 @@
Subproject commit ab2716d5440c25f73986664aa3f3131821c3c392 Subproject commit fa35780fed762017c89d1e9ece8a2779dff56c4d

View File

@ -94,10 +94,3 @@ export const AVERAGE_ENCOUNTERS_PER_RUN_TARGET = 12;
* So anti-variance adds -15/256 to the spawn weight check for ME spawn. * So anti-variance adds -15/256 to the spawn weight check for ME spawn.
*/ */
export const ANTI_VARIANCE_WEIGHT_MODIFIER = 15; export const ANTI_VARIANCE_WEIGHT_MODIFIER = 15;
/**
* The chance (out of 1) that a different title logo will show when the title screen is drawn.
* Inverted during April Fools (such that this becomes the chance for the _normal_ title logo is displayed).
* Default: `10000` (0.01%)
*/
export const FAKE_TITLE_LOGO_CHANCE = 10000;

View File

@ -5491,7 +5491,7 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr {
* Attribute used for abilities that damage opponents causing the user to faint * Attribute used for abilities that damage opponents causing the user to faint
* equal to the amount of damage the last attack inflicted. * equal to the amount of damage the last attack inflicted.
* *
* Used for {@linkcode AbilityId.INNARDS_OUT | Innards Out}. * Used for {@linkcode Abilities.INNARDS_OUT}.
* @sealed * @sealed
*/ */
export class PostFaintHPDamageAbAttr extends PostFaintAbAttr { export class PostFaintHPDamageAbAttr extends PostFaintAbAttr {
@ -7307,7 +7307,7 @@ export function initAbilities() {
.attr(HealFromBerryUseAbAttr, 1 / 3), .attr(HealFromBerryUseAbAttr, 1 / 3),
new Ability(AbilityId.PROTEAN, 6) new Ability(AbilityId.PROTEAN, 6)
.attr(PokemonTypeChangeAbAttr) .attr(PokemonTypeChangeAbAttr)
// .condition((p) => !p.summonData.abilitiesApplied.includes(AbilityId.PROTEAN)) //Gen 9 Implementation // .condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.PROTEAN)) //Gen 9 Implementation
// TODO: needs testing on interaction with weather blockage // TODO: needs testing on interaction with weather blockage
.edgeCase(), .edgeCase(),
new Ability(AbilityId.FUR_COAT, 6) new Ability(AbilityId.FUR_COAT, 6)
@ -7566,7 +7566,7 @@ export function initAbilities() {
.attr(PostSummonStatStageChangeAbAttr, [ Stat.DEF ], 1, true), .attr(PostSummonStatStageChangeAbAttr, [ Stat.DEF ], 1, true),
new Ability(AbilityId.LIBERO, 8) new Ability(AbilityId.LIBERO, 8)
.attr(PokemonTypeChangeAbAttr) .attr(PokemonTypeChangeAbAttr)
//.condition((p) => !p.summonData.abilitiesApplied.includes(AbilityId.LIBERO)), //Gen 9 Implementation //.condition((p) => !p.summonData.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation
// TODO: needs testing on interaction with weather blockage // TODO: needs testing on interaction with weather blockage
.edgeCase(), .edgeCase(),
new Ability(AbilityId.BALL_FETCH, 8) new Ability(AbilityId.BALL_FETCH, 8)

View File

@ -15,7 +15,7 @@ export const speciesEggMoves = {
[SpeciesId.SPEAROW]: [ MoveId.FLOATY_FALL, MoveId.EXTREME_SPEED, MoveId.KNOCK_OFF, MoveId.TRIPLE_ARROWS ], [SpeciesId.SPEAROW]: [ MoveId.FLOATY_FALL, MoveId.EXTREME_SPEED, MoveId.KNOCK_OFF, MoveId.TRIPLE_ARROWS ],
[SpeciesId.EKANS]: [ MoveId.NOXIOUS_TORQUE, MoveId.DRAGON_DANCE, MoveId.SLACK_OFF, MoveId.SHED_TAIL ], [SpeciesId.EKANS]: [ MoveId.NOXIOUS_TORQUE, MoveId.DRAGON_DANCE, MoveId.SLACK_OFF, MoveId.SHED_TAIL ],
[SpeciesId.SANDSHREW]: [ MoveId.HIGH_HORSEPOWER, MoveId.DIRE_CLAW, MoveId.SHORE_UP, MoveId.MIGHTY_CLEAVE ], [SpeciesId.SANDSHREW]: [ MoveId.HIGH_HORSEPOWER, MoveId.DIRE_CLAW, MoveId.SHORE_UP, MoveId.MIGHTY_CLEAVE ],
[SpeciesId.NIDORAN_F]: [ MoveId.BANEFUL_BUNKER, MoveId.MOONLIGHT, MoveId.BARB_BARRAGE, MoveId.THOUSAND_WAVES ], [SpeciesId.NIDORAN_F]: [ MoveId.CALM_MIND, MoveId.MOONLIGHT, MoveId.MALIGNANT_CHAIN, MoveId.SANDSEAR_STORM ],
[SpeciesId.NIDORAN_M]: [ MoveId.DRAGON_DANCE, MoveId.MOUNTAIN_GALE, MoveId.NOXIOUS_TORQUE, MoveId.PRECIPICE_BLADES ], [SpeciesId.NIDORAN_M]: [ MoveId.DRAGON_DANCE, MoveId.MOUNTAIN_GALE, MoveId.NOXIOUS_TORQUE, MoveId.PRECIPICE_BLADES ],
[SpeciesId.VULPIX]: [ MoveId.MOONBLAST, MoveId.INFERNAL_PARADE, MoveId.MORNING_SUN, MoveId.TAIL_GLOW ], [SpeciesId.VULPIX]: [ MoveId.MOONBLAST, MoveId.INFERNAL_PARADE, MoveId.MORNING_SUN, MoveId.TAIL_GLOW ],
[SpeciesId.ZUBAT]: [ MoveId.FLOATY_FALL, MoveId.DIRE_CLAW, MoveId.SWORDS_DANCE, MoveId.COLLISION_COURSE ], [SpeciesId.ZUBAT]: [ MoveId.FLOATY_FALL, MoveId.DIRE_CLAW, MoveId.SWORDS_DANCE, MoveId.COLLISION_COURSE ],
@ -293,7 +293,7 @@ export const speciesEggMoves = {
[SpeciesId.ARCHEN]: [ MoveId.ROOST, MoveId.EARTHQUAKE, MoveId.FLOATY_FALL, MoveId.MIGHTY_CLEAVE ], [SpeciesId.ARCHEN]: [ MoveId.ROOST, MoveId.EARTHQUAKE, MoveId.FLOATY_FALL, MoveId.MIGHTY_CLEAVE ],
[SpeciesId.TRUBBISH]: [ MoveId.COIL, MoveId.RECOVER, MoveId.DIRE_CLAW, MoveId.GIGATON_HAMMER ], [SpeciesId.TRUBBISH]: [ MoveId.COIL, MoveId.RECOVER, MoveId.DIRE_CLAW, MoveId.GIGATON_HAMMER ],
[SpeciesId.ZORUA]: [ MoveId.MALIGNANT_CHAIN, MoveId.MOONBLAST, MoveId.SECRET_SWORD, MoveId.FIERY_WRATH ], [SpeciesId.ZORUA]: [ MoveId.MALIGNANT_CHAIN, MoveId.MOONBLAST, MoveId.SECRET_SWORD, MoveId.FIERY_WRATH ],
[SpeciesId.MINCCINO]: [ MoveId.ICICLE_SPEAR, MoveId.TIDY_UP, MoveId.LOW_KICK, MoveId.POPULATION_BOMB ], [SpeciesId.MINCCINO]: [ MoveId.ICICLE_SPEAR, MoveId.TIDY_UP, MoveId.KNOCK_OFF, MoveId.POPULATION_BOMB ],
[SpeciesId.GOTHITA]: [ MoveId.RECOVER, MoveId.MOONBLAST, MoveId.AURA_SPHERE, MoveId.LUMINA_CRASH ], [SpeciesId.GOTHITA]: [ MoveId.RECOVER, MoveId.MOONBLAST, MoveId.AURA_SPHERE, MoveId.LUMINA_CRASH ],
[SpeciesId.SOLOSIS]: [ MoveId.MIST_BALL, MoveId.SPEED_SWAP, MoveId.FLAMETHROWER, MoveId.LIGHT_OF_RUIN ], [SpeciesId.SOLOSIS]: [ MoveId.MIST_BALL, MoveId.SPEED_SWAP, MoveId.FLAMETHROWER, MoveId.LIGHT_OF_RUIN ],
[SpeciesId.DUCKLETT]: [ MoveId.SPLISHY_SPLASH, MoveId.SANDSEAR_STORM, MoveId.WILDBOLT_STORM, MoveId.QUIVER_DANCE ], [SpeciesId.DUCKLETT]: [ MoveId.SPLISHY_SPLASH, MoveId.SANDSEAR_STORM, MoveId.WILDBOLT_STORM, MoveId.QUIVER_DANCE ],
@ -310,7 +310,7 @@ export const speciesEggMoves = {
[SpeciesId.TYNAMO]: [ MoveId.SCALD, MoveId.STRENGTH_SAP, MoveId.FIRE_LASH, MoveId.AURA_WHEEL ], [SpeciesId.TYNAMO]: [ MoveId.SCALD, MoveId.STRENGTH_SAP, MoveId.FIRE_LASH, MoveId.AURA_WHEEL ],
[SpeciesId.ELGYEM]: [ MoveId.THUNDERCLAP, MoveId.BADDY_BAD, MoveId.AURA_SPHERE, MoveId.PHOTON_GEYSER ], [SpeciesId.ELGYEM]: [ MoveId.THUNDERCLAP, MoveId.BADDY_BAD, MoveId.AURA_SPHERE, MoveId.PHOTON_GEYSER ],
[SpeciesId.LITWICK]: [ MoveId.GIGA_DRAIN, MoveId.EARTH_POWER, MoveId.MOONBLAST, MoveId.TORCH_SONG ], [SpeciesId.LITWICK]: [ MoveId.GIGA_DRAIN, MoveId.EARTH_POWER, MoveId.MOONBLAST, MoveId.TORCH_SONG ],
[SpeciesId.AXEW]: [ MoveId.STONE_AXE, MoveId.DIRE_CLAW, MoveId.RAGING_FURY, MoveId.BITTER_BLADE ], [SpeciesId.AXEW]: [ MoveId.STONE_AXE, MoveId.DIRE_CLAW, MoveId.BITTER_BLADE, MoveId.GLAIVE_RUSH ],
[SpeciesId.CUBCHOO]: [ MoveId.MOUNTAIN_GALE, MoveId.AQUA_STEP, MoveId.ICE_SHARD, MoveId.COLLISION_COURSE ], [SpeciesId.CUBCHOO]: [ MoveId.MOUNTAIN_GALE, MoveId.AQUA_STEP, MoveId.ICE_SHARD, MoveId.COLLISION_COURSE ],
[SpeciesId.CRYOGONAL]: [ MoveId.FREEZING_GLARE, MoveId.AURORA_VEIL, MoveId.NASTY_PLOT, MoveId.ORIGIN_PULSE ], [SpeciesId.CRYOGONAL]: [ MoveId.FREEZING_GLARE, MoveId.AURORA_VEIL, MoveId.NASTY_PLOT, MoveId.ORIGIN_PULSE ],
[SpeciesId.SHELMET]: [ MoveId.POWER_GEM, MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.STEAM_ERUPTION ], [SpeciesId.SHELMET]: [ MoveId.POWER_GEM, MoveId.NASTY_PLOT, MoveId.EARTH_POWER, MoveId.STEAM_ERUPTION ],
@ -448,7 +448,7 @@ export const speciesEggMoves = {
[SpeciesId.ROOKIDEE]: [ MoveId.ROOST, MoveId.BODY_PRESS, MoveId.KINGS_SHIELD, MoveId.BEHEMOTH_BASH ], [SpeciesId.ROOKIDEE]: [ MoveId.ROOST, MoveId.BODY_PRESS, MoveId.KINGS_SHIELD, MoveId.BEHEMOTH_BASH ],
[SpeciesId.BLIPBUG]: [ MoveId.HEAL_ORDER, MoveId.LUSTER_PURGE, MoveId.SLEEP_POWDER, MoveId.TAIL_GLOW ], [SpeciesId.BLIPBUG]: [ MoveId.HEAL_ORDER, MoveId.LUSTER_PURGE, MoveId.SLEEP_POWDER, MoveId.TAIL_GLOW ],
[SpeciesId.NICKIT]: [ MoveId.BADDY_BAD, MoveId.MYSTICAL_FIRE, MoveId.SPARKLY_SWIRL, MoveId.MAKE_IT_RAIN ], [SpeciesId.NICKIT]: [ MoveId.BADDY_BAD, MoveId.MYSTICAL_FIRE, MoveId.SPARKLY_SWIRL, MoveId.MAKE_IT_RAIN ],
[SpeciesId.GOSSIFLEUR]: [ MoveId.BATON_PASS, MoveId.TAILWIND, MoveId.SAPPY_SEED, MoveId.SPORE ], [SpeciesId.GOSSIFLEUR]: [ MoveId.PARTING_SHOT, MoveId.STRENGTH_SAP, MoveId.SAPPY_SEED, MoveId.SEED_FLARE ],
[SpeciesId.WOOLOO]: [ MoveId.NUZZLE, MoveId.MILK_DRINK, MoveId.BODY_PRESS, MoveId.MULTI_ATTACK ], [SpeciesId.WOOLOO]: [ MoveId.NUZZLE, MoveId.MILK_DRINK, MoveId.BODY_PRESS, MoveId.MULTI_ATTACK ],
[SpeciesId.CHEWTLE]: [ MoveId.ICE_FANG, MoveId.PSYCHIC_FANGS, MoveId.SHELL_SMASH, MoveId.MIGHTY_CLEAVE ], [SpeciesId.CHEWTLE]: [ MoveId.ICE_FANG, MoveId.PSYCHIC_FANGS, MoveId.SHELL_SMASH, MoveId.MIGHTY_CLEAVE ],
[SpeciesId.YAMPER]: [ MoveId.ICE_FANG, MoveId.SWORDS_DANCE, MoveId.THUNDER_FANG, MoveId.BOLT_STRIKE ], [SpeciesId.YAMPER]: [ MoveId.ICE_FANG, MoveId.SWORDS_DANCE, MoveId.THUNDER_FANG, MoveId.BOLT_STRIKE ],
@ -514,7 +514,7 @@ export const speciesEggMoves = {
[SpeciesId.TAROUNTULA]: [ MoveId.STONE_AXE, MoveId.LEECH_LIFE, MoveId.FAKE_OUT, MoveId.SPORE ], [SpeciesId.TAROUNTULA]: [ MoveId.STONE_AXE, MoveId.LEECH_LIFE, MoveId.FAKE_OUT, MoveId.SPORE ],
[SpeciesId.NYMBLE]: [ MoveId.KNOCK_OFF, MoveId.FELL_STINGER, MoveId.ATTACK_ORDER, MoveId.WICKED_BLOW ], [SpeciesId.NYMBLE]: [ MoveId.KNOCK_OFF, MoveId.FELL_STINGER, MoveId.ATTACK_ORDER, MoveId.WICKED_BLOW ],
[SpeciesId.PAWMI]: [ MoveId.DRAIN_PUNCH, MoveId.METEOR_MASH, MoveId.JET_PUNCH, MoveId.PLASMA_FISTS ], [SpeciesId.PAWMI]: [ MoveId.DRAIN_PUNCH, MoveId.METEOR_MASH, MoveId.JET_PUNCH, MoveId.PLASMA_FISTS ],
[SpeciesId.TANDEMAUS]: [ MoveId.BATON_PASS, MoveId.FAKE_OUT, MoveId.POWER_UP_PUNCH, MoveId.REVIVAL_BLESSING ], [SpeciesId.TANDEMAUS]: [ MoveId.BATON_PASS, MoveId.COVET, MoveId.SIZZLY_SLIDE, MoveId.REVIVAL_BLESSING ],
[SpeciesId.FIDOUGH]: [ MoveId.SOFT_BOILED, MoveId.HIGH_HORSEPOWER, MoveId.SIZZLY_SLIDE, MoveId.TIDY_UP ], [SpeciesId.FIDOUGH]: [ MoveId.SOFT_BOILED, MoveId.HIGH_HORSEPOWER, MoveId.SIZZLY_SLIDE, MoveId.TIDY_UP ],
[SpeciesId.SMOLIV]: [ MoveId.STRENGTH_SAP, MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.BOOMBURST ], [SpeciesId.SMOLIV]: [ MoveId.STRENGTH_SAP, MoveId.EARTH_POWER, MoveId.CALM_MIND, MoveId.BOOMBURST ],
[SpeciesId.SQUAWKABILLY]: [ MoveId.PARTING_SHOT, MoveId.EARTHQUAKE, MoveId.FLARE_BLITZ, MoveId.EXTREME_SPEED ], [SpeciesId.SQUAWKABILLY]: [ MoveId.PARTING_SHOT, MoveId.EARTHQUAKE, MoveId.FLARE_BLITZ, MoveId.EXTREME_SPEED ],

View File

@ -36,9 +36,9 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[SpeciesId.ARBOK]: { 0: AbilityId.REGENERATOR }, [SpeciesId.ARBOK]: { 0: AbilityId.REGENERATOR },
[SpeciesId.SANDSHREW]: { 0: AbilityId.TOUGH_CLAWS }, [SpeciesId.SANDSHREW]: { 0: AbilityId.TOUGH_CLAWS },
[SpeciesId.SANDSLASH]: { 0: AbilityId.TOUGH_CLAWS }, [SpeciesId.SANDSLASH]: { 0: AbilityId.TOUGH_CLAWS },
[SpeciesId.NIDORAN_F]: { 0: AbilityId.TOXIC_DEBRIS }, [SpeciesId.NIDORAN_F]: { 0: AbilityId.FLARE_BOOST },
[SpeciesId.NIDORINA]: { 0: AbilityId.TOXIC_DEBRIS }, [SpeciesId.NIDORINA]: { 0: AbilityId.FLARE_BOOST },
[SpeciesId.NIDOQUEEN]: { 0: AbilityId.TOXIC_DEBRIS }, [SpeciesId.NIDOQUEEN]: { 0: AbilityId.FLARE_BOOST },
[SpeciesId.NIDORAN_M]: { 0: AbilityId.GUTS }, [SpeciesId.NIDORAN_M]: { 0: AbilityId.GUTS },
[SpeciesId.NIDORINO]: { 0: AbilityId.GUTS }, [SpeciesId.NIDORINO]: { 0: AbilityId.GUTS },
[SpeciesId.NIDOKING]: { 0: AbilityId.GUTS }, [SpeciesId.NIDOKING]: { 0: AbilityId.GUTS },
@ -220,8 +220,8 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[SpeciesId.YANMEGA]: { 0: AbilityId.SHEER_FORCE }, [SpeciesId.YANMEGA]: { 0: AbilityId.SHEER_FORCE },
[SpeciesId.WOOPER]: { 0: AbilityId.WATER_VEIL }, [SpeciesId.WOOPER]: { 0: AbilityId.WATER_VEIL },
[SpeciesId.QUAGSIRE]: { 0: AbilityId.COMATOSE }, [SpeciesId.QUAGSIRE]: { 0: AbilityId.COMATOSE },
[SpeciesId.MURKROW]: { 0: AbilityId.UNNERVE }, [SpeciesId.MURKROW]: { 0: AbilityId.DARK_AURA },
[SpeciesId.HONCHKROW]: { 0: AbilityId.INTIMIDATE }, [SpeciesId.HONCHKROW]: { 0: AbilityId.DARK_AURA },
[SpeciesId.MISDREAVUS]: { 0: AbilityId.BEADS_OF_RUIN }, [SpeciesId.MISDREAVUS]: { 0: AbilityId.BEADS_OF_RUIN },
[SpeciesId.MISMAGIUS]: { 0: AbilityId.BEADS_OF_RUIN }, [SpeciesId.MISMAGIUS]: { 0: AbilityId.BEADS_OF_RUIN },
[SpeciesId.UNOWN]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.BEAST_BOOST, 2: AbilityId.CONTRARY, 3: AbilityId.DAZZLING, 4: AbilityId.EMERGENCY_EXIT, 5: AbilityId.FRIEND_GUARD, 6: AbilityId.GOOD_AS_GOLD, 7: AbilityId.HONEY_GATHER, 8: AbilityId.IMPOSTER, 9: AbilityId.JUSTIFIED, 10: AbilityId.KLUTZ, 11: AbilityId.LIBERO, 12: AbilityId.MOODY, 13: AbilityId.NEUTRALIZING_GAS, 14: AbilityId.OPPORTUNIST, 15: AbilityId.PICKUP, 16: AbilityId.QUICK_DRAW, 17: AbilityId.RUN_AWAY, 18: AbilityId.SIMPLE, 19: AbilityId.TRACE, 20: AbilityId.UNNERVE, 21: AbilityId.VICTORY_STAR, 22: AbilityId.WANDERING_SPIRIT, 23: AbilityId.FAIRY_AURA, 24: AbilityId.DARK_AURA, 25: AbilityId.AURA_BREAK, 26: AbilityId.PURE_POWER, 27: AbilityId.UNAWARE }, [SpeciesId.UNOWN]: { 0: AbilityId.ADAPTABILITY, 1: AbilityId.BEAST_BOOST, 2: AbilityId.CONTRARY, 3: AbilityId.DAZZLING, 4: AbilityId.EMERGENCY_EXIT, 5: AbilityId.FRIEND_GUARD, 6: AbilityId.GOOD_AS_GOLD, 7: AbilityId.HONEY_GATHER, 8: AbilityId.IMPOSTER, 9: AbilityId.JUSTIFIED, 10: AbilityId.KLUTZ, 11: AbilityId.LIBERO, 12: AbilityId.MOODY, 13: AbilityId.NEUTRALIZING_GAS, 14: AbilityId.OPPORTUNIST, 15: AbilityId.PICKUP, 16: AbilityId.QUICK_DRAW, 17: AbilityId.RUN_AWAY, 18: AbilityId.SIMPLE, 19: AbilityId.TRACE, 20: AbilityId.UNNERVE, 21: AbilityId.VICTORY_STAR, 22: AbilityId.WANDERING_SPIRIT, 23: AbilityId.FAIRY_AURA, 24: AbilityId.DARK_AURA, 25: AbilityId.AURA_BREAK, 26: AbilityId.PURE_POWER, 27: AbilityId.UNAWARE },
@ -391,7 +391,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[SpeciesId.BANETTE]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.SHADOW_SHIELD }, [SpeciesId.BANETTE]: { 0: AbilityId.SHADOW_SHIELD, 1: AbilityId.SHADOW_SHIELD },
[SpeciesId.DUSKULL]: { 0: AbilityId.UNNERVE }, [SpeciesId.DUSKULL]: { 0: AbilityId.UNNERVE },
[SpeciesId.DUSCLOPS]: { 0: AbilityId.UNNERVE }, [SpeciesId.DUSCLOPS]: { 0: AbilityId.UNNERVE },
[SpeciesId.DUSKNOIR]: { 0: AbilityId.LEVITATE }, [SpeciesId.DUSKNOIR]: { 0: AbilityId.UNNERVE },
[SpeciesId.TROPIUS]: { 0: AbilityId.RIPEN }, [SpeciesId.TROPIUS]: { 0: AbilityId.RIPEN },
[SpeciesId.ABSOL]: { 0: AbilityId.SHARPNESS, 1: AbilityId.SHARPNESS }, [SpeciesId.ABSOL]: { 0: AbilityId.SHARPNESS, 1: AbilityId.SHARPNESS },
[SpeciesId.WYNAUT]: { 0: AbilityId.STURDY }, [SpeciesId.WYNAUT]: { 0: AbilityId.STURDY },
@ -640,9 +640,9 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[SpeciesId.LITWICK]: { 0: AbilityId.SHADOW_TAG }, [SpeciesId.LITWICK]: { 0: AbilityId.SHADOW_TAG },
[SpeciesId.LAMPENT]: { 0: AbilityId.SHADOW_TAG }, [SpeciesId.LAMPENT]: { 0: AbilityId.SHADOW_TAG },
[SpeciesId.CHANDELURE]: { 0: AbilityId.SHADOW_TAG }, [SpeciesId.CHANDELURE]: { 0: AbilityId.SHADOW_TAG },
[SpeciesId.AXEW]: { 0: AbilityId.OWN_TEMPO }, [SpeciesId.AXEW]: { 0: AbilityId.DRAGONS_MAW },
[SpeciesId.FRAXURE]: { 0: AbilityId.OWN_TEMPO }, [SpeciesId.FRAXURE]: { 0: AbilityId.DRAGONS_MAW },
[SpeciesId.HAXORUS]: { 0: AbilityId.OWN_TEMPO }, [SpeciesId.HAXORUS]: { 0: AbilityId.DRAGONS_MAW },
[SpeciesId.CUBCHOO]: { 0: AbilityId.FUR_COAT }, [SpeciesId.CUBCHOO]: { 0: AbilityId.FUR_COAT },
[SpeciesId.BEARTIC]: { 0: AbilityId.FUR_COAT }, [SpeciesId.BEARTIC]: { 0: AbilityId.FUR_COAT },
[SpeciesId.CRYOGONAL]: { 0: AbilityId.SNOW_WARNING }, [SpeciesId.CRYOGONAL]: { 0: AbilityId.SNOW_WARNING },
@ -827,7 +827,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[SpeciesId.TAPU_LELE]: { 0: AbilityId.BERSERK }, [SpeciesId.TAPU_LELE]: { 0: AbilityId.BERSERK },
[SpeciesId.TAPU_BULU]: { 0: AbilityId.FLOWER_VEIL }, [SpeciesId.TAPU_BULU]: { 0: AbilityId.FLOWER_VEIL },
[SpeciesId.TAPU_FINI]: { 0: AbilityId.FAIRY_AURA }, [SpeciesId.TAPU_FINI]: { 0: AbilityId.FAIRY_AURA },
[SpeciesId.COSMOG]: { 0: AbilityId.POWER_SPOT }, [SpeciesId.COSMOG]: { 0: AbilityId.PICKUP },
[SpeciesId.COSMOEM]: { 0: AbilityId.POWER_SPOT }, [SpeciesId.COSMOEM]: { 0: AbilityId.POWER_SPOT },
[SpeciesId.SOLGALEO]: { 0: AbilityId.BEAST_BOOST }, [SpeciesId.SOLGALEO]: { 0: AbilityId.BEAST_BOOST },
[SpeciesId.LUNALA]: { 0: AbilityId.BEAST_BOOST }, [SpeciesId.LUNALA]: { 0: AbilityId.BEAST_BOOST },
@ -1044,7 +1044,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[SpeciesId.FINIZEN]: { 0: AbilityId.FRIEND_GUARD }, [SpeciesId.FINIZEN]: { 0: AbilityId.FRIEND_GUARD },
[SpeciesId.PALAFIN]: { 0: AbilityId.EMERGENCY_EXIT, 1: AbilityId.IRON_FIST }, [SpeciesId.PALAFIN]: { 0: AbilityId.EMERGENCY_EXIT, 1: AbilityId.IRON_FIST },
[SpeciesId.VAROOM]: { 0: AbilityId.LEVITATE }, [SpeciesId.VAROOM]: { 0: AbilityId.LEVITATE },
[SpeciesId.REVAVROOM]: { 0: AbilityId.LEVITATE, 1: AbilityId.INTIMIDATE, 2: AbilityId.SPEED_BOOST, 3: AbilityId.TOXIC_DEBRIS, 4: AbilityId.MISTY_SURGE, 5: AbilityId.STAMINA }, [SpeciesId.REVAVROOM]: { 0: AbilityId.LEVITATE, 1: AbilityId.DARK_AURA, 2: AbilityId.FLASH_FIRE, 3: AbilityId.MERCILESS, 4: AbilityId.FILTER, 5: AbilityId.SCRAPPY },
[SpeciesId.CYCLIZAR]: { 0: AbilityId.PROTEAN }, [SpeciesId.CYCLIZAR]: { 0: AbilityId.PROTEAN },
[SpeciesId.ORTHWORM]: { 0: AbilityId.REGENERATOR }, [SpeciesId.ORTHWORM]: { 0: AbilityId.REGENERATOR },
[SpeciesId.GLIMMET]: { 0: AbilityId.STURDY }, [SpeciesId.GLIMMET]: { 0: AbilityId.STURDY },

View File

@ -1618,11 +1618,11 @@ export function initSpecies() {
new PokemonSpecies(SpeciesId.VAROOM, 9, false, false, false, "Single-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1, 35, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.SLOW_START, 300, 45, 70, 63, 30, 45, 47, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false), new PokemonSpecies(SpeciesId.VAROOM, 9, false, false, false, "Single-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1, 35, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.SLOW_START, 300, 45, 70, 63, 30, 45, 47, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(SpeciesId.REVAVROOM, 9, false, false, false, "Multi-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, false, new PokemonSpecies(SpeciesId.REVAVROOM, 9, false, false, false, "Multi-Cyl Pokémon", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, GrowthRate.MEDIUM_FAST, 50, false, false,
new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, false, null, true), new PokemonForm("Normal", "", PokemonType.STEEL, PokemonType.POISON, 1.8, 120, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.FILTER, 500, 80, 119, 90, 54, 67, 90, 75, 50, 175, false, null, true),
new PokemonForm("Segin Starmobile", "segin-starmobile", PokemonType.STEEL, PokemonType.DARK, 1.8, 240, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.OVERCOAT, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), new PokemonForm("Segin Starmobile", "segin-starmobile", PokemonType.STEEL, PokemonType.DARK, 1.8, 240, AbilityId.INTIMIDATE, AbilityId.NONE, AbilityId.INTIMIDATE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true),
new PokemonForm("Schedar Starmobile", "schedar-starmobile", PokemonType.STEEL, PokemonType.FIRE, 1.8, 240, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.OVERCOAT, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), new PokemonForm("Schedar Starmobile", "schedar-starmobile", PokemonType.STEEL, PokemonType.FIRE, 1.8, 240, AbilityId.SPEED_BOOST, AbilityId.NONE, AbilityId.SPEED_BOOST, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true),
new PokemonForm("Navi Starmobile", "navi-starmobile", PokemonType.STEEL, PokemonType.POISON, 1.8, 240, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.OVERCOAT, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), new PokemonForm("Navi Starmobile", "navi-starmobile", PokemonType.STEEL, PokemonType.POISON, 1.8, 240, AbilityId.TOXIC_DEBRIS, AbilityId.NONE, AbilityId.TOXIC_DEBRIS, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true),
new PokemonForm("Ruchbah Starmobile", "ruchbah-starmobile", PokemonType.STEEL, PokemonType.FAIRY, 1.8, 240, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.OVERCOAT, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true), new PokemonForm("Ruchbah Starmobile", "ruchbah-starmobile", PokemonType.STEEL, PokemonType.FAIRY, 1.8, 240, AbilityId.MISTY_SURGE, AbilityId.NONE, AbilityId.MISTY_SURGE, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true),
new PokemonForm("Caph Starmobile", "caph-starmobile", PokemonType.STEEL, PokemonType.FIGHTING, 1.8, 240, AbilityId.OVERCOAT, AbilityId.NONE, AbilityId.OVERCOAT, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true) new PokemonForm("Caph Starmobile", "caph-starmobile", PokemonType.STEEL, PokemonType.FIGHTING, 1.8, 240, AbilityId.STAMINA, AbilityId.NONE, AbilityId.STAMINA, 600, 110, 129, 100, 77, 79, 105, 75, 50, 175, false, null, false, true)
), ),
new PokemonSpecies(SpeciesId.CYCLIZAR, 9, false, false, false, "Mount Pokémon", PokemonType.DRAGON, PokemonType.NORMAL, 1.6, 63, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.REGENERATOR, 501, 70, 95, 65, 85, 65, 121, 190, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false), new PokemonSpecies(SpeciesId.CYCLIZAR, 9, false, false, false, "Mount Pokémon", PokemonType.DRAGON, PokemonType.NORMAL, 1.6, 63, AbilityId.SHED_SKIN, AbilityId.NONE, AbilityId.REGENERATOR, 501, 70, 95, 65, 85, 65, 121, 190, 50, 175, GrowthRate.MEDIUM_SLOW, 50, false),
new PokemonSpecies(SpeciesId.ORTHWORM, 9, false, false, false, "Earthworm Pokémon", PokemonType.STEEL, null, 2.5, 310, AbilityId.EARTH_EATER, AbilityId.NONE, AbilityId.SAND_VEIL, 480, 70, 85, 145, 60, 55, 65, 25, 50, 240, GrowthRate.SLOW, 50, false), new PokemonSpecies(SpeciesId.ORTHWORM, 9, false, false, false, "Earthworm Pokémon", PokemonType.STEEL, null, 2.5, 310, AbilityId.EARTH_EATER, AbilityId.NONE, AbilityId.SAND_VEIL, 480, 70, 85, 145, 60, 55, 65, 25, 50, 240, GrowthRate.SLOW, 50, false),

View File

@ -30,7 +30,7 @@ export const signatureSpecies: SignatureSpecies = new Proxy({
FALKNER: [SpeciesId.PIDGEY, SpeciesId.HOOTHOOT, SpeciesId.NATU, SpeciesId.MURKROW], FALKNER: [SpeciesId.PIDGEY, SpeciesId.HOOTHOOT, SpeciesId.NATU, SpeciesId.MURKROW],
BUGSY: [SpeciesId.SCYTHER, SpeciesId.SHUCKLE, SpeciesId.YANMA, [SpeciesId.PINSIR, SpeciesId.HERACROSS]], BUGSY: [SpeciesId.SCYTHER, SpeciesId.SHUCKLE, SpeciesId.YANMA, [SpeciesId.PINSIR, SpeciesId.HERACROSS]],
WHITNEY: [SpeciesId.MILTANK, SpeciesId.AIPOM, SpeciesId.IGGLYBUFF, [SpeciesId.GIRAFARIG, SpeciesId.STANTLER]], WHITNEY: [SpeciesId.MILTANK, SpeciesId.AIPOM, SpeciesId.IGGLYBUFF, [SpeciesId.GIRAFARIG, SpeciesId.STANTLER]],
MORTY: [SpeciesId.GASTLY, SpeciesId.MISDREAVUS, SpeciesId.DUSKULL, SpeciesId.HISUI_TYPHLOSION], MORTY: [SpeciesId.GASTLY, SpeciesId.MISDREAVUS, SpeciesId.DUSKULL, SpeciesId.SABLEYE],
CHUCK: [SpeciesId.POLIWRATH, SpeciesId.MANKEY, SpeciesId.TYROGUE, SpeciesId.MACHOP], CHUCK: [SpeciesId.POLIWRATH, SpeciesId.MANKEY, SpeciesId.TYROGUE, SpeciesId.MACHOP],
JASMINE: [SpeciesId.STEELIX, SpeciesId.MAGNEMITE, SpeciesId.PINECO, SpeciesId.SKARMORY], JASMINE: [SpeciesId.STEELIX, SpeciesId.MAGNEMITE, SpeciesId.PINECO, SpeciesId.SKARMORY],
PRYCE: [SpeciesId.SWINUB, SpeciesId.SEEL, SpeciesId.SHELLDER, SpeciesId.SNEASEL], PRYCE: [SpeciesId.SWINUB, SpeciesId.SEEL, SpeciesId.SHELLDER, SpeciesId.SNEASEL],

View File

@ -566,7 +566,7 @@ export const speciesStarterCosts = {
[SpeciesId.FLITTLE]: 3, [SpeciesId.FLITTLE]: 3,
[SpeciesId.TINKATINK]: 4, [SpeciesId.TINKATINK]: 4,
[SpeciesId.WIGLETT]: 2, [SpeciesId.WIGLETT]: 2,
[SpeciesId.BOMBIRDIER]: 4, [SpeciesId.BOMBIRDIER]: 3,
[SpeciesId.FINIZEN]: 3, [SpeciesId.FINIZEN]: 3,
[SpeciesId.VAROOM]: 4, [SpeciesId.VAROOM]: 4,
[SpeciesId.CYCLIZAR]: 4, [SpeciesId.CYCLIZAR]: 4,

File diff suppressed because it is too large Load Diff

View File

@ -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,
} }

View File

@ -536,7 +536,6 @@ export class Arena {
case BiomeId.ABYSS: case BiomeId.ABYSS:
case BiomeId.SPACE: case BiomeId.SPACE:
case BiomeId.TEMPLE: case BiomeId.TEMPLE:
case BiomeId.LABORATORY:
return 16; return 16;
default: default:
return 0; return 0;

View File

@ -29,7 +29,6 @@ export class LoadingScene extends SceneBase {
this.loadImage("loading_bg", "arenas"); this.loadImage("loading_bg", "arenas");
this.loadImage("logo", ""); this.loadImage("logo", "");
this.loadImage("logo_fake", "");
// Load menu images // Load menu images
this.loadAtlas("bg", "ui"); this.loadAtlas("bg", "ui");

View File

@ -829,7 +829,6 @@ export class MoveEffectPhase extends PokemonPhase {
const substitute = target.getTag(SubstituteTag); const substitute = target.getTag(SubstituteTag);
const isBlockedBySubstitute = substitute && this.move.hitsSubstitute(user, target); const isBlockedBySubstitute = substitute && this.move.hitsSubstitute(user, target);
if (isBlockedBySubstitute) { if (isBlockedBySubstitute) {
user.turnData.totalDamageDealt += Math.min(dmg, substitute.hp);
substitute.hp -= dmg; substitute.hp -= dmg;
} else if (!target.isPlayer() && dmg >= target.hp) { } else if (!target.isPlayer() && dmg >= target.hp) {
globalScene.applyModifiers(EnemyEndureChanceModifier, false, target); globalScene.applyModifiers(EnemyEndureChanceModifier, false, target);

View File

@ -397,16 +397,6 @@ export class TimedEventManager {
return timedEvents.some((te: TimedEvent) => this.isActive(te)); return timedEvents.some((te: TimedEvent) => this.isActive(te));
} }
/**
* Check whether the current event is active and for April Fools.
* @returns Whether the April Fools event is currently active.
*/
isAprilFoolsActive(): boolean {
return timedEvents.some(
te => this.isActive(te) && te.hasOwnProperty("bannerKey") && te.bannerKey!.startsWith("aprf"),
);
}
activeEventHasBanner(): boolean { activeEventHasBanner(): boolean {
const activeEvents = timedEvents.filter(te => this.isActive(te) && te.hasOwnProperty("bannerKey")); const activeEvents = timedEvents.filter(te => this.isActive(te) && te.hasOwnProperty("bannerKey"));
return activeEvents.length > 0; return activeEvents.length > 0;

View File

@ -1,5 +1,4 @@
import { pokerogueApi } from "#api/pokerogue-api"; import { pokerogueApi } from "#api/pokerogue-api";
import { FAKE_TITLE_LOGO_CHANCE } from "#app/constants";
import { timedEventManager } from "#app/global-event-manager"; import { timedEventManager } from "#app/global-event-manager";
import { globalScene } from "#app/global-scene"; import { globalScene } from "#app/global-scene";
import { TimedEventDisplay } from "#app/timed-event-manager"; import { TimedEventDisplay } from "#app/timed-event-manager";
@ -42,7 +41,7 @@ export class TitleUiHandler extends OptionSelectUiHandler {
this.titleContainer.setAlpha(0); this.titleContainer.setAlpha(0);
ui.add(this.titleContainer); ui.add(this.titleContainer);
const logo = globalScene.add.image(globalScene.scaledCanvas.width / 2, 8, this.getLogo()); const logo = globalScene.add.image(globalScene.scaledCanvas.width / 2, 8, "logo");
logo.setOrigin(0.5, 0); logo.setOrigin(0.5, 0);
this.titleContainer.add(logo); this.titleContainer.add(logo);
@ -187,14 +186,4 @@ export class TitleUiHandler extends OptionSelectUiHandler {
ease: "Sine.easeInOut", ease: "Sine.easeInOut",
}); });
} }
/**
* Get the logo file path to load, with a 0.1% chance to use the fake logo instead.
* @returns The path to the image.
*/
private getLogo(): string {
// Invert spawn chances on april fools
const aprilFools = timedEventManager.isAprilFoolsActive();
return aprilFools === !!randInt(FAKE_TITLE_LOGO_CHANCE) ? "logo_fake" : "logo";
}
} }

View File

@ -70,16 +70,12 @@ export function padInt(value: number, length: number, padWith?: string): string
} }
/** /**
* Returns a **completely unseeded** random integer between `min` and `min + range`. * Returns a random integer between min and min + range
* @param range - The amount of possible numbers to pick * @param range The amount of possible numbers
* @param min - The minimum number to pick; default `0` * @param min The starting number
* @returns A psuedo-random, unseeded integer within the interval [min, min+range].
* @remarks
* This should not be used for battles or other outwards-facing randomness;
* battles are intended to be seeded and deterministic.
*/ */
export function randInt(range: number, min = 0): number { export function randInt(range: number, min = 0): number {
if (range <= 1) { if (range === 1) {
return min; return min;
} }
return Math.floor(Math.random() * range) + min; return Math.floor(Math.random() * range) + min;

View File

@ -1,15 +1,10 @@
import { getPokemonNameWithAffix } from "#app/messages";
import { allAbilities } from "#data/data-lists"; import { allAbilities } from "#data/data-lists";
import { AbilityId } from "#enums/ability-id"; import { AbilityId } from "#enums/ability-id";
import { Button } from "#enums/buttons";
import { MoveId } from "#enums/move-id"; import { MoveId } from "#enums/move-id";
import { SpeciesId } from "#enums/species-id"; import { SpeciesId } from "#enums/species-id";
import { UiMode } from "#enums/ui-mode";
import { GameManager } from "#test/test-utils/game-manager"; import { GameManager } from "#test/test-utils/game-manager";
import type { PartyUiHandler } from "#ui/party-ui-handler";
import i18next from "i18next";
import Phaser from "phaser"; import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
describe("Abilities - Arena Trap", () => { describe("Abilities - Arena Trap", () => {
let phaserGame: Phaser.Game; let phaserGame: Phaser.Game;
@ -28,64 +23,68 @@ describe("Abilities - Arena Trap", () => {
beforeEach(() => { beforeEach(() => {
game = new GameManager(phaserGame); game = new GameManager(phaserGame);
game.override game.override
.moveset(MoveId.SPLASH)
.ability(AbilityId.ARENA_TRAP) .ability(AbilityId.ARENA_TRAP)
.enemyAbility(AbilityId.ARENA_TRAP)
.enemySpecies(SpeciesId.RALTS) .enemySpecies(SpeciesId.RALTS)
.enemyMoveset(MoveId.SPLASH); .enemyAbility(AbilityId.BALL_FETCH)
.enemyMoveset(MoveId.TELEPORT);
}); });
// NB: Since switching moves bypass trapping, the only way fleeing can occur in PKR is from the player // TODO: Enable test when Issue #935 is addressed
// TODO: Implement once forced flee helper exists it.todo("should not allow grounded Pokémon to flee", async () => {
it.todo("should interrupt player flee attempt and display message, unless user has Run Away");
// TODO: Figure out how to wrangle the UI into not timing out
it.todo("should interrupt player switch attempt and display message", async () => {
game.override.battleStyle("single"); game.override.battleStyle("single");
await game.classicMode.startBattle([SpeciesId.DUGTRIO, SpeciesId.GOTHITELLE]);
const enemy = game.field.getEnemyPokemon(); await game.classicMode.startBattle();
game.doSwitchPokemon(1); const enemy = game.scene.getEnemyPokemon();
game.onNextPrompt("CommandPhase", UiMode.PARTY, () => {
// no switch out command should be queued due to arena trap
expect(game.scene.currentBattle.turnCommands[0]).toBeNull();
// back out and end the phase to avoid timeout game.move.select(MoveId.SPLASH);
console.log(game.scene.ui.getHandler().constructor.name);
(game.scene.ui.getHandler() as PartyUiHandler).processInput(Button.CANCEL);
});
await game.phaseInterceptor.to("CommandPhase"); await game.toNextTurn();
expect(game.textInterceptor.logs).toContain( expect(enemy).toBe(game.scene.getEnemyPokemon());
i18next.t("abilityTriggers:arenaTrap", {
pokemonNameWithAffix: getPokemonNameWithAffix(enemy),
abilityName: allAbilities[AbilityId.ARENA_TRAP].name,
}),
);
}); });
it("should guarantee double battle with any one LURE", async () => { it("should guarantee double battle with any one LURE", async () => {
game.override.startingModifier([{ name: "LURE" }]).startingWave(2); game.override.startingModifier([{ name: "LURE" }]).startingWave(2);
await game.classicMode.startBattle([SpeciesId.DUGTRIO]);
expect(game.scene.getEnemyField()).toHaveLength(2); await game.classicMode.startBattle();
expect(game.scene.getEnemyField().length).toBe(2);
}); });
/**
* This checks if the Player Pokemon is able to switch out/run away after the Enemy Pokemon with {@linkcode AbilityId.ARENA_TRAP}
* is forcefully moved out of the field from moves such as Roar {@linkcode MoveId.ROAR}
*
* Note: It should be able to switch out/run away
*/
it("should lift if pokemon with this ability leaves the field", async () => { it("should lift if pokemon with this ability leaves the field", async () => {
game.override.battleStyle("single"); game.override
await game.classicMode.startBattle([SpeciesId.MAGIKARP]); .battleStyle("double")
.enemyMoveset(MoveId.SPLASH)
.moveset([MoveId.ROAR, MoveId.SPLASH])
.ability(AbilityId.BALL_FETCH);
await game.classicMode.startBattle([SpeciesId.MAGIKARP, SpeciesId.SUDOWOODO, SpeciesId.LUNATONE]);
const player = game.field.getPlayerPokemon(); const [enemy1, enemy2] = game.scene.getEnemyField();
const enemy = game.field.getEnemyPokemon(); const [player1, player2] = game.scene.getPlayerField();
expect(player.isTrapped()).toBe(true); vi.spyOn(enemy1, "getAbility").mockReturnValue(allAbilities[AbilityId.ARENA_TRAP]);
expect(enemy.isOnField()).toBe(true);
game.move.use(MoveId.ROAR); game.move.select(MoveId.ROAR);
await game.toEndOfTurn(); game.move.select(MoveId.SPLASH, 1);
expect(player.isTrapped()).toBe(false); // This runs the fist command phase where the moves are selected
expect(enemy.isOnField()).toBe(false); await game.toNextTurn();
// During the next command phase the player pokemons should not be trapped anymore
game.move.select(MoveId.SPLASH);
game.move.select(MoveId.SPLASH, 1);
await game.toNextTurn();
expect(player1.isTrapped()).toBe(false);
expect(player2.isTrapped()).toBe(false);
expect(enemy1.isOnField()).toBe(false);
expect(enemy2.isOnField()).toBe(true);
}); });
}); });

View File

@ -1,84 +0,0 @@
import { AbilityId } from "#enums/ability-id";
import { BattlerTagType } from "#enums/battler-tag-type";
import { MoveId } from "#enums/move-id";
import { SpeciesId } from "#enums/species-id";
import { GameManager } from "#test/test-utils/game-manager";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
describe("Moves - Recoil Moves", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override
.battleStyle("single")
.enemySpecies(SpeciesId.PIDOVE)
.startingLevel(1)
.enemyLevel(100)
.enemyMoveset(MoveId.SUBSTITUTE)
.criticalHits(false)
.ability(AbilityId.NO_GUARD)
.enemyAbility(AbilityId.BALL_FETCH);
});
it.each([
{ moveName: "Double Edge", moveId: MoveId.DOUBLE_EDGE },
{ moveName: "Brave Bird", moveId: MoveId.BRAVE_BIRD },
{ moveName: "Flare Blitz", moveId: MoveId.FLARE_BLITZ },
{ moveName: "Head Charge", moveId: MoveId.HEAD_CHARGE },
{ moveName: "Head Smash", moveId: MoveId.HEAD_SMASH },
{ moveName: "Light of Ruin", moveId: MoveId.LIGHT_OF_RUIN },
{ moveName: "Struggle", moveId: MoveId.STRUGGLE },
{ moveName: "Submission", moveId: MoveId.SUBMISSION },
{ moveName: "Take Down", moveId: MoveId.TAKE_DOWN },
{ moveName: "Volt Tackle", moveId: MoveId.VOLT_TACKLE },
{ moveName: "Wave Crash", moveId: MoveId.WAVE_CRASH },
{ moveName: "Wild Charge", moveId: MoveId.WILD_CHARGE },
{ moveName: "Wood Hammer", moveId: MoveId.WOOD_HAMMER },
])("$moveName causes recoil damage when hitting a substitute", async ({ moveId }) => {
await game.classicMode.startBattle([SpeciesId.TOGEPI]);
game.move.use(moveId);
await game.phaseInterceptor.to("MoveEndPhase"); // Pidove substitute
const pidove = game.field.getEnemyPokemon();
const subTag = pidove.getTag(BattlerTagType.SUBSTITUTE)!;
expect(subTag).toBeDefined();
const subInitialHp = subTag.hp;
await game.phaseInterceptor.to("MoveEndPhase"); // player attack
expect(subTag.hp).toBeLessThan(subInitialHp);
const playerPokemon = game.field.getPlayerPokemon();
expect(playerPokemon.hp).toBeLessThan(playerPokemon.getMaxHp());
});
it("causes recoil damage when hitting a substitute in a double battle", async () => {
game.override.battleStyle("double");
await game.classicMode.startBattle([SpeciesId.TOGEPI, SpeciesId.TOGEPI]);
const [playerPokemon1, playerPokemon2] = game.scene.getPlayerField();
game.move.use(MoveId.DOUBLE_EDGE, 0);
game.move.use(MoveId.DOUBLE_EDGE, 1);
await game.toNextTurn();
expect(playerPokemon1.hp).toBeLessThan(playerPokemon1.getMaxHp());
expect(playerPokemon2.hp).toBeLessThan(playerPokemon2.getMaxHp());
});
});