From 6bc0bf9f8bb8abbdc6eba6013ddfd49d0a9b7bc4 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 29 Dec 2023 14:25:24 +0100 Subject: [PATCH] Ability refactor (#3861) * Ability refactor * Adds abilities to RHH rom header --------- Co-authored-by: Martin Griffin --- include/battle_main.h | 2 - include/pokemon.h | 7 + src/battle_debug.c | 6 +- src/battle_interface.c | 2 +- src/battle_main.c | 2 - src/battle_message.c | 12 +- src/data/abilities.h | 2068 ++++++++++++++++++++++++++++++++++ src/data/text/abilities.h | 1250 -------------------- src/debug.c | 4 +- src/party_menu.c | 4 +- src/pokedex_plus_hgss.c | 12 +- src/pokemon.c | 1 + src/pokemon_summary_screen.c | 4 +- src/rom_header_gf.c | 4 +- src/rom_header_rhh.c | 5 + 15 files changed, 2105 insertions(+), 1278 deletions(-) create mode 100644 src/data/abilities.h delete mode 100644 src/data/text/abilities.h diff --git a/include/battle_main.h b/include/battle_main.h index b171b2f289..2c5d887018 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -84,8 +84,6 @@ extern const struct OamData gOamData_BattleSpriteOpponentSide; extern const struct OamData gOamData_BattleSpritePlayerSide; extern const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1]; extern const struct TrainerMoney gTrainerMoneyTable[]; -extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1]; -extern const u8 *const gAbilityDescriptionPointers[]; extern const u8 gStatusConditionString_PoisonJpn[8]; extern const u8 gStatusConditionString_SleepJpn[8]; diff --git a/include/pokemon.h b/include/pokemon.h index ae93f5fa92..6ce793a19e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -509,6 +509,12 @@ struct BattleMove u16 argument; }; +struct Ability +{ + u8 name[ABILITY_NAME_LENGTH + 1]; + const u8 *description; +}; + #define SPINDA_SPOT_WIDTH 16 #define SPINDA_SPOT_HEIGHT 16 @@ -577,6 +583,7 @@ extern const u16 gUnionRoomFacilityClasses[]; extern const struct SpriteTemplate gBattlerSpriteTemplates[]; extern const s8 gNatureStatTable[][5]; extern const u32 sExpCandyExperienceTable[]; +extern const struct Ability gAbilities[]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); diff --git a/src/battle_debug.c b/src/battle_debug.c index 24ec2d13cd..8e4046b565 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -864,7 +864,7 @@ static void PutAiInfoText(struct BattleDebugMenu *data) u16 holdEffect = AI_DATA->holdEffects[i]; u16 item = AI_DATA->items[i]; u8 x = (i == B_POSITION_PLAYER_LEFT) ? 83 + (i) * 75 : 83 + (i-1) * 75; - AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, gAbilityNames[ability], x, 0, 0, NULL); + AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, gAbilities[ability].name, x, 0, 0, NULL); AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, ItemId_GetName(item), x, 15, 0, NULL); AddTextPrinterParameterized(data->aiMovesWindowId, FONT_SMALL, GetHoldEffectName(holdEffect), x, 30, 0, NULL); } @@ -897,7 +897,7 @@ static void PutAiPartyText(struct BattleDebugMenu *data) AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 0, 0, NULL, 0, 0); } - txtPtr = StringCopyN(text, gAbilityNames[aiMons[i].ability], 7); // The screen is too small to fit the whole string, so we need to drop the last letters. + txtPtr = StringCopyN(text, gAbilities[aiMons[i].ability].name, 7); // The screen is too small to fit the whole string, so we need to drop the last letters. *txtPtr = EOS; AddTextPrinterParameterized5(data->aiMovesWindowId, FONT_SMALL_NARROW, text, i * 41, 15, 0, NULL, 0, 0); @@ -1433,7 +1433,7 @@ static void PrintSecondaryEntries(struct BattleDebugMenu *data) } break; case LIST_ITEM_ABILITY: - PadString(gAbilityNames[gBattleMons[data->battlerId].ability], text); + PadString(gAbilities[gBattleMons[data->battlerId].ability].name, text); printer.currentY = printer.y = sSecondaryListTemplate.upText_Y; AddTextPrinter(&printer, 0, NULL); break; diff --git a/src/battle_interface.c b/src/battle_interface.c index b07cb3ee07..3357fd9939 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -3113,7 +3113,7 @@ static void PrintBattlerOnAbilityPopUp(u8 battlerId, u8 spriteId1, u8 spriteId2) static void PrintAbilityOnAbilityPopUp(u32 ability, u8 spriteId1, u8 spriteId2) { - PrintOnAbilityPopUp(gAbilityNames[ability], + PrintOnAbilityPopUp(gAbilities[ability].name, (void*)(OBJ_VRAM0) + (gSprites[spriteId1].oam.tileNum * 32) + 256, (void*)(OBJ_VRAM0) + (gSprites[spriteId2].oam.tileNum * 32) + 256, 5, 12, diff --git a/src/battle_main.c b/src/battle_main.c index d5186b7ef2..944a386861 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -409,8 +409,6 @@ static const u16 sTrainerBallTable[TRAINER_CLASS_COUNT] = }; #endif -#include "data/text/abilities.h" - static void (* const sTurnActionsFuncsTable[])(void) = { [B_ACTION_USE_MOVE] = HandleAction_UseMove, diff --git a/src/battle_message.c b/src/battle_message.c index 35ff5379ec..7d2c60d67a 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -3407,19 +3407,19 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) } break; case B_TXT_LAST_ABILITY: // last used ability - toCpy = gAbilityNames[gLastUsedAbility]; + toCpy = gAbilities[gLastUsedAbility].name; break; case B_TXT_ATK_ABILITY: // attacker ability - toCpy = gAbilityNames[sBattlerAbilities[gBattlerAttacker]]; + toCpy = gAbilities[sBattlerAbilities[gBattlerAttacker]].name; break; case B_TXT_DEF_ABILITY: // target ability - toCpy = gAbilityNames[sBattlerAbilities[gBattlerTarget]]; + toCpy = gAbilities[sBattlerAbilities[gBattlerTarget]].name; break; case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability - toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]]; + toCpy = gAbilities[sBattlerAbilities[gBattleScripting.battler]].name; break; case B_TXT_EFF_ABILITY: // effect battler ability - toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]]; + toCpy = gAbilities[sBattlerAbilities[gEffectBattler]].name; break; case B_TXT_TRAINER1_CLASS: // trainer class name toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); @@ -3781,7 +3781,7 @@ void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 2; break; case B_BUFF_ABILITY: // ability names - StringAppend(dst, gAbilityNames[T1_READ_16(&src[srcID + 1])]); + StringAppend(dst, gAbilities[T1_READ_16(&src[srcID + 1])].name); srcID += 3; break; case B_BUFF_ITEM: // item name diff --git a/src/data/abilities.h b/src/data/abilities.h new file mode 100644 index 0000000000..2ff80f3ab3 --- /dev/null +++ b/src/data/abilities.h @@ -0,0 +1,2068 @@ +const struct Ability gAbilities[ABILITIES_COUNT] = +{ + [ABILITY_NONE] = + { + .name = _("-------"), + .description = COMPOUND_STRING("No special ability."), + }, + + [ABILITY_STENCH] = + { + .name = _("Stench"), + .description = COMPOUND_STRING("May cause a foe to flinch."), + }, + + [ABILITY_DRIZZLE] = + { + .name = _("Drizzle"), + .description = COMPOUND_STRING("Summons rain in battle."), + }, + + [ABILITY_SPEED_BOOST] = + { + .name = _("Speed Boost"), + .description = COMPOUND_STRING("Gradually boosts Speed."), + }, + + [ABILITY_BATTLE_ARMOR] = + { + .name = _("Battle Armor"), + .description = COMPOUND_STRING("Blocks critical hits."), + }, + + [ABILITY_STURDY] = + { + .name = _("Sturdy"), + .description = COMPOUND_STRING("Negates 1-hit KO attacks."), + }, + + [ABILITY_DAMP] = + { + .name = _("Damp"), + .description = COMPOUND_STRING("Prevents self-destruction."), + }, + + [ABILITY_LIMBER] = + { + .name = _("Limber"), + .description = COMPOUND_STRING("Prevents paralysis."), + }, + + [ABILITY_SAND_VEIL] = + { + .name = _("Sand Veil"), + .description = COMPOUND_STRING("Ups evasion in a sandstorm."), + }, + + [ABILITY_STATIC] = + { + .name = _("Static"), + .description = COMPOUND_STRING("Paralyzes on contact."), + }, + + [ABILITY_VOLT_ABSORB] = + { + .name = _("Volt Absorb"), + .description = COMPOUND_STRING("Turns electricity into HP."), + }, + + [ABILITY_WATER_ABSORB] = + { + .name = _("Water Absorb"), + .description = COMPOUND_STRING("Changes water into HP."), + }, + + [ABILITY_OBLIVIOUS] = + { + .name = _("Oblivious"), + .description = COMPOUND_STRING("Prevents attraction."), + }, + + [ABILITY_CLOUD_NINE] = + { + .name = _("Cloud Nine"), + .description = COMPOUND_STRING("Negates weather effects."), + }, + + [ABILITY_COMPOUND_EYES] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Compound Eyes"), + #else + .name = _("CompoundEyes"), + #endif + .description = COMPOUND_STRING("Raises accuracy."), + }, + + [ABILITY_INSOMNIA] = + { + .name = _("Insomnia"), + .description = COMPOUND_STRING("Prevents sleep."), + }, + + [ABILITY_COLOR_CHANGE] = + { + .name = _("Color Change"), + .description = COMPOUND_STRING("Changes type to foe's move."), + }, + + [ABILITY_IMMUNITY] = + { + .name = _("Immunity"), + .description = COMPOUND_STRING("Prevents poisoning."), + }, + + [ABILITY_FLASH_FIRE] = + { + .name = _("Flash Fire"), + .description = COMPOUND_STRING("Powers up if hit by fire."), + }, + + [ABILITY_SHIELD_DUST] = + { + .name = _("Shield Dust"), + .description = COMPOUND_STRING("Prevents added effects."), + }, + + [ABILITY_OWN_TEMPO] = + { + .name = _("Own Tempo"), + .description = COMPOUND_STRING("Prevents confusion."), + }, + + [ABILITY_SUCTION_CUPS] = + { + .name = _("Suction Cups"), + .description = COMPOUND_STRING("Firmly anchors the body."), + }, + + [ABILITY_INTIMIDATE] = + { + .name = _("Intimidate"), + .description = COMPOUND_STRING("Lowers the foe's Attack."), + }, + + [ABILITY_SHADOW_TAG] = + { + .name = _("Shadow Tag"), + .description = COMPOUND_STRING("Prevents the foe's escape."), + }, + + [ABILITY_ROUGH_SKIN] = + { + .name = _("Rough Skin"), + .description = COMPOUND_STRING("Hurts to touch."), + }, + + [ABILITY_WONDER_GUARD] = + { + .name = _("Wonder Guard"), + .description = COMPOUND_STRING("“Supereffective” hits."), + }, + + [ABILITY_LEVITATE] = + { + .name = _("Levitate"), + .description = COMPOUND_STRING("Not hit by Ground attacks."), + }, + + [ABILITY_EFFECT_SPORE] = + { + .name = _("Effect Spore"), + .description = COMPOUND_STRING("Leaves spores on contact."), + }, + + [ABILITY_SYNCHRONIZE] = + { + .name = _("Synchronize"), + .description = COMPOUND_STRING("Passes on status problems."), + }, + + [ABILITY_CLEAR_BODY] = + { + .name = _("Clear Body"), + .description = COMPOUND_STRING("Prevents ability reduction."), + }, + + [ABILITY_NATURAL_CURE] = + { + .name = _("Natural Cure"), + .description = COMPOUND_STRING("Heals upon switching out."), + }, + + [ABILITY_LIGHTNING_ROD] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Lightning Rod"), + #else + .name = _("LightningRod"), + #endif + .description = COMPOUND_STRING("Draws electrical moves."), + }, + + [ABILITY_SERENE_GRACE] = + { + .name = _("Serene Grace"), + .description = COMPOUND_STRING("Promotes added effects."), + }, + + [ABILITY_SWIFT_SWIM] = + { + .name = _("Swift Swim"), + .description = COMPOUND_STRING("Raises Speed in rain."), + }, + + [ABILITY_CHLOROPHYLL] = + { + .name = _("Chlorophyll"), + .description = COMPOUND_STRING("Raises Speed in sunshine."), + }, + + [ABILITY_ILLUMINATE] = + { + .name = _("Illuminate"), + .description = COMPOUND_STRING("Encounter rate increases."), + }, + + [ABILITY_TRACE] = + { + .name = _("Trace"), + .description = COMPOUND_STRING("Copies special ability."), + }, + + [ABILITY_HUGE_POWER] = + { + .name = _("Huge Power"), + .description = COMPOUND_STRING("Raises Attack."), + }, + + [ABILITY_POISON_POINT] = + { + .name = _("Poison Point"), + .description = COMPOUND_STRING("Poisons foe on contact."), + }, + + [ABILITY_INNER_FOCUS] = + { + .name = _("Inner Focus"), + .description = COMPOUND_STRING("Prevents flinching."), + }, + + [ABILITY_MAGMA_ARMOR] = + { + .name = _("Magma Armor"), + .description = COMPOUND_STRING("Prevents freezing."), + }, + + [ABILITY_WATER_VEIL] = + { + .name = _("Water Veil"), + .description = COMPOUND_STRING("Prevents burns."), + }, + + [ABILITY_MAGNET_PULL] = + { + .name = _("Magnet Pull"), + .description = COMPOUND_STRING("Traps Steel-type Pokémon."), + }, + + [ABILITY_SOUNDPROOF] = + { + .name = _("Soundproof"), + .description = COMPOUND_STRING("Avoids sound-based moves."), + }, + + [ABILITY_RAIN_DISH] = + { + .name = _("Rain Dish"), + .description = COMPOUND_STRING("Slight HP recovery in rain."), + }, + + [ABILITY_SAND_STREAM] = + { + .name = _("Sand Stream"), + .description = COMPOUND_STRING("Summons a sandstorm."), + }, + + [ABILITY_PRESSURE] = + { + .name = _("Pressure"), + .description = COMPOUND_STRING("Raises foe's PP usage."), + }, + + [ABILITY_THICK_FAT] = + { + .name = _("Thick Fat"), + .description = COMPOUND_STRING("Heat-and-cold protection."), + }, + + [ABILITY_EARLY_BIRD] = + { + .name = _("Early Bird"), + .description = COMPOUND_STRING("Awakens quickly from sleep."), + }, + + [ABILITY_FLAME_BODY] = + { + .name = _("Flame Body"), + .description = COMPOUND_STRING("Burns the foe on contact."), + }, + + [ABILITY_RUN_AWAY] = + { + .name = _("Run Away"), + .description = COMPOUND_STRING("Makes escaping easier."), + }, + + [ABILITY_KEEN_EYE] = + { + .name = _("Keen Eye"), + .description = COMPOUND_STRING("Prevents loss of accuracy."), + }, + + [ABILITY_HYPER_CUTTER] = + { + .name = _("Hyper Cutter"), + .description = COMPOUND_STRING("Prevents Attack reduction."), + }, + + [ABILITY_PICKUP] = + { + .name = _("Pickup"), + .description = COMPOUND_STRING("May pick up items."), + }, + + [ABILITY_TRUANT] = + { + .name = _("Truant"), + .description = COMPOUND_STRING("Moves only every two turns."), + }, + + [ABILITY_HUSTLE] = + { + .name = _("Hustle"), + .description = COMPOUND_STRING("Trades accuracy for power."), + }, + + [ABILITY_CUTE_CHARM] = + { + .name = _("Cute Charm"), + .description = COMPOUND_STRING("Infatuates on contact."), + }, + + [ABILITY_PLUS] = + { + .name = _("Plus"), + .description = COMPOUND_STRING("Powers up with Minus."), + }, + + [ABILITY_MINUS] = + { + .name = _("Minus"), + .description = COMPOUND_STRING("Powers up with Plus."), + }, + + [ABILITY_FORECAST] = + { + .name = _("Forecast"), + .description = COMPOUND_STRING("Changes with the weather."), + }, + + [ABILITY_STICKY_HOLD] = + { + .name = _("Sticky Hold"), + .description = COMPOUND_STRING("Prevents item theft."), + }, + + [ABILITY_SHED_SKIN] = + { + .name = _("Shed Skin"), + .description = COMPOUND_STRING("Heals the body by shedding."), + }, + + [ABILITY_GUTS] = + { + .name = _("Guts"), + .description = COMPOUND_STRING("Ups Attack if suffering."), + }, + + [ABILITY_MARVEL_SCALE] = + { + .name = _("Marvel Scale"), + .description = COMPOUND_STRING("Ups Defense if suffering."), + }, + + [ABILITY_LIQUID_OOZE] = + { + .name = _("Liquid Ooze"), + .description = COMPOUND_STRING("Draining causes injury."), + }, + + [ABILITY_OVERGROW] = + { + .name = _("Overgrow"), + .description = COMPOUND_STRING("Ups Grass moves in a pinch."), + }, + + [ABILITY_BLAZE] = + { + .name = _("Blaze"), + .description = COMPOUND_STRING("Ups Fire moves in a pinch."), + }, + + [ABILITY_TORRENT] = + { + .name = _("Torrent"), + .description = COMPOUND_STRING("Ups Water moves in a pinch."), + }, + + [ABILITY_SWARM] = + { + .name = _("Swarm"), + .description = COMPOUND_STRING("Ups Bug moves in a pinch."), + }, + + [ABILITY_ROCK_HEAD] = + { + .name = _("Rock Head"), + .description = COMPOUND_STRING("Prevents recoil damage."), + }, + + [ABILITY_DROUGHT] = + { + .name = _("Drought"), + .description = COMPOUND_STRING("Summons sunlight in battle."), + }, + + [ABILITY_ARENA_TRAP] = + { + .name = _("Arena Trap"), + .description = COMPOUND_STRING("Prevents fleeing."), + }, + + [ABILITY_VITAL_SPIRIT] = + { + .name = _("Vital Spirit"), + .description = COMPOUND_STRING("Prevents sleep."), + }, + + [ABILITY_WHITE_SMOKE] = + { + .name = _("White Smoke"), + .description = COMPOUND_STRING("Prevents ability reduction."), + }, + + [ABILITY_PURE_POWER] = + { + .name = _("Pure Power"), + .description = COMPOUND_STRING("Raises Attack."), + }, + + [ABILITY_SHELL_ARMOR] = + { + .name = _("Shell Armor"), + .description = COMPOUND_STRING("Blocks critical hits."), + }, + + [ABILITY_AIR_LOCK] = + { + .name = _("Air Lock"), + .description = COMPOUND_STRING("Negates weather effects."), + }, + + [ABILITY_TANGLED_FEET] = + { + .name = _("Tangled Feet"), + .description = COMPOUND_STRING("Ups evasion if confused."), + }, + + [ABILITY_MOTOR_DRIVE] = + { + .name = _("Motor Drive"), + .description = COMPOUND_STRING("Electricity raises Speed."), + }, + + [ABILITY_RIVALRY] = + { + .name = _("Rivalry"), + .description = COMPOUND_STRING("Powers up against rivals."), + }, + + [ABILITY_STEADFAST] = + { + .name = _("Steadfast"), + .description = COMPOUND_STRING("Flinching raises Speed."), + }, + + [ABILITY_SNOW_CLOAK] = + { + .name = _("Snow Cloak"), + .description = COMPOUND_STRING("Ups evasion in Hail or Snow."), + }, + + [ABILITY_GLUTTONY] = + { + .name = _("Gluttony"), + .description = COMPOUND_STRING("Eats Berries early."), + }, + + [ABILITY_ANGER_POINT] = + { + .name = _("Anger Point"), + .description = COMPOUND_STRING("Critical hits raise Attack."), + }, + + [ABILITY_UNBURDEN] = + { + .name = _("Unburden"), + .description = COMPOUND_STRING("Using a hold item ups Speed."), + }, + + [ABILITY_HEATPROOF] = + { + .name = _("Heatproof"), + .description = COMPOUND_STRING("Heat and burn protection."), + }, + + [ABILITY_SIMPLE] = + { + .name = _("Simple"), + .description = COMPOUND_STRING("Prone to wild stat changes."), + }, + + [ABILITY_DRY_SKIN] = + { + .name = _("Dry Skin"), + .description = COMPOUND_STRING("Prefers moisture to heat."), + }, + + [ABILITY_DOWNLOAD] = + { + .name = _("Download"), + .description = COMPOUND_STRING("Adjusts power favorably."), + }, + + [ABILITY_IRON_FIST] = + { + .name = _("Iron Fist"), + .description = COMPOUND_STRING("Boosts punching moves."), + }, + + [ABILITY_POISON_HEAL] = + { + .name = _("Poison Heal"), + .description = COMPOUND_STRING("Restores HP if poisoned."), + }, + + [ABILITY_ADAPTABILITY] = + { + .name = _("Adaptability"), + .description = COMPOUND_STRING("Boosts same type attacks."), + }, + + [ABILITY_SKILL_LINK] = + { + .name = _("Skill Link"), + .description = COMPOUND_STRING("Multi-hit moves hit 5 times."), + }, + + [ABILITY_HYDRATION] = + { + .name = _("Hydration"), + .description = COMPOUND_STRING("Cures status in rain."), + }, + + [ABILITY_SOLAR_POWER] = + { + .name = _("Solar Power"), + .description = COMPOUND_STRING("Powers up in sunshine."), + }, + + [ABILITY_QUICK_FEET] = + { + .name = _("Quick Feet"), + .description = COMPOUND_STRING("Ups Speed if suffering."), + }, + + [ABILITY_NORMALIZE] = + { + .name = _("Normalize"), + .description = COMPOUND_STRING("Moves become Normal-type."), + }, + + [ABILITY_SNIPER] = + { + .name = _("Sniper"), + .description = COMPOUND_STRING("Boosts critical hits."), + }, + + [ABILITY_MAGIC_GUARD] = + { + .name = _("Magic Guard"), + .description = COMPOUND_STRING("Only damaged by attacks."), + }, + + [ABILITY_NO_GUARD] = + { + .name = _("No Guard"), + .description = COMPOUND_STRING("Ensures that all moves hit."), + }, + + [ABILITY_STALL] = + { + .name = _("Stall"), + .description = COMPOUND_STRING("Always moves last."), + }, + + [ABILITY_TECHNICIAN] = + { + .name = _("Technician"), + .description = COMPOUND_STRING("Boosts weaker moves."), + }, + + [ABILITY_LEAF_GUARD] = + { + .name = _("Leaf Guard"), + .description = COMPOUND_STRING("Blocks status in sunshine."), + }, + + [ABILITY_KLUTZ] = + { + .name = _("Klutz"), + .description = COMPOUND_STRING("Can't use hold items."), + }, + + [ABILITY_MOLD_BREAKER] = + { + .name = _("Mold Breaker"), + .description = COMPOUND_STRING("Moves hit through abilities."), + }, + + [ABILITY_SUPER_LUCK] = + { + .name = _("Super Luck"), + .description = COMPOUND_STRING("Critical hits land often."), + }, + + [ABILITY_AFTERMATH] = + { + .name = _("Aftermath"), + .description = COMPOUND_STRING("Fainting damages the foe."), + }, + + [ABILITY_ANTICIPATION] = + { + .name = _("Anticipation"), + .description = COMPOUND_STRING("Senses dangerous moves."), + }, + + [ABILITY_FOREWARN] = + { + .name = _("Forewarn"), + .description = COMPOUND_STRING("Determines a foe's move."), + }, + + [ABILITY_UNAWARE] = + { + .name = _("Unaware"), + .description = COMPOUND_STRING("Ignores stat changes."), + }, + + [ABILITY_TINTED_LENS] = + { + .name = _("Tinted Lens"), + .description = COMPOUND_STRING("Ups “not very effective”."), + }, + + [ABILITY_FILTER] = + { + .name = _("Filter"), + .description = COMPOUND_STRING("Weakens “supereffective”."), + }, + + [ABILITY_SLOW_START] = + { + .name = _("Slow Start"), + .description = COMPOUND_STRING("Takes a while to get going."), + }, + + [ABILITY_SCRAPPY] = + { + .name = _("Scrappy"), + .description = COMPOUND_STRING("Hits Ghost-type Pokémon."), + }, + + [ABILITY_STORM_DRAIN] = + { + .name = _("Storm Drain"), + .description = COMPOUND_STRING("Draws in Water moves."), + }, + + [ABILITY_ICE_BODY] = + { + .name = _("Ice Body"), + .description = COMPOUND_STRING("HP recovery in Hail or Snow."), + }, + + [ABILITY_SOLID_ROCK] = + { + .name = _("Solid Rock"), + .description = COMPOUND_STRING("Weakens “supereffective”."), + }, + + [ABILITY_SNOW_WARNING] = + { + .name = _("Snow Warning"), + .description = COMPOUND_STRING("Summons a Hailstorm."), + }, + + [ABILITY_HONEY_GATHER] = + { + .name = _("Honey Gather"), + .description = COMPOUND_STRING("May gather Honey."), + }, + + [ABILITY_FRISK] = + { + .name = _("Frisk"), + .description = COMPOUND_STRING("Checks a foe's item."), + }, + + [ABILITY_RECKLESS] = + { + .name = _("Reckless"), + .description = COMPOUND_STRING("Boosts moves with recoil."), + }, + + [ABILITY_MULTITYPE] = + { + .name = _("Multitype"), + .description = COMPOUND_STRING("Changes type to its Plate."), + }, + + [ABILITY_FLOWER_GIFT] = + { + .name = _("Flower Gift"), + .description = COMPOUND_STRING("Allies power up in sunshine."), + }, + + [ABILITY_BAD_DREAMS] = + { + .name = _("Bad Dreams"), + .description = COMPOUND_STRING("Damages sleeping Pokémon."), + }, + + [ABILITY_PICKPOCKET] = + { + .name = _("Pickpocket"), + .description = COMPOUND_STRING("Steals the foe's held item."), + }, + + [ABILITY_SHEER_FORCE] = + { + .name = _("Sheer Force"), + .description = COMPOUND_STRING("Trades effects for power."), + }, + + [ABILITY_CONTRARY] = + { + .name = _("Contrary"), + .description = COMPOUND_STRING("Inverts stat changes."), + }, + + [ABILITY_UNNERVE] = + { + .name = _("Unnerve"), + .description = COMPOUND_STRING("Foes can't eat Berries."), + }, + + [ABILITY_DEFIANT] = + { + .name = _("Defiant"), + .description = COMPOUND_STRING("Lowered stats up Attack."), + }, + + [ABILITY_DEFEATIST] = + { + .name = _("Defeatist"), + .description = COMPOUND_STRING("Gives up at half HP."), + }, + + [ABILITY_CURSED_BODY] = + { + .name = _("Cursed Body"), + .description = COMPOUND_STRING("Disables moves on contact."), + }, + + [ABILITY_HEALER] = + { + .name = _("Healer"), + .description = COMPOUND_STRING("Heals partner Pokémon."), + }, + + [ABILITY_FRIEND_GUARD] = + { + .name = _("Friend Guard"), + .description = COMPOUND_STRING("Lowers damage to partner."), + }, + + [ABILITY_WEAK_ARMOR] = + { + .name = _("Weak Armor"), + .description = COMPOUND_STRING("Its stats change when hit."), + }, + + [ABILITY_HEAVY_METAL] = + { + .name = _("Heavy Metal"), + .description = COMPOUND_STRING("Doubles weight."), + }, + + [ABILITY_LIGHT_METAL] = + { + .name = _("Light Metal"), + .description = COMPOUND_STRING("Halves weight."), + }, + + [ABILITY_MULTISCALE] = + { + .name = _("Multiscale"), + .description = COMPOUND_STRING("Halves damage at full HP."), + }, + + [ABILITY_TOXIC_BOOST] = + { + .name = _("Toxic Boost"), + .description = COMPOUND_STRING("Ups Attack if poisoned."), + }, + + [ABILITY_FLARE_BOOST] = + { + .name = _("Flare Boost"), + .description = COMPOUND_STRING("Ups Sp. Atk if burned."), + }, + + [ABILITY_HARVEST] = + { + .name = _("Harvest"), + .description = COMPOUND_STRING("May recycle a used Berry."), + }, + + [ABILITY_TELEPATHY] = + { + .name = _("Telepathy"), + .description = COMPOUND_STRING("Can't be damaged by an ally."), + }, + + [ABILITY_MOODY] = + { + .name = _("Moody"), + .description = COMPOUND_STRING("Stats change gradually."), + }, + + [ABILITY_OVERCOAT] = + { + .name = _("Overcoat"), + .description = COMPOUND_STRING("Blocks weather and powder."), + }, + + [ABILITY_POISON_TOUCH] = + { + .name = _("Poison Touch"), + .description = COMPOUND_STRING("Poisons foe on contact."), + }, + + [ABILITY_REGENERATOR] = + { + .name = _("Regenerator"), + .description = COMPOUND_STRING("Heals upon switching out."), + }, + + [ABILITY_BIG_PECKS] = + { + .name = _("Big Pecks"), + .description = COMPOUND_STRING("Prevents Defense loss."), + }, + + [ABILITY_SAND_RUSH] = + { + .name = _("Sand Rush"), + .description = COMPOUND_STRING("Ups Speed in a sandstorm."), + }, + + [ABILITY_WONDER_SKIN] = + { + .name = _("Wonder Skin"), + .description = COMPOUND_STRING("May avoid status problems."), + }, + + [ABILITY_ANALYTIC] = + { + .name = _("Analytic"), + .description = COMPOUND_STRING("Moving last boosts power."), + }, + + [ABILITY_ILLUSION] = + { + .name = _("Illusion"), + .description = COMPOUND_STRING("Appears as a partner."), + }, + + [ABILITY_IMPOSTER] = + { + .name = _("Imposter"), + .description = COMPOUND_STRING("Transforms into the foe."), + }, + + [ABILITY_INFILTRATOR] = + { + .name = _("Infiltrator"), + .description = COMPOUND_STRING("Passes through barriers."), + }, + + [ABILITY_MUMMY] = + { + .name = _("Mummy"), + .description = COMPOUND_STRING("Spreads with contact."), + }, + + [ABILITY_MOXIE] = + { + .name = _("Moxie"), + .description = COMPOUND_STRING("KOs raise Attack."), + }, + + [ABILITY_JUSTIFIED] = + { + .name = _("Justified"), + .description = COMPOUND_STRING("Dark hits raise Attack."), + }, + + [ABILITY_RATTLED] = + { + .name = _("Rattled"), + .description = COMPOUND_STRING("Raises Speed when scared."), + }, + + [ABILITY_MAGIC_BOUNCE] = + { + .name = _("Magic Bounce"), + .description = COMPOUND_STRING("Reflects status moves."), + }, + + [ABILITY_SAP_SIPPER] = + { + .name = _("Sap Sipper"), + .description = COMPOUND_STRING("Grass increases Attack."), + }, + + [ABILITY_PRANKSTER] = + { + .name = _("Prankster"), + .description = COMPOUND_STRING("Status moves go first."), + }, + + [ABILITY_SAND_FORCE] = + { + .name = _("Sand Force"), + .description = COMPOUND_STRING("Powers up in a sandstorm."), + }, + + [ABILITY_IRON_BARBS] = + { + .name = _("Iron Barbs"), + .description = COMPOUND_STRING("Hurts to touch."), + }, + + [ABILITY_ZEN_MODE] = + { + .name = _("Zen Mode"), + .description = COMPOUND_STRING("Transforms at half HP."), + }, + + [ABILITY_VICTORY_STAR] = + { + .name = _("Victory Star"), + .description = COMPOUND_STRING("Raises party accuracy."), + }, + + [ABILITY_TURBOBLAZE] = + { + .name = _("Turboblaze"), + .description = COMPOUND_STRING("Moves hit through abilities."), + }, + + [ABILITY_TERAVOLT] = + { + .name = _("Teravolt"), + .description = COMPOUND_STRING("Moves hit through abilities."), + }, + + [ABILITY_AROMA_VEIL] = + { + .name = _("Aroma Veil"), + .description = COMPOUND_STRING("Prevents limiting of moves."), + }, + + [ABILITY_FLOWER_VEIL] = + { + .name = _("Flower Veil"), + .description = COMPOUND_STRING("Protects Grass-types."), + }, + + [ABILITY_CHEEK_POUCH] = + { + .name = _("Cheek Pouch"), + .description = COMPOUND_STRING("Eating Berries restores HP."), + }, + + [ABILITY_PROTEAN] = + { + .name = _("Protean"), + .description = COMPOUND_STRING("Changes type to used move."), + }, + + [ABILITY_FUR_COAT] = + { + .name = _("Fur Coat"), + .description = COMPOUND_STRING("Raises Defense."), + }, + + [ABILITY_MAGICIAN] = + { + .name = _("Magician"), + .description = COMPOUND_STRING("Steals the foe's held item."), + }, + + [ABILITY_BULLETPROOF] = + { + .name = _("Bulletproof"), + .description = COMPOUND_STRING("Avoids some projectiles."), + }, + + [ABILITY_COMPETITIVE] = + { + .name = _("Competitive"), + .description = COMPOUND_STRING("Lowered stats up Sp. Atk."), + }, + + [ABILITY_STRONG_JAW] = + { + .name = _("Strong Jaw"), + .description = COMPOUND_STRING("Boosts biting moves."), + }, + + [ABILITY_REFRIGERATE] = + { + .name = _("Refrigerate"), + .description = COMPOUND_STRING("Normal moves become Ice."), + }, + + [ABILITY_SWEET_VEIL] = + { + .name = _("Sweet Veil"), + .description = COMPOUND_STRING("Prevents party from sleep."), + }, + + [ABILITY_STANCE_CHANGE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Stance Change"), + #else + .name = _("StanceChange"), + #endif + .description = COMPOUND_STRING("Transforms as it battles."), + }, + + [ABILITY_GALE_WINGS] = + { + .name = _("Gale Wings"), + .description = COMPOUND_STRING("Flying moves go first."), + }, + + [ABILITY_MEGA_LAUNCHER] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Mega Launcher"), + #else + .name = _("MegaLauncher"), + #endif + .description = COMPOUND_STRING("Boosts pulse moves."), + }, + + [ABILITY_GRASS_PELT] = + { + .name = _("Grass Pelt"), + .description = COMPOUND_STRING("Ups Defense in grass."), + }, + + [ABILITY_SYMBIOSIS] = + { + .name = _("Symbiosis"), + .description = COMPOUND_STRING("Passes its item to an ally."), + }, + + [ABILITY_TOUGH_CLAWS] = + { + .name = _("Tough Claws"), + .description = COMPOUND_STRING("Boosts contact moves."), + }, + + [ABILITY_PIXILATE] = + { + .name = _("Pixilate"), + .description = COMPOUND_STRING("Normal moves become Fairy."), + }, + + [ABILITY_GOOEY] = + { + .name = _("Gooey"), + .description = COMPOUND_STRING("Lowers Speed on contact."), + }, + + [ABILITY_AERILATE] = + { + .name = _("Aerilate"), + .description = COMPOUND_STRING("Normal moves become Flying."), + }, + + [ABILITY_PARENTAL_BOND] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Parental Bond"), + #else + .name = _("ParentalBond"), + #endif + .description = COMPOUND_STRING("Moves hit twice."), + }, + + [ABILITY_DARK_AURA] = + { + .name = _("Dark Aura"), + .description = COMPOUND_STRING("Boosts Dark moves."), + }, + + [ABILITY_FAIRY_AURA] = + { + .name = _("Fairy Aura"), + .description = COMPOUND_STRING("Boosts Fairy moves."), + }, + + [ABILITY_AURA_BREAK] = + { + .name = _("Aura Break"), + .description = COMPOUND_STRING("Reverse aura abilities."), + }, + + [ABILITY_PRIMORDIAL_SEA] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Primordial Sea"), + #else + .name = _("PrimrdialSea"), + #endif + .description = COMPOUND_STRING("Summons heavy rain."), + }, + + [ABILITY_DESOLATE_LAND] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Desolate Land"), + #else + .name = _("DesolateLand"), + #endif + .description = COMPOUND_STRING("Summons intense sunlight."), + }, + + [ABILITY_DELTA_STREAM] = + { + .name = _("Delta Stream"), + .description = COMPOUND_STRING("Summons strong winds."), + }, + + [ABILITY_STAMINA] = + { + .name = _("Stamina"), + .description = COMPOUND_STRING("Boosts Defense when hit."), + }, + + [ABILITY_WIMP_OUT] = + { + .name = _("Wimp Out"), + .description = COMPOUND_STRING("Flees at half HP."), + }, + + [ABILITY_EMERGENCY_EXIT] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Emergency Exit"), + #else + .name = _("EmergncyExit"), + #endif + .description = COMPOUND_STRING("Flees at half HP."), + }, + + [ABILITY_WATER_COMPACTION] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Water Compaction"), + #else + .name = _("WtrCmpaction"), + #endif + .description = COMPOUND_STRING("Water boosts Defense."), + }, + + [ABILITY_MERCILESS] = + { + .name = _("Merciless"), + .description = COMPOUND_STRING("Criticals poisoned foes."), + }, + + [ABILITY_SHIELDS_DOWN] = + { + .name = _("Shields Down"), + .description = COMPOUND_STRING("Shell breaks at half HP."), + }, + + [ABILITY_STAKEOUT] = + { + .name = _("Stakeout"), + .description = COMPOUND_STRING("Stronger as foes switch in."), + }, + + [ABILITY_WATER_BUBBLE] = + { + .name = _("Water Bubble"), + .description = COMPOUND_STRING("Guards from fire and burns."), + }, + + [ABILITY_STEELWORKER] = + { + .name = _("Steelworker"), + .description = COMPOUND_STRING("Powers up Steel moves."), + }, + + [ABILITY_BERSERK] = + { + .name = _("Berserk"), + .description = COMPOUND_STRING("Boosts Sp. Atk at low HP."), + }, + + [ABILITY_SLUSH_RUSH] = + { + .name = _("Slush Rush"), + .description = COMPOUND_STRING("Raises Speed in Hail or Snow."), + }, + + [ABILITY_LONG_REACH] = + { + .name = _("Long Reach"), + .description = COMPOUND_STRING("Never makes contact."), + }, + + [ABILITY_LIQUID_VOICE] = + { + .name = _("Liquid Voice"), + .description = COMPOUND_STRING("Makes sound moves Water."), + }, + + [ABILITY_TRIAGE] = + { + .name = _("Triage"), + .description = COMPOUND_STRING("Healing moves go first."), + }, + + [ABILITY_GALVANIZE] = + { + .name = _("Galvanize"), + .description = COMPOUND_STRING("Normal moves turn Electric."), + }, + + [ABILITY_SURGE_SURFER] = + { + .name = _("Surge Surfer"), + .description = COMPOUND_STRING("Faster on electricity."), + }, + + [ABILITY_SCHOOLING] = + { + .name = _("Schooling"), + .description = COMPOUND_STRING("Forms a school when strong."), + }, + + [ABILITY_DISGUISE] = + { + .name = _("Disguise"), + .description = COMPOUND_STRING("Decoy protects it once."), + }, + + [ABILITY_BATTLE_BOND] = + { + .name = _("Battle Bond"), + .description = COMPOUND_STRING("Changes form after a KO."), + }, + + [ABILITY_POWER_CONSTRUCT] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Power Construct"), + #else + .name = _("PwrConstruct"), + #endif + .description = COMPOUND_STRING("Cells aid it when weakened."), + }, + + [ABILITY_CORROSION] = + { + .name = _("Corrosion"), + .description = COMPOUND_STRING("Poisons any type."), + }, + + [ABILITY_COMATOSE] = + { + .name = _("Comatose"), + .description = COMPOUND_STRING("Always drowsing."), + }, + + [ABILITY_QUEENLY_MAJESTY] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Queenly Majesty"), + #else + .name = _("QueenlyMjsty"), + #endif + .description = COMPOUND_STRING("Protects from priority."), + }, + + [ABILITY_INNARDS_OUT] = + { + .name = _("Innards Out"), + .description = COMPOUND_STRING("Hurts foe when defeated."), + }, + + [ABILITY_DANCER] = + { + .name = _("Dancer"), + .description = COMPOUND_STRING("Dances along with others."), + }, + + [ABILITY_BATTERY] = + { + .name = _("Battery"), + .description = COMPOUND_STRING("Boosts ally's Sp. Atk."), + }, + + [ABILITY_FLUFFY] = + { + .name = _("Fluffy"), + .description = COMPOUND_STRING("Tougher but flammable."), + }, + + [ABILITY_DAZZLING] = + { + .name = _("Dazzling"), + .description = COMPOUND_STRING("Protects from priority."), + }, + + [ABILITY_SOUL_HEART] = + { + .name = _("Soul-Heart"), + .description = COMPOUND_STRING("KOs raise Sp. Atk."), + }, + + [ABILITY_TANGLING_HAIR] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Tangling Hair"), + #else + .name = _("TanglingHair"), + #endif + .description = COMPOUND_STRING("Lowers Speed on contact."), + }, + + [ABILITY_RECEIVER] = + { + .name = _("Receiver"), + .description = COMPOUND_STRING("Copies ally's ability."), + }, + + [ABILITY_POWER_OF_ALCHEMY] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Power Of Alchemy"), + #else + .name = _("PwrOfAlchemy"), + #endif + .description = COMPOUND_STRING("Copies ally's ability."), + }, + + [ABILITY_BEAST_BOOST] = + { + .name = _("Beast Boost"), + .description = COMPOUND_STRING("KOs boost best stat."), + }, + + [ABILITY_RKS_SYSTEM] = + { + .name = _("RKS System"), + .description = COMPOUND_STRING("Memories change its type."), + }, + + [ABILITY_ELECTRIC_SURGE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Electric Surge"), + #else + .name = _("ElectrcSurge"), + #endif + .description = COMPOUND_STRING("Field becomes Electric."), + }, + + [ABILITY_PSYCHIC_SURGE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Psychic Surge"), + #else + .name = _("PsychicSurge"), + #endif + .description = COMPOUND_STRING("Field becomes weird."), + }, + + [ABILITY_MISTY_SURGE] = + { + .name = _("Misty Surge"), + .description = COMPOUND_STRING("Field becomes misty."), + }, + + [ABILITY_GRASSY_SURGE] = + { + .name = _("Grassy Surge"), + .description = COMPOUND_STRING("Field becomes grassy."), + }, + + [ABILITY_FULL_METAL_BODY] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Full Metal Body"), + #else + .name = _("FullMetalBdy"), + #endif + .description = COMPOUND_STRING("Prevents stat reduction."), + }, + + [ABILITY_SHADOW_SHIELD] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Shadow Shield"), + #else + .name = _("ShadowShield"), + #endif + .description = COMPOUND_STRING("Halves damage at full HP."), + }, + + [ABILITY_PRISM_ARMOR] = + { + .name = _("Prism Armor"), + .description = COMPOUND_STRING("Weakens “supereffective”."), + }, + + [ABILITY_NEUROFORCE] = + { + .name = _("Neuroforce"), + .description = COMPOUND_STRING("Ups “supereffective”."), + }, + + [ABILITY_INTREPID_SWORD] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Intrepid Sword"), + #else + .name = _("IntrepidSwrd"), + #endif + .description = COMPOUND_STRING("Ups Attack on entry."), + }, + + [ABILITY_DAUNTLESS_SHIELD] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Dauntless Shield"), + #else + .name = _("DauntlssShld"), + #endif + .description = COMPOUND_STRING("Ups Defense on entry."), + }, + + [ABILITY_LIBERO] = + { + .name = _("Libero"), + .description = COMPOUND_STRING("Changes type to move's."), + }, + + [ABILITY_BALL_FETCH] = + { + .name = _("Ball Fetch"), + .description = COMPOUND_STRING("Fetches failed Poké Ball."), + }, + + [ABILITY_COTTON_DOWN] = + { + .name = _("Cotton Down"), + .description = COMPOUND_STRING("Lower Speed of all when hit."), + }, + + [ABILITY_PROPELLER_TAIL] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Propeller Tail"), + #else + .name = _("PropellrTail"), + #endif + .description = COMPOUND_STRING("Ignores foe's redirection."), + }, + + [ABILITY_MIRROR_ARMOR] = + { + .name = _("Mirror Armor"), + .description = COMPOUND_STRING("Reflect stat decreases."), + }, + + [ABILITY_GULP_MISSILE] = + { + .name = _("Gulp Missile"), + .description = COMPOUND_STRING("If hit, spits prey from sea."), + }, + + [ABILITY_STALWART] = + { + .name = _("Stalwart"), + .description = COMPOUND_STRING("Ignores foe's redirection."), + }, + + [ABILITY_STEAM_ENGINE] = + { + .name = _("Steam Engine"), + .description = COMPOUND_STRING("Fire or Water hits up Speed."), + }, + + [ABILITY_PUNK_ROCK] = + { + .name = _("Punk Rock"), + .description = COMPOUND_STRING("Ups and resists sound."), + }, + + [ABILITY_SAND_SPIT] = + { + .name = _("Sand Spit"), + .description = COMPOUND_STRING("Creates a sandstorm if hit."), + }, + + [ABILITY_ICE_SCALES] = + { + .name = _("Ice Scales"), + .description = COMPOUND_STRING("Halves special damage."), + }, + + [ABILITY_RIPEN] = + { + .name = _("Ripen"), + .description = COMPOUND_STRING("Doubles effect of Berries."), + }, + + [ABILITY_ICE_FACE] = + { + .name = _("Ice Face"), + .description = COMPOUND_STRING("Hail or Snow renew free hit."), + }, + + [ABILITY_POWER_SPOT] = + { + .name = _("Power Spot"), + .description = COMPOUND_STRING("Powers up ally moves."), + }, + + [ABILITY_MIMICRY] = + { + .name = _("Mimicry"), + .description = COMPOUND_STRING("Changes type on terrain."), + }, + + [ABILITY_SCREEN_CLEANER] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Screen Cleaner"), + #else + .name = _("ScreenCleanr"), + #endif + .description = COMPOUND_STRING("Removes walls of light."), + }, + + [ABILITY_STEELY_SPIRIT] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Steely Spirit"), + #else + .name = _("SteelySpirit"), + #endif + .description = COMPOUND_STRING("Boosts ally's Steel moves."), + }, + + [ABILITY_PERISH_BODY] = + { + .name = _("Perish Body"), + .description = COMPOUND_STRING("Foe faints in 3 turns if hit."), + }, + + [ABILITY_WANDERING_SPIRIT] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Wandering Spirit"), + #else + .name = _("WandrngSprit"), + #endif + .description = COMPOUND_STRING("Trade abilities on contact."), + }, + + [ABILITY_GORILLA_TACTICS] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Gorilla Tactics"), + #else + .name = _("GorillaTacti"), + #endif + .description = COMPOUND_STRING("Ups Attack and locks move."), + }, + + [ABILITY_NEUTRALIZING_GAS] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Neutralizing Gas"), + #else + .name = _("NeutrlzngGas"), + #endif + .description = COMPOUND_STRING("All Abilities are nullified."), + }, + + [ABILITY_PASTEL_VEIL] = + { + .name = _("Pastel Veil"), + .description = COMPOUND_STRING("Protects team from poison."), + }, + + [ABILITY_HUNGER_SWITCH] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Hunger Switch"), + #else + .name = _("HungerSwitch"), + #endif + .description = COMPOUND_STRING("Changes form each turn."), + }, + + [ABILITY_QUICK_DRAW] = + { + .name = _("Quick Draw"), + .description = COMPOUND_STRING("Moves first occasionally."), + }, + + [ABILITY_UNSEEN_FIST] = + { + .name = _("Unseen Fist"), + .description = COMPOUND_STRING("Contact evades protection."), + }, + + [ABILITY_CURIOUS_MEDICINE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Curious Medicine"), + #else + .name = _("CuriusMedicn"), + #endif + .description = COMPOUND_STRING("Remove ally's stat changes."), + }, + + [ABILITY_TRANSISTOR] = + { + .name = _("Transistor"), + .description = COMPOUND_STRING("Ups Electric-type moves."), + }, + + [ABILITY_DRAGONS_MAW] = + { + .name = _("Dragon's Maw"), + .description = COMPOUND_STRING("Ups Dragon-type moves."), + }, + + [ABILITY_CHILLING_NEIGH] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Chilling Neigh"), + #else + .name = _("ChillngNeigh"), + #endif + .description = COMPOUND_STRING("KOs boost Attack stat."), + }, + + [ABILITY_GRIM_NEIGH] = + { + .name = _("Grim Neigh"), + .description = COMPOUND_STRING("KOs boost Sp. Atk stat."), + }, + + [ABILITY_AS_ONE_ICE_RIDER] = + { + .name = _("As One"), + .description = COMPOUND_STRING("Unnerve and Chilling Neigh."), + }, + + [ABILITY_AS_ONE_SHADOW_RIDER] = + { + .name = _("As One"), + .description = COMPOUND_STRING("Unnerve and Grim Neigh."), + }, + + [ABILITY_LINGERING_AROMA] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Lingering Aroma"), + #else + .name = _("LngerngAroma"), + #endif + .description = COMPOUND_STRING("Spreads with contact."), + }, + + [ABILITY_SEED_SOWER] = + { + .name = _("Seed Sower"), + .description = COMPOUND_STRING("Affects terrain when hit."), + }, + + [ABILITY_THERMAL_EXCHANGE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Thermal Exchange"), + #else + .name = _("ThrmlExchnge"), + #endif + .description = COMPOUND_STRING("Fire hits up Attack."), + }, + + [ABILITY_ANGER_SHELL] = + { + .name = _("Anger Shell"), + .description = COMPOUND_STRING("Gets angry at half HP."), + }, + + [ABILITY_PURIFYING_SALT] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Purifying Salt"), + #else + .name = _("PurfyingSalt"), + #endif + .description = COMPOUND_STRING("Protected by pure salts."), + }, + + [ABILITY_WELL_BAKED_BODY] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Well-Baked Body"), + #else + .name = _("WellBakedBdy"), + #endif + .description = COMPOUND_STRING("Strengthened by Fire."), + }, + + [ABILITY_WIND_RIDER] = + { + .name = _("Wind Rider"), + .description = COMPOUND_STRING("Ups Attack if hit by wind."), + }, + + [ABILITY_GUARD_DOG] = + { + .name = _("Guard Dog"), + .description = COMPOUND_STRING("Cannot be intimidated."), + }, + + [ABILITY_ROCKY_PAYLOAD] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Rocky Payload"), + #else + .name = _("RockyPayload"), + #endif + .description = COMPOUND_STRING("Powers up Rock moves."), + }, + + [ABILITY_WIND_POWER] = + { + .name = _("Wind Power"), + .description = COMPOUND_STRING("Gets charged by wind."), + }, + + [ABILITY_ZERO_TO_HERO] = + { + .name = _("Zero to Hero"), + .description = COMPOUND_STRING("Changes form on switch out."), + }, + + [ABILITY_COMMANDER] = + { + .name = _("Commander"), + .description = COMPOUND_STRING("Commands from Dondozo."), + }, + + [ABILITY_ELECTROMORPHOSIS] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Electromorphosis"), + #else + .name = _("Elecmrphosis"), + #endif + .description = COMPOUND_STRING("Gets Charged on contact."), + }, + + [ABILITY_PROTOSYNTHESIS] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Protosynthesis"), + #else + .name = _("Protosnthsis"), + #endif + .description = COMPOUND_STRING("Sun boosts best stat."), + }, + + [ABILITY_QUARK_DRIVE] = + { + .name = _("Quark Drive"), + .description = COMPOUND_STRING("Elec. field ups best stat."), + }, + + [ABILITY_GOOD_AS_GOLD] = + { + .name = _("Good as Gold"), + .description = COMPOUND_STRING("Avoids status problems."), + }, + + [ABILITY_VESSEL_OF_RUIN] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Vessel of Ruin"), + #else + .name = _("VesselOfRuin"), + #endif + .description = COMPOUND_STRING("Lowers foes' sp. damage."), + }, + + [ABILITY_SWORD_OF_RUIN] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Sword of Ruin"), + #else + .name = _("SwordOfRuin"), + #endif + .description = COMPOUND_STRING("Lowers foes' defense."), + }, + + [ABILITY_TABLETS_OF_RUIN] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Tablets of Ruin"), + #else + .name = _("TabltsOfRuin"), + #endif + .description = COMPOUND_STRING("Lowers foes' damage."), + }, + + [ABILITY_BEADS_OF_RUIN] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Beads of Ruin"), + #else + .name = _("BeadsOfRuin"), + #endif + .description = COMPOUND_STRING("Lowers foes' sp. defense."), + }, + + [ABILITY_ORICHALCUM_PULSE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Orichalcum Pulse"), + #else + .name = _("OrchlcumPlse"), + #endif + .description = COMPOUND_STRING("Summons sunlight in battle."), + }, + + [ABILITY_HADRON_ENGINE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Hadron Engine"), + #else + .name = _("HadronEngine"), + #endif + .description = COMPOUND_STRING("Field becomes Electric."), + }, + + [ABILITY_OPPORTUNIST] = + { + .name = _("Opportunist"), + .description = COMPOUND_STRING("Copies foe's stat change."), + }, + + [ABILITY_CUD_CHEW] = + { + .name = _("Cud Chew"), + .description = COMPOUND_STRING("Eats a used berry again."), + }, + + [ABILITY_SHARPNESS] = + { + .name = _("Sharpness"), + .description = COMPOUND_STRING("Strengthens slicing moves."), + }, + + [ABILITY_SUPREME_OVERLORD] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Supreme Overlord"), + #else + .name = _("SuprmeOvrlrd"), + #endif + .description = COMPOUND_STRING("Inherits fallen's strength."), + }, + + [ABILITY_COSTAR] = + { + .name = _("Costar"), + .description = COMPOUND_STRING("Copies ally's stat changes."), + }, + + [ABILITY_TOXIC_DEBRIS] = + { + .name = _("Toxic Debris"), + .description = COMPOUND_STRING("Throws poison spikes if hit."), + }, + + [ABILITY_ARMOR_TAIL] = + { + .name = _("Armor Tail"), + .description = COMPOUND_STRING("Protects from priority."), + }, + + [ABILITY_EARTH_EATER] = + { + .name = _("Earth Eater"), + .description = COMPOUND_STRING("Eats ground to heal HP."), + }, + + [ABILITY_MYCELIUM_MIGHT] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Mycelium Might"), + #else + .name = _("MceliumMight"), + #endif + .description = COMPOUND_STRING("Status moves never fail."), + }, + + [ABILITY_HOSPITALITY] = + { + .name = _("Hospitality"), + .description = COMPOUND_STRING("Restores ally's HP."), + }, + + [ABILITY_MINDS_EYE] = + { + .name = _("Mind's Eye"), + .description = COMPOUND_STRING("Keen Eye and Scrappy."), + }, + + [ABILITY_EMBODY_ASPECT_TEAL] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Embody Aspect"), + #else + .name = _("EmbodyAspect"), + #endif + .description = COMPOUND_STRING("Raises Speed."), + }, + + [ABILITY_EMBODY_ASPECT_HEARTHFLAME] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Embody Aspect"), + #else + .name = _("EmbodyAspect"), + #endif + .description = COMPOUND_STRING("Raises Attack."), + }, + + [ABILITY_EMBODY_ASPECT_WELLSPRING] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Embody Aspect"), + #else + .name = _("EmbodyAspect"), + #endif + .description = COMPOUND_STRING("Raises Sp. Def."), + }, + + [ABILITY_EMBODY_ASPECT_CORNERSTONE] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Embody Aspect"), + #else + .name = _("EmbodyAspect"), + #endif + .description = COMPOUND_STRING("Raises Defense."), + }, + + [ABILITY_TOXIC_CHAIN] = + { + .name = _("Toxic Chain"), + .description = COMPOUND_STRING("Moves can poison."), + }, + + [ABILITY_SUPERSWEET_SYRUP] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Supersweet Syrup"), + #else + .name = _("SuprswtSyrup"), + #endif + .description = COMPOUND_STRING("Lowers the foe's Speed."), + }, + + [ABILITY_TERA_SHIFT] = + { + .name = _("Tera Shift"), + .description = COMPOUND_STRING("Terasteralizes upon entry."), + }, + + [ABILITY_TERA_SHELL] = + { + .name = _("Tera Shell"), + .description = COMPOUND_STRING("Resistant to types at full HP."), + }, + + [ABILITY_TERAFORM_ZERO] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Teraform Zero"), + #else + .name = _("TeraformZero"), + #endif + .description = COMPOUND_STRING("Removes weather and terrain."), + }, + + [ABILITY_POISON_PUPPETEER] = + { + #if B_EXPANDED_ABILITY_NAMES == TRUE + .name = _("Poison Puppeteer"), + #else + .name = _("PoisnPuppter"), + #endif + .description = COMPOUND_STRING("Confuses poisoned foes."), + }, +}; diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h deleted file mode 100644 index d8ed29cf39..0000000000 --- a/src/data/text/abilities.h +++ /dev/null @@ -1,1250 +0,0 @@ -static const u8 sNoneDescription[] = _("No special ability."); -static const u8 sStenchDescription[] = _("May cause a foe to flinch."); -static const u8 sDrizzleDescription[] = _("Summons rain in battle."); -static const u8 sSpeedBoostDescription[] = _("Gradually boosts Speed."); -static const u8 sBattleArmorDescription[] = _("Blocks critical hits."); -static const u8 sSturdyDescription[] = _("Negates 1-hit KO attacks."); -static const u8 sDampDescription[] = _("Prevents self-destruction."); -static const u8 sLimberDescription[] = _("Prevents paralysis."); -static const u8 sSandVeilDescription[] = _("Ups evasion in a sandstorm."); -static const u8 sStaticDescription[] = _("Paralyzes on contact."); -static const u8 sVoltAbsorbDescription[] = _("Turns electricity into HP."); -static const u8 sWaterAbsorbDescription[] = _("Changes water into HP."); -static const u8 sObliviousDescription[] = _("Prevents attraction."); -static const u8 sCloudNineDescription[] = _("Negates weather effects."); -static const u8 sCompoundEyesDescription[] = _("Raises accuracy."); -static const u8 sInsomniaDescription[] = _("Prevents sleep."); -static const u8 sColorChangeDescription[] = _("Changes type to foe's move."); -static const u8 sImmunityDescription[] = _("Prevents poisoning."); -static const u8 sFlashFireDescription[] = _("Powers up if hit by fire."); -static const u8 sShieldDustDescription[] = _("Prevents added effects."); -static const u8 sOwnTempoDescription[] = _("Prevents confusion."); -static const u8 sSuctionCupsDescription[] = _("Firmly anchors the body."); -static const u8 sIntimidateDescription[] = _("Lowers the foe's Attack."); -static const u8 sShadowTagDescription[] = _("Prevents the foe's escape."); -static const u8 sRoughSkinDescription[] = _("Hurts to touch."); -static const u8 sWonderGuardDescription[] = _("“Supereffective” hits."); -static const u8 sLevitateDescription[] = _("Not hit by Ground attacks."); -static const u8 sEffectSporeDescription[] = _("Leaves spores on contact."); -static const u8 sSynchronizeDescription[] = _("Passes on status problems."); -static const u8 sClearBodyDescription[] = _("Prevents ability reduction."); -static const u8 sNaturalCureDescription[] = _("Heals upon switching out."); -static const u8 sLightningRodDescription[] = _("Draws electrical moves."); -static const u8 sSereneGraceDescription[] = _("Promotes added effects."); -static const u8 sSwiftSwimDescription[] = _("Raises Speed in rain."); -static const u8 sChlorophyllDescription[] = _("Raises Speed in sunshine."); -static const u8 sIlluminateDescription[] = _("Encounter rate increases."); -static const u8 sTraceDescription[] = _("Copies special ability."); -static const u8 sHugePowerDescription[] = _("Raises Attack."); -static const u8 sPoisonPointDescription[] = _("Poisons foe on contact."); -static const u8 sInnerFocusDescription[] = _("Prevents flinching."); -static const u8 sMagmaArmorDescription[] = _("Prevents freezing."); -static const u8 sWaterVeilDescription[] = _("Prevents burns."); -static const u8 sMagnetPullDescription[] = _("Traps Steel-type Pokémon."); -static const u8 sSoundproofDescription[] = _("Avoids sound-based moves."); -static const u8 sRainDishDescription[] = _("Slight HP recovery in rain."); -static const u8 sSandStreamDescription[] = _("Summons a sandstorm."); -static const u8 sPressureDescription[] = _("Raises foe's PP usage."); -static const u8 sThickFatDescription[] = _("Heat-and-cold protection."); -static const u8 sEarlyBirdDescription[] = _("Awakens quickly from sleep."); -static const u8 sFlameBodyDescription[] = _("Burns the foe on contact."); -static const u8 sRunAwayDescription[] = _("Makes escaping easier."); -static const u8 sKeenEyeDescription[] = _("Prevents loss of accuracy."); -static const u8 sHyperCutterDescription[] = _("Prevents Attack reduction."); -static const u8 sPickupDescription[] = _("May pick up items."); -static const u8 sTruantDescription[] = _("Moves only every two turns."); -static const u8 sHustleDescription[] = _("Trades accuracy for power."); -static const u8 sCuteCharmDescription[] = _("Infatuates on contact."); -static const u8 sPlusDescription[] = _("Powers up with Minus."); -static const u8 sMinusDescription[] = _("Powers up with Plus."); -static const u8 sForecastDescription[] = _("Changes with the weather."); -static const u8 sStickyHoldDescription[] = _("Prevents item theft."); -static const u8 sShedSkinDescription[] = _("Heals the body by shedding."); -static const u8 sGutsDescription[] = _("Ups Attack if suffering."); -static const u8 sMarvelScaleDescription[] = _("Ups Defense if suffering."); -static const u8 sLiquidOozeDescription[] = _("Draining causes injury."); -static const u8 sOvergrowDescription[] = _("Ups Grass moves in a pinch."); -static const u8 sBlazeDescription[] = _("Ups Fire moves in a pinch."); -static const u8 sTorrentDescription[] = _("Ups Water moves in a pinch."); -static const u8 sSwarmDescription[] = _("Ups Bug moves in a pinch."); -static const u8 sRockHeadDescription[] = _("Prevents recoil damage."); -static const u8 sDroughtDescription[] = _("Summons sunlight in battle."); -static const u8 sArenaTrapDescription[] = _("Prevents fleeing."); -static const u8 sVitalSpiritDescription[] = _("Prevents sleep."); -static const u8 sWhiteSmokeDescription[] = _("Prevents ability reduction."); -static const u8 sPurePowerDescription[] = _("Raises Attack."); -static const u8 sShellArmorDescription[] = _("Blocks critical hits."); -static const u8 sAirLockDescription[] = _("Negates weather effects."); -static const u8 sTangledFeetDescription[] = _("Ups evasion if confused."); -static const u8 sMotorDriveDescription[] = _("Electricity raises Speed."); -static const u8 sRivalryDescription[] = _("Powers up against rivals."); -static const u8 sSteadfastDescription[] = _("Flinching raises Speed."); -static const u8 sSnowCloakDescription[] = _("Ups evasion in Hail or Snow."); -static const u8 sGluttonyDescription[] = _("Eats Berries early."); -static const u8 sAngerPointDescription[] = _("Critical hits raise Attack."); -static const u8 sUnburdenDescription[] = _("Using a hold item ups Speed."); -static const u8 sHeatproofDescription[] = _("Heat and burn protection."); -static const u8 sSimpleDescription[] = _("Prone to wild stat changes."); -static const u8 sDrySkinDescription[] = _("Prefers moisture to heat."); -static const u8 sDownloadDescription[] = _("Adjusts power favorably."); -static const u8 sIronFistDescription[] = _("Boosts punching moves."); -static const u8 sPoisonHealDescription[] = _("Restores HP if poisoned."); -static const u8 sAdaptabilityDescription[] = _("Boosts same type attacks."); -static const u8 sSkillLinkDescription[] = _("Multi-hit moves hit 5 times."); -static const u8 sHydrationDescription[] = _("Cures status in rain."); -static const u8 sSolarPowerDescription[] = _("Powers up in sunshine."); -static const u8 sQuickFeetDescription[] = _("Ups Speed if suffering."); -static const u8 sNormalizeDescription[] = _("Moves become Normal-type."); -static const u8 sSniperDescription[] = _("Boosts critical hits."); -static const u8 sMagicGuardDescription[] = _("Only damaged by attacks."); -static const u8 sNoGuardDescription[] = _("Ensures that all moves hit."); -static const u8 sStallDescription[] = _("Always moves last."); -static const u8 sTechnicianDescription[] = _("Boosts weaker moves."); -static const u8 sLeafGuardDescription[] = _("Blocks status in sunshine."); -static const u8 sKlutzDescription[] = _("Can't use hold items."); -static const u8 sMoldBreakerDescription[] = _("Moves hit through abilities."); -static const u8 sSuperLuckDescription[] = _("Critical hits land often."); -static const u8 sAftermathDescription[] = _("Fainting damages the foe."); -static const u8 sAnticipationDescription[] = _("Senses dangerous moves."); -static const u8 sForewarnDescription[] = _("Determines a foe's move."); -static const u8 sUnawareDescription[] = _("Ignores stat changes."); -static const u8 sTintedLensDescription[] = _("Ups “not very effective”."); -static const u8 sFilterDescription[] = _("Weakens “supereffective”."); -static const u8 sSlowStartDescription[] = _("Takes a while to get going."); -static const u8 sScrappyDescription[] = _("Hits Ghost-type Pokémon."); -static const u8 sStormDrainDescription[] = _("Draws in Water moves."); -static const u8 sIceBodyDescription[] = _("HP recovery in Hail or Snow."); -#if B_SNOW_WARNING < GEN_9 -static const u8 sSnowWarningDescription[] = _("Summons a Hailstorm."); -#elif B_SNOW_WARNING >= GEN_9 -static const u8 sSnowWarningDescription[] = _("Summons a Snowstorm."); -#endif -static const u8 sHoneyGatherDescription[] = _("May gather Honey."); -static const u8 sFriskDescription[] = _("Checks a foe's item."); -static const u8 sRecklessDescription[] = _("Boosts moves with recoil."); -static const u8 sMultitypeDescription[] = _("Changes type to its Plate."); -static const u8 sFlowerGiftDescription[] = _("Allies power up in sunshine."); -static const u8 sBadDreamsDescription[] = _("Damages sleeping Pokémon."); -static const u8 sPickpocketDescription[] = _("Steals the foe's held item."); -static const u8 sSheerForceDescription[] = _("Trades effects for power."); -static const u8 sContraryDescription[] = _("Inverts stat changes."); -static const u8 sUnnerveDescription[] = _("Foes can't eat Berries."); -static const u8 sDefiantDescription[] = _("Lowered stats up Attack."); -static const u8 sDefeatistDescription[] = _("Gives up at half HP."); -static const u8 sCursedBodyDescription[] = _("Disables moves on contact."); -static const u8 sHealerDescription[] = _("Heals partner Pokémon."); -static const u8 sFriendGuardDescription[] = _("Lowers damage to partner."); -static const u8 sWeakArmorDescription[] = _("Its stats change when hit."); -static const u8 sHeavyMetalDescription[] = _("Doubles weight."); -static const u8 sLightMetalDescription[] = _("Halves weight."); -static const u8 sMultiscaleDescription[] = _("Halves damage at full HP."); -static const u8 sToxicBoostDescription[] = _("Ups Attack if poisoned."); -static const u8 sFlareBoostDescription[] = _("Ups Sp. Atk if burned."); -static const u8 sHarvestDescription[] = _("May recycle a used Berry."); -static const u8 sTelepathyDescription[] = _("Can't be damaged by an ally."); -static const u8 sMoodyDescription[] = _("Stats change gradually."); -static const u8 sOvercoatDescription[] = _("Blocks weather and powder."); -static const u8 sBigPecksDescription[] = _("Prevents Defense loss."); -static const u8 sSandRushDescription[] = _("Ups Speed in a sandstorm."); -static const u8 sWonderSkinDescription[] = _("May avoid status problems."); -static const u8 sAnalyticDescription[] = _("Moving last boosts power."); -static const u8 sIllusionDescription[] = _("Appears as a partner."); -static const u8 sImposterDescription[] = _("Transforms into the foe."); -static const u8 sInfiltratorDescription[] = _("Passes through barriers."); -static const u8 sMummyDescription[] = _("Spreads with contact."); -static const u8 sMoxieDescription[] = _("KOs raise Attack."); -static const u8 sJustifiedDescription[] = _("Dark hits raise Attack."); -static const u8 sRattledDescription[] = _("Raises Speed when scared."); -static const u8 sMagicBounceDescription[] = _("Reflects status moves."); -static const u8 sSapSipperDescription[] = _("Grass increases Attack."); -static const u8 sPranksterDescription[] = _("Status moves go first."); -static const u8 sSandForceDescription[] = _("Powers up in a sandstorm."); -static const u8 sZenModeDescription[] = _("Transforms at half HP."); -static const u8 sVictoryStarDescription[] = _("Raises party accuracy."); -static const u8 sAromaVeilDescription[] = _("Prevents limiting of moves."); -static const u8 sFlowerVeilDescription[] = _("Protects Grass-types."); -static const u8 sCheekPouchDescription[] = _("Eating Berries restores HP."); -static const u8 sProteanDescription[] = _("Changes type to used move."); -static const u8 sFurCoatDescription[] = _("Raises Defense."); -static const u8 sBulletproofDescription[] = _("Avoids some projectiles."); -static const u8 sCompetitiveDescription[] = _("Lowered stats up Sp. Atk."); -static const u8 sStrongJawDescription[] = _("Boosts biting moves."); -static const u8 sRefrigerateDescription[] = _("Normal moves become Ice."); -static const u8 sSweetVeilDescription[] = _("Prevents party from sleep."); -static const u8 sStanceChangeDescription[] = _("Transforms as it battles."); -static const u8 sGaleWingsDescription[] = _("Flying moves go first."); -static const u8 sMegaLauncherDescription[] = _("Boosts pulse moves."); -static const u8 sGrassPeltDescription[] = _("Ups Defense in grass."); -static const u8 sSymbiosisDescription[] = _("Passes its item to an ally."); -static const u8 sToughClawsDescription[] = _("Boosts contact moves."); -static const u8 sPixilateDescription[] = _("Normal moves become Fairy."); -static const u8 sGooeyDescription[] = _("Lowers Speed on contact."); -static const u8 sAerilateDescription[] = _("Normal moves become Flying."); -static const u8 sParentalBondDescription[] = _("Moves hit twice."); -static const u8 sDarkAuraDescription[] = _("Boosts Dark moves."); -static const u8 sFairyAuraDescription[] = _("Boosts Fairy moves."); -static const u8 sAuraBreakDescription[] = _("Reverse aura abilities."); -static const u8 sPrimordialSeaDescription[] = _("Summons heavy rain."); -static const u8 sDesolateLandDescription[] = _("Summons intense sunlight."); -static const u8 sDeltaStreamDescription[] = _("Summons strong winds."); -static const u8 sStaminaDescription[] = _("Boosts Defense when hit."); -static const u8 sWimpOutDescription[] = _("Flees at half HP."); -static const u8 sWaterCompactionDescription[] = _("Water boosts Defense."); -static const u8 sMercilessDescription[] = _("Criticals poisoned foes."); -static const u8 sShieldsDownDescription[] = _("Shell breaks at half HP."); -static const u8 sStakeoutDescription[] = _("Stronger as foes switch in."); -static const u8 sWaterBubbleDescription[] = _("Guards from fire and burns."); -static const u8 sSteelworkerDescription[] = _("Powers up Steel moves."); -static const u8 sBerserkDescription[] = _("Boosts Sp. Atk at low HP."); -static const u8 sSlushRushDescription[] = _("Raises Speed in Hail or Snow."); -static const u8 sLongReachDescription[] = _("Never makes contact."); -static const u8 sLiquidVoiceDescription[] = _("Makes sound moves Water."); -static const u8 sTriageDescription[] = _("Healing moves go first."); -static const u8 sGalvanizeDescription[] = _("Normal moves turn Electric."); -static const u8 sSurgeSurferDescription[] = _("Faster on electricity."); -static const u8 sSchoolingDescription[] = _("Forms a school when strong."); -static const u8 sDisguiseDescription[] = _("Decoy protects it once."); -static const u8 sBattleBondDescription[] = _("Changes form after a KO."); -static const u8 sPowerConstructDescription[] = _("Cells aid it when weakened."); -static const u8 sCorrosionDescription[] = _("Poisons any type."); -static const u8 sComatoseDescription[] = _("Always drowsing."); -static const u8 sQueenlyMajestyDescription[] = _("Protects from priority."); -static const u8 sInnardsOutDescription[] = _("Hurts foe when defeated."); -static const u8 sDancerDescription[] = _("Dances along with others."); -static const u8 sBatteryDescription[] = _("Boosts ally's Sp. Atk."); -static const u8 sFluffyDescription[] = _("Tougher but flammable."); -static const u8 sSoulHeartDescription[] = _("KOs raise Sp. Atk."); -static const u8 sTanglingHairDescription[] = _("Contact lowers Speed."); -static const u8 sReceiverDescription[] = _("Copies ally's ability."); -static const u8 sBeastBoostDescription[] = _("KOs boost best stat."); -static const u8 sRKSSystemDescription[] = _("Memories change its type."); -static const u8 sElectricSurgeDescription[] = _("Field becomes Electric."); -static const u8 sPsychicSurgeDescription[] = _("Field becomes weird."); -static const u8 sMistySurgeDescription[] = _("Field becomes misty."); -static const u8 sGrassySurgeDescription[] = _("Field becomes grassy."); -static const u8 sFullMetalBodyDescription[] = _("Prevents stat reduction."); -static const u8 sNeuroforceDescription[] = _("Ups “supereffective”."); -static const u8 sIntrepidSwordDescription[] = _("Ups Attack on entry."); -static const u8 sDauntlessShieldDescription[] = _("Ups Defense on entry."); -static const u8 sLiberoDescription[] = _("Changes type to move's."); -static const u8 sBallFetchDescription[] = _("Fetches failed Poké Ball."); -static const u8 sCottonDownDescription[] = _("Lower Speed of all when hit."); -static const u8 sPropellerTailDescription[] = _("Ignores foe's redirection."); -static const u8 sMirrorArmorDescription[] = _("Reflect stat decreases."); -static const u8 sGulpMissileDescription[] = _("If hit, spits prey from sea."); -static const u8 sStalwartDescription[] = _("Ignores foe's redirection."); -static const u8 sSteamEngineDescription[] = _("Fire or Water hits up Speed."); -static const u8 sPunkRockDescription[] = _("Ups and resists sound."); -static const u8 sSandSpitDescription[] = _("Creates a sandstorm if hit."); -static const u8 sIceScalesDescription[] = _("Halves special damage."); -static const u8 sRipenDescription[] = _("Doubles effect of Berries."); -static const u8 sIceFaceDescription[] = _("Hail or Snow renew free hit."); -static const u8 sPowerSpotDescription[] = _("Powers up ally moves."); -static const u8 sMimicryDescription[] = _("Changes type on terrain."); -static const u8 sScreenCleanerDescription[] = _("Removes walls of light."); -static const u8 sSteelySpiritDescription[] = _("Boosts ally's Steel moves."); -static const u8 sPerishBodyDescription[] = _("Foe faints in 3 turns if hit."); -static const u8 sWanderingSpiritDescription[] = _("Trade abilities on contact."); -static const u8 sGorillaTacticsDescription[] = _("Ups Attack and locks move."); -static const u8 sNeutralizingGasDescription[] = _("All Abilities are nullified."); -static const u8 sPastelVeilDescription[] = _("Protects team from poison."); -static const u8 sHungerSwitchDescription[] = _("Changes form each turn.");; -static const u8 sQuickDrawDescription[] = _("Moves first occasionally."); -static const u8 sUnseenFistDescription[] = _("Contact evades protection."); -static const u8 sCuriousMedicineDescription[] = _("Remove ally's stat changes."); -static const u8 sTransistorDescription[] = _("Ups Electric-type moves."); -static const u8 sDragonsMawDescription[] = _("Ups Dragon-type moves."); -static const u8 sChillingNeighDescription[] = _("KOs boost Attack stat."); -static const u8 sGrimNeighDescription[] = _("KOs boost Sp. Atk stat."); -static const u8 sAsOneIceRiderDescription[] = _("Unnerve and Chilling Neigh."); -static const u8 sAsOneShadowRiderDescription[] = _("Unnerve and Grim Neigh."); -static const u8 sLingeringAromaDescription[] = _("Spreads with contact."); -static const u8 sSeedSowerDescription[] = _("Affects terrain when hit."); -static const u8 sThermalExchangeDescription[] = _("Fire hits up Attack."); -static const u8 sAngerShellDescription[] = _("Gets angry at half HP."); -static const u8 sPurifyingSaltDescription[] = _("Protected by pure salts."); -static const u8 sWellBakedBodyDescription[] = _("Strengthened by Fire."); -static const u8 sWindRiderDescription[] = _("Ups Attack if hit by wind."); -static const u8 sGuardDogDescription[] = _("Cannot be intimidated."); -static const u8 sRockyPayloadDescription[] = _("Powers up Rock moves."); -static const u8 sWindPowerDescription[] = _("Gets charged by wind."); -static const u8 sZeroToHeroDescription[] = _("Changes form on switch out."); -static const u8 sCommanderDescription[] = _("Commands from Dondozo."); -static const u8 sElectromorphosisDescription[] = _("Gets Charged on contact."); -static const u8 sProtosynthesisDescription[] = _("Sun boosts best stat."); -static const u8 sQuarkDriveDescription[] = _("Elec. field ups best stat."); -static const u8 sGoodAsGoldDescription[] = _("Avoids status problems."); -static const u8 sVesselOfRuinDescription[] = _("Lowers foes' sp. damage."); -static const u8 sSwordOfRuinDescription[] = _("Lowers foes' defense."); -static const u8 sTabletsOfRuinDescription[] = _("Lowers foes' damage."); -static const u8 sBeadsOfRuinDescription[] = _("Lowers foes' sp. defense."); -static const u8 sOrichalcumPulseDescription[] = _("Summons sunlight in battle."); -static const u8 sHadronEngineDescription[] = _("Field becomes Electric."); -static const u8 sOpportunistDescription[] = _("Copies foe's stat change."); -static const u8 sCudChewDescription[] = _("Eats a used berry again."); -static const u8 sSharpnessDescription[] = _("Strengthens slicing moves."); -static const u8 sSupremeOverlordDescription[] = _("Inherits fallen's strength."); -static const u8 sCostarDescription[] = _("Copies ally's stat changes."); -static const u8 sToxicDebrisDescription[] = _("Throws poison spikes if hit."); -static const u8 sArmorTailDescription[] = _("Protects from priority."); -static const u8 sEarthEaterDescription[] = _("Eats ground to heal HP."); -static const u8 sMyceliumMightDescription[] = _("Status moves never fail."); -static const u8 sHospitalityDescription[] = _("Restores ally's HP."); -static const u8 sMindsEyeDescription[] = _("Keen Eye and Scrappy."); -static const u8 sEmbodyAspectTealDescription[] = _("Raises Speed."); -static const u8 sEmbodyAspectHearthflameDescription[] = _("Raises Attack."); -static const u8 sEmbodyAspectWellspringDescription[] = _("Raises Sp. Def."); -static const u8 sEmbodyAspectCornerstoneDescription[] = _("Raises Defense."); -static const u8 sToxicChainDescription[] = _("Moves can poison."); -static const u8 sSupersweetSyrupDescription[] = _("Lowers the foe's Speed."); -static const u8 sTeraShiftDescription[] = _("Terasteralizes upon entry."); -static const u8 sTeraShellDescription[] = _("Resistant to types at full HP."); -static const u8 sTeraformZeroDescription[] = _("Removes weather and terrain."); -static const u8 sPoisonPuppeteerDescription[] = _("Confuses poisoned foes."); - -#if B_EXPANDED_ABILITY_NAMES == TRUE -const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = -{ - [ABILITY_NONE] = _("-------"), - [ABILITY_STENCH] = _("Stench"), - [ABILITY_DRIZZLE] = _("Drizzle"), - [ABILITY_SPEED_BOOST] = _("Speed Boost"), - [ABILITY_BATTLE_ARMOR] = _("Battle Armor"), - [ABILITY_STURDY] = _("Sturdy"), - [ABILITY_DAMP] = _("Damp"), - [ABILITY_LIMBER] = _("Limber"), - [ABILITY_SAND_VEIL] = _("Sand Veil"), - [ABILITY_STATIC] = _("Static"), - [ABILITY_VOLT_ABSORB] = _("Volt Absorb"), - [ABILITY_WATER_ABSORB] = _("Water Absorb"), - [ABILITY_OBLIVIOUS] = _("Oblivious"), - [ABILITY_CLOUD_NINE] = _("Cloud Nine"), - [ABILITY_COMPOUND_EYES] = _("Compound Eyes"), - [ABILITY_INSOMNIA] = _("Insomnia"), - [ABILITY_COLOR_CHANGE] = _("Color Change"), - [ABILITY_IMMUNITY] = _("Immunity"), - [ABILITY_FLASH_FIRE] = _("Flash Fire"), - [ABILITY_SHIELD_DUST] = _("Shield Dust"), - [ABILITY_OWN_TEMPO] = _("Own Tempo"), - [ABILITY_SUCTION_CUPS] = _("Suction Cups"), - [ABILITY_INTIMIDATE] = _("Intimidate"), - [ABILITY_SHADOW_TAG] = _("Shadow Tag"), - [ABILITY_ROUGH_SKIN] = _("Rough Skin"), - [ABILITY_WONDER_GUARD] = _("Wonder Guard"), - [ABILITY_LEVITATE] = _("Levitate"), - [ABILITY_EFFECT_SPORE] = _("Effect Spore"), - [ABILITY_SYNCHRONIZE] = _("Synchronize"), - [ABILITY_CLEAR_BODY] = _("Clear Body"), - [ABILITY_NATURAL_CURE] = _("Natural Cure"), - [ABILITY_LIGHTNING_ROD] = _("Lightning Rod"), - [ABILITY_SERENE_GRACE] = _("Serene Grace"), - [ABILITY_SWIFT_SWIM] = _("Swift Swim"), - [ABILITY_CHLOROPHYLL] = _("Chlorophyll"), - [ABILITY_ILLUMINATE] = _("Illuminate"), - [ABILITY_TRACE] = _("Trace"), - [ABILITY_HUGE_POWER] = _("Huge Power"), - [ABILITY_POISON_POINT] = _("Poison Point"), - [ABILITY_INNER_FOCUS] = _("Inner Focus"), - [ABILITY_MAGMA_ARMOR] = _("Magma Armor"), - [ABILITY_WATER_VEIL] = _("Water Veil"), - [ABILITY_MAGNET_PULL] = _("Magnet Pull"), - [ABILITY_SOUNDPROOF] = _("Soundproof"), - [ABILITY_RAIN_DISH] = _("Rain Dish"), - [ABILITY_SAND_STREAM] = _("Sand Stream"), - [ABILITY_PRESSURE] = _("Pressure"), - [ABILITY_THICK_FAT] = _("Thick Fat"), - [ABILITY_EARLY_BIRD] = _("Early Bird"), - [ABILITY_FLAME_BODY] = _("Flame Body"), - [ABILITY_RUN_AWAY] = _("Run Away"), - [ABILITY_KEEN_EYE] = _("Keen Eye"), - [ABILITY_HYPER_CUTTER] = _("Hyper Cutter"), - [ABILITY_PICKUP] = _("Pickup"), - [ABILITY_TRUANT] = _("Truant"), - [ABILITY_HUSTLE] = _("Hustle"), - [ABILITY_CUTE_CHARM] = _("Cute Charm"), - [ABILITY_PLUS] = _("Plus"), - [ABILITY_MINUS] = _("Minus"), - [ABILITY_FORECAST] = _("Forecast"), - [ABILITY_STICKY_HOLD] = _("Sticky Hold"), - [ABILITY_SHED_SKIN] = _("Shed Skin"), - [ABILITY_GUTS] = _("Guts"), - [ABILITY_MARVEL_SCALE] = _("Marvel Scale"), - [ABILITY_LIQUID_OOZE] = _("Liquid Ooze"), - [ABILITY_OVERGROW] = _("Overgrow"), - [ABILITY_BLAZE] = _("Blaze"), - [ABILITY_TORRENT] = _("Torrent"), - [ABILITY_SWARM] = _("Swarm"), - [ABILITY_ROCK_HEAD] = _("Rock Head"), - [ABILITY_DROUGHT] = _("Drought"), - [ABILITY_ARENA_TRAP] = _("Arena Trap"), - [ABILITY_VITAL_SPIRIT] = _("Vital Spirit"), - [ABILITY_WHITE_SMOKE] = _("White Smoke"), - [ABILITY_PURE_POWER] = _("Pure Power"), - [ABILITY_SHELL_ARMOR] = _("Shell Armor"), - [ABILITY_AIR_LOCK] = _("Air Lock"), - [ABILITY_TANGLED_FEET] = _("Tangled Feet"), - [ABILITY_MOTOR_DRIVE] = _("Motor Drive"), - [ABILITY_RIVALRY] = _("Rivalry"), - [ABILITY_STEADFAST] = _("Steadfast"), - [ABILITY_SNOW_CLOAK] = _("Snow Cloak"), - [ABILITY_GLUTTONY] = _("Gluttony"), - [ABILITY_ANGER_POINT] = _("Anger Point"), - [ABILITY_UNBURDEN] = _("Unburden"), - [ABILITY_HEATPROOF] = _("Heatproof"), - [ABILITY_SIMPLE] = _("Simple"), - [ABILITY_DRY_SKIN] = _("Dry Skin"), - [ABILITY_DOWNLOAD] = _("Download"), - [ABILITY_IRON_FIST] = _("Iron Fist"), - [ABILITY_POISON_HEAL] = _("Poison Heal"), - [ABILITY_ADAPTABILITY] = _("Adaptability"), - [ABILITY_SKILL_LINK] = _("Skill Link"), - [ABILITY_HYDRATION] = _("Hydration"), - [ABILITY_SOLAR_POWER] = _("Solar Power"), - [ABILITY_QUICK_FEET] = _("Quick Feet"), - [ABILITY_NORMALIZE] = _("Normalize"), - [ABILITY_SNIPER] = _("Sniper"), - [ABILITY_MAGIC_GUARD] = _("Magic Guard"), - [ABILITY_NO_GUARD] = _("No Guard"), - [ABILITY_STALL] = _("Stall"), - [ABILITY_TECHNICIAN] = _("Technician"), - [ABILITY_LEAF_GUARD] = _("Leaf Guard"), - [ABILITY_KLUTZ] = _("Klutz"), - [ABILITY_MOLD_BREAKER] = _("Mold Breaker"), - [ABILITY_SUPER_LUCK] = _("Super Luck"), - [ABILITY_AFTERMATH] = _("Aftermath"), - [ABILITY_ANTICIPATION] = _("Anticipation"), - [ABILITY_FOREWARN] = _("Forewarn"), - [ABILITY_UNAWARE] = _("Unaware"), - [ABILITY_TINTED_LENS] = _("Tinted Lens"), - [ABILITY_FILTER] = _("Filter"), - [ABILITY_SLOW_START] = _("Slow Start"), - [ABILITY_SCRAPPY] = _("Scrappy"), - [ABILITY_STORM_DRAIN] = _("Storm Drain"), - [ABILITY_ICE_BODY] = _("Ice Body"), - [ABILITY_SOLID_ROCK] = _("Solid Rock"), - [ABILITY_SNOW_WARNING] = _("Snow Warning"), - [ABILITY_HONEY_GATHER] = _("Honey Gather"), - [ABILITY_FRISK] = _("Frisk"), - [ABILITY_RECKLESS] = _("Reckless"), - [ABILITY_MULTITYPE] = _("Multitype"), - [ABILITY_FLOWER_GIFT] = _("Flower Gift"), - [ABILITY_BAD_DREAMS] = _("Bad Dreams"), - [ABILITY_PICKPOCKET] = _("Pickpocket"), - [ABILITY_SHEER_FORCE] = _("Sheer Force"), - [ABILITY_CONTRARY] = _("Contrary"), - [ABILITY_UNNERVE] = _("Unnerve"), - [ABILITY_DEFIANT] = _("Defiant"), - [ABILITY_DEFEATIST] = _("Defeatist"), - [ABILITY_CURSED_BODY] = _("Cursed Body"), - [ABILITY_HEALER] = _("Healer"), - [ABILITY_FRIEND_GUARD] = _("Friend Guard"), - [ABILITY_WEAK_ARMOR] = _("Weak Armor"), - [ABILITY_HEAVY_METAL] = _("Heavy Metal"), - [ABILITY_LIGHT_METAL] = _("Light Metal"), - [ABILITY_MULTISCALE] = _("Multiscale"), - [ABILITY_TOXIC_BOOST] = _("Toxic Boost"), - [ABILITY_FLARE_BOOST] = _("Flare Boost"), - [ABILITY_HARVEST] = _("Harvest"), - [ABILITY_TELEPATHY] = _("Telepathy"), - [ABILITY_MOODY] = _("Moody"), - [ABILITY_OVERCOAT] = _("Overcoat"), - [ABILITY_POISON_TOUCH] = _("Poison Touch"), - [ABILITY_REGENERATOR] = _("Regenerator"), - [ABILITY_BIG_PECKS] = _("Big Pecks"), - [ABILITY_SAND_RUSH] = _("Sand Rush"), - [ABILITY_WONDER_SKIN] = _("Wonder Skin"), - [ABILITY_ANALYTIC] = _("Analytic"), - [ABILITY_ILLUSION] = _("Illusion"), - [ABILITY_IMPOSTER] = _("Imposter"), - [ABILITY_INFILTRATOR] = _("Infiltrator"), - [ABILITY_MUMMY] = _("Mummy"), - [ABILITY_MOXIE] = _("Moxie"), - [ABILITY_JUSTIFIED] = _("Justified"), - [ABILITY_RATTLED] = _("Rattled"), - [ABILITY_MAGIC_BOUNCE] = _("Magic Bounce"), - [ABILITY_SAP_SIPPER] = _("Sap Sipper"), - [ABILITY_PRANKSTER] = _("Prankster"), - [ABILITY_SAND_FORCE] = _("Sand Force"), - [ABILITY_IRON_BARBS] = _("Iron Barbs"), - [ABILITY_ZEN_MODE] = _("Zen Mode"), - [ABILITY_VICTORY_STAR] = _("Victory Star"), - [ABILITY_TURBOBLAZE] = _("Turboblaze"), - [ABILITY_TERAVOLT] = _("Teravolt"), - [ABILITY_AROMA_VEIL] = _("Aroma Veil"), - [ABILITY_FLOWER_VEIL] = _("Flower Veil"), - [ABILITY_CHEEK_POUCH] = _("Cheek Pouch"), - [ABILITY_PROTEAN] = _("Protean"), - [ABILITY_FUR_COAT] = _("Fur Coat"), - [ABILITY_MAGICIAN] = _("Magician"), - [ABILITY_BULLETPROOF] = _("Bulletproof"), - [ABILITY_COMPETITIVE] = _("Competitive"), - [ABILITY_STRONG_JAW] = _("Strong Jaw"), - [ABILITY_REFRIGERATE] = _("Refrigerate"), - [ABILITY_SWEET_VEIL] = _("Sweet Veil"), - [ABILITY_STANCE_CHANGE] = _("Stance Change"), - [ABILITY_GALE_WINGS] = _("Gale Wings"), - [ABILITY_MEGA_LAUNCHER] = _("Mega Launcher"), - [ABILITY_GRASS_PELT] = _("Grass Pelt"), - [ABILITY_SYMBIOSIS] = _("Symbiosis"), - [ABILITY_TOUGH_CLAWS] = _("Tough Claws"), - [ABILITY_PIXILATE] = _("Pixilate"), - [ABILITY_GOOEY] = _("Gooey"), - [ABILITY_AERILATE] = _("Aerilate"), - [ABILITY_PARENTAL_BOND] = _("Parental Bond"), - [ABILITY_DARK_AURA] = _("Dark Aura"), - [ABILITY_FAIRY_AURA] = _("Fairy Aura"), - [ABILITY_AURA_BREAK] = _("Aura Break"), - [ABILITY_PRIMORDIAL_SEA] = _("Primordial Sea"), - [ABILITY_DESOLATE_LAND] = _("Desolate Land"), - [ABILITY_DELTA_STREAM] = _("Delta Stream"), - [ABILITY_STAMINA] = _("Stamina"), - [ABILITY_WIMP_OUT] = _("Wimp Out"), - [ABILITY_EMERGENCY_EXIT] = _("Emergency Exit"), - [ABILITY_WATER_COMPACTION] = _("Water Compaction"), - [ABILITY_MERCILESS] = _("Merciless"), - [ABILITY_SHIELDS_DOWN] = _("Shields Down"), - [ABILITY_STAKEOUT] = _("Stakeout"), - [ABILITY_WATER_BUBBLE] = _("Water Bubble"), - [ABILITY_STEELWORKER] = _("Steelworker"), - [ABILITY_BERSERK] = _("Berserk"), - [ABILITY_SLUSH_RUSH] = _("Slush Rush"), - [ABILITY_LONG_REACH] = _("Long Reach"), - [ABILITY_LIQUID_VOICE] = _("Liquid Voice"), - [ABILITY_TRIAGE] = _("Triage"), - [ABILITY_GALVANIZE] = _("Galvanize"), - [ABILITY_SURGE_SURFER] = _("Surge Surfer"), - [ABILITY_SCHOOLING] = _("Schooling"), - [ABILITY_DISGUISE] = _("Disguise"), - [ABILITY_BATTLE_BOND] = _("Battle Bond"), - [ABILITY_POWER_CONSTRUCT] = _("Power Construct"), - [ABILITY_CORROSION] = _("Corrosion"), - [ABILITY_COMATOSE] = _("Comatose"), - [ABILITY_QUEENLY_MAJESTY] = _("Queenly Majesty"), - [ABILITY_INNARDS_OUT] = _("Innards Out"), - [ABILITY_DANCER] = _("Dancer"), - [ABILITY_BATTERY] = _("Battery"), - [ABILITY_FLUFFY] = _("Fluffy"), - [ABILITY_DAZZLING] = _("Dazzling"), - [ABILITY_SOUL_HEART] = _("Soul-Heart"), - [ABILITY_TANGLING_HAIR] = _("Tangling Hair"), - [ABILITY_RECEIVER] = _("Receiver"), - [ABILITY_POWER_OF_ALCHEMY] = _("Power Of Alchemy"), - [ABILITY_BEAST_BOOST] = _("Beast Boost"), - [ABILITY_RKS_SYSTEM] = _("RKS System"), - [ABILITY_ELECTRIC_SURGE] = _("Electric Surge"), - [ABILITY_PSYCHIC_SURGE] = _("Psychic Surge"), - [ABILITY_MISTY_SURGE] = _("Misty Surge"), - [ABILITY_GRASSY_SURGE] = _("Grassy Surge"), - [ABILITY_FULL_METAL_BODY] = _("Full Metal Body"), - [ABILITY_SHADOW_SHIELD] = _("Shadow Shield"), - [ABILITY_PRISM_ARMOR] = _("Prism Armor"), - [ABILITY_NEUROFORCE] = _("Neuroforce"), - [ABILITY_INTREPID_SWORD] = _("Intrepid Sword"), - [ABILITY_DAUNTLESS_SHIELD] = _("Dauntless Shield"), - [ABILITY_LIBERO] = _("Libero"), - [ABILITY_BALL_FETCH] = _("Ball Fetch"), - [ABILITY_COTTON_DOWN] = _("Cotton Down"), - [ABILITY_PROPELLER_TAIL] = _("Propeller Tail"), - [ABILITY_MIRROR_ARMOR] = _("Mirror Armor"), - [ABILITY_GULP_MISSILE] = _("Gulp Missile"), - [ABILITY_STALWART] = _("Stalwart"), - [ABILITY_STEAM_ENGINE] = _("Steam Engine"), - [ABILITY_PUNK_ROCK] = _("Punk Rock"), - [ABILITY_SAND_SPIT] = _("Sand Spit"), - [ABILITY_ICE_SCALES] = _("Ice Scales"), - [ABILITY_RIPEN] = _("Ripen"), - [ABILITY_ICE_FACE] = _("Ice Face"), - [ABILITY_POWER_SPOT] = _("Power Spot"), - [ABILITY_MIMICRY] = _("Mimicry"), - [ABILITY_SCREEN_CLEANER] = _("Screen Cleaner"), - [ABILITY_STEELY_SPIRIT] = _("Steely Spirit"), - [ABILITY_PERISH_BODY] = _("Perish Body"), - [ABILITY_WANDERING_SPIRIT] = _("Wandering Spirit"), - [ABILITY_GORILLA_TACTICS] = _("Gorilla Tactics"), - [ABILITY_NEUTRALIZING_GAS] = _("Neutralizing Gas"), - [ABILITY_PASTEL_VEIL] = _("Pastel Veil"), - [ABILITY_HUNGER_SWITCH] = _("Hunger Switch"), - [ABILITY_QUICK_DRAW] = _("Quick Draw"), - [ABILITY_UNSEEN_FIST] = _("Unseen Fist"), - [ABILITY_CURIOUS_MEDICINE] = _("Curious Medicine"), - [ABILITY_TRANSISTOR] = _("Transistor"), - [ABILITY_DRAGONS_MAW] = _("Dragon's Maw"), - [ABILITY_CHILLING_NEIGH] = _("Chilling Neigh"), - [ABILITY_GRIM_NEIGH] = _("Grim Neigh"), - [ABILITY_AS_ONE_ICE_RIDER] = _("As One"), - [ABILITY_AS_ONE_SHADOW_RIDER] = _("As One"), - [ABILITY_LINGERING_AROMA] = _("Lingering Aroma"), - [ABILITY_SEED_SOWER] = _("Seed Sower"), - [ABILITY_THERMAL_EXCHANGE] = _("Thermal Exchange"), - [ABILITY_ANGER_SHELL] = _("Anger Shell"), - [ABILITY_PURIFYING_SALT] = _("Purifying Salt"), - [ABILITY_WELL_BAKED_BODY] = _("Well-Baked Body"), - [ABILITY_WIND_RIDER] = _("Wind Rider"), - [ABILITY_GUARD_DOG] = _("Guard Dog"), - [ABILITY_ROCKY_PAYLOAD] = _("Rocky Payload"), - [ABILITY_WIND_POWER] = _("Wind Power"), - [ABILITY_ZERO_TO_HERO] = _("Zero to Hero"), - [ABILITY_COMMANDER] = _("Commander"), - [ABILITY_ELECTROMORPHOSIS] = _("Electromorphosis"), - [ABILITY_PROTOSYNTHESIS] = _("Protosynthesis"), - [ABILITY_QUARK_DRIVE] = _("Quark Drive"), - [ABILITY_GOOD_AS_GOLD] = _("Good as Gold"), - [ABILITY_VESSEL_OF_RUIN] = _("Vessel of Ruin"), - [ABILITY_SWORD_OF_RUIN] = _("Sword of Ruin"), - [ABILITY_TABLETS_OF_RUIN] = _("Tablets of Ruin"), - [ABILITY_BEADS_OF_RUIN] = _("Beads of Ruin"), - [ABILITY_ORICHALCUM_PULSE] = _("Orichalcum Pulse"), - [ABILITY_HADRON_ENGINE] = _("Hadron Engine"), - [ABILITY_OPPORTUNIST] = _("Opportunist"), - [ABILITY_CUD_CHEW] = _("Cud Chew"), - [ABILITY_SHARPNESS] = _("Sharpness"), - [ABILITY_SUPREME_OVERLORD] = _("Supreme Overlord"), - [ABILITY_COSTAR] = _("Costar"), - [ABILITY_TOXIC_DEBRIS] = _("Toxic Debris"), - [ABILITY_ARMOR_TAIL] = _("Armor Tail"), - [ABILITY_EARTH_EATER] = _("Earth Eater"), - [ABILITY_MYCELIUM_MIGHT] = _("Mycelium Might"), - [ABILITY_HOSPITALITY] = _("Hospitality"), - [ABILITY_MINDS_EYE] = _("Mind's Eye"), - [ABILITY_EMBODY_ASPECT_TEAL] = _("Embody Aspect"), - [ABILITY_EMBODY_ASPECT_HEARTHFLAME] = _("Embody Aspect"), - [ABILITY_EMBODY_ASPECT_WELLSPRING] = _("Embody Aspect"), - [ABILITY_EMBODY_ASPECT_CORNERSTONE] = _("Embody Aspect"), - [ABILITY_TOXIC_CHAIN] = _("Toxic Chain"), - [ABILITY_SUPERSWEET_SYRUP] = _("Supersweet Syrup"), - [ABILITY_TERA_SHIFT] = _("Tera Shift"), - [ABILITY_TERA_SHELL] = _("Tera Shell"), - [ABILITY_TERAFORM_ZERO] = _("Teraform Zero"), - [ABILITY_POISON_PUPPETEER] = _("Poison Puppeteer"), -}; -#else // 12 characters -const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = -{ - [ABILITY_NONE] = _("-------"), - [ABILITY_STENCH] = _("Stench"), - [ABILITY_DRIZZLE] = _("Drizzle"), - [ABILITY_SPEED_BOOST] = _("Speed Boost"), - [ABILITY_BATTLE_ARMOR] = _("Battle Armor"), - [ABILITY_STURDY] = _("Sturdy"), - [ABILITY_DAMP] = _("Damp"), - [ABILITY_LIMBER] = _("Limber"), - [ABILITY_SAND_VEIL] = _("Sand Veil"), - [ABILITY_STATIC] = _("Static"), - [ABILITY_VOLT_ABSORB] = _("Volt Absorb"), - [ABILITY_WATER_ABSORB] = _("Water Absorb"), - [ABILITY_OBLIVIOUS] = _("Oblivious"), - [ABILITY_CLOUD_NINE] = _("Cloud Nine"), - [ABILITY_COMPOUND_EYES] = _("CompoundEyes"), - [ABILITY_INSOMNIA] = _("Insomnia"), - [ABILITY_COLOR_CHANGE] = _("Color Change"), - [ABILITY_IMMUNITY] = _("Immunity"), - [ABILITY_FLASH_FIRE] = _("Flash Fire"), - [ABILITY_SHIELD_DUST] = _("Shield Dust"), - [ABILITY_OWN_TEMPO] = _("Own Tempo"), - [ABILITY_SUCTION_CUPS] = _("Suction Cups"), - [ABILITY_INTIMIDATE] = _("Intimidate"), - [ABILITY_SHADOW_TAG] = _("Shadow Tag"), - [ABILITY_ROUGH_SKIN] = _("Rough Skin"), - [ABILITY_WONDER_GUARD] = _("Wonder Guard"), - [ABILITY_LEVITATE] = _("Levitate"), - [ABILITY_EFFECT_SPORE] = _("Effect Spore"), - [ABILITY_SYNCHRONIZE] = _("Synchronize"), - [ABILITY_CLEAR_BODY] = _("Clear Body"), - [ABILITY_NATURAL_CURE] = _("Natural Cure"), - [ABILITY_LIGHTNING_ROD] = _("LightningRod"), - [ABILITY_SERENE_GRACE] = _("Serene Grace"), - [ABILITY_SWIFT_SWIM] = _("Swift Swim"), - [ABILITY_CHLOROPHYLL] = _("Chlorophyll"), - [ABILITY_ILLUMINATE] = _("Illuminate"), - [ABILITY_TRACE] = _("Trace"), - [ABILITY_HUGE_POWER] = _("Huge Power"), - [ABILITY_POISON_POINT] = _("Poison Point"), - [ABILITY_INNER_FOCUS] = _("Inner Focus"), - [ABILITY_MAGMA_ARMOR] = _("Magma Armor"), - [ABILITY_WATER_VEIL] = _("Water Veil"), - [ABILITY_MAGNET_PULL] = _("Magnet Pull"), - [ABILITY_SOUNDPROOF] = _("Soundproof"), - [ABILITY_RAIN_DISH] = _("Rain Dish"), - [ABILITY_SAND_STREAM] = _("Sand Stream"), - [ABILITY_PRESSURE] = _("Pressure"), - [ABILITY_THICK_FAT] = _("Thick Fat"), - [ABILITY_EARLY_BIRD] = _("Early Bird"), - [ABILITY_FLAME_BODY] = _("Flame Body"), - [ABILITY_RUN_AWAY] = _("Run Away"), - [ABILITY_KEEN_EYE] = _("Keen Eye"), - [ABILITY_HYPER_CUTTER] = _("Hyper Cutter"), - [ABILITY_PICKUP] = _("Pickup"), - [ABILITY_TRUANT] = _("Truant"), - [ABILITY_HUSTLE] = _("Hustle"), - [ABILITY_CUTE_CHARM] = _("Cute Charm"), - [ABILITY_PLUS] = _("Plus"), - [ABILITY_MINUS] = _("Minus"), - [ABILITY_FORECAST] = _("Forecast"), - [ABILITY_STICKY_HOLD] = _("Sticky Hold"), - [ABILITY_SHED_SKIN] = _("Shed Skin"), - [ABILITY_GUTS] = _("Guts"), - [ABILITY_MARVEL_SCALE] = _("Marvel Scale"), - [ABILITY_LIQUID_OOZE] = _("Liquid Ooze"), - [ABILITY_OVERGROW] = _("Overgrow"), - [ABILITY_BLAZE] = _("Blaze"), - [ABILITY_TORRENT] = _("Torrent"), - [ABILITY_SWARM] = _("Swarm"), - [ABILITY_ROCK_HEAD] = _("Rock Head"), - [ABILITY_DROUGHT] = _("Drought"), - [ABILITY_ARENA_TRAP] = _("Arena Trap"), - [ABILITY_VITAL_SPIRIT] = _("Vital Spirit"), - [ABILITY_WHITE_SMOKE] = _("White Smoke"), - [ABILITY_PURE_POWER] = _("Pure Power"), - [ABILITY_SHELL_ARMOR] = _("Shell Armor"), - [ABILITY_AIR_LOCK] = _("Air Lock"), - [ABILITY_TANGLED_FEET] = _("Tangled Feet"), - [ABILITY_MOTOR_DRIVE] = _("Motor Drive"), - [ABILITY_RIVALRY] = _("Rivalry"), - [ABILITY_STEADFAST] = _("Steadfast"), - [ABILITY_SNOW_CLOAK] = _("Snow Cloak"), - [ABILITY_GLUTTONY] = _("Gluttony"), - [ABILITY_ANGER_POINT] = _("Anger Point"), - [ABILITY_UNBURDEN] = _("Unburden"), - [ABILITY_HEATPROOF] = _("Heatproof"), - [ABILITY_SIMPLE] = _("Simple"), - [ABILITY_DRY_SKIN] = _("Dry Skin"), - [ABILITY_DOWNLOAD] = _("Download"), - [ABILITY_IRON_FIST] = _("Iron Fist"), - [ABILITY_POISON_HEAL] = _("Poison Heal"), - [ABILITY_ADAPTABILITY] = _("Adaptability"), - [ABILITY_SKILL_LINK] = _("Skill Link"), - [ABILITY_HYDRATION] = _("Hydration"), - [ABILITY_SOLAR_POWER] = _("Solar Power"), - [ABILITY_QUICK_FEET] = _("Quick Feet"), - [ABILITY_NORMALIZE] = _("Normalize"), - [ABILITY_SNIPER] = _("Sniper"), - [ABILITY_MAGIC_GUARD] = _("Magic Guard"), - [ABILITY_NO_GUARD] = _("No Guard"), - [ABILITY_STALL] = _("Stall"), - [ABILITY_TECHNICIAN] = _("Technician"), - [ABILITY_LEAF_GUARD] = _("Leaf Guard"), - [ABILITY_KLUTZ] = _("Klutz"), - [ABILITY_MOLD_BREAKER] = _("Mold Breaker"), - [ABILITY_SUPER_LUCK] = _("Super Luck"), - [ABILITY_AFTERMATH] = _("Aftermath"), - [ABILITY_ANTICIPATION] = _("Anticipation"), - [ABILITY_FOREWARN] = _("Forewarn"), - [ABILITY_UNAWARE] = _("Unaware"), - [ABILITY_TINTED_LENS] = _("Tinted Lens"), - [ABILITY_FILTER] = _("Filter"), - [ABILITY_SLOW_START] = _("Slow Start"), - [ABILITY_SCRAPPY] = _("Scrappy"), - [ABILITY_STORM_DRAIN] = _("Storm Drain"), - [ABILITY_ICE_BODY] = _("Ice Body"), - [ABILITY_SOLID_ROCK] = _("Solid Rock"), - [ABILITY_SNOW_WARNING] = _("Snow Warning"), - [ABILITY_HONEY_GATHER] = _("Honey Gather"), - [ABILITY_FRISK] = _("Frisk"), - [ABILITY_RECKLESS] = _("Reckless"), - [ABILITY_MULTITYPE] = _("Multitype"), - [ABILITY_FLOWER_GIFT] = _("Flower Gift"), - [ABILITY_BAD_DREAMS] = _("Bad Dreams"), - [ABILITY_PICKPOCKET] = _("Pickpocket"), - [ABILITY_SHEER_FORCE] = _("Sheer Force"), - [ABILITY_CONTRARY] = _("Contrary"), - [ABILITY_UNNERVE] = _("Unnerve"), - [ABILITY_DEFIANT] = _("Defiant"), - [ABILITY_DEFEATIST] = _("Defeatist"), - [ABILITY_CURSED_BODY] = _("Cursed Body"), - [ABILITY_HEALER] = _("Healer"), - [ABILITY_FRIEND_GUARD] = _("Friend Guard"), - [ABILITY_WEAK_ARMOR] = _("Weak Armor"), - [ABILITY_HEAVY_METAL] = _("Heavy Metal"), - [ABILITY_LIGHT_METAL] = _("Light Metal"), - [ABILITY_MULTISCALE] = _("Multiscale"), - [ABILITY_TOXIC_BOOST] = _("Toxic Boost"), - [ABILITY_FLARE_BOOST] = _("Flare Boost"), - [ABILITY_HARVEST] = _("Harvest"), - [ABILITY_TELEPATHY] = _("Telepathy"), - [ABILITY_MOODY] = _("Moody"), - [ABILITY_OVERCOAT] = _("Overcoat"), - [ABILITY_POISON_TOUCH] = _("Poison Touch"), - [ABILITY_REGENERATOR] = _("Regenerator"), - [ABILITY_BIG_PECKS] = _("Big Pecks"), - [ABILITY_SAND_RUSH] = _("Sand Rush"), - [ABILITY_WONDER_SKIN] = _("Wonder Skin"), - [ABILITY_ANALYTIC] = _("Analytic"), - [ABILITY_ILLUSION] = _("Illusion"), - [ABILITY_IMPOSTER] = _("Imposter"), - [ABILITY_INFILTRATOR] = _("Infiltrator"), - [ABILITY_MUMMY] = _("Mummy"), - [ABILITY_MOXIE] = _("Moxie"), - [ABILITY_JUSTIFIED] = _("Justified"), - [ABILITY_RATTLED] = _("Rattled"), - [ABILITY_MAGIC_BOUNCE] = _("Magic Bounce"), - [ABILITY_SAP_SIPPER] = _("Sap Sipper"), - [ABILITY_PRANKSTER] = _("Prankster"), - [ABILITY_SAND_FORCE] = _("Sand Force"), - [ABILITY_IRON_BARBS] = _("Iron Barbs"), - [ABILITY_ZEN_MODE] = _("Zen Mode"), - [ABILITY_VICTORY_STAR] = _("Victory Star"), - [ABILITY_TURBOBLAZE] = _("Turboblaze"), - [ABILITY_TERAVOLT] = _("Teravolt"), - [ABILITY_AROMA_VEIL] = _("Aroma Veil"), - [ABILITY_FLOWER_VEIL] = _("Flower Veil"), - [ABILITY_CHEEK_POUCH] = _("Cheek Pouch"), - [ABILITY_PROTEAN] = _("Protean"), - [ABILITY_FUR_COAT] = _("Fur Coat"), - [ABILITY_MAGICIAN] = _("Magician"), - [ABILITY_BULLETPROOF] = _("Bulletproof"), - [ABILITY_COMPETITIVE] = _("Competitive"), - [ABILITY_STRONG_JAW] = _("Strong Jaw"), - [ABILITY_REFRIGERATE] = _("Refrigerate"), - [ABILITY_SWEET_VEIL] = _("Sweet Veil"), - [ABILITY_STANCE_CHANGE] = _("StanceChange"), - [ABILITY_GALE_WINGS] = _("Gale Wings"), - [ABILITY_MEGA_LAUNCHER] = _("MegaLauncher"), - [ABILITY_GRASS_PELT] = _("Grass Pelt"), - [ABILITY_SYMBIOSIS] = _("Symbiosis"), - [ABILITY_TOUGH_CLAWS] = _("Tough Claws"), - [ABILITY_PIXILATE] = _("Pixilate"), - [ABILITY_GOOEY] = _("Gooey"), - [ABILITY_AERILATE] = _("Aerilate"), - [ABILITY_PARENTAL_BOND] = _("ParentalBond"), - [ABILITY_DARK_AURA] = _("Dark Aura"), - [ABILITY_FAIRY_AURA] = _("Fairy Aura"), - [ABILITY_AURA_BREAK] = _("Aura Break"), - [ABILITY_PRIMORDIAL_SEA] = _("PrimrdialSea"), - [ABILITY_DESOLATE_LAND] = _("DesolateLand"), - [ABILITY_DELTA_STREAM] = _("Delta Stream"), - [ABILITY_STAMINA] = _("Stamina"), - [ABILITY_WIMP_OUT] = _("Wimp Out"), - [ABILITY_EMERGENCY_EXIT] = _("EmergncyExit"), - [ABILITY_WATER_COMPACTION] = _("WtrCmpaction"), - [ABILITY_MERCILESS] = _("Merciless"), - [ABILITY_SHIELDS_DOWN] = _("Shields Down"), - [ABILITY_STAKEOUT] = _("Stakeout"), - [ABILITY_WATER_BUBBLE] = _("Water Bubble"), - [ABILITY_STEELWORKER] = _("Steelworker"), - [ABILITY_BERSERK] = _("Berserk"), - [ABILITY_SLUSH_RUSH] = _("Slush Rush"), - [ABILITY_LONG_REACH] = _("Long Reach"), - [ABILITY_LIQUID_VOICE] = _("Liquid Voice"), - [ABILITY_TRIAGE] = _("Triage"), - [ABILITY_GALVANIZE] = _("Galvanize"), - [ABILITY_SURGE_SURFER] = _("Surge Surfer"), - [ABILITY_SCHOOLING] = _("Schooling"), - [ABILITY_DISGUISE] = _("Disguise"), - [ABILITY_BATTLE_BOND] = _("Battle Bond"), - [ABILITY_POWER_CONSTRUCT] = _("PwrConstruct"), - [ABILITY_CORROSION] = _("Corrosion"), - [ABILITY_COMATOSE] = _("Comatose"), - [ABILITY_QUEENLY_MAJESTY] = _("QueenlyMjsty"), - [ABILITY_INNARDS_OUT] = _("Innards Out"), - [ABILITY_DANCER] = _("Dancer"), - [ABILITY_BATTERY] = _("Battery"), - [ABILITY_FLUFFY] = _("Fluffy"), - [ABILITY_DAZZLING] = _("Dazzling"), - [ABILITY_SOUL_HEART] = _("Soul-Heart"), - [ABILITY_TANGLING_HAIR] = _("TanglingHair"), - [ABILITY_RECEIVER] = _("Receiver"), - [ABILITY_POWER_OF_ALCHEMY] = _("PwrOfAlchemy"), - [ABILITY_BEAST_BOOST] = _("Beast Boost"), - [ABILITY_RKS_SYSTEM] = _("RKS System"), - [ABILITY_ELECTRIC_SURGE] = _("ElectrcSurge"), - [ABILITY_PSYCHIC_SURGE] = _("PsychicSurge"), - [ABILITY_MISTY_SURGE] = _("Misty Surge"), - [ABILITY_GRASSY_SURGE] = _("Grassy Surge"), - [ABILITY_FULL_METAL_BODY] = _("FullMetalBdy"), - [ABILITY_SHADOW_SHIELD] = _("ShadowShield"), - [ABILITY_PRISM_ARMOR] = _("Prism Armor"), - [ABILITY_NEUROFORCE] = _("Neuroforce"), - [ABILITY_INTREPID_SWORD] = _("IntrepidSwrd"), - [ABILITY_DAUNTLESS_SHIELD] = _("DauntlssShld"), - [ABILITY_LIBERO] = _("Libero"), - [ABILITY_BALL_FETCH] = _("Ball Fetch"), - [ABILITY_COTTON_DOWN] = _("Cotton Down"), - [ABILITY_PROPELLER_TAIL] = _("PropellrTail"), - [ABILITY_MIRROR_ARMOR] = _("Mirror Armor"), - [ABILITY_GULP_MISSILE] = _("Gulp Missile"), - [ABILITY_STALWART] = _("Stalwart"), - [ABILITY_STEAM_ENGINE] = _("Steam Engine"), - [ABILITY_PUNK_ROCK] = _("Punk Rock"), - [ABILITY_SAND_SPIT] = _("Sand Spit"), - [ABILITY_ICE_SCALES] = _("Ice Scales"), - [ABILITY_RIPEN] = _("Ripen"), - [ABILITY_ICE_FACE] = _("Ice Face"), - [ABILITY_POWER_SPOT] = _("Power Spot"), - [ABILITY_MIMICRY] = _("Mimicry"), - [ABILITY_SCREEN_CLEANER] = _("ScreenCleanr"), - [ABILITY_STEELY_SPIRIT] = _("SteelySpirit"), - [ABILITY_PERISH_BODY] = _("Perish Body"), - [ABILITY_WANDERING_SPIRIT] = _("WandrngSprit"), - [ABILITY_GORILLA_TACTICS] = _("GorillaTacti"), - [ABILITY_NEUTRALIZING_GAS] = _("NeutrlzngGas"), - [ABILITY_PASTEL_VEIL] = _("Pastel Veil"), - [ABILITY_HUNGER_SWITCH] = _("HungerSwitch"), - [ABILITY_QUICK_DRAW] = _("Quick Draw"), - [ABILITY_UNSEEN_FIST] = _("Unseen Fist"), - [ABILITY_CURIOUS_MEDICINE] = _("CuriusMedicn"), - [ABILITY_TRANSISTOR] = _("Transistor"), - [ABILITY_DRAGONS_MAW] = _("Dragon's Maw"), - [ABILITY_CHILLING_NEIGH] = _("ChillngNeigh"), - [ABILITY_GRIM_NEIGH] = _("Grim Neigh"), - [ABILITY_AS_ONE_ICE_RIDER] = _("As One"), - [ABILITY_AS_ONE_SHADOW_RIDER] = _("As One"), - [ABILITY_LINGERING_AROMA] = _("LngerngAroma"), - [ABILITY_SEED_SOWER] = _("Seed Sower"), - [ABILITY_THERMAL_EXCHANGE] = _("ThrmlExchnge"), - [ABILITY_ANGER_SHELL] = _("Anger Shell"), - [ABILITY_PURIFYING_SALT] = _("PurfyingSalt"), - [ABILITY_WELL_BAKED_BODY] = _("WellBakedBdy"), - [ABILITY_WIND_RIDER] = _("Wind Rider"), - [ABILITY_GUARD_DOG] = _("Guard Dog"), - [ABILITY_ROCKY_PAYLOAD] = _("RockyPayload"), - [ABILITY_WIND_POWER] = _("Wind Power"), - [ABILITY_ZERO_TO_HERO] = _("Zero to Hero"), - [ABILITY_COMMANDER] = _("Commander"), - [ABILITY_ELECTROMORPHOSIS] = _("Elecmrphosis"), - [ABILITY_PROTOSYNTHESIS] = _("Protosnthsis"), - [ABILITY_QUARK_DRIVE] = _("Quark Drive"), - [ABILITY_GOOD_AS_GOLD] = _("Good as Gold"), - [ABILITY_VESSEL_OF_RUIN] = _("VesselOfRuin"), - [ABILITY_SWORD_OF_RUIN] = _("SwordOfRuin"), - [ABILITY_TABLETS_OF_RUIN] = _("TabltsOfRuin"), - [ABILITY_BEADS_OF_RUIN] = _("BeadsOfRuin"), - [ABILITY_ORICHALCUM_PULSE] = _("OrchlcumPlse"), - [ABILITY_HADRON_ENGINE] = _("HadronEngine"), - [ABILITY_OPPORTUNIST] = _("Opportunist"), - [ABILITY_CUD_CHEW] = _("Cud Chew"), - [ABILITY_SHARPNESS] = _("Sharpness"), - [ABILITY_SUPREME_OVERLORD] = _("SuprmeOvrlrd"), - [ABILITY_COSTAR] = _("Costar"), - [ABILITY_TOXIC_DEBRIS] = _("Toxic Debris"), - [ABILITY_ARMOR_TAIL] = _("Armor Tail"), - [ABILITY_EARTH_EATER] = _("Earth Eater"), - [ABILITY_MYCELIUM_MIGHT] = _("MceliumMight"), - [ABILITY_HOSPITALITY] = _("Hospitality"), - [ABILITY_MINDS_EYE] = _("Mind's Eye"), - [ABILITY_EMBODY_ASPECT_TEAL] = _("EmbodyAspect"), - [ABILITY_EMBODY_ASPECT_HEARTHFLAME] = _("EmbodyAspect"), - [ABILITY_EMBODY_ASPECT_WELLSPRING] = _("EmbodyAspect"), - [ABILITY_EMBODY_ASPECT_CORNERSTONE] = _("EmbodyAspect"), - [ABILITY_TOXIC_CHAIN] = _("Toxic Chain"), - [ABILITY_SUPERSWEET_SYRUP] = _("SuprswtSyrup"), - [ABILITY_TERA_SHIFT] = _("Tera Shift"), - [ABILITY_TERA_SHELL] = _("Tera Shell"), - [ABILITY_TERAFORM_ZERO] = _("TeraformZero"), - [ABILITY_POISON_PUPPETEER] = _("PoisnPuppter"), -}; -#endif - -const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] = -{ - [ABILITY_NONE] = sNoneDescription, - [ABILITY_STENCH] = sStenchDescription, - [ABILITY_DRIZZLE] = sDrizzleDescription, - [ABILITY_SPEED_BOOST] = sSpeedBoostDescription, - [ABILITY_BATTLE_ARMOR] = sBattleArmorDescription, - [ABILITY_STURDY] = sSturdyDescription, - [ABILITY_DAMP] = sDampDescription, - [ABILITY_LIMBER] = sLimberDescription, - [ABILITY_SAND_VEIL] = sSandVeilDescription, - [ABILITY_STATIC] = sStaticDescription, - [ABILITY_VOLT_ABSORB] = sVoltAbsorbDescription, - [ABILITY_WATER_ABSORB] = sWaterAbsorbDescription, - [ABILITY_OBLIVIOUS] = sObliviousDescription, - [ABILITY_CLOUD_NINE] = sCloudNineDescription, - [ABILITY_COMPOUND_EYES] = sCompoundEyesDescription, - [ABILITY_INSOMNIA] = sInsomniaDescription, - [ABILITY_COLOR_CHANGE] = sColorChangeDescription, - [ABILITY_IMMUNITY] = sImmunityDescription, - [ABILITY_FLASH_FIRE] = sFlashFireDescription, - [ABILITY_SHIELD_DUST] = sShieldDustDescription, - [ABILITY_OWN_TEMPO] = sOwnTempoDescription, - [ABILITY_SUCTION_CUPS] = sSuctionCupsDescription, - [ABILITY_INTIMIDATE] = sIntimidateDescription, - [ABILITY_SHADOW_TAG] = sShadowTagDescription, - [ABILITY_ROUGH_SKIN] = sRoughSkinDescription, - [ABILITY_WONDER_GUARD] = sWonderGuardDescription, - [ABILITY_LEVITATE] = sLevitateDescription, - [ABILITY_EFFECT_SPORE] = sEffectSporeDescription, - [ABILITY_SYNCHRONIZE] = sSynchronizeDescription, - [ABILITY_CLEAR_BODY] = sClearBodyDescription, - [ABILITY_NATURAL_CURE] = sNaturalCureDescription, - [ABILITY_LIGHTNING_ROD] = sLightningRodDescription, - [ABILITY_SERENE_GRACE] = sSereneGraceDescription, - [ABILITY_SWIFT_SWIM] = sSwiftSwimDescription, - [ABILITY_CHLOROPHYLL] = sChlorophyllDescription, - [ABILITY_ILLUMINATE] = sIlluminateDescription, - [ABILITY_TRACE] = sTraceDescription, - [ABILITY_HUGE_POWER] = sHugePowerDescription, - [ABILITY_POISON_POINT] = sPoisonPointDescription, - [ABILITY_INNER_FOCUS] = sInnerFocusDescription, - [ABILITY_MAGMA_ARMOR] = sMagmaArmorDescription, - [ABILITY_WATER_VEIL] = sWaterVeilDescription, - [ABILITY_MAGNET_PULL] = sMagnetPullDescription, - [ABILITY_SOUNDPROOF] = sSoundproofDescription, - [ABILITY_RAIN_DISH] = sRainDishDescription, - [ABILITY_SAND_STREAM] = sSandStreamDescription, - [ABILITY_PRESSURE] = sPressureDescription, - [ABILITY_THICK_FAT] = sThickFatDescription, - [ABILITY_EARLY_BIRD] = sEarlyBirdDescription, - [ABILITY_FLAME_BODY] = sFlameBodyDescription, - [ABILITY_RUN_AWAY] = sRunAwayDescription, - [ABILITY_KEEN_EYE] = sKeenEyeDescription, - [ABILITY_HYPER_CUTTER] = sHyperCutterDescription, - [ABILITY_PICKUP] = sPickupDescription, - [ABILITY_TRUANT] = sTruantDescription, - [ABILITY_HUSTLE] = sHustleDescription, - [ABILITY_CUTE_CHARM] = sCuteCharmDescription, - [ABILITY_PLUS] = sPlusDescription, - [ABILITY_MINUS] = sMinusDescription, - [ABILITY_FORECAST] = sForecastDescription, - [ABILITY_STICKY_HOLD] = sStickyHoldDescription, - [ABILITY_SHED_SKIN] = sShedSkinDescription, - [ABILITY_GUTS] = sGutsDescription, - [ABILITY_MARVEL_SCALE] = sMarvelScaleDescription, - [ABILITY_LIQUID_OOZE] = sLiquidOozeDescription, - [ABILITY_OVERGROW] = sOvergrowDescription, - [ABILITY_BLAZE] = sBlazeDescription, - [ABILITY_TORRENT] = sTorrentDescription, - [ABILITY_SWARM] = sSwarmDescription, - [ABILITY_ROCK_HEAD] = sRockHeadDescription, - [ABILITY_DROUGHT] = sDroughtDescription, - [ABILITY_ARENA_TRAP] = sArenaTrapDescription, - [ABILITY_VITAL_SPIRIT] = sVitalSpiritDescription, - [ABILITY_WHITE_SMOKE] = sWhiteSmokeDescription, - [ABILITY_PURE_POWER] = sPurePowerDescription, - [ABILITY_SHELL_ARMOR] = sShellArmorDescription, - [ABILITY_AIR_LOCK] = sAirLockDescription, - [ABILITY_TANGLED_FEET] = sTangledFeetDescription, - [ABILITY_MOTOR_DRIVE] = sMotorDriveDescription, - [ABILITY_RIVALRY] = sRivalryDescription, - [ABILITY_STEADFAST] = sSteadfastDescription, - [ABILITY_SNOW_CLOAK] = sSnowCloakDescription, - [ABILITY_GLUTTONY] = sGluttonyDescription, - [ABILITY_ANGER_POINT] = sAngerPointDescription, - [ABILITY_UNBURDEN] = sUnburdenDescription, - [ABILITY_HEATPROOF] = sHeatproofDescription, - [ABILITY_SIMPLE] = sSimpleDescription, - [ABILITY_DRY_SKIN] = sDrySkinDescription, - [ABILITY_DOWNLOAD] = sDownloadDescription, - [ABILITY_IRON_FIST] = sIronFistDescription, - [ABILITY_POISON_HEAL] = sPoisonHealDescription, - [ABILITY_ADAPTABILITY] = sAdaptabilityDescription, - [ABILITY_SKILL_LINK] = sSkillLinkDescription, - [ABILITY_HYDRATION] = sHydrationDescription, - [ABILITY_SOLAR_POWER] = sSolarPowerDescription, - [ABILITY_QUICK_FEET] = sQuickFeetDescription, - [ABILITY_NORMALIZE] = sNormalizeDescription, - [ABILITY_SNIPER] = sSniperDescription, - [ABILITY_MAGIC_GUARD] = sMagicGuardDescription, - [ABILITY_NO_GUARD] = sNoGuardDescription, - [ABILITY_STALL] = sStallDescription, - [ABILITY_TECHNICIAN] = sTechnicianDescription, - [ABILITY_LEAF_GUARD] = sLeafGuardDescription, - [ABILITY_KLUTZ] = sKlutzDescription, - [ABILITY_MOLD_BREAKER] = sMoldBreakerDescription, - [ABILITY_SUPER_LUCK] = sSuperLuckDescription, - [ABILITY_AFTERMATH] = sAftermathDescription, - [ABILITY_ANTICIPATION] = sAnticipationDescription, - [ABILITY_FOREWARN] = sForewarnDescription, - [ABILITY_UNAWARE] = sUnawareDescription, - [ABILITY_TINTED_LENS] = sTintedLensDescription, - [ABILITY_FILTER] = sFilterDescription, - [ABILITY_SLOW_START] = sSlowStartDescription, - [ABILITY_SCRAPPY] = sScrappyDescription, - [ABILITY_STORM_DRAIN] = sStormDrainDescription, - [ABILITY_ICE_BODY] = sIceBodyDescription, - [ABILITY_SOLID_ROCK] = sFilterDescription, - [ABILITY_SNOW_WARNING] = sSnowWarningDescription, - [ABILITY_HONEY_GATHER] = sHoneyGatherDescription, - [ABILITY_FRISK] = sFriskDescription, - [ABILITY_RECKLESS] = sRecklessDescription, - [ABILITY_MULTITYPE] = sMultitypeDescription, - [ABILITY_FLOWER_GIFT] = sFlowerGiftDescription, - [ABILITY_BAD_DREAMS] = sBadDreamsDescription, - [ABILITY_PICKPOCKET] = sPickpocketDescription, - [ABILITY_SHEER_FORCE] = sSheerForceDescription, - [ABILITY_CONTRARY] = sContraryDescription, - [ABILITY_UNNERVE] = sUnnerveDescription, - [ABILITY_DEFIANT] = sDefiantDescription, - [ABILITY_DEFEATIST] = sDefeatistDescription, - [ABILITY_CURSED_BODY] = sCursedBodyDescription, - [ABILITY_HEALER] = sHealerDescription, - [ABILITY_FRIEND_GUARD] = sFriendGuardDescription, - [ABILITY_WEAK_ARMOR] = sWeakArmorDescription, - [ABILITY_HEAVY_METAL] = sHeavyMetalDescription, - [ABILITY_LIGHT_METAL] = sLightMetalDescription, - [ABILITY_MULTISCALE] = sMultiscaleDescription, - [ABILITY_TOXIC_BOOST] = sToxicBoostDescription, - [ABILITY_FLARE_BOOST] = sFlareBoostDescription, - [ABILITY_HARVEST] = sHarvestDescription, - [ABILITY_TELEPATHY] = sTelepathyDescription, - [ABILITY_MOODY] = sMoodyDescription, - [ABILITY_OVERCOAT] = sOvercoatDescription, - [ABILITY_POISON_TOUCH] = sPoisonPointDescription, - [ABILITY_REGENERATOR] = sNaturalCureDescription, - [ABILITY_BIG_PECKS] = sBigPecksDescription, - [ABILITY_SAND_RUSH] = sSandRushDescription, - [ABILITY_WONDER_SKIN] = sWonderSkinDescription, - [ABILITY_ANALYTIC] = sAnalyticDescription, - [ABILITY_ILLUSION] = sIllusionDescription, - [ABILITY_IMPOSTER] = sImposterDescription, - [ABILITY_INFILTRATOR] = sInfiltratorDescription, - [ABILITY_MUMMY] = sMummyDescription, - [ABILITY_MOXIE] = sMoxieDescription, - [ABILITY_JUSTIFIED] = sJustifiedDescription, - [ABILITY_RATTLED] = sRattledDescription, - [ABILITY_MAGIC_BOUNCE] = sMagicBounceDescription, - [ABILITY_SAP_SIPPER] = sSapSipperDescription, - [ABILITY_PRANKSTER] = sPranksterDescription, - [ABILITY_SAND_FORCE] = sSandForceDescription, - [ABILITY_IRON_BARBS] = sRoughSkinDescription, - [ABILITY_ZEN_MODE] = sZenModeDescription, - [ABILITY_VICTORY_STAR] = sVictoryStarDescription, - [ABILITY_TURBOBLAZE] = sMoldBreakerDescription, - [ABILITY_TERAVOLT] = sMoldBreakerDescription, - [ABILITY_AROMA_VEIL] = sAromaVeilDescription, - [ABILITY_FLOWER_VEIL] = sFlowerVeilDescription, - [ABILITY_CHEEK_POUCH] = sCheekPouchDescription, - [ABILITY_PROTEAN] = sProteanDescription, - [ABILITY_FUR_COAT] = sFurCoatDescription, - [ABILITY_MAGICIAN] = sPickpocketDescription, - [ABILITY_BULLETPROOF] = sBulletproofDescription, - [ABILITY_COMPETITIVE] = sCompetitiveDescription, - [ABILITY_STRONG_JAW] = sStrongJawDescription, - [ABILITY_REFRIGERATE] = sRefrigerateDescription, - [ABILITY_SWEET_VEIL] = sSweetVeilDescription, - [ABILITY_STANCE_CHANGE] = sStanceChangeDescription, - [ABILITY_GALE_WINGS] = sGaleWingsDescription, - [ABILITY_MEGA_LAUNCHER] = sMegaLauncherDescription, - [ABILITY_GRASS_PELT] = sGrassPeltDescription, - [ABILITY_SYMBIOSIS] = sSymbiosisDescription, - [ABILITY_TOUGH_CLAWS] = sToughClawsDescription, - [ABILITY_PIXILATE] = sPixilateDescription, - [ABILITY_GOOEY] = sGooeyDescription, - [ABILITY_AERILATE] = sAerilateDescription, - [ABILITY_PARENTAL_BOND] = sParentalBondDescription, - [ABILITY_DARK_AURA] = sDarkAuraDescription, - [ABILITY_FAIRY_AURA] = sFairyAuraDescription, - [ABILITY_AURA_BREAK] = sAuraBreakDescription, - [ABILITY_PRIMORDIAL_SEA] = sPrimordialSeaDescription, - [ABILITY_DESOLATE_LAND] = sDesolateLandDescription, - [ABILITY_DELTA_STREAM] = sDeltaStreamDescription, - [ABILITY_STAMINA] = sStaminaDescription, - [ABILITY_WIMP_OUT] = sWimpOutDescription, - [ABILITY_EMERGENCY_EXIT] = sWimpOutDescription, - [ABILITY_WATER_COMPACTION] = sWaterCompactionDescription, - [ABILITY_MERCILESS] = sMercilessDescription, - [ABILITY_SHIELDS_DOWN] = sShieldsDownDescription, - [ABILITY_STAKEOUT] = sStakeoutDescription, - [ABILITY_WATER_BUBBLE] = sWaterBubbleDescription, - [ABILITY_STEELWORKER] = sSteelworkerDescription, - [ABILITY_BERSERK] = sBerserkDescription, - [ABILITY_SLUSH_RUSH] = sSlushRushDescription, - [ABILITY_LONG_REACH] = sLongReachDescription, - [ABILITY_LIQUID_VOICE] = sLiquidVoiceDescription, - [ABILITY_TRIAGE] = sTriageDescription, - [ABILITY_GALVANIZE] = sGalvanizeDescription, - [ABILITY_SURGE_SURFER] = sSurgeSurferDescription, - [ABILITY_SCHOOLING] = sSchoolingDescription, - [ABILITY_DISGUISE] = sDisguiseDescription, - [ABILITY_BATTLE_BOND] = sBattleBondDescription, - [ABILITY_POWER_CONSTRUCT] = sPowerConstructDescription, - [ABILITY_CORROSION] = sCorrosionDescription, - [ABILITY_COMATOSE] = sComatoseDescription, - [ABILITY_QUEENLY_MAJESTY] = sQueenlyMajestyDescription, - [ABILITY_INNARDS_OUT] = sInnardsOutDescription, - [ABILITY_DANCER] = sDancerDescription, - [ABILITY_BATTERY] = sBatteryDescription, - [ABILITY_FLUFFY] = sFluffyDescription, - [ABILITY_DAZZLING] = sQueenlyMajestyDescription, - [ABILITY_SOUL_HEART] = sSoulHeartDescription, - [ABILITY_TANGLING_HAIR] = sGooeyDescription, - [ABILITY_RECEIVER] = sReceiverDescription, - [ABILITY_POWER_OF_ALCHEMY] = sReceiverDescription, - [ABILITY_BEAST_BOOST] = sBeastBoostDescription, - [ABILITY_RKS_SYSTEM] = sRKSSystemDescription, - [ABILITY_ELECTRIC_SURGE] = sElectricSurgeDescription, - [ABILITY_PSYCHIC_SURGE] = sPsychicSurgeDescription, - [ABILITY_MISTY_SURGE] = sMistySurgeDescription, - [ABILITY_GRASSY_SURGE] = sGrassySurgeDescription, - [ABILITY_FULL_METAL_BODY] = sFullMetalBodyDescription, - [ABILITY_SHADOW_SHIELD] = sMultiscaleDescription, - [ABILITY_PRISM_ARMOR] = sFilterDescription, - [ABILITY_NEUROFORCE] = sNeuroforceDescription, - [ABILITY_INTREPID_SWORD] = sIntrepidSwordDescription, - [ABILITY_DAUNTLESS_SHIELD] = sDauntlessShieldDescription, - [ABILITY_LIBERO] = sLiberoDescription, - [ABILITY_BALL_FETCH] = sBallFetchDescription, - [ABILITY_COTTON_DOWN] = sCottonDownDescription, - [ABILITY_PROPELLER_TAIL] = sPropellerTailDescription, - [ABILITY_MIRROR_ARMOR] = sMirrorArmorDescription, - [ABILITY_GULP_MISSILE] = sGulpMissileDescription, - [ABILITY_STALWART] = sStalwartDescription, - [ABILITY_STEAM_ENGINE] = sSteamEngineDescription, - [ABILITY_PUNK_ROCK] = sPunkRockDescription, - [ABILITY_SAND_SPIT] = sSandSpitDescription, - [ABILITY_ICE_SCALES] = sIceScalesDescription, - [ABILITY_RIPEN] = sRipenDescription, - [ABILITY_ICE_FACE] = sIceFaceDescription, - [ABILITY_POWER_SPOT] = sPowerSpotDescription, - [ABILITY_MIMICRY] = sMimicryDescription, - [ABILITY_SCREEN_CLEANER] = sScreenCleanerDescription, - [ABILITY_STEELY_SPIRIT] = sSteelySpiritDescription, - [ABILITY_PERISH_BODY] = sPerishBodyDescription, - [ABILITY_WANDERING_SPIRIT] = sWanderingSpiritDescription, - [ABILITY_GORILLA_TACTICS] = sGorillaTacticsDescription, - [ABILITY_NEUTRALIZING_GAS] = sNeutralizingGasDescription, - [ABILITY_PASTEL_VEIL] = sPastelVeilDescription, - [ABILITY_HUNGER_SWITCH] = sHungerSwitchDescription, - [ABILITY_QUICK_DRAW] = sQuickDrawDescription, - [ABILITY_UNSEEN_FIST] = sUnseenFistDescription, - [ABILITY_CURIOUS_MEDICINE] = sCuriousMedicineDescription, - [ABILITY_TRANSISTOR] = sTransistorDescription, - [ABILITY_DRAGONS_MAW] = sDragonsMawDescription, - [ABILITY_CHILLING_NEIGH] = sChillingNeighDescription, - [ABILITY_GRIM_NEIGH] = sGrimNeighDescription, - [ABILITY_AS_ONE_ICE_RIDER] = sAsOneIceRiderDescription, - [ABILITY_AS_ONE_SHADOW_RIDER] = sAsOneShadowRiderDescription, - [ABILITY_LINGERING_AROMA] = sLingeringAromaDescription, - [ABILITY_SEED_SOWER] = sSeedSowerDescription, - [ABILITY_THERMAL_EXCHANGE] = sThermalExchangeDescription, - [ABILITY_ANGER_SHELL] = sAngerShellDescription, - [ABILITY_PURIFYING_SALT] = sPurifyingSaltDescription, - [ABILITY_WELL_BAKED_BODY] = sWellBakedBodyDescription, - [ABILITY_WIND_RIDER] = sWindRiderDescription, - [ABILITY_GUARD_DOG] = sGuardDogDescription, - [ABILITY_ROCKY_PAYLOAD] = sRockyPayloadDescription, - [ABILITY_WIND_POWER] = sWindPowerDescription, - [ABILITY_ZERO_TO_HERO] = sZeroToHeroDescription, - [ABILITY_COMMANDER] = sCommanderDescription, - [ABILITY_ELECTROMORPHOSIS] = sElectromorphosisDescription, - [ABILITY_PROTOSYNTHESIS] = sProtosynthesisDescription, - [ABILITY_QUARK_DRIVE] = sQuarkDriveDescription, - [ABILITY_GOOD_AS_GOLD] = sGoodAsGoldDescription, - [ABILITY_VESSEL_OF_RUIN] = sVesselOfRuinDescription, - [ABILITY_SWORD_OF_RUIN] = sSwordOfRuinDescription, - [ABILITY_TABLETS_OF_RUIN] = sTabletsOfRuinDescription, - [ABILITY_BEADS_OF_RUIN] = sBeadsOfRuinDescription, - [ABILITY_ORICHALCUM_PULSE] = sOrichalcumPulseDescription, - [ABILITY_HADRON_ENGINE] = sHadronEngineDescription, - [ABILITY_OPPORTUNIST] = sOpportunistDescription, - [ABILITY_CUD_CHEW] = sCudChewDescription, - [ABILITY_SHARPNESS] = sSharpnessDescription, - [ABILITY_SUPREME_OVERLORD] = sSupremeOverlordDescription, - [ABILITY_COSTAR] = sCostarDescription, - [ABILITY_TOXIC_DEBRIS] = sToxicDebrisDescription, - [ABILITY_ARMOR_TAIL] = sArmorTailDescription, - [ABILITY_EARTH_EATER] = sEarthEaterDescription, - [ABILITY_MYCELIUM_MIGHT] = sMyceliumMightDescription, - [ABILITY_HOSPITALITY] = sHospitalityDescription, - [ABILITY_MINDS_EYE] = sMindsEyeDescription, - [ABILITY_EMBODY_ASPECT_TEAL] = sEmbodyAspectTealDescription, - [ABILITY_EMBODY_ASPECT_HEARTHFLAME] = sEmbodyAspectHearthflameDescription, - [ABILITY_EMBODY_ASPECT_WELLSPRING] = sEmbodyAspectWellspringDescription, - [ABILITY_EMBODY_ASPECT_CORNERSTONE] = sEmbodyAspectCornerstoneDescription, - [ABILITY_TOXIC_CHAIN] = sToxicChainDescription, - [ABILITY_SUPERSWEET_SYRUP] = sSupersweetSyrupDescription, - [ABILITY_TERA_SHIFT] = sTeraShiftDescription, - [ABILITY_TERA_SHELL] = sTeraShellDescription, - [ABILITY_TERAFORM_ZERO] = sTeraformZeroDescription, - [ABILITY_POISON_PUPPETEER] = sPoisonPuppeteerDescription, -}; diff --git a/src/debug.c b/src/debug.c index e68d65cbd6..35b4a6432f 100644 --- a/src/debug.c +++ b/src/debug.c @@ -3264,7 +3264,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); abilityId = GetAbilityBySpecies(sDebugMonData->species, 0); - StringCopy(gStringVar1, gAbilityNames[abilityId]); + StringCopy(gStringVar1, gAbilities[abilityId].name); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonAbility); AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 1, 1, 0, NULL); @@ -3309,7 +3309,7 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].tDigit]); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].tInput, STR_CONV_MODE_LEADING_ZEROS, 2); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringCopy(gStringVar1, gAbilityNames[abilityId]); + StringCopy(gStringVar1, gAbilities[abilityId].name); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonAbility); AddTextPrinterParameterized(gTasks[taskId].tSubWindowId, DEBUG_MENU_FONT, gStringVar4, 1, 1, 0, NULL); } diff --git a/src/party_menu.c b/src/party_menu.c index eb276b30c6..e5d59e26a8 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4691,7 +4691,7 @@ void Task_AbilityCapsule(u8 taskId) } gPartyMenuUseExitCallback = TRUE; GetMonNickname(&gPlayerParty[tMonId], gStringVar1); - StringCopy(gStringVar2, gAbilityNames[GetAbilityBySpecies(tSpecies, tAbilityNum)]); + StringCopy(gStringVar2, gAbilities[GetAbilityBySpecies(tSpecies, tAbilityNum)].name); StringExpandPlaceholders(gStringVar4, askText); PlaySE(SE_SELECT); DisplayPartyMenuMessage(gStringVar4, 1); @@ -4778,7 +4778,7 @@ void Task_AbilityPatch(u8 taskId) } gPartyMenuUseExitCallback = TRUE; GetMonNickname(&gPlayerParty[tMonId], gStringVar1); - StringCopy(gStringVar2, gAbilityNames[GetAbilityBySpecies(tSpecies, tAbilityNum)]); + StringCopy(gStringVar2, gAbilities[GetAbilityBySpecies(tSpecies, tAbilityNum)].name); StringExpandPlaceholders(gStringVar4, askText); PlaySE(SE_SELECT); DisplayPartyMenuMessage(gStringVar4, 1); diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index 95c899edc4..6526af075d 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -6043,21 +6043,21 @@ static void PrintStatsScreen_Abilities(u8 taskId) if (gTasks[taskId].data[5] == 0) { ability0 = sPokedexView->sPokemonStats.ability0; - PrintStatsScreenTextSmallWhite(WIN_STATS_ABILITIES, gAbilityNames[ability0], abilities_x, abilities_y); - PrintStatsScreenTextSmall(WIN_STATS_ABILITIES, gAbilityDescriptionPointers[ability0], abilities_x, abilities_y + 14); + PrintStatsScreenTextSmallWhite(WIN_STATS_ABILITIES, gAbilities[ability0].name, abilities_x, abilities_y); + PrintStatsScreenTextSmall(WIN_STATS_ABILITIES, gAbilities[ability0].description, abilities_x, abilities_y + 14); ability1 = sPokedexView->sPokemonStats.ability1; if (ability1 != ABILITY_NONE && ability1 != ability0) { - PrintStatsScreenTextSmallWhite(WIN_STATS_ABILITIES, gAbilityNames[ability1], abilities_x, abilities_y + 30); - PrintStatsScreenTextSmall(WIN_STATS_ABILITIES, gAbilityDescriptionPointers[ability1], abilities_x, abilities_y + 44); + PrintStatsScreenTextSmallWhite(WIN_STATS_ABILITIES, gAbilities[ability1].name, abilities_x, abilities_y + 30); + PrintStatsScreenTextSmall(WIN_STATS_ABILITIES, gAbilities[ability1].description, abilities_x, abilities_y + 44); } } else //Hidden abilities { abilityHidden = sPokedexView->sPokemonStats.abilityHidden; - PrintStatsScreenTextSmallWhite(WIN_STATS_ABILITIES, gAbilityNames[abilityHidden], abilities_x, abilities_y); - PrintStatsScreenTextSmall(WIN_STATS_ABILITIES, gAbilityDescriptionPointers[abilityHidden], abilities_x, abilities_y + 14); + PrintStatsScreenTextSmallWhite(WIN_STATS_ABILITIES, gAbilities[abilityHidden].name, abilities_x, abilities_y); + PrintStatsScreenTextSmall(WIN_STATS_ABILITIES, gAbilities[abilityHidden].description, abilities_x, abilities_y + 14); } } diff --git a/src/pokemon.c b/src/pokemon.c index 89e3f59a45..a2e357f134 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -87,6 +87,7 @@ EWRAM_DATA static struct MonSpritesGfxManager *sMonSpritesGfxManagers[MON_SPR_GF EWRAM_DATA static u8 sTriedEvolving = 0; #include "data/battle_moves.h" +#include "data/abilities.h" // Used in an unreferenced function in RS. // Unreferenced here and in FRLG. diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7ccc605b68..a9a70f1279 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3193,13 +3193,13 @@ static void PrintMonOTID(void) static void PrintMonAbilityName(void) { u16 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.abilityNum); - PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityNames[ability], 0, 1, 0, 1); + PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilities[ability].name, 0, 1, 0, 1); } static void PrintMonAbilityDescription(void) { u16 ability = GetAbilityBySpecies(sMonSummaryScreen->summary.species, sMonSummaryScreen->summary.abilityNum); - PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); + PrintTextOnWindow(AddWindowFromTemplateList(sPageInfoTemplate, PSS_DATA_WINDOW_INFO_ABILITY), gAbilities[ability].description, 0, 17, 0, 0); } static void BufferMonTrainerMemo(void) diff --git a/src/rom_header_gf.c b/src/rom_header_gf.c index 919c8c5419..022eb95017 100644 --- a/src/rom_header_gf.c +++ b/src/rom_header_gf.c @@ -151,8 +151,8 @@ static const struct GFRomHeader sGFRomHeader = { .externalEventDataOffset = offsetof(struct SaveBlock1, externalEventData), .unk18 = 0x00000000, .speciesInfo = gSpeciesInfo, - .abilityNames = gAbilityNames, - .abilityDescriptions = gAbilityDescriptionPointers, + //.abilityNames = gAbilityNames, //handled in gAbilities + //.abilityDescriptions = gAbilityDescriptionPointers, //handled in gAbilities .items = gItems, .moves = gBattleMoves, .ballGfx = gBallSpriteSheets, diff --git a/src/rom_header_rhh.c b/src/rom_header_rhh.c index f1e16f385e..40c05e4372 100644 --- a/src/rom_header_rhh.c +++ b/src/rom_header_rhh.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/abilities.h" #include "constants/expansion.h" #include "constants/moves.h" #include "constants/species.h" @@ -18,6 +19,8 @@ struct RHHRomHeader /*0x09*/ u8 expansionVersionFlags; /*0x0C*/ u32 movesCount; /*0x10*/ u32 numSpecies; + /*0x14*/ u32 abilitiesCount; + /*0x18*/ const struct Ability *abilities; }; static const struct RHHRomHeader sRHHRomHeader = @@ -29,4 +32,6 @@ static const struct RHHRomHeader sRHHRomHeader = .expansionVersionFlags = (EXPANSION_TAGGED_RELEASE << 0), .movesCount = MOVES_COUNT, .numSpecies = NUM_SPECIES, + .abilitiesCount = ABILITIES_COUNT, + .abilities = gAbilities, };