Move move descriptions to C

This commit is contained in:
DizzyEggg 2018-08-12 00:03:19 +02:00
parent 85ebd76cd0
commit df5009cb3e
7 changed files with 724 additions and 1428 deletions

View File

@ -3,9 +3,6 @@
.section .rodata .section .rodata
@ 86181C1
.include "data/text/move_descriptions.inc"
@ 861CAAC @ 861CAAC
.include "data/text/nature_names.inc" .include "data/text/nature_names.inc"

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,8 @@
#ifndef GUARD_DATA2_H #ifndef GUARD_DATA2_H
#define GUARD_DATA2_H #define GUARD_DATA2_H
#define MOVE_NAME_LENGTH 12
struct MonCoords struct MonCoords
{ {
// This would use a bitfield, but some function // This would use a bitfield, but some function
@ -13,10 +15,9 @@ extern struct MonCoords gTrainerBackPicCoords[];
extern struct MonCoords gTrainerFrontPicCoords[]; extern struct MonCoords gTrainerFrontPicCoords[];
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
extern const u8 gMoveNames[][13]; extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1];
extern struct CompressedSpriteSheet gUnknown_0831C620; extern struct CompressedSpriteSheet gUnknown_0831C620;
extern struct CompressedSpritePalette gUnknown_0831C628; extern struct CompressedSpritePalette gUnknown_0831C628;
extern const struct SpriteTemplate gUnknown_0831C688; extern const struct SpriteTemplate gUnknown_0831C688;
#endif // GUARD_DATA2_H #endif // GUARD_DATA2_H

View File

@ -530,6 +530,7 @@ SECTIONS {
src/fossil_specials.o(.rodata); src/fossil_specials.o(.rodata);
src/fldeff_groundshake.o(.rodata); src/fldeff_groundshake.o(.rodata);
src/berry_fix_program.o(.rodata); src/berry_fix_program.o(.rodata);
src/pokemon_summary_screen.o(.rodata);
data/pokemon_summary_screen.o(.rodata); data/pokemon_summary_screen.o(.rodata);
data/pokenav.o(.rodata); data/pokenav.o(.rodata);
src/match_call.o(.rodata); src/match_call.o(.rodata);

View File

@ -0,0 +1,714 @@
static const u8 sNullMoveDescription[] = _("");
static const u8 sPoundMoveDescription[] = _("Pounds the foe with\nforelegs or tail.");
static const u8 sKarateChopMoveDescription[] = _("A chopping attack with a\nhigh critical-hit ratio.");
static const u8 sDoubleSlapMoveDescription[] = _("Repeatedly slaps the foe\n2 to 5 times.");
static const u8 sCometPunchMoveDescription[] = _("Repeatedly punches the foe\n2 to 5 times.");
static const u8 sMegaPunchMoveDescription[] = _("A strong punch thrown with\nincredible power.");
static const u8 sPayDayMoveDescription[] = _("Throws coins at the foe.\nMoney is recovered after.");
static const u8 sFirePunchMoveDescription[] = _("A fiery punch that may burn\nthe foe.");
static const u8 sIcePunchMoveDescription[] = _("An icy punch that may\nfreeze the foe.");
static const u8 sThunderPunchMoveDescription[] = _("An electrified punch that\nmay paralyze the foe.");
static const u8 sScratchMoveDescription[] = _("Scratches the foe with\nsharp claws.");
static const u8 sViceGripMoveDescription[] = _("Grips the foe with large and\npowerful pincers.");
static const u8 sGuillotineMoveDescription[] = _("A powerful pincer attack\nthat may cause fainting.");
static const u8 sRazorWindMoveDescription[] = _("A 2-turn move that strikes\nthe foe on the 2nd turn.");
static const u8 sSwordsDanceMoveDescription[] = _("A fighting dance that\nsharply raises ATTACK.");
static const u8 sCutMoveDescription[] = _("Cuts the foe with sharp\nscythes, claws, etc.");
static const u8 sGustMoveDescription[] = _("Strikes the foe with a gust\nof wind whipped up by wings.");
static const u8 sWingAttackMoveDescription[] = _("Strikes the foe with wings\nspread wide.");
static const u8 sWhirlwindMoveDescription[] = _("Blows away the foe with\nwind and ends the battle.");
static const u8 sFlyMoveDescription[] = _("Flies up on the first turn,\nthen strikes the next turn.");
static const u8 sBindMoveDescription[] = _("Binds and squeezes the foe\nfor 2 to 5 turns.");
static const u8 sSlamMoveDescription[] = _("Slams the foe with a long\ntail, vine, etc.");
static const u8 sVineWhipMoveDescription[] = _("Strikes the foe with\nslender, whiplike vines.");
static const u8 sStompMoveDescription[] = _("Stomps the enemy with a big\nfoot. May cause flinching.");
static const u8 sDoubleKickMoveDescription[] = _("A double-kicking attack\nthat strikes the foe twice.");
static const u8 sMegaKickMoveDescription[] = _("An extremely powerful kick\nwith intense force.");
static const u8 sJumpKickMoveDescription[] = _("A strong jumping kick. May\nmiss and hurt the kicker.");
static const u8 sRollingKickMoveDescription[] = _("A fast kick delivered from\na rapid spin.");
static const u8 sSandAttackMoveDescription[] = _("Reduces the foes accuracy\nby hurling sand in its face.");
static const u8 sHeadbuttMoveDescription[] = _("A ramming attack that may\ncause flinching.");
static const u8 sHornAttackMoveDescription[] = _("Jabs the foe with sharp\nhorns.");
static const u8 sFuryAttackMoveDescription[] = _("Jabs the foe 2 to 5 times\nwith sharp horns, etc.");
static const u8 sHornDrillMoveDescription[] = _("A one-hit KO attack that\nuses a horn like a drill.");
static const u8 sTackleMoveDescription[] = _("Charges the foe with a full-\nbody tackle.");
static const u8 sBodySlamMoveDescription[] = _("A full-body slam that may\ncause paralysis.");
static const u8 sWrapMoveDescription[] = _("Wraps and squeezes the foe\n2 to 5 times with vines, etc.");
static const u8 sTakeDownMoveDescription[] = _("A reckless charge attack\nthat also hurts the user.");
static const u8 sThrashMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user.");
static const u8 sDoubleEdgeMoveDescription[] = _("A life-risking tackle that\nalso hurts the user.");
static const u8 sTailWhipMoveDescription[] = _("Wags the tail to lower the\nfoes DEFENSE.");
static const u8 sPoisonStingMoveDescription[] = _("A toxic attack with barbs,\netc., that may poison.");
static const u8 sTwineedleMoveDescription[] = _("Stingers on the forelegs\njab the foe twice.");
static const u8 sPinMissileMoveDescription[] = _("Sharp pins are fired to\nstrike 2 to 5 times.");
static const u8 sLeerMoveDescription[] = _("Frightens the foe with a\nleer to lower DEFENSE.");
static const u8 sBiteMoveDescription[] = _("Bites with vicious fangs.\nMay cause flinching.");
static const u8 sGrowlMoveDescription[] = _("Growls cutely to reduce the\nfoes ATTACK.");
static const u8 sRoarMoveDescription[] = _("Makes the foe flee to end\nthe battle.");
static const u8 sSingMoveDescription[] = _("A soothing song lulls the\nfoe into a deep slumber.");
static const u8 sSupersonicMoveDescription[] = _("Emits bizarre sound waves\nthat may confuse the foe.");
static const u8 sSonicBoomMoveDescription[] = _("Launches shock waves that\nalways inflict 20 HP damage.");
static const u8 sDisableMoveDescription[] = _("Psychically disables one of\nthe foes moves.");
static const u8 sAcidMoveDescription[] = _("Sprays a hide-melting acid.\nMay lower DEFENSE.");
static const u8 sEmberMoveDescription[] = _("A weak fire attack that may\ninflict a burn.");
static const u8 sFlamethrowerMoveDescription[] = _("A powerful fire attack that\nmay inflict a burn.");
static const u8 sMistMoveDescription[] = _("Creates a mist that stops\nreduction of abilities.");
static const u8 sWaterGunMoveDescription[] = _("Squirts water to attack\nthe foe.");
static const u8 sHydroPumpMoveDescription[] = _("Blasts water at high power\nto strike the foe.");
static const u8 sSurfMoveDescription[] = _("Creates a huge wave, then\ncrashes it down on the foe.");
static const u8 sIceBeamMoveDescription[] = _("Blasts the foe with an icy\nbeam that may freeze it.");
static const u8 sBlizzardMoveDescription[] = _("Hits the foe with an icy\nstorm that may freeze it.");
static const u8 sPsybeamMoveDescription[] = _("Fires a peculiar ray that\nmay confuse the foe.");
static const u8 sBubbleBeamMoveDescription[] = _("Forcefully sprays bubbles\nthat may lower SPEED.");
static const u8 sAuroraBeamMoveDescription[] = _("Fires a rainbow-colored\nbeam that may lower ATTACK.");
static const u8 sHyperBeamMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
static const u8 sPeckMoveDescription[] = _("Attacks the foe with a\njabbing beak, etc.");
static const u8 sDrillPeckMoveDescription[] = _("A corkscrewing attack with\nthe beak acting as a drill.");
static const u8 sSubmissionMoveDescription[] = _("A reckless body slam that\nalso hurts the user.");
static const u8 sLowKickMoveDescription[] = _("A kick that inflicts more\ndamage on heavier foes.");
static const u8 sCounterMoveDescription[] = _("Retaliates any physical hit\nwith double the power.");
static const u8 sSeismicTossMoveDescription[] = _("Inflicts damage identical\nto the users level.");
static const u8 sStrengthMoveDescription[] = _("Builds enormous power,\nthen slams the foe.");
static const u8 sAbsorbMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted.");
static const u8 sMegaDrainMoveDescription[] = _("An attack that absorbs\nhalf the damage inflicted.");
static const u8 sLeechSeedMoveDescription[] = _("Plants a seed on the foe to\nsteal HP on every turn.");
static const u8 sGrowthMoveDescription[] = _("Forces the body to grow\nand heightens SP. ATK.");
static const u8 sRazorLeafMoveDescription[] = _("Cuts the enemy with leaves.\nHigh critical-hit ratio.");
static const u8 sSolarBeamMoveDescription[] = _("Absorbs light in one turn,\nthen attacks next turn.");
static const u8 sPoisonPowderMoveDescription[] = _("Scatters a toxic powder\nthat may poison the foe.");
static const u8 sStunSporeMoveDescription[] = _("Scatters a powder that may\nparalyze the foe.");
static const u8 sSleepPowderMoveDescription[] = _("Scatters a powder that may\ncause the foe to sleep.");
static const u8 sPetalDanceMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user.");
static const u8 sStringShotMoveDescription[] = _("Binds the foe with string\nto reduce its SPEED.");
static const u8 sDragonRageMoveDescription[] = _("Launches shock waves that\nalways inflict 40 HP damage.");
static const u8 sFireSpinMoveDescription[] = _("Traps the foe in a ring of\nfire for 2 to 5 turns.");
static const u8 sThunderShockMoveDescription[] = _("An electrical attack that\nmay paralyze the foe.");
static const u8 sThunderboltMoveDescription[] = _("A strong electrical attack\nthat may paralyze the foe.");
static const u8 sThunderWaveMoveDescription[] = _("A weak jolt of electricity\nthat paralyzes the foe.");
static const u8 sThunderMoveDescription[] = _("A lightning attack that may\ncause paralysis.");
static const u8 sRockThrowMoveDescription[] = _("Throws small rocks to\nstrike the foe.");
static const u8 sEarthquakeMoveDescription[] = _("A powerful quake, but has\nno effect on flying foes.");
static const u8 sFissureMoveDescription[] = _("A one-hit KO move that\ndrops the foe in a fissure.");
static const u8 sDigMoveDescription[] = _("Digs underground the first\nturn and strikes next turn.");
static const u8 sToxicMoveDescription[] = _("Poisons the foe with an\nintensifying toxin.");
static const u8 sConfusionMoveDescription[] = _("A psychic attack that may\ncause confusion.");
static const u8 sPsychicMoveDescription[] = _("A powerful psychic attack\nthat may lower SP. DEF.");
static const u8 sHypnosisMoveDescription[] = _("A hypnotizing move that\nmay induce sleep.");
static const u8 sMeditateMoveDescription[] = _("Meditates in a peaceful\nfashion to raise ATTACK.");
static const u8 sAgilityMoveDescription[] = _("Relaxes the body to sharply\nboost SPEED.");
static const u8 sQuickAttackMoveDescription[] = _("An extremely fast attack\nthat always strikes first.");
static const u8 sRageMoveDescription[] = _("Raises the users ATTACK\nevery time it is hit.");
static const u8 sTeleportMoveDescription[] = _("A psychic move for fleeing\nfrom battle instantly.");
static const u8 sNightShadeMoveDescription[] = _("Inflicts damage identical\nto the users level.");
static const u8 sMimicMoveDescription[] = _("Copies a move used by the\nfoe during one battle.");
static const u8 sScreechMoveDescription[] = _("Emits a screech to sharply\nreduce the foes DEFENSE.");
static const u8 sDoubleTeamMoveDescription[] = _("Creates illusory copies to\nraise evasiveness.");
static const u8 sRecoverMoveDescription[] = _("Recovers up to half the\nusers maximum HP.");
static const u8 sHardenMoveDescription[] = _("Stiffens the bodys \nmuscles to raise DEFENSE.");
static const u8 sMinimizeMoveDescription[] = _("Minimizes the users size\nto raise evasiveness.");
static const u8 sSmokescreenMoveDescription[] = _("Lowers the foes accuracy\nusing smoke, ink, etc.");
static const u8 sConfuseRayMoveDescription[] = _("A sinister ray that\nconfuses the foe.");
static const u8 sWithdrawMoveDescription[] = _("Withdraws the body into its\nhard shell to raise DEFENSE.");
static const u8 sDefenseCurlMoveDescription[] = _("Curls up to conceal weak\nspots and raise DEFENSE.");
static const u8 sBarrierMoveDescription[] = _("Creates a barrier that\nsharply raises DEFENSE.");
static const u8 sLightScreenMoveDescription[] = _("Creates a wall of light that\nlowers SP. ATK damage.");
static const u8 sHazeMoveDescription[] = _("Creates a black haze that\neliminates all stat changes.");
static const u8 sReflectMoveDescription[] = _("Creates a wall of light that\nweakens physical attacks.");
static const u8 sFocusEnergyMoveDescription[] = _("Focuses power to raise the\ncritical-hit ratio.");
static const u8 sBideMoveDescription[] = _("Endures attack for 2\nturns to retaliate double.");
static const u8 sMetronomeMoveDescription[] = _("Waggles a finger to use any\nPOKéMON move at random.");
static const u8 sMirrorMoveMoveDescription[] = _("Counters the foes attack\nwith the same move.");
static const u8 sSelfDestructMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint.");
static const u8 sEggBombMoveDescription[] = _("An egg is forcibly hurled at\nthe foe.");
static const u8 sLickMoveDescription[] = _("Licks with a long tongue to\ninjure. May also paralyze.");
static const u8 sSmogMoveDescription[] = _("An exhaust-gas attack\nthat may also poison.");
static const u8 sSludgeMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison.");
static const u8 sBoneClubMoveDescription[] = _("Clubs the foe with a bone.\nMay cause flinching.");
static const u8 sFireBlastMoveDescription[] = _("Incinerates everything it\nstrikes. May cause a burn.");
static const u8 sWaterfallMoveDescription[] = _("Charges the foe with speed\nto climb waterfalls.");
static const u8 sClampMoveDescription[] = _("Traps and squeezes the\nfoe for 2 to 5 turns.");
static const u8 sSwiftMoveDescription[] = _("Sprays star-shaped rays\nthat never miss.");
static const u8 sSkullBashMoveDescription[] = _("Tucks in the head, then\nattacks on the next turn.");
static const u8 sSpikeCannonMoveDescription[] = _("Launches sharp spikes that\nstrike 2 to 5 times.");
static const u8 sConstrictMoveDescription[] = _("Constricts to inflict pain.\nMay lower SPEED.");
static const u8 sAmnesiaMoveDescription[] = _("Forgets about something\nand sharply raises SP. DEF.");
static const u8 sKinesisMoveDescription[] = _("Distracts the foe.\nMay lower accuracy.");
static const u8 sSoftBoiledMoveDescription[] = _("Recovers up to half the\nusers maximum HP.");
static const u8 sHiJumpKickMoveDescription[] = _("A jumping knee kick. If it\nmisses, the user is hurt.");
static const u8 sGlareMoveDescription[] = _("Intimidates and frightens\nthe foe into paralysis.");
static const u8 sDreamEaterMoveDescription[] = _("Takes one half the damage\ninflicted on a sleeping foe.");
static const u8 sPoisonGasMoveDescription[] = _("Envelops the foe in a toxic\ngas that may poison.");
static const u8 sBarrageMoveDescription[] = _("Hurls round objects at the\nfoe 2 to 5 times.");
static const u8 sLeechLifeMoveDescription[] = _("An attack that steals half\nthe damage inflicted.");
static const u8 sLovelyKissMoveDescription[] = _("Demands a kiss with a scary\nface that induces sleep.");
static const u8 sSkyAttackMoveDescription[] = _("Searches out weak spots,\nthen strikes the next turn.");
static const u8 sTransformMoveDescription[] = _("Alters the users cells to\nbecome a copy of the foe.");
static const u8 sBubbleMoveDescription[] = _("An attack using bubbles.\nMay lower the foes SPEED.");
static const u8 sDizzyPunchMoveDescription[] = _("A rhythmic punch that may\nconfuse the foe.");
static const u8 sSporeMoveDescription[] = _("Scatters a cloud of spores\nthat always induce sleep.");
static const u8 sFlashMoveDescription[] = _("Looses a powerful blast of\nlight that cuts accuracy.");
static const u8 sPsywaveMoveDescription[] = _("Attacks with a psychic\nwave of varying intensity.");
static const u8 sSplashMoveDescription[] = _("Its just a splash...\nHas no effect whatsoever.");
static const u8 sAcidArmorMoveDescription[] = _("Liquifies the users body\nto sharply raise DEFENSE.");
static const u8 sCrabhammerMoveDescription[] = _("Hammers with a pincer. Has a\nhigh critical-hit ratio.");
static const u8 sExplosionMoveDescription[] = _("Inflicts severe damage but\nmakes the user faint.");
static const u8 sFurySwipesMoveDescription[] = _("Rakes the foe with sharp\nclaws, etc., 2 to 5 times.");
static const u8 sBonemerangMoveDescription[] = _("Throws a bone boomerang\nthat strikes twice.");
static const u8 sRestMoveDescription[] = _("The user sleeps for 2 turns,\nrestoring HP and status.");
static const u8 sRockSlideMoveDescription[] = _("Large boulders are hurled.\nMay cause flinching.");
static const u8 sHyperFangMoveDescription[] = _("Attacks with sharp fangs.\nMay cause flinching.");
static const u8 sSharpenMoveDescription[] = _("Reduces the polygon count\nand raises ATTACK.");
static const u8 sConversionMoveDescription[] = _("Changes the users type\ninto a known moves type.");
static const u8 sTriAttackMoveDescription[] = _("Fires three types of beams\nat the same time.");
static const u8 sSuperFangMoveDescription[] = _("Attacks with sharp fangs\nand cuts half the foes HP.");
static const u8 sSlashMoveDescription[] = _("Slashes with claws, etc. Has\na high critical-hit ratio.");
static const u8 sSubstituteMoveDescription[] = _("Creates a decoy using 1/4\nof the users maximum HP.");
static const u8 sStruggleMoveDescription[] = _("Used only if all PP are gone.\nAlso hurts the user a little.");
static const u8 sSketchMoveDescription[] = _("Copies the foes last move\npermanently.");
static const u8 sTripleKickMoveDescription[] = _("Kicks the foe 3 times in a\nrow with rising intensity.");
static const u8 sThiefMoveDescription[] = _("While attacking, it may\nsteal the foes held item.");
static const u8 sSpiderWebMoveDescription[] = _("Ensnares the foe to stop it\nfrom fleeing or switching.");
static const u8 sMindReaderMoveDescription[] = _("Senses the foes action to\nensure the next moves hit.");
static const u8 sNightmareMoveDescription[] = _("Inflicts 1/4 damage on a\nsleeping foe every turn.");
static const u8 sFlameWheelMoveDescription[] = _("A fiery charge attack that\nmay inflict a burn.");
static const u8 sSnoreMoveDescription[] = _("A loud attack that can be\nused only while asleep.");
static const u8 sCurseMoveDescription[] = _("A move that functions\ndifferently for GHOSTS.");
static const u8 sFlailMoveDescription[] = _("Inflicts more damage when\nthe users HP is down.");
static const u8 sConversion2MoveDescription[] = _("Makes the user resistant\nto the last attacks type.");
static const u8 sAeroblastMoveDescription[] = _("Launches a vacuumed blast.\nHigh critical-hit ratio.");
static const u8 sCottonSporeMoveDescription[] = _("Spores cling to the foe,\nsharply reducing SPEED.");
static const u8 sReversalMoveDescription[] = _("Inflicts more damage when\nthe users HP is down.");
static const u8 sSpiteMoveDescription[] = _("Spitefully cuts the PP\nof the foes last move.");
static const u8 sPowderSnowMoveDescription[] = _("Blasts the foe with a snowy\ngust. May cause freezing.");
static const u8 sProtectMoveDescription[] = _("Evades attack, but may fail\nif used in succession.");
static const u8 sMachPunchMoveDescription[] = _("A punch is thrown at wicked\nspeed to strike first.");
static const u8 sScaryFaceMoveDescription[] = _("Frightens with a scary face\nto sharply reduce SPEED.");
static const u8 sFaintAttackMoveDescription[] = _("Draws the foe close, then\nstrikes without fail.");
static const u8 sSweetKissMoveDescription[] = _("Demands a kiss with a cute\nlook. May cause confusion.");
static const u8 sBellyDrumMoveDescription[] = _("Maximizes ATTACK while\nsacrificing HP.");
static const u8 sSludgeBombMoveDescription[] = _("Sludge is hurled to inflict\ndamage. May also poison.");
static const u8 sMudSlapMoveDescription[] = _("Hurls mud in the foes face\nto reduce its accuracy.");
static const u8 sOctazookaMoveDescription[] = _("Fires a lump of ink to\ndamage and cut accuracy.");
static const u8 sSpikesMoveDescription[] = _("Sets spikes that hurt a \nfoe switching in.");
static const u8 sZapCannonMoveDescription[] = _("Powerful and sure to cause\nparalysis, but inaccurate.");
static const u8 sForesightMoveDescription[] = _("Negates the foes efforts\nto heighten evasiveness.");
static const u8 sDestinyBondMoveDescription[] = _("If the user faints, the foe\nis also made to faint.");
static const u8 sPerishSongMoveDescription[] = _("Any POKéMON hearing this\nsong faints in 3 turns.");
static const u8 sIcyWindMoveDescription[] = _("A chilling attack that\nlowers the foes SPEED.");
static const u8 sDetectMoveDescription[] = _("Evades attack, but may fail\nif used in succession.");
static const u8 sBoneRushMoveDescription[] = _("Strikes the foe with a bone\nin hand 2 to 5 times.");
static const u8 sLockOnMoveDescription[] = _("Locks on to the foe to\nensure the next move hits.");
static const u8 sOutrageMoveDescription[] = _("A rampage of 2 to 3 turns\nthat confuses the user.");
static const u8 sSandstormMoveDescription[] = _("Causes a sandstorm that\nrages for several turns.");
static const u8 sGigaDrainMoveDescription[] = _("An attack that steals half\nthe damage inflicted.");
static const u8 sEndureMoveDescription[] = _("Endures any attack for\n1 turn, leaving at least 1HP.");
static const u8 sCharmMoveDescription[] = _("Charms the foe and sharply\nreduces its ATTACK.");
static const u8 sRolloutMoveDescription[] = _("An attack lasting 5 turns\nwith rising intensity.");
static const u8 sFalseSwipeMoveDescription[] = _("An attack that leaves the\nfoe with at least 1 HP.");
static const u8 sSwaggerMoveDescription[] = _("Confuses the foe, but also\nsharply raises ATTACK.");
static const u8 sMilkDrinkMoveDescription[] = _("Recovers up to half the\nusers maximum HP.");
static const u8 sSparkMoveDescription[] = _("An electrified tackle that\nmay paralyze the foe.");
static const u8 sFuryCutterMoveDescription[] = _("An attack that intensifies\non each successive hit.");
static const u8 sSteelWingMoveDescription[] = _("Strikes the foe with hard\nwings spread wide.");
static const u8 sMeanLookMoveDescription[] = _("Fixes the foe with a mean\nlook that prevents escape.");
static const u8 sAttractMoveDescription[] = _("Makes the opposite gender\nless likely to attack.");
static const u8 sSleepTalkMoveDescription[] = _("Uses an available move\nrandomly while asleep.");
static const u8 sHealBellMoveDescription[] = _("Chimes soothingly to heal\nall status abnormalities.");
static const u8 sReturnMoveDescription[] = _("An attack that increases\nin power with friendship.");
static const u8 sPresentMoveDescription[] = _("A gift in the form of a\nbomb. May restore HP.");
static const u8 sFrustrationMoveDescription[] = _("An attack that is stronger\nif the TRAINER is disliked.");
static const u8 sSafeguardMoveDescription[] = _("A mystical force prevents\nall status problems.");
static const u8 sPainSplitMoveDescription[] = _("Adds the user and foes HP,\nthen shares them equally.");
static const u8 sSacredFireMoveDescription[] = _("A mystical fire attack that\nmay inflict a burn.");
static const u8 sMagnitudeMoveDescription[] = _("A ground-shaking attack\nof random intensity.");
static const u8 sDynamicPunchMoveDescription[] = _("Powerful and sure to cause\nconfusion, but inaccurate.");
static const u8 sMegahornMoveDescription[] = _("A brutal ramming attack\nusing out-thrust horns.");
static const u8 sDragonBreathMoveDescription[] = _("Strikes the foe with an\nincredible blast of breath.");
static const u8 sBatonPassMoveDescription[] = _("Switches out the user while\nkeeping effects in play.");
static const u8 sEncoreMoveDescription[] = _("Makes the foe repeat its\nlast move over 2 to 6 turns.");
static const u8 sPursuitMoveDescription[] = _("Inflicts bad damage if used\non a foe switching out.");
static const u8 sRapidSpinMoveDescription[] = _("Spins the body at high\nspeed to strike the foe.");
static const u8 sSweetScentMoveDescription[] = _("Allures the foe to reduce\nevasiveness.");
static const u8 sIronTailMoveDescription[] = _("Attacks with a rock-hard\ntail. May lower DEFENSE.");
static const u8 sMetalClawMoveDescription[] = _("A claw attack that may\nraise the users ATTACK.");
static const u8 sVitalThrowMoveDescription[] = _("Makes the users move last,\nbut it never misses.");
static const u8 sMorningSunMoveDescription[] = _("Restores HP. The amount\nvaries with the weather.");
static const u8 sSynthesisMoveDescription[] = _("Restores HP. The amount\nvaries with the weather.");
static const u8 sMoonlightMoveDescription[] = _("Restores HP. The amount\nvaries with the weather.");
static const u8 sHiddenPowerMoveDescription[] = _("The effectiveness varies\nwith the user.");
static const u8 sCrossChopMoveDescription[] = _("A double-chopping attack.\nHigh critical-hit ratio.");
static const u8 sTwisterMoveDescription[] = _("Whips up a vicious twister\nto tear at the foe.");
static const u8 sRainDanceMoveDescription[] = _("Boosts the power of WATER-\ntype moves for 5 turns.");
static const u8 sSunnyDayMoveDescription[] = _("Boosts the power of FIRE-\ntype moves for 5 turns.");
static const u8 sCrunchMoveDescription[] = _("Crunches with sharp fangs.\nMay lower SP. DEF.");
static const u8 sMirrorCoatMoveDescription[] = _("Counters the foes special\nattack at double the power.");
static const u8 sPsychUpMoveDescription[] = _("Copies the foes effect(s)\nand gives to the user.");
static const u8 sExtremeSpeedMoveDescription[] = _("An extremely fast and\npowerful attack.");
static const u8 sAncientPowerMoveDescription[] = _("An attack that may raise\nall stats.");
static const u8 sShadowBallMoveDescription[] = _("Hurls a black blob that may\nlower the foes SP. DEF.");
static const u8 sFutureSightMoveDescription[] = _("Heightens inner power to\nstrike 2 turns later.");
static const u8 sRockSmashMoveDescription[] = _("A rock-crushing attack\nthat may lower DEFENSE.");
static const u8 sWhirlpoolMoveDescription[] = _("Traps and hurts the foe in\na whirlpool for 2 to 5 turns.");
static const u8 sBeatUpMoveDescription[] = _("Summons party POKéMON to\njoin in the attack.");
static const u8 sFakeOutMoveDescription[] = _("A 1st-turn, 1st-strike move\nthat causes flinching.");
static const u8 sUproarMoveDescription[] = _("Causes an uproar for 2 to 5\nturns and prevents sleep.");
static const u8 sStockpileMoveDescription[] = _("Charges up power for up to\n3 turns.");
static const u8 sSpitUpMoveDescription[] = _("Releases stockpiled power\n(the more the better).");
static const u8 sSwallowMoveDescription[] = _("Absorbs stockpiled power\nand restores HP.");
static const u8 sHeatWaveMoveDescription[] = _("Exhales a hot breath on the\nfoe. May inflict a burn.");
static const u8 sHailMoveDescription[] = _("Summons a hailstorm that\nstrikes every turn.");
static const u8 sTormentMoveDescription[] = _("Torments the foe and stops\nsuccessive use of a move.");
static const u8 sFlatterMoveDescription[] = _("Confuses the foe, but\nraises its SP. ATK.");
static const u8 sWillOWispMoveDescription[] = _("Inflicts a burn on the foe\nwith intense fire.");
static const u8 sMementoMoveDescription[] = _("The user faints and lowers\nthe foes abilities.");
static const u8 sFacadeMoveDescription[] = _("Boosts ATTACK when burned,\nparalyzed, or poisoned.");
static const u8 sFocusPunchMoveDescription[] = _("A powerful loyalty attack.\nThe user flinches if hit.");
static const u8 sSmellingSaltMoveDescription[] = _("Powerful against paralyzed\nfoes, but also heals them.");
static const u8 sFollowMeMoveDescription[] = _("Draws attention to make\nfoes attack only the user.");
static const u8 sNaturePowerMoveDescription[] = _("The type of attack varies\ndepending on the location.");
static const u8 sChargeMoveDescription[] = _("Charges power to boost the\nelectric move used next.");
static const u8 sTauntMoveDescription[] = _("Taunts the foe into only\nusing attack moves.");
static const u8 sHelpingHandMoveDescription[] = _("Boosts the power of the\nrecipients moves.");
static const u8 sTrickMoveDescription[] = _("Tricks the foe into trading\nheld items.");
static const u8 sRolePlayMoveDescription[] = _("Mimics the target and\ncopies its special ability.");
static const u8 sWishMoveDescription[] = _("A wish that restores HP.\nIt takes time to work.");
static const u8 sAssistMoveDescription[] = _("Attacks randomly with one\nof the partners moves.");
static const u8 sIngrainMoveDescription[] = _("Lays roots that restore HP.\nThe user cant switch out.");
static const u8 sSuperpowerMoveDescription[] = _("Boosts strength sharply,\nbut lowers abilities.");
static const u8 sMagicCoatMoveDescription[] = _("Reflects special effects\nback to the attacker.");
static const u8 sRecycleMoveDescription[] = _("Recycles a used item for\none more use.");
static const u8 sRevengeMoveDescription[] = _("An attack that gains power\nif injured by the foe.");
static const u8 sBrickBreakMoveDescription[] = _("Destroys barriers such as\nREFLECT and causes damage.");
static const u8 sYawnMoveDescription[] = _("Lulls the foe into yawning,\nthen sleeping next turn.");
static const u8 sKnockOffMoveDescription[] = _("Knocks down the foes held\nitem to prevent its use.");
static const u8 sEndeavorMoveDescription[] = _("Gains power if the users HP\nis lower than the foes HP.");
static const u8 sEruptionMoveDescription[] = _("The higher the users HP,\nthe more damage caused.");
static const u8 sSkillSwapMoveDescription[] = _("The user swaps special\nabilities with the target.");
static const u8 sImprisonMoveDescription[] = _("Prevents foes from using\nmoves known by the user.");
static const u8 sRefreshMoveDescription[] = _("Heals poisoning, paralysis,\nor a burn.");
static const u8 sGrudgeMoveDescription[] = _("If the user faints, deletes\nall PP of foes last move.");
static const u8 sSnatchMoveDescription[] = _("Steals the effects of the\nmove the target uses next.");
static const u8 sSecretPowerMoveDescription[] = _("An attack with effects\nthat vary by location.");
static const u8 sDiveMoveDescription[] = _("Dives underwater the first\nturn and strikes next turn.");
static const u8 sArmThrustMoveDescription[] = _("Straight-arm punches that\nstrike the foe 2 to 5 times.");
static const u8 sCamouflageMoveDescription[] = _("Alters the POKéMONs type\ndepending on the location.");
static const u8 sTailGlowMoveDescription[] = _("Flashes a light that sharply\nraises SP. ATK.");
static const u8 sLusterPurgeMoveDescription[] = _("Attacks with a burst of\nlight. May lower SP. DEF.");
static const u8 sMistBallMoveDescription[] = _("Attacks with a flurry of\ndown. May lower SP. ATK.");
static const u8 sFeatherDanceMoveDescription[] = _("Envelops the foe with down\nto sharply reduce ATTACK.");
static const u8 sTeeterDanceMoveDescription[] = _("Confuses all POKéMON on\nthe scene.");
static const u8 sBlazeKickMoveDescription[] = _("A kick with a high critical-\nhit ratio. May cause a burn.");
static const u8 sMudSportMoveDescription[] = _("Covers the user in mud to\nraise electrical resistance.");
static const u8 sIceBallMoveDescription[] = _("A 5-turn attack that gains\npower on successive hits.");
static const u8 sNeedleArmMoveDescription[] = _("Attacks with thorny arms.\nMay cause flinching.");
static const u8 sSlackOffMoveDescription[] = _("Slacks off and restores\nhalf the maximum HP.");
static const u8 sHyperVoiceMoveDescription[] = _("A loud attack that uses\nsound waves to injure.");
static const u8 sPoisonFangMoveDescription[] = _("A sharp-fanged attack.\nMay badly poison the foe.");
static const u8 sCrushClawMoveDescription[] = _("Tears at the foe with sharp\nclaws. May lower DEFENSE.");
static const u8 sBlastBurnMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
static const u8 sHydroCannonMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
static const u8 sMeteorMashMoveDescription[] = _("Fires a meteor-like punch.\nMay raise ATTACK.");
static const u8 sAstonishMoveDescription[] = _("An attack that may shock\nthe foe into flinching.");
static const u8 sWeatherBallMoveDescription[] = _("The moves type and power\nchange with the weather.");
static const u8 sAromatherapyMoveDescription[] = _("Heals all status problems\nwith a soothing scent.");
static const u8 sFakeTearsMoveDescription[] = _("Feigns crying to sharply\nlower the foes SP. DEF.");
static const u8 sAirCutterMoveDescription[] = _("Hacks with razorlike wind.\nHigh critical-hit ratio.");
static const u8 sOverheatMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK.");
static const u8 sOdorSleuthMoveDescription[] = _("Negates the foes efforts\nto heighten evasiveness.");
static const u8 sRockTombMoveDescription[] = _("Stops the foe from moving\nwith rocks and cuts SPEED.");
static const u8 sSilverWindMoveDescription[] = _("A powdery attack that may\nraise abilities.");
static const u8 sMetalSoundMoveDescription[] = _("Emits a horrible screech\nthat sharply lowers SP. DEF.");
static const u8 sGrassWhistleMoveDescription[] = _("Lulls the foe into sleep\nwith a pleasant melody.");
static const u8 sTickleMoveDescription[] = _("Makes the foe laugh to\nlower ATTACK and DEFENSE.");
static const u8 sCosmicPowerMoveDescription[] = _("Raises DEFENSE and SP. DEF\nwith a mystic power.");
static const u8 sWaterSpoutMoveDescription[] = _("Inflicts more damage if the\nusers HP is high.");
static const u8 sSignalBeamMoveDescription[] = _("A strange beam attack that\nmay confuse the foe.");
static const u8 sShadowPunchMoveDescription[] = _("An unavoidable punch that\nis thrown from shadows.");
static const u8 sExtrasensoryMoveDescription[] = _("Attacks with a peculiar\npower. May cause flinching.");
static const u8 sSkyUppercutMoveDescription[] = _("An uppercut thrown as if\nleaping into the sky.");
static const u8 sSandTombMoveDescription[] = _("Traps and hurts the foe in\nquicksand for 2 to 5 turns.");
static const u8 sSheerColdMoveDescription[] = _("A chilling attack that\ncauses fainting if it hits.");
static const u8 sMuddyWaterMoveDescription[] = _("Attacks with muddy water.\nMay lower accuracy.");
static const u8 sBulletSeedMoveDescription[] = _("Shoots 2 to 5 seeds in a row\nto strike the foe.");
static const u8 sAerialAceMoveDescription[] = _("An extremely speedy and\nunavoidable attack.");
static const u8 sIcicleSpearMoveDescription[] = _("Attacks the foe by firing\n2 to 5 icicles in a row.");
static const u8 sIronDefenseMoveDescription[] = _("Hardens the bodys surface\nto sharply raise DEFENSE.");
static const u8 sBlockMoveDescription[] = _("Blocks the foes way to\nprevent escape.");
static const u8 sHowlMoveDescription[] = _("Howls to raise the spirit\nand boosts ATTACK.");
static const u8 sDragonClawMoveDescription[] = _("Slashes the foe with sharp\nclaws.");
static const u8 sFrenzyPlantMoveDescription[] = _("Powerful, but leaves the\nuser immobile the next turn.");
static const u8 sBulkUpMoveDescription[] = _("Bulks up the body to boost\nboth ATTACK and DEFENSE.");
static const u8 sBounceMoveDescription[] = _("Bounces up, then down the\nnext turn. May paralyze.");
static const u8 sMudShotMoveDescription[] = _("Hurls mud at the foe and\nreduces SPEED.");
static const u8 sPoisonTailMoveDescription[] = _("Has a high critical-hit\nratio. May also poison.");
static const u8 sCovetMoveDescription[] = _("Cutely begs to obtain an\nitem held by the foe.");
static const u8 sVoltTackleMoveDescription[] = _("A life-risking tackle that\nslightly hurts the user.");
static const u8 sMagicalLeafMoveDescription[] = _("Attacks with a strange leaf\nthat cannot be evaded.");
static const u8 sWaterSportMoveDescription[] = _("The user becomes soaked to\nraise resistance to fire.");
static const u8 sCalmMindMoveDescription[] = _("Raises SP. ATK and SP. DEF\nby focusing the mind.");
static const u8 sLeafBladeMoveDescription[] = _("Slashes with a sharp leaf.\nHigh critical-hit ratio.");
static const u8 sDragonDanceMoveDescription[] = _("A mystical dance that ups\nATTACK and SPEED.");
static const u8 sRockBlastMoveDescription[] = _("Hurls boulders at the foe\n2 to 5 times in a row.");
static const u8 sShockWaveMoveDescription[] = _("A fast and unavoidable\nelectric attack.");
static const u8 sWaterPulseMoveDescription[] = _("Attacks with ultrasonic\nwaves. May confuse the foe.");
static const u8 sDoomDesireMoveDescription[] = _("Summons strong sunlight to\nattack 2 turns later.");
static const u8 sPsychoBoostMoveDescription[] = _("Allows a full-power attack,\nbut sharply lowers SP. ATK.");
// MOVE_NONE is ignored in this table. Make sure to always subtract 1 before getting the right pointer.
const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
{
[MOVE_POUND - 1] = sPoundMoveDescription,
[MOVE_KARATE_CHOP - 1] = sKarateChopMoveDescription,
[MOVE_DOUBLE_SLAP - 1] = sDoubleSlapMoveDescription,
[MOVE_COMET_PUNCH - 1] = sCometPunchMoveDescription,
[MOVE_MEGA_PUNCH - 1] = sMegaPunchMoveDescription,
[MOVE_PAY_DAY - 1] = sPayDayMoveDescription,
[MOVE_FIRE_PUNCH - 1] = sFirePunchMoveDescription,
[MOVE_ICE_PUNCH - 1] = sIcePunchMoveDescription,
[MOVE_THUNDER_PUNCH - 1] = sThunderPunchMoveDescription,
[MOVE_SCRATCH - 1] = sScratchMoveDescription,
[MOVE_VICE_GRIP - 1] = sViceGripMoveDescription,
[MOVE_GUILLOTINE - 1] = sGuillotineMoveDescription,
[MOVE_RAZOR_WIND - 1] = sRazorWindMoveDescription,
[MOVE_SWORDS_DANCE - 1] = sSwordsDanceMoveDescription,
[MOVE_CUT - 1] = sCutMoveDescription,
[MOVE_GUST - 1] = sGustMoveDescription,
[MOVE_WING_ATTACK - 1] = sWingAttackMoveDescription,
[MOVE_WHIRLWIND - 1] = sWhirlwindMoveDescription,
[MOVE_FLY - 1] = sFlyMoveDescription,
[MOVE_BIND - 1] = sBindMoveDescription,
[MOVE_SLAM - 1] = sSlamMoveDescription,
[MOVE_VINE_WHIP - 1] = sVineWhipMoveDescription,
[MOVE_STOMP - 1] = sStompMoveDescription,
[MOVE_DOUBLE_KICK - 1] = sDoubleKickMoveDescription,
[MOVE_MEGA_KICK - 1] = sMegaKickMoveDescription,
[MOVE_JUMP_KICK - 1] = sJumpKickMoveDescription,
[MOVE_ROLLING_KICK - 1] = sRollingKickMoveDescription,
[MOVE_SAND_ATTACK - 1] = sSandAttackMoveDescription,
[MOVE_HEADBUTT - 1] = sHeadbuttMoveDescription,
[MOVE_HORN_ATTACK - 1] = sHornAttackMoveDescription,
[MOVE_FURY_ATTACK - 1] = sFuryAttackMoveDescription,
[MOVE_HORN_DRILL - 1] = sHornDrillMoveDescription,
[MOVE_TACKLE - 1] = sTackleMoveDescription,
[MOVE_BODY_SLAM - 1] = sBodySlamMoveDescription,
[MOVE_WRAP - 1] = sWrapMoveDescription,
[MOVE_TAKE_DOWN - 1] = sTakeDownMoveDescription,
[MOVE_THRASH - 1] = sThrashMoveDescription,
[MOVE_DOUBLE_EDGE - 1] = sDoubleEdgeMoveDescription,
[MOVE_TAIL_WHIP - 1] = sTailWhipMoveDescription,
[MOVE_POISON_STING - 1] = sPoisonStingMoveDescription,
[MOVE_TWINEEDLE - 1] = sTwineedleMoveDescription,
[MOVE_PIN_MISSILE - 1] = sPinMissileMoveDescription,
[MOVE_LEER - 1] = sLeerMoveDescription,
[MOVE_BITE - 1] = sBiteMoveDescription,
[MOVE_GROWL - 1] = sGrowlMoveDescription,
[MOVE_ROAR - 1] = sRoarMoveDescription,
[MOVE_SING - 1] = sSingMoveDescription,
[MOVE_SUPERSONIC - 1] = sSupersonicMoveDescription,
[MOVE_SONIC_BOOM - 1] = sSonicBoomMoveDescription,
[MOVE_DISABLE - 1] = sDisableMoveDescription,
[MOVE_ACID - 1] = sAcidMoveDescription,
[MOVE_EMBER - 1] = sEmberMoveDescription,
[MOVE_FLAMETHROWER - 1] = sFlamethrowerMoveDescription,
[MOVE_MIST - 1] = sMistMoveDescription,
[MOVE_WATER_GUN - 1] = sWaterGunMoveDescription,
[MOVE_HYDRO_PUMP - 1] = sHydroPumpMoveDescription,
[MOVE_SURF - 1] = sSurfMoveDescription,
[MOVE_ICE_BEAM - 1] = sIceBeamMoveDescription,
[MOVE_BLIZZARD - 1] = sBlizzardMoveDescription,
[MOVE_PSYBEAM - 1] = sPsybeamMoveDescription,
[MOVE_BUBBLE_BEAM - 1] = sBubbleBeamMoveDescription,
[MOVE_AURORA_BEAM - 1] = sAuroraBeamMoveDescription,
[MOVE_HYPER_BEAM - 1] = sHyperBeamMoveDescription,
[MOVE_PECK - 1] = sPeckMoveDescription,
[MOVE_DRILL_PECK - 1] = sDrillPeckMoveDescription,
[MOVE_SUBMISSION - 1] = sSubmissionMoveDescription,
[MOVE_LOW_KICK - 1] = sLowKickMoveDescription,
[MOVE_COUNTER - 1] = sCounterMoveDescription,
[MOVE_SEISMIC_TOSS - 1] = sSeismicTossMoveDescription,
[MOVE_STRENGTH - 1] = sStrengthMoveDescription,
[MOVE_ABSORB - 1] = sAbsorbMoveDescription,
[MOVE_MEGA_DRAIN - 1] = sMegaDrainMoveDescription,
[MOVE_LEECH_SEED - 1] = sLeechSeedMoveDescription,
[MOVE_GROWTH - 1] = sGrowthMoveDescription,
[MOVE_RAZOR_LEAF - 1] = sRazorLeafMoveDescription,
[MOVE_SOLAR_BEAM - 1] = sSolarBeamMoveDescription,
[MOVE_POISON_POWDER - 1] = sPoisonPowderMoveDescription,
[MOVE_STUN_SPORE - 1] = sStunSporeMoveDescription,
[MOVE_SLEEP_POWDER - 1] = sSleepPowderMoveDescription,
[MOVE_PETAL_DANCE - 1] = sPetalDanceMoveDescription,
[MOVE_STRING_SHOT - 1] = sStringShotMoveDescription,
[MOVE_DRAGON_RAGE - 1] = sDragonRageMoveDescription,
[MOVE_FIRE_SPIN - 1] = sFireSpinMoveDescription,
[MOVE_THUNDER_SHOCK - 1] = sThunderShockMoveDescription,
[MOVE_THUNDERBOLT - 1] = sThunderboltMoveDescription,
[MOVE_THUNDER_WAVE - 1] = sThunderWaveMoveDescription,
[MOVE_THUNDER - 1] = sThunderMoveDescription,
[MOVE_ROCK_THROW - 1] = sRockThrowMoveDescription,
[MOVE_EARTHQUAKE - 1] = sEarthquakeMoveDescription,
[MOVE_FISSURE - 1] = sFissureMoveDescription,
[MOVE_DIG - 1] = sDigMoveDescription,
[MOVE_TOXIC - 1] = sToxicMoveDescription,
[MOVE_CONFUSION - 1] = sConfusionMoveDescription,
[MOVE_PSYCHIC - 1] = sPsychicMoveDescription,
[MOVE_HYPNOSIS - 1] = sHypnosisMoveDescription,
[MOVE_MEDITATE - 1] = sMeditateMoveDescription,
[MOVE_AGILITY - 1] = sAgilityMoveDescription,
[MOVE_QUICK_ATTACK - 1] = sQuickAttackMoveDescription,
[MOVE_RAGE - 1] = sRageMoveDescription,
[MOVE_TELEPORT - 1] = sTeleportMoveDescription,
[MOVE_NIGHT_SHADE - 1] = sNightShadeMoveDescription,
[MOVE_MIMIC - 1] = sMimicMoveDescription,
[MOVE_SCREECH - 1] = sScreechMoveDescription,
[MOVE_DOUBLE_TEAM - 1] = sDoubleTeamMoveDescription,
[MOVE_RECOVER - 1] = sRecoverMoveDescription,
[MOVE_HARDEN - 1] = sHardenMoveDescription,
[MOVE_MINIMIZE - 1] = sMinimizeMoveDescription,
[MOVE_SMOKESCREEN - 1] = sSmokescreenMoveDescription,
[MOVE_CONFUSE_RAY - 1] = sConfuseRayMoveDescription,
[MOVE_WITHDRAW - 1] = sWithdrawMoveDescription,
[MOVE_DEFENSE_CURL - 1] = sDefenseCurlMoveDescription,
[MOVE_BARRIER - 1] = sBarrierMoveDescription,
[MOVE_LIGHT_SCREEN - 1] = sLightScreenMoveDescription,
[MOVE_HAZE - 1] = sHazeMoveDescription,
[MOVE_REFLECT - 1] = sReflectMoveDescription,
[MOVE_FOCUS_ENERGY - 1] = sFocusEnergyMoveDescription,
[MOVE_BIDE - 1] = sBideMoveDescription,
[MOVE_METRONOME - 1] = sMetronomeMoveDescription,
[MOVE_MIRROR_MOVE - 1] = sMirrorMoveMoveDescription,
[MOVE_SELF_DESTRUCT - 1] = sSelfDestructMoveDescription,
[MOVE_EGG_BOMB - 1] = sEggBombMoveDescription,
[MOVE_LICK - 1] = sLickMoveDescription,
[MOVE_SMOG - 1] = sSmogMoveDescription,
[MOVE_SLUDGE - 1] = sSludgeMoveDescription,
[MOVE_BONE_CLUB - 1] = sBoneClubMoveDescription,
[MOVE_FIRE_BLAST - 1] = sFireBlastMoveDescription,
[MOVE_WATERFALL - 1] = sWaterfallMoveDescription,
[MOVE_CLAMP - 1] = sClampMoveDescription,
[MOVE_SWIFT - 1] = sSwiftMoveDescription,
[MOVE_SKULL_BASH - 1] = sSkullBashMoveDescription,
[MOVE_SPIKE_CANNON - 1] = sSpikeCannonMoveDescription,
[MOVE_CONSTRICT - 1] = sConstrictMoveDescription,
[MOVE_AMNESIA - 1] = sAmnesiaMoveDescription,
[MOVE_KINESIS - 1] = sKinesisMoveDescription,
[MOVE_SOFT_BOILED - 1] = sSoftBoiledMoveDescription,
[MOVE_HI_JUMP_KICK - 1] = sHiJumpKickMoveDescription,
[MOVE_GLARE - 1] = sGlareMoveDescription,
[MOVE_DREAM_EATER - 1] = sDreamEaterMoveDescription,
[MOVE_POISON_GAS - 1] = sPoisonGasMoveDescription,
[MOVE_BARRAGE - 1] = sBarrageMoveDescription,
[MOVE_LEECH_LIFE - 1] = sLeechLifeMoveDescription,
[MOVE_LOVELY_KISS - 1] = sLovelyKissMoveDescription,
[MOVE_SKY_ATTACK - 1] = sSkyAttackMoveDescription,
[MOVE_TRANSFORM - 1] = sTransformMoveDescription,
[MOVE_BUBBLE - 1] = sBubbleMoveDescription,
[MOVE_DIZZY_PUNCH - 1] = sDizzyPunchMoveDescription,
[MOVE_SPORE - 1] = sSporeMoveDescription,
[MOVE_FLASH - 1] = sFlashMoveDescription,
[MOVE_PSYWAVE - 1] = sPsywaveMoveDescription,
[MOVE_SPLASH - 1] = sSplashMoveDescription,
[MOVE_ACID_ARMOR - 1] = sAcidArmorMoveDescription,
[MOVE_CRABHAMMER - 1] = sCrabhammerMoveDescription,
[MOVE_EXPLOSION - 1] = sExplosionMoveDescription,
[MOVE_FURY_SWIPES - 1] = sFurySwipesMoveDescription,
[MOVE_BONEMERANG - 1] = sBonemerangMoveDescription,
[MOVE_REST - 1] = sRestMoveDescription,
[MOVE_ROCK_SLIDE - 1] = sRockSlideMoveDescription,
[MOVE_HYPER_FANG - 1] = sHyperFangMoveDescription,
[MOVE_SHARPEN - 1] = sSharpenMoveDescription,
[MOVE_CONVERSION - 1] = sConversionMoveDescription,
[MOVE_TRI_ATTACK - 1] = sTriAttackMoveDescription,
[MOVE_SUPER_FANG - 1] = sSuperFangMoveDescription,
[MOVE_SLASH - 1] = sSlashMoveDescription,
[MOVE_SUBSTITUTE - 1] = sSubstituteMoveDescription,
[MOVE_STRUGGLE - 1] = sStruggleMoveDescription,
[MOVE_SKETCH - 1] = sSketchMoveDescription,
[MOVE_TRIPLE_KICK - 1] = sTripleKickMoveDescription,
[MOVE_THIEF - 1] = sThiefMoveDescription,
[MOVE_SPIDER_WEB - 1] = sSpiderWebMoveDescription,
[MOVE_MIND_READER - 1] = sMindReaderMoveDescription,
[MOVE_NIGHTMARE - 1] = sNightmareMoveDescription,
[MOVE_FLAME_WHEEL - 1] = sFlameWheelMoveDescription,
[MOVE_SNORE - 1] = sSnoreMoveDescription,
[MOVE_CURSE - 1] = sCurseMoveDescription,
[MOVE_FLAIL - 1] = sFlailMoveDescription,
[MOVE_CONVERSION_2 - 1] = sConversion2MoveDescription,
[MOVE_AEROBLAST - 1] = sAeroblastMoveDescription,
[MOVE_COTTON_SPORE - 1] = sCottonSporeMoveDescription,
[MOVE_REVERSAL - 1] = sReversalMoveDescription,
[MOVE_SPITE - 1] = sSpiteMoveDescription,
[MOVE_POWDER_SNOW - 1] = sPowderSnowMoveDescription,
[MOVE_PROTECT - 1] = sProtectMoveDescription,
[MOVE_MACH_PUNCH - 1] = sMachPunchMoveDescription,
[MOVE_SCARY_FACE - 1] = sScaryFaceMoveDescription,
[MOVE_FAINT_ATTACK - 1] = sFaintAttackMoveDescription,
[MOVE_SWEET_KISS - 1] = sSweetKissMoveDescription,
[MOVE_BELLY_DRUM - 1] = sBellyDrumMoveDescription,
[MOVE_SLUDGE_BOMB - 1] = sSludgeBombMoveDescription,
[MOVE_MUD_SLAP - 1] = sMudSlapMoveDescription,
[MOVE_OCTAZOOKA - 1] = sOctazookaMoveDescription,
[MOVE_SPIKES - 1] = sSpikesMoveDescription,
[MOVE_ZAP_CANNON - 1] = sZapCannonMoveDescription,
[MOVE_FORESIGHT - 1] = sForesightMoveDescription,
[MOVE_DESTINY_BOND - 1] = sDestinyBondMoveDescription,
[MOVE_PERISH_SONG - 1] = sPerishSongMoveDescription,
[MOVE_ICY_WIND - 1] = sIcyWindMoveDescription,
[MOVE_DETECT - 1] = sDetectMoveDescription,
[MOVE_BONE_RUSH - 1] = sBoneRushMoveDescription,
[MOVE_LOCK_ON - 1] = sLockOnMoveDescription,
[MOVE_OUTRAGE - 1] = sOutrageMoveDescription,
[MOVE_SANDSTORM - 1] = sSandstormMoveDescription,
[MOVE_GIGA_DRAIN - 1] = sGigaDrainMoveDescription,
[MOVE_ENDURE - 1] = sEndureMoveDescription,
[MOVE_CHARM - 1] = sCharmMoveDescription,
[MOVE_ROLLOUT - 1] = sRolloutMoveDescription,
[MOVE_FALSE_SWIPE - 1] = sFalseSwipeMoveDescription,
[MOVE_SWAGGER - 1] = sSwaggerMoveDescription,
[MOVE_MILK_DRINK - 1] = sMilkDrinkMoveDescription,
[MOVE_SPARK - 1] = sSparkMoveDescription,
[MOVE_FURY_CUTTER - 1] = sFuryCutterMoveDescription,
[MOVE_STEEL_WING - 1] = sSteelWingMoveDescription,
[MOVE_MEAN_LOOK - 1] = sMeanLookMoveDescription,
[MOVE_ATTRACT - 1] = sAttractMoveDescription,
[MOVE_SLEEP_TALK - 1] = sSleepTalkMoveDescription,
[MOVE_HEAL_BELL - 1] = sHealBellMoveDescription,
[MOVE_RETURN - 1] = sReturnMoveDescription,
[MOVE_PRESENT - 1] = sPresentMoveDescription,
[MOVE_FRUSTRATION - 1] = sFrustrationMoveDescription,
[MOVE_SAFEGUARD - 1] = sSafeguardMoveDescription,
[MOVE_PAIN_SPLIT - 1] = sPainSplitMoveDescription,
[MOVE_SACRED_FIRE - 1] = sSacredFireMoveDescription,
[MOVE_MAGNITUDE - 1] = sMagnitudeMoveDescription,
[MOVE_DYNAMIC_PUNCH - 1] = sDynamicPunchMoveDescription,
[MOVE_MEGAHORN - 1] = sMegahornMoveDescription,
[MOVE_DRAGON_BREATH - 1] = sDragonBreathMoveDescription,
[MOVE_BATON_PASS - 1] = sBatonPassMoveDescription,
[MOVE_ENCORE - 1] = sEncoreMoveDescription,
[MOVE_PURSUIT - 1] = sPursuitMoveDescription,
[MOVE_RAPID_SPIN - 1] = sRapidSpinMoveDescription,
[MOVE_SWEET_SCENT - 1] = sSweetScentMoveDescription,
[MOVE_IRON_TAIL - 1] = sIronTailMoveDescription,
[MOVE_METAL_CLAW - 1] = sMetalClawMoveDescription,
[MOVE_VITAL_THROW - 1] = sVitalThrowMoveDescription,
[MOVE_MORNING_SUN - 1] = sMorningSunMoveDescription,
[MOVE_SYNTHESIS - 1] = sSynthesisMoveDescription,
[MOVE_MOONLIGHT - 1] = sMoonlightMoveDescription,
[MOVE_HIDDEN_POWER - 1] = sHiddenPowerMoveDescription,
[MOVE_CROSS_CHOP - 1] = sCrossChopMoveDescription,
[MOVE_TWISTER - 1] = sTwisterMoveDescription,
[MOVE_RAIN_DANCE - 1] = sRainDanceMoveDescription,
[MOVE_SUNNY_DAY - 1] = sSunnyDayMoveDescription,
[MOVE_CRUNCH - 1] = sCrunchMoveDescription,
[MOVE_MIRROR_COAT - 1] = sMirrorCoatMoveDescription,
[MOVE_PSYCH_UP - 1] = sPsychUpMoveDescription,
[MOVE_EXTREME_SPEED - 1] = sExtremeSpeedMoveDescription,
[MOVE_ANCIENT_POWER - 1] = sAncientPowerMoveDescription,
[MOVE_SHADOW_BALL - 1] = sShadowBallMoveDescription,
[MOVE_FUTURE_SIGHT - 1] = sFutureSightMoveDescription,
[MOVE_ROCK_SMASH - 1] = sRockSmashMoveDescription,
[MOVE_WHIRLPOOL - 1] = sWhirlpoolMoveDescription,
[MOVE_BEAT_UP - 1] = sBeatUpMoveDescription,
[MOVE_FAKE_OUT - 1] = sFakeOutMoveDescription,
[MOVE_UPROAR - 1] = sUproarMoveDescription,
[MOVE_STOCKPILE - 1] = sStockpileMoveDescription,
[MOVE_SPIT_UP - 1] = sSpitUpMoveDescription,
[MOVE_SWALLOW - 1] = sSwallowMoveDescription,
[MOVE_HEAT_WAVE - 1] = sHeatWaveMoveDescription,
[MOVE_HAIL - 1] = sHailMoveDescription,
[MOVE_TORMENT - 1] = sTormentMoveDescription,
[MOVE_FLATTER - 1] = sFlatterMoveDescription,
[MOVE_WILL_O_WISP - 1] = sWillOWispMoveDescription,
[MOVE_MEMENTO - 1] = sMementoMoveDescription,
[MOVE_FACADE - 1] = sFacadeMoveDescription,
[MOVE_FOCUS_PUNCH - 1] = sFocusPunchMoveDescription,
[MOVE_SMELLING_SALT - 1] = sSmellingSaltMoveDescription,
[MOVE_FOLLOW_ME - 1] = sFollowMeMoveDescription,
[MOVE_NATURE_POWER - 1] = sNaturePowerMoveDescription,
[MOVE_CHARGE - 1] = sChargeMoveDescription,
[MOVE_TAUNT - 1] = sTauntMoveDescription,
[MOVE_HELPING_HAND - 1] = sHelpingHandMoveDescription,
[MOVE_TRICK - 1] = sTrickMoveDescription,
[MOVE_ROLE_PLAY - 1] = sRolePlayMoveDescription,
[MOVE_WISH - 1] = sWishMoveDescription,
[MOVE_ASSIST - 1] = sAssistMoveDescription,
[MOVE_INGRAIN - 1] = sIngrainMoveDescription,
[MOVE_SUPERPOWER - 1] = sSuperpowerMoveDescription,
[MOVE_MAGIC_COAT - 1] = sMagicCoatMoveDescription,
[MOVE_RECYCLE - 1] = sRecycleMoveDescription,
[MOVE_REVENGE - 1] = sRevengeMoveDescription,
[MOVE_BRICK_BREAK - 1] = sBrickBreakMoveDescription,
[MOVE_YAWN - 1] = sYawnMoveDescription,
[MOVE_KNOCK_OFF - 1] = sKnockOffMoveDescription,
[MOVE_ENDEAVOR - 1] = sEndeavorMoveDescription,
[MOVE_ERUPTION - 1] = sEruptionMoveDescription,
[MOVE_SKILL_SWAP - 1] = sSkillSwapMoveDescription,
[MOVE_IMPRISON - 1] = sImprisonMoveDescription,
[MOVE_REFRESH - 1] = sRefreshMoveDescription,
[MOVE_GRUDGE - 1] = sGrudgeMoveDescription,
[MOVE_SNATCH - 1] = sSnatchMoveDescription,
[MOVE_SECRET_POWER - 1] = sSecretPowerMoveDescription,
[MOVE_DIVE - 1] = sDiveMoveDescription,
[MOVE_ARM_THRUST - 1] = sArmThrustMoveDescription,
[MOVE_CAMOUFLAGE - 1] = sCamouflageMoveDescription,
[MOVE_TAIL_GLOW - 1] = sTailGlowMoveDescription,
[MOVE_LUSTER_PURGE - 1] = sLusterPurgeMoveDescription,
[MOVE_MIST_BALL - 1] = sMistBallMoveDescription,
[MOVE_FEATHER_DANCE - 1] = sFeatherDanceMoveDescription,
[MOVE_TEETER_DANCE - 1] = sTeeterDanceMoveDescription,
[MOVE_BLAZE_KICK - 1] = sBlazeKickMoveDescription,
[MOVE_MUD_SPORT - 1] = sMudSportMoveDescription,
[MOVE_ICE_BALL - 1] = sIceBallMoveDescription,
[MOVE_NEEDLE_ARM - 1] = sNeedleArmMoveDescription,
[MOVE_SLACK_OFF - 1] = sSlackOffMoveDescription,
[MOVE_HYPER_VOICE - 1] = sHyperVoiceMoveDescription,
[MOVE_POISON_FANG - 1] = sPoisonFangMoveDescription,
[MOVE_CRUSH_CLAW - 1] = sCrushClawMoveDescription,
[MOVE_BLAST_BURN - 1] = sBlastBurnMoveDescription,
[MOVE_HYDRO_CANNON - 1] = sHydroCannonMoveDescription,
[MOVE_METEOR_MASH - 1] = sMeteorMashMoveDescription,
[MOVE_ASTONISH - 1] = sAstonishMoveDescription,
[MOVE_WEATHER_BALL - 1] = sWeatherBallMoveDescription,
[MOVE_AROMATHERAPY - 1] = sAromatherapyMoveDescription,
[MOVE_FAKE_TEARS - 1] = sFakeTearsMoveDescription,
[MOVE_AIR_CUTTER - 1] = sAirCutterMoveDescription,
[MOVE_OVERHEAT - 1] = sOverheatMoveDescription,
[MOVE_ODOR_SLEUTH - 1] = sOdorSleuthMoveDescription,
[MOVE_ROCK_TOMB - 1] = sRockTombMoveDescription,
[MOVE_SILVER_WIND - 1] = sSilverWindMoveDescription,
[MOVE_METAL_SOUND - 1] = sMetalSoundMoveDescription,
[MOVE_GRASS_WHISTLE - 1] = sGrassWhistleMoveDescription,
[MOVE_TICKLE - 1] = sTickleMoveDescription,
[MOVE_COSMIC_POWER - 1] = sCosmicPowerMoveDescription,
[MOVE_WATER_SPOUT - 1] = sWaterSpoutMoveDescription,
[MOVE_SIGNAL_BEAM - 1] = sSignalBeamMoveDescription,
[MOVE_SHADOW_PUNCH - 1] = sShadowPunchMoveDescription,
[MOVE_EXTRASENSORY - 1] = sExtrasensoryMoveDescription,
[MOVE_SKY_UPPERCUT - 1] = sSkyUppercutMoveDescription,
[MOVE_SAND_TOMB - 1] = sSandTombMoveDescription,
[MOVE_SHEER_COLD - 1] = sSheerColdMoveDescription,
[MOVE_MUDDY_WATER - 1] = sMuddyWaterMoveDescription,
[MOVE_BULLET_SEED - 1] = sBulletSeedMoveDescription,
[MOVE_AERIAL_ACE - 1] = sAerialAceMoveDescription,
[MOVE_ICICLE_SPEAR - 1] = sIcicleSpearMoveDescription,
[MOVE_IRON_DEFENSE - 1] = sIronDefenseMoveDescription,
[MOVE_BLOCK - 1] = sBlockMoveDescription,
[MOVE_HOWL - 1] = sHowlMoveDescription,
[MOVE_DRAGON_CLAW - 1] = sDragonClawMoveDescription,
[MOVE_FRENZY_PLANT - 1] = sFrenzyPlantMoveDescription,
[MOVE_BULK_UP - 1] = sBulkUpMoveDescription,
[MOVE_BOUNCE - 1] = sBounceMoveDescription,
[MOVE_MUD_SHOT - 1] = sMudShotMoveDescription,
[MOVE_POISON_TAIL - 1] = sPoisonTailMoveDescription,
[MOVE_COVET - 1] = sCovetMoveDescription,
[MOVE_VOLT_TACKLE - 1] = sVoltTackleMoveDescription,
[MOVE_MAGICAL_LEAF - 1] = sMagicalLeafMoveDescription,
[MOVE_WATER_SPORT - 1] = sWaterSportMoveDescription,
[MOVE_CALM_MIND - 1] = sCalmMindMoveDescription,
[MOVE_LEAF_BLADE - 1] = sLeafBladeMoveDescription,
[MOVE_DRAGON_DANCE - 1] = sDragonDanceMoveDescription,
[MOVE_ROCK_BLAST - 1] = sRockBlastMoveDescription,
[MOVE_SHOCK_WAVE - 1] = sShockWaveMoveDescription,
[MOVE_WATER_PULSE - 1] = sWaterPulseMoveDescription,
[MOVE_DOOM_DESIRE - 1] = sDoomDesireMoveDescription,
[MOVE_PSYCHO_BOOST - 1] = sPsychoBoostMoveDescription,
};

View File

@ -1,4 +1,5 @@
const u8 gMoveNames[][13] = { const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
{
[MOVE_NONE] = _("-"), [MOVE_NONE] = _("-"),
[MOVE_POUND] = _("POUND"), [MOVE_POUND] = _("POUND"),
[MOVE_KARATE_CHOP] = _("KARATE CHOP"), [MOVE_KARATE_CHOP] = _("KARATE CHOP"),

View File

@ -57,7 +57,6 @@ extern u8 gUnknown_0861CE7B[];
extern struct WindowTemplate gUnknown_0861CCEC; extern struct WindowTemplate gUnknown_0861CCEC;
extern struct WindowTemplate gUnknown_0861CD14; extern struct WindowTemplate gUnknown_0861CD14;
extern const u8 *const gContestEffectDescriptionPointers[]; extern const u8 *const gContestEffectDescriptionPointers[];
extern const u8 *const gMoveDescriptionPointers[];
void sub_81C488C(u8 a); void sub_81C488C(u8 a);
extern u8 sub_81221EC(); extern u8 sub_81221EC();
@ -342,6 +341,10 @@ struct UnkSummaryStruct
u8 unk_filler4[6]; u8 unk_filler4[6];
}; };
// const rom data
#include "data/text/move_descriptions.h"
// code
void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e)
{ {
u8 byte; u8 byte;