From d869d3355ddc1723146b9eae205dce2acfa8b9a1 Mon Sep 17 00:00:00 2001 From: cawtds Date: Tue, 16 Apr 2024 21:40:57 +0200 Subject: [PATCH] first changes to item_use in preparation for new items --- asm/macros/battle_ai_script.inc | 14 + asm/macros/battle_script.inc | 28 + data/battle_ai_scripts.s | 4 +- data/battle_scripts_2.s | 126 +- data/maps/ViridianCity_Mart/scripts.inc | 3 + include/battle.h | 25 +- include/battle_anim.h | 4 +- include/battle_script_commands.h | 1 + include/battle_scripts.h | 1 + include/battle_util.h | 2 + include/config.h | 4 +- include/config/battle.h | 2 +- include/constants/battle.h | 32 +- include/constants/global.h | 1 + include/constants/hold_effects.h | 90 + include/constants/item_effects.h | 9 +- include/constants/items.h | 22 +- include/global.h | 13 + include/item.h | 15 +- include/item_use.h | 8 + include/party_menu.h | 3 + include/pokemon.h | 5 +- src/battle_ai_script_commands.c | 40 + src/battle_ai_switch_items.c | 4 +- src/battle_anim_mons.c | 16 +- src/battle_main.c | 49 +- src/battle_script_commands.c | 228 +- src/battle_util.c | 64 +- src/data/items.h | 628 +- src/data/pokemon/item_effects.h | 130 +- src/data/pokemon/tmhm_learnsets.h | 9388 ----------------------- src/item.c | 12 - src/item_menu.c | 47 +- src/item_use.c | 156 +- src/oak_speech.c | 2 +- src/party_menu.c | 112 +- src/pokemon.c | 1082 ++- src/trade_scene.c | 6 +- 38 files changed, 1830 insertions(+), 10546 deletions(-) delete mode 100644 src/data/pokemon/tmhm_learnsets.h diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc index 3aadc1e47..34216c832 100644 --- a/asm/macros/battle_ai_script.inc +++ b/asm/macros/battle_ai_script.inc @@ -553,6 +553,20 @@ .4byte \ptr .endm + .macro if_status4 battler:req, status:req, ptr:req + .byte 0x5e + .byte \battler + .4byte \status + .4byte \ptr + .endm + + .macro if_not_status4 battler:req, status:req, ptr:req + .byte 0x5f + .byte \battler + .4byte \status + .4byte \ptr + .endm + @ useful script macros .macro get_curr_move_type get_type AI_TYPE_MOVE diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 392a387e9..dd198ea6e 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1378,3 +1378,31 @@ .macro jumpifnotbattletype flags:req, jumpptr:req jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr .endm + + .macro callnative func:req + .byte 0xff + .4byte \func + .endm + +@ callnative macros + .macro itemrestorehp + callnative BS_ItemRestoreHP + .endm + + .macro itemcurestatus + callnative BS_ItemCureStatus + .endm + + .macro itemincreasestat + callnative BS_ItemIncreaseStat + .endm + + .macro itemrestorepp + callnative BS_ItemRestorePP + .endm + + @ returns B_SIDE_x to gBattleCommunication[0] + .macro getbattlerside battler:req + callnative BS_GetBattlerSide + .byte \battler + .endm diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index a38de0eea..fbb9f79bf 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -569,7 +569,7 @@ AI_CBM_Refresh:: end AI_CBM_MudSport:: - if_status3 AI_USER, STATUS3_MUDSPORT, Score_Minus10 + if_status4 AI_USER, STATUS4_MUD_SPORT, Score_Minus10 end AI_CBM_Tickle:: @@ -588,7 +588,7 @@ AI_CBM_BulkUp:: end AI_CBM_WaterSport:: - if_status3 AI_USER, STATUS3_WATERSPORT, Score_Minus10 + if_status4 AI_USER, STATUS4_WATER_SPORT, Score_Minus10 end AI_CBM_CalmMind:: diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 6f41e3ce1..bcf792b49 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -24,7 +24,7 @@ gBattlescriptsForBallThrow:: .4byte BattleScript_ThrowBall .4byte BattleScript_ThrowBall .4byte BattleScript_ThrowBall - .4byte BattleScript_ThrowSafariBall + .4byte BattleScript_ThrowBall .4byte BattleScript_ThrowBall .4byte BattleScript_ThrowBall .4byte BattleScript_ThrowBall @@ -35,6 +35,19 @@ gBattlescriptsForBallThrow:: gBattlescriptsForUsingItem:: .4byte BattleScript_PlayerUseItem + .4byte BattleScript_ItemRestoreHP @ EFFECT_ITEM_RESTORE_HP + .4byte BattleScript_ItemCureStatus @ EFFECT_ITEM_CURE_STATUS + .4byte BattleScript_ItemHealAndCureStatus @ EFFECT_ITEM_HEAL_AND_CURE_STATUS + .4byte BattleScript_ItemIncreaseStat @ EFFECT_ITEM_INCREASE_STAT + .4byte BattleScript_ItemSetMist @ EFFECT_ITEM_SET_MIST + .4byte BattleScript_ItemSetFocusEnergy @ EFFECT_ITEM_SET_FOCUS_ENERGY + .4byte BattleScript_RunByUsingItem @ EFFECT_ITEM_ESCAPE + .4byte BattleScript_BallThrow @ EFFECT_ITEM_THROW_BALL + .4byte BattleScript_ItemRestoreHP @ EFFECT_ITEM_REVIVE + .4byte BattleScript_ItemRestorePP @ EFFECT_ITEM_RESTORE_PP + .4byte BattleScript_ItemIncreaseAllStats @ EFFECT_ITEM_INCREASE_ALL_STATS + +gBattleScriptsForAIUsingItems:: .4byte BattleScript_AIUseFullRestoreOrHpHeal .4byte BattleScript_AIUseFullRestoreOrHpHeal .4byte BattleScript_AIUseStatRestore @@ -45,6 +58,115 @@ gBattlescriptsForRunningByItem:: .4byte BattleScript_UseFluffyTail .4byte BattleScript_UsePokeFlute +BattleScript_ItemEnd: + end + +BattleScript_UseItemMessage: + @ printstring STRINGID_EMPTYSTRING3 + @ pause B_WAIT_TIME_MED + @ playse SE_USE_ITEM + @ getbattlerside BS_ATTACKER + @ copybyte cMULTISTRING_CHOOSER, gBattleCommunication + @ printfromtable gTrainerUsedItemStringIds + @ waitmessage B_WAIT_TIME_LONG + moveendcase 15 + return + +BattleScript_ItemRestoreHP:: + @ call BattleScript_UseItemMessage + @ itemrestorehp + @ bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT + @ orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + @ healthbarupdate BS_SCRIPTING + @ datahpupdate BS_SCRIPTING + @ printstring STRINGID_ITEMRESTOREDSPECIESHEALTH + @ waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_ItemCureStatus:: + @call BattleScript_UseItemMessage + @itemcurestatus + @updatestatusicon BS_SCRIPTING + @printstring STRINGID_ITEMCUREDSPECIESSTATUS + @waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_ItemHealAndCureStatus:: + @call BattleScript_UseItemMessage + @itemrestorehp + @itemcurestatus + @printstring STRINGID_ITEMRESTOREDSPECIESHEALTH + @waitmessage B_WAIT_TIME_LONG + @bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT + @orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + @healthbarupdate BS_SCRIPTING + @datahpupdate BS_SCRIPTING + @updatestatusicon BS_SCRIPTING + @printstring STRINGID_ITEMRESTOREDSPECIESHEALTH + @waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_ItemIncreaseStat:: + @call BattleScript_UseItemMessage + @itemincreasestat + @statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_ItemEnd + @setgraphicalstatchangevalues + @playanimation BS_ATTACKER, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + @printfromtable gStatUpStringIds + @waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_ItemSetMist:: + @call BattleScript_UseItemMessage + @setmist + @playmoveanimation BS_ATTACKER, MOVE_MIST + @waitanimation + @printfromtable gMistUsedStringIds + @waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_ItemSetFocusEnergy:: + @call BattleScript_UseItemMessage + @jumpifstatus2 BS_ATTACKER, STATUS2_FOCUS_ENERGY, BattleScript_ButItFailed + @setfocusenergy + @playmoveanimation BS_ATTACKER, MOVE_FOCUS_ENERGY + @waitanimation + @copybyte sBATTLER, gBattlerAttacker + @printstring STRINGID_PKMNUSEDXTOGETPUMPED + @waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_RunByUsingItem:: + playse SE_FLEE + setbyte gBattleOutcome, B_OUTCOME_RAN + finishturn + +BattleScript_BallThrow:: + jumpifbattletype BATTLE_TYPE_OLD_MAN_TUTORIAL, BattleScript_OldManThrowBall + jumpifbattletype BATTLE_TYPE_POKEDUDE, BattleScript_PokedudeThrowBall + printstring STRINGID_PLAYERUSEDITEM + handleballthrow + +BattleScript_ItemRestorePP:: + @call BattleScript_UseItemMessage + @itemrestorepp + @printstring STRINGID_ITEMRESTOREDSPECIESPP + @waitmessage B_WAIT_TIME_LONG + moveendcase 15 + end + +BattleScript_ItemIncreaseAllStats:: + @call BattleScript_UseItemMessage + @call BattleScript_AllStatsUp + moveendcase 15 + end + gBattlescriptsForSafariActions:: .4byte BattleScript_WatchesCarefully .4byte BattleScript_ThrowRock @@ -65,7 +187,7 @@ BattleScript_PokedudeThrowBall:: printstring STRINGID_POKEDUDEUSED handleballthrow -BattleScript_ThrowSafariBall:: +BattleScript_SafariBallThrow:: printstring STRINGID_PLAYERUSEDITEM updatestatusicon BS_ATTACKER handleballthrow diff --git a/data/maps/ViridianCity_Mart/scripts.inc b/data/maps/ViridianCity_Mart/scripts.inc index 8c66a8da6..f0152b5b8 100644 --- a/data/maps/ViridianCity_Mart/scripts.inc +++ b/data/maps/ViridianCity_Mart/scripts.inc @@ -71,6 +71,9 @@ ViridianCity_Mart_Items:: .2byte ITEM_PARALYZE_HEAL .2byte ITEM_RARE_CANDY .2byte ITEM_MASTER_BALL + .2byte ITEM_CHERI_BERRY + .2byte ITEM_TM02 + .2byte ITEM_X_ATTACK .2byte ITEM_NONE release end diff --git a/include/battle.h b/include/battle.h index 3771ef33a..8a53301f9 100644 --- a/include/battle.h +++ b/include/battle.h @@ -168,7 +168,8 @@ struct DisableStruct /*0x18*/ u8 unk18_a_2 : 2; /*0x18*/ u8 mimickedMoves : 4; /*0x19*/ u8 rechargeTimer; - /*0x1A*/ u8 unk1A[2]; + /*0x1A*/ u8 unk1A[1]; + u8 wrapTurns; }; extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT]; @@ -685,6 +686,7 @@ extern u8 gMultiHitCounter; extern struct BattleScripting gBattleScripting; extern u8 gBattlerFainted; extern u32 gStatuses3[MAX_BATTLERS_COUNT]; +extern u32 gStatuses4[MAX_BATTLERS_COUNT]; extern u8 gSentPokesToOpponent[2]; extern const u8 *gBattlescriptCurrInstr; extern const u8 *gSelectionBattleScripts[MAX_BATTLERS_COUNT]; @@ -723,4 +725,25 @@ extern u8 gBattleTerrain; extern struct MultiBattlePokemonTx gMultiPartnerParty[3]; extern u16 gRandomTurnNumber; +static inline u32 GetBattlerPosition(u32 battler) +{ + return gBattlerPositions[battler]; +} + +static inline u32 GetBattlerSide(u32 battler) +{ + return GetBattlerPosition(battler) & BIT_SIDE; +} + +static inline struct Pokemon *GetSideParty(u32 side) +{ + return (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; +} + +static inline struct Pokemon *GetBattlerParty(u32 battler) +{ + return GetSideParty(GetBattlerSide(battler)); +} + + #endif // GUARD_BATTLE_H diff --git a/include/battle_anim.h b/include/battle_anim.h index a53750093..2b4b82b8b 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -244,8 +244,8 @@ bool8 TranslateAnimVerticalArc(struct Sprite *sprite); void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets); void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); -u8 GetBattlerSide(u8 battlerId); -u8 GetBattlerPosition(u8 battlerId); +// u8 GetBattlerSide(u8 battlerId); +// u8 GetBattlerPosition(u8 battlerId); u8 GetBattlerAtPosition(u8 position); bool8 IsBattlerSpritePresent(u8 battlerId); bool8 IsDoubleBattle(void); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 709e77538..67d9c5faa 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -18,6 +18,7 @@ void BattleCreateYesNoCursorAt(void); void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); bool8 UproarWakeUpCheck(u8 battlerId); +u8 GetCatchingBattler(void); extern void (* const gBattleScriptingCommandsTable[])(void); diff --git a/include/battle_scripts.h b/include/battle_scripts.h index ed2af35f7..31540a80b 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -234,6 +234,7 @@ extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForBallThrow[]; extern const u8 *const gBattlescriptsForRunningByItem[]; extern const u8 *const gBattlescriptsForUsingItem[]; +extern const u8 *const gBattleScriptsForAIUsingItems[]; extern const u8 *const gBattlescriptsForSafariActions[]; #endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/battle_util.h b/include/battle_util.h index fe19aace0..3a751101e 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -93,5 +93,7 @@ void ClearFuryCutterDestinyBondGrudge(u8 battlerId); void HandleAction_RunBattleScript(void); u8 GetMoveTarget(u16 move, u8 setTarget); u8 IsMonDisobedient(void); +u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating); +bool32 IsBattlerAlive(u32 battler); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/config.h b/include/config.h index 3f136c62f..b509c980f 100644 --- a/include/config.h +++ b/include/config.h @@ -25,14 +25,14 @@ // Use this switch to choose a handler for pretty printing. // NOTE: mini_printf supports a custom pretty printing formatter to display preproc encoded strings. (%S) // some libc distributions (especially dkp arm-libc) will fail to link pretty printing. -#define PRETTY_PRINT_HANDLER (PRETTY_PRINT_OFF) +#define PRETTY_PRINT_HANDLER (PRETTY_PRINT_MINI_PRINTF) // Use this switch to choose a handler for printf output. // NOTE: These will only work on the respective emulators and should not be used in a productive environment. // Some emulators or real hardware might (and is allowed to) crash if they are used. // AGB_PRINT is supported on respective debug units. -#define LOG_HANDLER (LOG_HANDLER_AGB_PRINT) +#define LOG_HANDLER (LOG_HANDLER_MGBA_PRINT) #endif // NDEBUG // Define the game version for use elsewhere diff --git a/include/config/battle.h b/include/config/battle.h index a003b8f5d..e7c30cb89 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -114,7 +114,7 @@ #define B_SKETCH_BANS GEN_LATEST // In Gen9+, Sketch is unable to copy more moves than in previous generations. // Ability settings -#define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. +#define B_EXPANDED_ABILITY_NAMES FALSE // If TRUE, ability names are increased from 12 characters to 16 characters. #define B_ABILITY_WEATHER GEN_LATEST // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability. #define B_GALE_WINGS GEN_LATEST // In Gen7+ requires full HP to trigger. #define B_STANCE_CHANGE_FAIL GEN_LATEST // In Gen7+, Stance Change fails if the Pokémon is unable to use a move because of confusion, paralysis, etc. In Gen6, it doesn't. diff --git a/include/constants/battle.h b/include/constants/battle.h index d46776ab9..6f617d0d7 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -97,8 +97,9 @@ #define STATUS1_TOXIC_POISON (1 << 7) #define STATUS1_TOXIC_COUNTER (1 << 8 | 1 << 9 | 1 << 10 | 1 << 11) #define STATUS1_TOXIC_TURN(num) ((num) << 8) +#define STATUS1_FROSTBITE (1 << 12) #define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON) -#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON) +#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON | STATUS1_FROSTBITE) // Volatile status ailments // These are removed after exiting the battle or switching out @@ -113,8 +114,8 @@ #define STATUS2_LOCK_CONFUSE (1 << 10 | 1 << 11) // e.g. Thrash #define STATUS2_LOCK_CONFUSE_TURN(num)((num) << 10) #define STATUS2_MULTIPLETURNS (1 << 12) -#define STATUS2_WRAPPED (1 << 13 | 1 << 14 | 1 << 15) -#define STATUS2_WRAPPED_TURN(num) ((num) << 13) +#define STATUS2_WRAPPED (1 << 13) +#define STATUS2_POWDER (1 << 14) #define STATUS2_INFATUATION (1 << 16 | 1 << 17 | 1 << 18 | 1 << 19) // 4 bits, one for every battler #define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16) #define STATUS2_FOCUS_ENERGY (1 << 20) @@ -146,12 +147,31 @@ #define STATUS3_IMPRISONED_OTHERS (1 << 13) #define STATUS3_GRUDGE (1 << 14) #define STATUS3_CANT_SCORE_A_CRIT (1 << 15) -#define STATUS3_MUDSPORT (1 << 16) -#define STATUS3_WATERSPORT (1 << 17) +#define STATUS3_GASTRO_ACID (1 << 16) +#define STATUS3_EMBARGO (1 << 17) #define STATUS3_UNDERWATER (1 << 18) #define STATUS3_INTIMIDATE_POKES (1 << 19) #define STATUS3_TRACE (1 << 20) -#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER) +#define STATUS3_SMACKED_DOWN (1 << 21) +#define STATUS3_ME_FIRST (1 << 22) +#define STATUS3_TELEKINESIS (1 << 23) +#define STATUS3_PHANTOM_FORCE (1 << 24) +#define STATUS3_MIRACLE_EYED (1 << 25) +#define STATUS3_MAGNET_RISE (1 << 26) +#define STATUS3_HEAL_BLOCK (1 << 27) +#define STATUS3_AQUA_RING (1 << 28) +#define STATUS3_LASER_FOCUS (1 << 29) +#define STATUS3_POWER_TRICK (1 << 30) +#define STATUS3_SKY_DROPPED (1 << 31) // Target of Sky Drop +#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER | STATUS3_PHANTOM_FORCE) + +#define STATUS4_ELECTRIFIED (1 << 0) +#define STATUS4_MUD_SPORT (1 << 1) // Only used if B_SPORT_TURNS < GEN_6 +#define STATUS4_WATER_SPORT (1 << 2) // Only used if B_SPORT_TURNS < GEN_6 +#define STATUS4_INFINITE_CONFUSION (1 << 3) // Used for Berserk Gene +#define STATUS4_SALT_CURE (1 << 4) +#define STATUS4_SYRUP_BOMB (1 << 5) +#define STATUS4_GLAIVE_RUSH (1 << 6) // Not really sure what a "hitmarker" is. #define HITMARKER_WAKE_UP_CLEAR (1 << 4) // Cleared when waking up. Never set or checked. diff --git a/include/constants/global.h b/include/constants/global.h index e4b8c9a1f..ef59493bd 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -1,6 +1,7 @@ #ifndef GUARD_CONSTANTS_GLOBAL_H #define GUARD_CONSTANTS_GLOBAL_H +#include "config/battle.h" #include "config/pokemon.h" // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. diff --git a/include/constants/hold_effects.h b/include/constants/hold_effects.h index 9c6b55588..87a76e457 100644 --- a/include/constants/hold_effects.h +++ b/include/constants/hold_effects.h @@ -69,7 +69,97 @@ #define HOLD_EFFECT_THICK_CLUB 65 #define HOLD_EFFECT_STICK 66 +// Gen4 hold effects. +#define HOLD_EFFECT_CHOICE_SCARF 67 +#define HOLD_EFFECT_CHOICE_SPECS 68 +#define HOLD_EFFECT_DAMP_ROCK 69 +#define HOLD_EFFECT_GRIP_CLAW 70 +#define HOLD_EFFECT_HEAT_ROCK 71 +#define HOLD_EFFECT_ICY_ROCK 72 +#define HOLD_EFFECT_LIGHT_CLAY 73 +#define HOLD_EFFECT_SMOOTH_ROCK 74 +#define HOLD_EFFECT_POWER_HERB 75 +#define HOLD_EFFECT_BIG_ROOT 76 +#define HOLD_EFFECT_EXPERT_BELT 77 +#define HOLD_EFFECT_LIFE_ORB 78 +#define HOLD_EFFECT_METRONOME 79 +#define HOLD_EFFECT_MUSCLE_BAND 80 +#define HOLD_EFFECT_WIDE_LENS 81 +#define HOLD_EFFECT_WISE_GLASSES 82 +#define HOLD_EFFECT_ZOOM_LENS 83 +#define HOLD_EFFECT_LAGGING_TAIL 84 +#define HOLD_EFFECT_FOCUS_SASH 85 +#define HOLD_EFFECT_FLAME_ORB 86 +#define HOLD_EFFECT_TOXIC_ORB 87 +#define HOLD_EFFECT_STICKY_BARB 88 +#define HOLD_EFFECT_IRON_BALL 89 +#define HOLD_EFFECT_BLACK_SLUDGE 90 +#define HOLD_EFFECT_DESTINY_KNOT 91 +#define HOLD_EFFECT_SHED_SHELL 92 +#define HOLD_EFFECT_QUICK_POWDER 93 +#define HOLD_EFFECT_ADAMANT_ORB 94 +#define HOLD_EFFECT_LUSTROUS_ORB 95 +#define HOLD_EFFECT_GRISEOUS_ORB 96 +#define HOLD_EFFECT_ENIGMA_BERRY 97 +#define HOLD_EFFECT_RESIST_BERRY 98 +#define HOLD_EFFECT_POWER_ITEM 99 +#define HOLD_EFFECT_RESTORE_PCT_HP 100 +#define HOLD_EFFECT_MICLE_BERRY 101 +#define HOLD_EFFECT_CUSTAP_BERRY 102 +#define HOLD_EFFECT_JABOCA_BERRY 103 +#define HOLD_EFFECT_ROWAP_BERRY 104 +#define HOLD_EFFECT_KEE_BERRY 105 +#define HOLD_EFFECT_MARANGA_BERRY 106 +#define HOLD_EFFECT_PLATE 107 +// Gen5 hold effects +#define HOLD_EFFECT_FLOAT_STONE 117 +#define HOLD_EFFECT_EVIOLITE 118 +#define HOLD_EFFECT_ASSAULT_VEST 119 +#define HOLD_EFFECT_DRIVE 120 +#define HOLD_EFFECT_GEMS 121 +#define HOLD_EFFECT_ROCKY_HELMET 122 +#define HOLD_EFFECT_AIR_BALLOON 123 +#define HOLD_EFFECT_RED_CARD 124 +#define HOLD_EFFECT_RING_TARGET 125 +#define HOLD_EFFECT_BINDING_BAND 126 +#define HOLD_EFFECT_EJECT_BUTTON 127 +#define HOLD_EFFECT_ABSORB_BULB 128 +#define HOLD_EFFECT_CELL_BATTERY 129 + +// Gen6 hold effects #define HOLD_EFFECT_FAIRY_POWER 139 +#define HOLD_EFFECT_MEGA_STONE 140 +#define HOLD_EFFECT_SAFETY_GOGGLES 141 +#define HOLD_EFFECT_LUMINOUS_MOSS 142 +#define HOLD_EFFECT_SNOWBALL 143 +#define HOLD_EFFECT_WEAKNESS_POLICY 144 +#define HOLD_EFFECT_PRIMAL_ORB 145 + +// Gen7 hold effects +#define HOLD_EFFECT_PROTECTIVE_PADS 154 +#define HOLD_EFFECT_TERRAIN_EXTENDER 155 +#define HOLD_EFFECT_SEEDS 156 +#define HOLD_EFFECT_ADRENALINE_ORB 157 +#define HOLD_EFFECT_MEMORY 158 +#define HOLD_EFFECT_Z_CRYSTAL 159 + +// Gen8 hold effects +#define HOLD_EFFECT_UTILITY_UMBRELLA 169 +#define HOLD_EFFECT_EJECT_PACK 170 +#define HOLD_EFFECT_ROOM_SERVICE 171 +#define HOLD_EFFECT_BLUNDER_POLICY 172 +#define HOLD_EFFECT_HEAVY_DUTY_BOOTS 173 +#define HOLD_EFFECT_THROAT_SPRAY 174 + +// Gen9 hold effects +#define HOLD_EFFECT_ABILITY_SHIELD 175 +#define HOLD_EFFECT_CLEAR_AMULET 176 +#define HOLD_EFFECT_MIRROR_HERB 177 // Not implemented. +#define HOLD_EFFECT_PUNCHING_GLOVE 178 +#define HOLD_EFFECT_COVERT_CLOAK 179 +#define HOLD_EFFECT_LOADED_DICE 180 +#define HOLD_EFFECT_BOOSTER_ENERGY 181 // Not implemented. +#define HOLD_EFFECT_MASK 183 #endif // GUARD_HOLD_EFFECTS_H diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h index 888cb6853..b1d47f7ee 100644 --- a/include/constants/item_effects.h +++ b/include/constants/item_effects.h @@ -49,13 +49,16 @@ #define ITEM5_FRIENDSHIP_ALL (ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID | ITEM5_FRIENDSHIP_HIGH) +#define ITEM10_IS_VITAMIN 0x1 + // fields 6 and onwards are item-specific arguments #define ITEM_EFFECT_ARG_START 6 // Special HP recovery amounts for ITEM4_HEAL_HP -#define ITEM6_HEAL_HP_FULL ((u8) -1) -#define ITEM6_HEAL_HP_HALF ((u8) -2) -#define ITEM6_HEAL_HP_LVL_UP ((u8) -3) +#define ITEM6_HEAL_HP_FULL ((u8) -1) +#define ITEM6_HEAL_HP_HALF ((u8) -2) +#define ITEM6_HEAL_HP_LVL_UP ((u8) -3) +#define ITEM6_HEAL_HP_QUARTER ((u8) -4) // Special PP recovery amounts for ITEM4_HEAL_PP #define ITEM6_HEAL_PP_FULL 0x7F diff --git a/include/constants/items.h b/include/constants/items.h index cfc42256c..c8d7b2fee 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -458,7 +458,25 @@ #define GOOD_ROD 1 #define SUPER_ROD 2 -// Check if the item is one that can be used on a Pokemon. -#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= MAX_BERRY_INDEX) +// Item parameters for EXP Candies +#define EXP_100 1 +#define EXP_800 2 +#define EXP_3000 3 +#define EXP_10000 4 +#define EXP_30000 5 + +// Item battle script IDs (need to be non-zero) +#define EFFECT_ITEM_RESTORE_HP 1 +#define EFFECT_ITEM_CURE_STATUS 2 +#define EFFECT_ITEM_HEAL_AND_CURE_STATUS 3 +#define EFFECT_ITEM_INCREASE_STAT 4 +#define EFFECT_ITEM_SET_MIST 5 +#define EFFECT_ITEM_SET_FOCUS_ENERGY 6 +#define EFFECT_ITEM_ESCAPE 7 +#define EFFECT_ITEM_THROW_BALL 8 +#define EFFECT_ITEM_REVIVE 9 +#define EFFECT_ITEM_RESTORE_PP 10 +#define EFFECT_ITEM_INCREASE_ALL_STATS 11 +#define EFFECT_ITEM_POKEFLUTE 12 #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/global.h b/include/global.h index e0ea539c2..50bff8386 100644 --- a/include/global.h +++ b/include/global.h @@ -131,6 +131,19 @@ extern u8 gStringVar4[]; #define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT) #define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES) +// Calls m0/m1/.../m8 depending on how many arguments are passed. +#define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__) + +// This returns the number of arguments passed to it (up to 8). +#define NARG_8(...) NARG_8_(_, ##__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0) +#define NARG_8_(_, a, b, c, d, e, f, g, h, N, ...) N + +#define CAT(a, b) CAT_(a, b) +#define CAT_(a, b) a ## b + +#define STR(a) STR_(a) +#define STR_(a) #a + // Converts a string to a compound literal, essentially making it a pointer to const u8 #define COMPOUND_STRING(str) (const u8[]) _(str) diff --git a/include/item.h b/include/item.h index 0cedb5216..f72df73bf 100644 --- a/include/item.h +++ b/include/item.h @@ -3,24 +3,26 @@ #include "global.h" + + typedef void (*ItemUseFunc)(u8); struct Item { - u16 itemId; - u8 name[ITEM_NAME_LENGTH]; u16 price; + u8 secondaryId; // only used for fishing rods + ItemUseFunc fieldUseFunc; + const u8 *description; + u8 name[ITEM_NAME_LENGTH]; u8 holdEffect; u8 holdEffectParam; - const u8 *description; u8 importance; - u8 registrability; u8 pocket; u8 type; // unused for balls - ItemUseFunc fieldUseFunc; u8 battleUsage; ItemUseFunc battleUseFunc; - u8 secondaryId; // only used for fishing rods + // u8 registrability; + // u16 itemId; }; struct BagPocket @@ -55,7 +57,6 @@ bool8 CheckPCHasItem(u16 itemId, u16 count); bool8 AddPCItem(u16 itemId, u16 count); void SwapRegisteredBike(void); const u8 *ItemId_GetName(u16 itemId); -u16 ItemId_GetId(u16 itemId); u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); u8 ItemId_GetHoldEffectParam(u16 itemId); diff --git a/include/item_use.h b/include/item_use.h index 77aed7820..c2085d9ea 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -42,4 +42,12 @@ void Task_UseDigEscapeRopeOnField(u8 taskId); u8 CanUseEscapeRopeOnCurrMap(void); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); +enum { + BALL_THROW_UNABLE_TWO_MONS, + BALL_THROW_UNABLE_NO_ROOM, + BALL_THROW_UNABLE_SEMI_INVULNERABLE, + BALL_THROW_ABLE, + BALL_THROW_UNABLE_DISABLED_FLAG, +}; + #endif //GUARD_ITEM_USE_H diff --git a/include/party_menu.h b/include/party_menu.h index bcbcfbc37..142328794 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -51,6 +51,7 @@ bool8 FieldCallback_PrepareFadeInFromMenu(void); void CB2_ReturnToPartyMenuFromFlyMap(void); void SetUsedFlyQuestLogEvent(const u8 *healLocCtrlData); void CB2_ShowPartyMenuForItemUse(void); +void ItemUseCB_BattleScript(u8 taskId, TaskFunc task); void ItemUseCB_Medicine(u8 taskId, TaskFunc func); void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func); void ItemUseCB_TryRestorePP(u8 taskId, TaskFunc func); @@ -84,4 +85,6 @@ void ShowPartyMenuToShowcaseMultiBattleParty(void); void ChooseMonForDaycare(void); void ChoosePartyMonByMenuType(u8 menuType); +const u8* GetItemEffect(u16 item); + #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index e7f318590..0bd067058 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -4,6 +4,7 @@ #include "global.h" #include "sprite.h" #include "constants/pokemon.h" +#include "constants/items.h" #define FORM_SPECIES_END (0xffff) @@ -370,7 +371,7 @@ extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern const struct SpeciesInfo gSpeciesInfo[]; -extern const u8 *const gItemEffectTable[]; +extern const u8 *const gItemEffectTable[ITEMS_COUNT]; extern const u8 gStatStageRatios[][2]; extern struct SpriteTemplate gMultiuseSpriteTemplate; extern struct PokemonStorage* gPokemonStoragePtr; @@ -453,7 +454,7 @@ bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId); u8 GetNature(struct Pokemon *mon); -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, struct Pokemon *tradePartner); u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 SpeciesToNationalPokedexNum(u16 species); u16 HoennToNationalOrder(u16 hoennNum); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 4df9977bc..892e726de 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -136,6 +136,8 @@ static void Cmd_end(void); static void Cmd_if_level_compare(void); static void Cmd_if_target_taunted(void); static void Cmd_if_target_not_taunted(void); +static void Cmd_if_status4(void); +static void Cmd_if_not_status4(void); static void RecordLastUsedMoveByTarget(void); static void BattleAI_DoAIProcessing(void); @@ -240,6 +242,8 @@ static const BattleAICmdFunc sBattleAICmdTable[] = Cmd_if_level_compare, // 0x5B Cmd_if_target_taunted, // 0x5C Cmd_if_target_not_taunted, // 0x5D + Cmd_if_status4, // 0x5E + Cmd_if_not_status4, // 0x5F }; static const u16 sDiscouragedPowerfulMoveEffects[] = @@ -1946,6 +1950,42 @@ static void Cmd_if_target_not_taunted(void) sAIScriptPtr += 5; } +static void Cmd_if_status4(void) +{ + u16 battlerId; + u32 status; + + if (sAIScriptPtr[1] == AI_USER) + battlerId = gBattlerAttacker; + else + battlerId = gBattlerTarget; + + status = T1_READ_32(sAIScriptPtr + 2); + + if (gStatuses4[battlerId] & status) + sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 6); + else + sAIScriptPtr += 10; +} + +static void Cmd_if_not_status4(void) +{ + u16 battlerId; + u32 status; + + if (sAIScriptPtr[1] == AI_USER) + battlerId = gBattlerAttacker; + else + battlerId = gBattlerTarget; + + status = T1_READ_32(sAIScriptPtr + 2); + + if (!(gStatuses4[battlerId] & status)) + sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 6); + else + sAIScriptPtr += 10; +} + static void AIStackPushVar(const u8 *var) { gBattleResources->AI_ScriptsStack->ptr[gBattleResources->AI_ScriptsStack->size++] = var; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 73c013cfa..12284bad7 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -580,12 +580,12 @@ static bool8 ShouldUseItem(void) if (i && validMons > (gBattleResources->battleHistory->itemsNo - i) + 1) continue; item = gBattleResources->battleHistory->trainerItems[i]; - if (item == ITEM_NONE || gItemEffectTable[item - ITEM_POTION] == NULL) + if (item == ITEM_NONE || gItemEffectTable[item] == NULL) continue; if (item == ITEM_ENIGMA_BERRY) itemEffects = gSaveBlock1Ptr->enigmaBerry.itemEffect; else - itemEffects = gItemEffectTable[item - ITEM_POTION]; + itemEffects = gItemEffectTable[item]; *(gBattleStruct->AI_itemType + gActiveBattler / 2) = GetAI_ItemType(item, itemEffects); switch (*(gBattleStruct->AI_itemType + gActiveBattler / 2)) { diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index b4b5cbd31..bfe1bf898 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -818,15 +818,15 @@ void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffse sprite->y += gBattleAnimArgs[1]; } -u8 GetBattlerSide(u8 battlerId) -{ - return GET_BATTLER_SIDE2(battlerId); -} +// u8 GetBattlerSide(u8 battlerId) +// { +// return GET_BATTLER_SIDE2(battlerId); +// } -u8 GetBattlerPosition(u8 battlerId) -{ - return GET_BATTLER_POSITION(battlerId); -} +// u8 GetBattlerPosition(u8 battlerId) +// { +// return GET_BATTLER_POSITION(battlerId); +// } u8 GetBattlerAtPosition(u8 position) { diff --git a/src/battle_main.c b/src/battle_main.c index ead29bc1e..2a2d829ba 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -188,6 +188,7 @@ EWRAM_DATA u8 gUnusedFirstBattleVar2 = 0; EWRAM_DATA u16 gSideStatuses[2] = {0}; EWRAM_DATA struct SideTimer gSideTimers[2] = {0}; EWRAM_DATA u32 gStatuses3[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u32 gStatuses4[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u16 gPauseCounterBattle = 0; EWRAM_DATA u16 gPaydayMoney = 0; @@ -2229,6 +2230,7 @@ static void BattleStartClearSetData(void) for (i = 0; i < MAX_BATTLERS_COUNT; i++) { gStatuses3[i] = 0; + gStatuses4[i] = 0; dataPtr = (u8 *)&gDisableStructs[i]; for (j = 0; j < sizeof(struct DisableStruct); j++) @@ -2359,7 +2361,8 @@ void SwitchInClearSetData(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BATTLER | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); + gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BATTLER | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED); + gStatuses4[gActiveBattler] &= (STATUS4_MUD_SPORT | STATUS4_WATER_SPORT); for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) @@ -2375,6 +2378,7 @@ void SwitchInClearSetData(void) { gBattleMons[gActiveBattler].status2 = 0; gStatuses3[gActiveBattler] = 0; + gStatuses4[gActiveBattler] = 0; } for (i = 0; i < gBattlersCount; i++) @@ -2449,6 +2453,7 @@ void FaintClearSetData(void) gBattleMons[gActiveBattler].status2 = 0; gStatuses3[gActiveBattler] = 0; + gStatuses4[gActiveBattler] = 0; for (i = 0; i < gBattlersCount; i++) { @@ -3198,7 +3203,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(0, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -3902,7 +3907,7 @@ static void TryEvolvePokemon(void) levelUpBits &= ~(gBitTable[i]); gLeveledUpInBattle = levelUpBits; - species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_NORMAL, levelUpBits); + species = GetEvolutionTargetSpecies(&gPlayerParty[i], EVO_MODE_NORMAL, levelUpBits, NULL); if (species != SPECIES_NONE) { gBattleMainFunc = WaitForEvoSceneToFinish; @@ -4163,22 +4168,26 @@ static void HandleAction_UseItem(void) gBattle_BG0_Y = 0; ClearFuryCutterDestinyBondGrudge(gBattlerAttacker); gLastUsedItem = gBattleBufferB[gBattlerAttacker][1] | (gBattleBufferB[gBattlerAttacker][2] << 8); - if (gLastUsedItem <= ITEM_PREMIER_BALL) // is ball - { - gBattlescriptCurrInstr = gBattlescriptsForBallThrow[gLastUsedItem]; - } - else if (gLastUsedItem == ITEM_POKE_DOLL || gLastUsedItem == ITEM_FLUFFY_TAIL) - { - gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; - } - else if (gLastUsedItem == ITEM_POKE_FLUTE) - { - gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[1]; - } - else if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) - { - gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { + // change to index minus 1 + gBattlescriptCurrInstr = gBattlescriptsForUsingItem[ItemId_GetBattleUsage(gLastUsedItem)]; } + // if (gLastUsedItem <= ITEM_PREMIER_BALL) // is ball + // { + // gBattlescriptCurrInstr = gBattlescriptsForBallThrow[gLastUsedItem]; + // } + // else if (gLastUsedItem == ITEM_POKE_DOLL || gLastUsedItem == ITEM_FLUFFY_TAIL) + // { + // gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; + // } + // else if (gLastUsedItem == ITEM_POKE_FLUTE) + // { + // gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[1]; + // } + // else if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + // { + // gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; + // } else { gBattleScripting.battler = gBattlerAttacker; @@ -4230,7 +4239,7 @@ static void HandleAction_UseItem(void) break; } - gBattlescriptCurrInstr = gBattlescriptsForUsingItem[*(gBattleStruct->AI_itemType + gBattlerAttacker / 2)]; + gBattlescriptCurrInstr = gBattleScriptsForAIUsingItems[*(gBattleStruct->AI_itemType + gBattlerAttacker / 2) - 1]; } gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } @@ -4384,7 +4393,7 @@ static void HandleAction_SafariZoneBallThrow(void) gBattle_BG0_Y = 0; --gNumSafariBalls; gLastUsedItem = ITEM_SAFARI_BALL; - gBattlescriptCurrInstr = gBattlescriptsForBallThrow[ITEM_SAFARI_BALL]; + gBattlescriptCurrInstr = BattleScript_SafariBallThrow; gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5d52c85f4..5423f4930 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -37,6 +37,38 @@ #include "constants/pokemon.h" #include "constants/maps.h" +// Helper for accessing command arguments and advancing gBattlescriptCurrInstr. +// +// For example accuracycheck is defined as: +// +// .macro accuracycheck failInstr:req, move:req +// .byte 0x1 +// .4byte \failInstr +// .2byte \move +// .endm +// +// Which corresponds to: +// +// CMD_ARGS(const u8 *failInstr, u16 move); +// +// The arguments can be accessed as cmd->failInstr and cmd->move. +// gBattlescriptCurrInstr = cmd->nextInstr; advances to the next instruction. +#define CMD_ARGS(...) const struct __attribute__((packed)) { u8 opcode; MEMBERS(__VA_ARGS__) const u8 nextInstr[0]; } *const cmd UNUSED = (const void *)gBattlescriptCurrInstr +#define VARIOUS_ARGS(...) CMD_ARGS(u8 battler, u8 id, ##__VA_ARGS__) +#define NATIVE_ARGS(...) CMD_ARGS(void (*func)(void), ##__VA_ARGS__) + +#define MEMBERS(...) VARARG_8(MEMBERS_, __VA_ARGS__) +#define MEMBERS_0() +#define MEMBERS_1(a) a; +#define MEMBERS_2(a, b) a; b; +#define MEMBERS_3(a, b, c) a; b; c; +#define MEMBERS_4(a, b, c, d) a; b; c; d; +#define MEMBERS_5(a, b, c, d, e) a; b; c; d; e; +#define MEMBERS_6(a, b, c, d, e, f) a; b; c; d; e; f; +#define MEMBERS_7(a, b, c, d, e, f, g) a; b; c; d; e; f; g; +#define MEMBERS_8(a, b, c, d, e, f, g, h) a; b; c; d; e; f; g; h; + + extern const u8 *const gBattleScriptsForMoveEffects[]; #define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) @@ -2487,7 +2519,11 @@ void SetMoveEffect(bool8 primary, u8 certain) } else { - gBattleMons[gEffectBattler].status2 |= STATUS2_WRAPPED_TURN((Random() & 3) + 3); // 3-6 turns + gBattleMons[gEffectBattler].status2 |= STATUS2_WRAPPED; + if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_GRIP_CLAW) + gDisableStructs[gEffectBattler].wrapTurns = B_BINDING_TURNS >= GEN_5 ? 7 : 5; + else + gDisableStructs[gEffectBattler].wrapTurns = B_BINDING_TURNS >= GEN_5 ? (Random() % 2) + 4 : (Random() % 4) + 2; *(gBattleStruct->wrappedMove + gEffectBattler * 2 + 0) = gCurrentMove; *(gBattleStruct->wrappedMove + gEffectBattler * 2 + 1) = gCurrentMove >> 8; @@ -9319,18 +9355,18 @@ static void Cmd_settypebasedhalvers(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_MUD_SPORT) { - if (!(gStatuses3[gBattlerAttacker] & STATUS3_MUDSPORT)) + if (!(gStatuses4[gBattlerAttacker] & STATUS4_MUD_SPORT)) { - gStatuses3[gBattlerAttacker] |= STATUS3_MUDSPORT; + gStatuses4[gBattlerAttacker] |= STATUS4_MUD_SPORT; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEAKEN_ELECTRIC; worked = TRUE; } } else // Water Sport { - if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT)) + if (!(gStatuses4[gBattlerAttacker] & STATUS4_WATER_SPORT)) { - gStatuses3[gBattlerAttacker] |= STATUS3_WATERSPORT; + gStatuses4[gBattlerAttacker] |= STATUS4_WATER_SPORT; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEAKEN_FIRE; worked = TRUE; } @@ -9460,6 +9496,14 @@ static void Cmd_removelightscreenreflect(void) gBattlescriptCurrInstr++; } +u8 GetCatchingBattler(void) +{ + if (IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))) + return GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + else + return GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); +} + static void Cmd_handleballthrow(void) { u8 ballMultiplier = 0; @@ -9884,3 +9928,177 @@ static void Cmd_finishturn(void) gCurrentActionFuncId = B_ACTION_FINISHED; gCurrentTurnActionNumber = gBattlersCount; } + +void BS_GetBattlerSide(void) +{ + // NATIVE_ARGS(u8 battler); + // gBattleCommunication[0] = GetBattlerSide(GetBattlerForBattleScript(cmd->battler)); + // gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr++; +} + +void BS_ItemRestoreHP(void) +{ + gBattlescriptCurrInstr++; + // NATIVE_ARGS(); + // u16 healAmount; + // u32 battler = MAX_BATTLERS_COUNT; + // u32 healParam = GetItemEffect(gLastUsedItem)[6]; + // u32 side = GetBattlerSide(gBattlerAttacker); + // struct Pokemon *party = GetSideParty(side); + // u16 hp = GetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_HP); + // u16 maxHP = GetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_MAX_HP); + // gBattleCommunication[MULTIUSE_STATE] = 0; + + // // Track the number of Revives used in a battle. + // if (hp == 0 && side == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) + // gBattleResults.numRevivesUsed++; + + // // Check if the recipient is an active battler. + // if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) + // battler = gBattlerAttacker; + // else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + // && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) + // battler = BATTLE_PARTNER(gBattlerAttacker); + + // // Get amount to heal. + // switch (healParam) + // { + // case ITEM6_HEAL_HP_FULL: + // healAmount = maxHP; + // break; + // case ITEM6_HEAL_HP_HALF: + // healAmount = maxHP / 2; + // break; + // case ITEM6_HEAL_HP_QUARTER: + // healAmount = maxHP / 4; + // break; + // default: + // healAmount = healParam; + // break; + // } + // if (hp + healAmount > maxHP) + // healAmount = maxHP - hp; + + // gBattleScripting.battler = battler; + // PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_SPECIES)); + + // // Heal is applied as move damage if battler is active. + // if (battler != MAX_BATTLERS_COUNT && hp != 0) + // { + // gBattleMoveDamage = -healAmount; + // gBattlescriptCurrInstr = cmd->nextInstr; + // } + // else + // { + // hp += healAmount; + // SetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_HP, &hp); + + // // Revived battlers on the field need to be brought back. + // if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && battler != MAX_BATTLERS_COUNT) + // { + // gAbsentBattlerFlags &= ~gBitTable[battler]; + // gBattleCommunication[MULTIUSE_STATE] = TRUE; + // } + // gBattlescriptCurrInstr = BattleScript_ItemRestoreHP_Party; + // } +} + +void BS_ItemCureStatus(void) +{ + gBattlescriptCurrInstr++; + // NATIVE_ARGS(); + // u32 battler = gBattlerAttacker; + // u32 side = GetBattlerSide(gBattlerAttacker); + // struct Pokemon *party = GetSideParty(side); + + // // Heal Status2 conditions if battler is active. + // if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) + // { + // gBattleMons[gBattlerAttacker].status2 &= ~GetItemStatus2Mask(gLastUsedItem); + // } + // else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + // && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) + // { + // gBattleMons[gBattlerAttacker].status2 &= ~GetItemStatus2Mask(gLastUsedItem); + // battler = BATTLE_PARTNER(gBattlerAttacker); + // } + + // // Heal Status1 conditions. + // HealStatusConditions(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], GetItemStatus1Mask(gLastUsedItem), battler); + + // if (GetItemStatus1Mask(gLastUsedItem) & STATUS1_SLEEP) + // gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; + // if (GetItemStatus2Mask(gLastUsedItem) & STATUS2_CONFUSION) + // gStatuses4[battler] &= ~STATUS4_INFINITE_CONFUSION; + + // gBattleScripting.battler = battler; + // PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_SPECIES)); + // gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_ItemIncreaseStat(void) +{ + gBattlescriptCurrInstr++; + // NATIVE_ARGS(); + // u16 statId = GetItemEffect(gLastUsedItem)[1]; + // u16 stages = ItemId_GetHoldEffectParam(gLastUsedItem); + // SET_STATCHANGER(statId, stages, FALSE); + // gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_ItemRestorePP(void) +{ + gBattlescriptCurrInstr++; + // NATIVE_ARGS(); + // const u8 *effect = GetItemEffect(gLastUsedItem); + // u32 i, pp, maxPP, moveId, loopEnd; + // u32 battler = MAX_BATTLERS_COUNT; + // struct Pokemon *mon = (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) ? &gPlayerParty[gBattleStruct->itemPartyIndex[gBattlerAttacker]] : &gEnemyParty[gBattleStruct->itemPartyIndex[gBattlerAttacker]]; + + // // Check whether to apply to all moves. + // if (effect[4] & ITEM4_HEAL_PP_ONE) + // { + // i = gBattleStruct->itemMoveIndex[gBattlerAttacker]; + // loopEnd = i + 1; + // } + // else + // { + // i = 0; + // loopEnd = MAX_MON_MOVES; + // } + + // // Check if the recipient is an active battler. + // if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) + // battler = gBattlerAttacker; + // else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + // && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) + // battler = BATTLE_PARTNER(gBattlerAttacker); + + // // Heal PP! + // for (; i < loopEnd; i++) + // { + // pp = GetMonData(mon, MON_DATA_PP1 + i, NULL); + // moveId = GetMonData(mon, MON_DATA_MOVE1 + i, NULL); + // maxPP = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), i); + // if (pp != maxPP) + // { + // pp += effect[6]; + // if (pp > maxPP) + // pp = maxPP; + // SetMonData(mon, MON_DATA_PP1 + i, &pp); + + // // Update battler PP if needed. + // if (battler != MAX_BATTLERS_COUNT + // && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[battler] + // && MOVE_IS_PERMANENT(battler, i)) + // { + // gBattleMons[battler].pp[i] = pp; + // } + // } + // } + // gBattleScripting.battler = battler; + // PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(mon, MON_DATA_SPECIES)); + // gBattlescriptCurrInstr = cmd->nextInstr; +} + diff --git a/src/battle_util.c b/src/battle_util.c index bb66a0144..42d37af29 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -872,8 +872,7 @@ u8 DoBattlerEndTurnEffects(void) case ENDTURN_WRAP: // wrap if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMons[gActiveBattler].status2 -= STATUS2_WRAPPED_TURN(1); - if (gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) // damaged by wrap + if (--gDisableStructs[gActiveBattler].wrapTurns != 0) // damaged by wrap { gBattleScripting.animArg1 = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); gBattleScripting.animArg2 = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 1); @@ -889,6 +888,7 @@ u8 DoBattlerEndTurnEffects(void) } else // broke free { + gBattleMons[gActiveBattler].status2 &= ~STATUS2_WRAPPED; gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; gBattleTextBuff1[1] = B_BUFF_MOVE; gBattleTextBuff1[2] = *(gBattleStruct->wrappedMove + gActiveBattler * 2 + 0); @@ -2328,14 +2328,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA case ABILITYEFFECT_MUD_SPORT: for (i = 0; i < gBattlersCount; i++) { - if (gStatuses3[i] & STATUS3_MUDSPORT) + if (gStatuses4[i] & STATUS4_MUD_SPORT) effect = i + 1; } break; case ABILITYEFFECT_WATER_SPORT: for (i = 0; i < gBattlersCount; i++) { - if (gStatuses3[i] & STATUS3_WATERSPORT) + if (gStatuses4[i] & STATUS4_WATER_SPORT) effect = i + 1; } break; @@ -3250,3 +3250,59 @@ u8 IsMonDisobedient(void) } } } + +u32 GetBattlerAbility(u32 battler) +{ + // if (gStatuses3[battler] & STATUS3_GASTRO_ACID) + // return ABILITY_NONE; + + // if (IsNeutralizingGasOnField() && !IsNeutralizingGasBannedAbility(gBattleMons[battler].ability)) + // return ABILITY_NONE; + + // if (IsMyceliumMightOnField()) + // return ABILITY_NONE; + + // if (((IsMoldBreakerTypeAbility(gBattleMons[gBattlerAttacker].ability) + // && !(gStatuses3[gBattlerAttacker] & STATUS3_GASTRO_ACID)) + // || gBattleMoves[gCurrentMove].ignoresTargetAbility) + // && sAbilitiesAffectedByMoldBreaker[gBattleMons[battler].ability] + // && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker + // && gActionsByTurnOrder[gBattlerByTurnOrder[gBattlerAttacker]] == B_ACTION_USE_MOVE + // && gCurrentTurnActionNumber < gBattlersCount) + // return ABILITY_NONE; + + return gBattleMons[battler].ability; +} + +u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating) +{ + if (checkNegating) + { + // if (gStatuses3[battler] & STATUS3_EMBARGO) + // return HOLD_EFFECT_NONE; + // if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM) + // return HOLD_EFFECT_NONE; + if (GetBattlerAbility(battler) == ABILITY_KLUTZ) + return HOLD_EFFECT_NONE; + } + + gPotentialItemEffectBattler = battler; + + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY) + return gEnigmaBerries[battler].holdEffect; + else + return ItemId_GetHoldEffect(gBattleMons[battler].item); +} + +bool32 IsBattlerAlive(u32 battler) +{ + if (gBattleMons[battler].hp == 0) + return FALSE; + else if (battler >= gBattlersCount) + return FALSE; + else if (gAbsentBattlerFlags & gBitTable[battler]) + return FALSE; + else + return TRUE; +} + diff --git a/src/data/items.h b/src/data/items.h index 89a8b5abe..5533a1e9d 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -903,13 +903,11 @@ const u8 gItemDescription_ITEM_NONE[] = _("?????"); const struct Item gItems[] = { [ITEM_NONE] = {.name = _("????????"), - .itemId = ITEM_NONE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_NONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -917,13 +915,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MASTER_BALL] = {.name = _("MASTER BALL"), - .itemId = ITEM_MASTER_BALL, .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MASTER_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 0, .fieldUseFunc = NULL, @@ -931,13 +927,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 0}, [ITEM_ULTRA_BALL] = {.name = _("ULTRA BALL"), - .itemId = ITEM_ULTRA_BALL, .price = 1200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ULTRA_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 1, .fieldUseFunc = NULL, @@ -945,13 +939,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 1}, [ITEM_GREAT_BALL] = {.name = _("GREAT BALL"), - .itemId = ITEM_GREAT_BALL, .price = 600, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GREAT_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 2, .fieldUseFunc = NULL, @@ -959,13 +951,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 2}, [ITEM_POKE_BALL] = {.name = _("POKé BALL"), - .itemId = ITEM_POKE_BALL, - .price = 200, + .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_POKE_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 3, .fieldUseFunc = NULL, @@ -973,13 +963,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 3}, [ITEM_SAFARI_BALL] = {.name = _("SAFARI BALL"), - .itemId = ITEM_SAFARI_BALL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SAFARI_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 4, .fieldUseFunc = NULL, @@ -987,13 +975,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 4}, [ITEM_NET_BALL] = {.name = _("NET BALL"), - .itemId = ITEM_NET_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_NET_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 5, .fieldUseFunc = NULL, @@ -1001,13 +987,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 5}, [ITEM_DIVE_BALL] = {.name = _("DIVE BALL"), - .itemId = ITEM_DIVE_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DIVE_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 6, .fieldUseFunc = NULL, @@ -1015,13 +999,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 6}, [ITEM_NEST_BALL] = {.name = _("NEST BALL"), - .itemId = ITEM_NEST_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_NEST_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 7, .fieldUseFunc = NULL, @@ -1029,13 +1011,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 7}, [ITEM_REPEAT_BALL] = {.name = _("REPEAT BALL"), - .itemId = ITEM_REPEAT_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_REPEAT_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 8, .fieldUseFunc = NULL, @@ -1043,13 +1023,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 8}, [ITEM_TIMER_BALL] = {.name = _("TIMER BALL"), - .itemId = ITEM_TIMER_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TIMER_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 9, .fieldUseFunc = NULL, @@ -1057,13 +1035,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 9}, [ITEM_LUXURY_BALL] = {.name = _("LUXURY BALL"), - .itemId = ITEM_LUXURY_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_LUXURY_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 10, .fieldUseFunc = NULL, @@ -1071,13 +1047,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 10}, [ITEM_PREMIER_BALL] = {.name = _("PREMIER BALL"), - .itemId = ITEM_PREMIER_BALL, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PREMIER_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_POKE_BALLS, .type = 11, .fieldUseFunc = NULL, @@ -1085,13 +1059,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeBallEtc, .secondaryId = 11}, [ITEM_POTION] = {.name = _("POTION"), - .itemId = ITEM_POTION, - .price = 300, + .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 20, .description = gItemDescription_ITEM_POTION, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1099,13 +1071,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_ANTIDOTE] = {.name = _("ANTIDOTE"), - .itemId = ITEM_ANTIDOTE, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ANTIDOTE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1113,13 +1083,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_BURN_HEAL] = {.name = _("BURN HEAL"), - .itemId = ITEM_BURN_HEAL, .price = 250, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BURN_HEAL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1127,13 +1095,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_ICE_HEAL] = {.name = _("ICE HEAL"), - .itemId = ITEM_ICE_HEAL, .price = 250, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ICE_HEAL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1141,13 +1107,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_AWAKENING] = {.name = _("AWAKENING"), - .itemId = ITEM_AWAKENING, .price = 250, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_AWAKENING, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1155,13 +1119,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_PARALYZE_HEAL] = {.name = _("PARLYZ HEAL"), - .itemId = ITEM_PARALYZE_HEAL, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PARALYZE_HEAL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1169,13 +1131,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_FULL_RESTORE] = {.name = _("FULL RESTORE"), - .itemId = ITEM_FULL_RESTORE, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, .description = gItemDescription_ITEM_FULL_RESTORE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1183,13 +1143,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_MAX_POTION] = {.name = _("MAX POTION"), - .itemId = ITEM_MAX_POTION, .price = 2500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, .description = gItemDescription_ITEM_MAX_POTION, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1197,13 +1155,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_HYPER_POTION] = {.name = _("HYPER POTION"), - .itemId = ITEM_HYPER_POTION, .price = 1200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 200, .description = gItemDescription_ITEM_HYPER_POTION, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1211,13 +1167,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_SUPER_POTION] = {.name = _("SUPER POTION"), - .itemId = ITEM_SUPER_POTION, .price = 700, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, .description = gItemDescription_ITEM_SUPER_POTION, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1225,13 +1179,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_FULL_HEAL] = {.name = _("FULL HEAL"), - .itemId = ITEM_FULL_HEAL, .price = 600, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_FULL_HEAL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1239,13 +1191,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_REVIVE] = {.name = _("REVIVE"), - .itemId = ITEM_REVIVE, .price = 1500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_REVIVE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1253,13 +1203,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_MAX_REVIVE] = {.name = _("MAX REVIVE"), - .itemId = ITEM_MAX_REVIVE, .price = 4000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MAX_REVIVE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1267,13 +1215,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_FRESH_WATER] = {.name = _("FRESH WATER"), - .itemId = ITEM_FRESH_WATER, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, .description = gItemDescription_ITEM_FRESH_WATER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1281,13 +1227,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_SODA_POP] = {.name = _("SODA POP"), - .itemId = ITEM_SODA_POP, .price = 300, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 60, .description = gItemDescription_ITEM_SODA_POP, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1295,13 +1239,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_LEMONADE] = {.name = _("LEMONADE"), - .itemId = ITEM_LEMONADE, .price = 350, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 80, .description = gItemDescription_ITEM_LEMONADE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1309,13 +1251,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_MOOMOO_MILK] = {.name = _("MOOMOO MILK"), - .itemId = ITEM_MOOMOO_MILK, .price = 500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 100, .description = gItemDescription_ITEM_MOOMOO_MILK, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1323,13 +1263,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_ENERGY_POWDER] = {.name = _("ENERGYPOWDER"), - .itemId = ITEM_ENERGY_POWDER, .price = 500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ENERGY_POWDER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1337,13 +1275,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_ENERGY_ROOT] = {.name = _("ENERGY ROOT"), - .itemId = ITEM_ENERGY_ROOT, .price = 800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ENERGY_ROOT, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1351,13 +1287,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_HEAL_POWDER] = {.name = _("HEAL POWDER"), - .itemId = ITEM_HEAL_POWDER, .price = 450, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_HEAL_POWDER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1365,13 +1299,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_REVIVAL_HERB] = {.name = _("REVIVAL HERB"), - .itemId = ITEM_REVIVAL_HERB, .price = 2800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_REVIVAL_HERB, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1379,13 +1311,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_ETHER] = {.name = _("ETHER"), - .itemId = ITEM_ETHER, .price = 1200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 10, .description = gItemDescription_ITEM_ETHER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Ether, @@ -1393,13 +1323,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Ether, .secondaryId = 0}, [ITEM_MAX_ETHER] = {.name = _("MAX ETHER"), - .itemId = ITEM_MAX_ETHER, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, .description = gItemDescription_ITEM_MAX_ETHER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Ether, @@ -1407,13 +1335,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Ether, .secondaryId = 0}, [ITEM_ELIXIR] = {.name = _("ELIXIR"), - .itemId = ITEM_ELIXIR, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 10, .description = gItemDescription_ITEM_ELIXIR, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Ether, @@ -1421,13 +1347,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Ether, .secondaryId = 0}, [ITEM_MAX_ELIXIR] = {.name = _("MAX ELIXIR"), - .itemId = ITEM_MAX_ELIXIR, .price = 4500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 255, .description = gItemDescription_ITEM_MAX_ELIXIR, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Ether, @@ -1435,13 +1359,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Ether, .secondaryId = 0}, [ITEM_LAVA_COOKIE] = {.name = _("LAVA COOKIE"), - .itemId = ITEM_LAVA_COOKIE, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_LAVA_COOKIE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1449,13 +1371,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_BLUE_FLUTE] = {.name = _("BLUE FLUTE"), - .itemId = ITEM_BLUE_FLUTE, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BLUE_FLUTE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1463,13 +1383,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_YELLOW_FLUTE] = {.name = _("YELLOW FLUTE"), - .itemId = ITEM_YELLOW_FLUTE, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_YELLOW_FLUTE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1477,13 +1395,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_RED_FLUTE] = {.name = _("RED FLUTE"), - .itemId = ITEM_RED_FLUTE, .price = 300, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RED_FLUTE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1491,13 +1407,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_BLACK_FLUTE] = {.name = _("BLACK FLUTE"), - .itemId = ITEM_BLACK_FLUTE, .price = 400, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 50, .description = gItemDescription_ITEM_BLACK_FLUTE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_BlackWhiteFlute, @@ -1505,13 +1419,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WHITE_FLUTE] = {.name = _("WHITE FLUTE"), - .itemId = ITEM_WHITE_FLUTE, .price = 500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 150, .description = gItemDescription_ITEM_WHITE_FLUTE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_BlackWhiteFlute, @@ -1519,13 +1431,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BERRY_JUICE] = {.name = _("BERRY JUICE"), - .itemId = ITEM_BERRY_JUICE, .price = 100, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 20, .description = gItemDescription_ITEM_BERRY_JUICE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1533,13 +1443,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_SACRED_ASH] = {.name = _("SACRED ASH"), - .itemId = ITEM_SACRED_ASH, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SACRED_ASH, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_SacredAsh, @@ -1547,13 +1455,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SHOAL_SALT] = {.name = _("SHOAL SALT"), - .itemId = ITEM_SHOAL_SALT, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SHOAL_SALT, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1561,13 +1467,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SHOAL_SHELL] = {.name = _("SHOAL SHELL"), - .itemId = ITEM_SHOAL_SHELL, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SHOAL_SHELL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1575,13 +1479,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RED_SHARD] = {.name = _("RED SHARD"), - .itemId = ITEM_RED_SHARD, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RED_SHARD, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1589,13 +1491,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BLUE_SHARD] = {.name = _("BLUE SHARD"), - .itemId = ITEM_BLUE_SHARD, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BLUE_SHARD, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1603,13 +1503,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_YELLOW_SHARD] = {.name = _("YELLOW SHARD"), - .itemId = ITEM_YELLOW_SHARD, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_YELLOW_SHARD, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1617,13 +1515,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GREEN_SHARD] = {.name = _("GREEN SHARD"), - .itemId = ITEM_GREEN_SHARD, .price = 200, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GREEN_SHARD, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1631,13 +1527,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HP_UP] = {.name = _("HP UP"), - .itemId = ITEM_HP_UP, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_HP_UP, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1645,13 +1539,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PROTEIN] = {.name = _("PROTEIN"), - .itemId = ITEM_PROTEIN, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PROTEIN, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1659,13 +1551,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_IRON] = {.name = _("IRON"), - .itemId = ITEM_IRON, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_IRON, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1673,13 +1563,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CARBOS] = {.name = _("CARBOS"), - .itemId = ITEM_CARBOS, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_CARBOS, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1687,13 +1575,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CALCIUM] = {.name = _("CALCIUM"), - .itemId = ITEM_CALCIUM, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_CALCIUM, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1701,13 +1587,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RARE_CANDY] = {.name = _("RARE CANDY"), - .itemId = ITEM_RARE_CANDY, .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RARE_CANDY, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_RareCandy, @@ -1715,13 +1599,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PP_UP] = {.name = _("PP UP"), - .itemId = ITEM_PP_UP, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PP_UP, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_PpUp, @@ -1729,13 +1611,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ZINC] = {.name = _("ZINC"), - .itemId = ITEM_ZINC, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ZINC, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -1743,13 +1623,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PP_MAX] = {.name = _("PP MAX"), - .itemId = ITEM_PP_MAX, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PP_MAX, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_PpUp, @@ -1757,13 +1635,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GUARD_SPEC] = {.name = _("GUARD SPEC."), - .itemId = ITEM_GUARD_SPEC, .price = 700, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GUARD_SPEC, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1771,13 +1647,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_DIRE_HIT] = {.name = _("DIRE HIT"), - .itemId = ITEM_DIRE_HIT, .price = 650, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DIRE_HIT, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1785,13 +1659,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_X_ATTACK] = {.name = _("X ATTACK"), - .itemId = ITEM_X_ATTACK, - .price = 500, + .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_X_ATTACK, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1799,13 +1671,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_X_DEFEND] = {.name = _("X DEFEND"), - .itemId = ITEM_X_DEFEND, .price = 550, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_X_DEFEND, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1813,13 +1683,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_X_SPEED] = {.name = _("X SPEED"), - .itemId = ITEM_X_SPEED, .price = 350, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_X_SPEED, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1827,13 +1695,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_X_ACCURACY] = {.name = _("X ACCURACY"), - .itemId = ITEM_X_ACCURACY, .price = 950, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_X_ACCURACY, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1841,13 +1707,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_X_SPECIAL] = {.name = _("X SPECIAL"), - .itemId = ITEM_X_SPECIAL, .price = 350, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_X_SPECIAL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1855,13 +1719,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_StatBooster, .secondaryId = 0}, [ITEM_POKE_DOLL] = {.name = _("POKé DOLL"), - .itemId = ITEM_POKE_DOLL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_POKE_DOLL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1869,13 +1731,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeDoll, .secondaryId = 0}, [ITEM_FLUFFY_TAIL] = {.name = _("FLUFFY TAIL"), - .itemId = ITEM_FLUFFY_TAIL, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_FLUFFY_TAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -1883,13 +1743,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeDoll, .secondaryId = 0}, [ITEM_SUPER_REPEL] = {.name = _("SUPER REPEL"), - .itemId = ITEM_SUPER_REPEL, .price = 500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 200, .description = gItemDescription_ITEM_SUPER_REPEL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_Repel, @@ -1897,13 +1755,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MAX_REPEL] = {.name = _("MAX REPEL"), - .itemId = ITEM_MAX_REPEL, .price = 700, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 250, .description = gItemDescription_ITEM_MAX_REPEL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_Repel, @@ -1911,13 +1767,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ESCAPE_ROPE] = {.name = _("ESCAPE ROPE"), - .itemId = ITEM_ESCAPE_ROPE, .price = 550, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ESCAPE_ROPE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, @@ -1925,13 +1779,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_REPEL] = {.name = _("REPEL"), - .itemId = ITEM_REPEL, .price = 350, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 100, .description = gItemDescription_ITEM_REPEL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_Repel, @@ -1939,13 +1791,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SUN_STONE] = {.name = _("SUN STONE"), - .itemId = ITEM_SUN_STONE, .price = 2100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SUN_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_EvoItem, @@ -1953,13 +1803,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MOON_STONE] = {.name = _("MOON STONE"), - .itemId = ITEM_MOON_STONE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MOON_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_EvoItem, @@ -1967,13 +1815,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_FIRE_STONE] = {.name = _("FIRE STONE"), - .itemId = ITEM_FIRE_STONE, .price = 2100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_FIRE_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_EvoItem, @@ -1981,13 +1827,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_THUNDER_STONE] = {.name = _("THUNDERSTONE"), - .itemId = ITEM_THUNDER_STONE, .price = 2100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_THUNDER_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_EvoItem, @@ -1995,13 +1839,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WATER_STONE] = {.name = _("WATER STONE"), - .itemId = ITEM_WATER_STONE, .price = 2100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_WATER_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_EvoItem, @@ -2009,13 +1851,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LEAF_STONE] = {.name = _("LEAF STONE"), - .itemId = ITEM_LEAF_STONE, .price = 2100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_LEAF_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_EvoItem, @@ -2023,13 +1863,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TINY_MUSHROOM] = {.name = _("TINYMUSHROOM"), - .itemId = ITEM_TINY_MUSHROOM, .price = 500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TINY_MUSHROOM, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2037,13 +1875,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BIG_MUSHROOM] = {.name = _("BIG MUSHROOM"), - .itemId = ITEM_BIG_MUSHROOM, .price = 5000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BIG_MUSHROOM, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2051,13 +1887,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PEARL] = {.name = _("PEARL"), - .itemId = ITEM_PEARL, .price = 1400, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PEARL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2065,13 +1899,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BIG_PEARL] = {.name = _("BIG PEARL"), - .itemId = ITEM_BIG_PEARL, .price = 7500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BIG_PEARL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2079,13 +1911,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_STARDUST] = {.name = _("STARDUST"), - .itemId = ITEM_STARDUST, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_STARDUST, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2093,13 +1923,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_STAR_PIECE] = {.name = _("STAR PIECE"), - .itemId = ITEM_STAR_PIECE, .price = 9800, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_STAR_PIECE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2107,13 +1935,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_NUGGET] = {.name = _("NUGGET"), - .itemId = ITEM_NUGGET, .price = 10000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_NUGGET, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2121,13 +1947,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HEART_SCALE] = {.name = _("HEART SCALE"), - .itemId = ITEM_HEART_SCALE, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_HEART_SCALE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2135,13 +1959,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ORANGE_MAIL] = {.name = _("ORANGE MAIL"), - .itemId = ITEM_ORANGE_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ORANGE_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2149,13 +1971,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HARBOR_MAIL] = {.name = _("HARBOR MAIL"), - .itemId = ITEM_HARBOR_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_HARBOR_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2163,13 +1983,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 1}, [ITEM_GLITTER_MAIL] = {.name = _("GLITTER MAIL"), - .itemId = ITEM_GLITTER_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GLITTER_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2177,13 +1995,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 2}, [ITEM_MECH_MAIL] = {.name = _("MECH MAIL"), - .itemId = ITEM_MECH_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MECH_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2191,13 +2007,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 3}, [ITEM_WOOD_MAIL] = {.name = _("WOOD MAIL"), - .itemId = ITEM_WOOD_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_WOOD_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2205,13 +2019,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 4}, [ITEM_WAVE_MAIL] = {.name = _("WAVE MAIL"), - .itemId = ITEM_WAVE_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_WAVE_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2219,13 +2031,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 5}, [ITEM_BEAD_MAIL] = {.name = _("BEAD MAIL"), - .itemId = ITEM_BEAD_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BEAD_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2233,13 +2043,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 6}, [ITEM_SHADOW_MAIL] = {.name = _("SHADOW MAIL"), - .itemId = ITEM_SHADOW_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SHADOW_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2247,13 +2055,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 7}, [ITEM_TROPIC_MAIL] = {.name = _("TROPIC MAIL"), - .itemId = ITEM_TROPIC_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TROPIC_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2261,13 +2067,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 8}, [ITEM_DREAM_MAIL] = {.name = _("DREAM MAIL"), - .itemId = ITEM_DREAM_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DREAM_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2275,13 +2079,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 9}, [ITEM_FAB_MAIL] = {.name = _("FAB MAIL"), - .itemId = ITEM_FAB_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_FAB_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2289,13 +2091,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 10}, [ITEM_RETRO_MAIL] = {.name = _("RETRO MAIL"), - .itemId = ITEM_RETRO_MAIL, .price = 50, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RETRO_MAIL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_MAIL, .fieldUseFunc = FieldUseFunc_Mail, @@ -2303,13 +2103,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 11}, [ITEM_CHERI_BERRY] = {.name = _("CHERI BERRY"), - .itemId = ITEM_CHERI_BERRY, - .price = 20, + .price = 2, .holdEffect = HOLD_EFFECT_CURE_PAR, .holdEffectParam = 0, .description = gItemDescription_ITEM_CHERI_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2317,13 +2115,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_CHESTO_BERRY] = {.name = _("CHESTO BERRY"), - .itemId = ITEM_CHESTO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_SLP, .holdEffectParam = 0, .description = gItemDescription_ITEM_CHESTO_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2331,13 +2127,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_PECHA_BERRY] = {.name = _("PECHA BERRY"), - .itemId = ITEM_PECHA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PSN, .holdEffectParam = 0, .description = gItemDescription_ITEM_PECHA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2345,13 +2139,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_RAWST_BERRY] = {.name = _("RAWST BERRY"), - .itemId = ITEM_RAWST_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_BRN, .holdEffectParam = 0, .description = gItemDescription_ITEM_RAWST_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2359,13 +2151,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_ASPEAR_BERRY] = {.name = _("ASPEAR BERRY"), - .itemId = ITEM_ASPEAR_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_FRZ, .holdEffectParam = 0, .description = gItemDescription_ITEM_ASPEAR_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2373,13 +2163,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_LEPPA_BERRY] = {.name = _("LEPPA BERRY"), - .itemId = ITEM_LEPPA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_PP, .holdEffectParam = 10, .description = gItemDescription_ITEM_LEPPA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Ether, @@ -2387,13 +2175,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Ether, .secondaryId = 0}, [ITEM_ORAN_BERRY] = {.name = _("ORAN BERRY"), - .itemId = ITEM_ORAN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 10, .description = gItemDescription_ITEM_ORAN_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2401,13 +2187,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_PERSIM_BERRY] = {.name = _("PERSIM BERRY"), - .itemId = ITEM_PERSIM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_CONFUSION, .holdEffectParam = 0, .description = gItemDescription_ITEM_PERSIM_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2415,13 +2199,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_LUM_BERRY] = {.name = _("LUM BERRY"), - .itemId = ITEM_LUM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_STATUS, .holdEffectParam = 0, .description = gItemDescription_ITEM_LUM_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2429,13 +2211,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_SITRUS_BERRY] = {.name = _("SITRUS BERRY"), - .itemId = ITEM_SITRUS_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 30, .description = gItemDescription_ITEM_SITRUS_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = FieldUseFunc_Medicine, @@ -2443,13 +2223,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_Medicine, .secondaryId = 0}, [ITEM_FIGY_BERRY] = {.name = _("FIGY BERRY"), - .itemId = ITEM_FIGY_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, .holdEffectParam = 8, .description = gItemDescription_ITEM_FIGY_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2457,13 +2235,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WIKI_BERRY] = {.name = _("WIKI BERRY"), - .itemId = ITEM_WIKI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_DRY, .holdEffectParam = 8, .description = gItemDescription_ITEM_WIKI_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2471,13 +2247,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MAGO_BERRY] = {.name = _("MAGO BERRY"), - .itemId = ITEM_MAGO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, .holdEffectParam = 8, .description = gItemDescription_ITEM_MAGO_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2485,13 +2259,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_AGUAV_BERRY] = {.name = _("AGUAV BERRY"), - .itemId = ITEM_AGUAV_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, .holdEffectParam = 8, .description = gItemDescription_ITEM_AGUAV_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2499,13 +2271,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_IAPAPA_BERRY] = {.name = _("IAPAPA BERRY"), - .itemId = ITEM_IAPAPA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, .holdEffectParam = 8, .description = gItemDescription_ITEM_IAPAPA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2513,13 +2283,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RAZZ_BERRY] = {.name = _("RAZZ BERRY"), - .itemId = ITEM_RAZZ_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RAZZ_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2527,13 +2295,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BLUK_BERRY] = {.name = _("BLUK BERRY"), - .itemId = ITEM_BLUK_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BLUK_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2541,13 +2307,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_NANAB_BERRY] = {.name = _("NANAB BERRY"), - .itemId = ITEM_NANAB_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_NANAB_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2555,13 +2319,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WEPEAR_BERRY] = {.name = _("WEPEAR BERRY"), - .itemId = ITEM_WEPEAR_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_WEPEAR_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2569,13 +2331,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PINAP_BERRY] = {.name = _("PINAP BERRY"), - .itemId = ITEM_PINAP_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PINAP_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2583,13 +2343,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_POMEG_BERRY] = {.name = _("POMEG BERRY"), - .itemId = ITEM_POMEG_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_POMEG_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2597,13 +2355,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_KELPSY_BERRY] = {.name = _("KELPSY BERRY"), - .itemId = ITEM_KELPSY_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_KELPSY_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2611,13 +2367,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_QUALOT_BERRY] = {.name = _("QUALOT BERRY"), - .itemId = ITEM_QUALOT_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_QUALOT_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2625,13 +2379,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HONDEW_BERRY] = {.name = _("HONDEW BERRY"), - .itemId = ITEM_HONDEW_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_HONDEW_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2639,13 +2391,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GREPA_BERRY] = {.name = _("GREPA BERRY"), - .itemId = ITEM_GREPA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GREPA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2653,13 +2403,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TAMATO_BERRY] = {.name = _("TAMATO BERRY"), - .itemId = ITEM_TAMATO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TAMATO_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2667,13 +2415,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CORNN_BERRY] = {.name = _("CORNN BERRY"), - .itemId = ITEM_CORNN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_CORNN_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2681,13 +2427,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MAGOST_BERRY] = {.name = _("MAGOST BERRY"), - .itemId = ITEM_MAGOST_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MAGOST_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2695,13 +2439,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RABUTA_BERRY] = {.name = _("RABUTA BERRY"), - .itemId = ITEM_RABUTA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RABUTA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2709,13 +2451,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_NOMEL_BERRY] = {.name = _("NOMEL BERRY"), - .itemId = ITEM_NOMEL_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_NOMEL_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2723,13 +2463,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SPELON_BERRY] = {.name = _("SPELON BERRY"), - .itemId = ITEM_SPELON_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SPELON_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2737,13 +2475,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PAMTRE_BERRY] = {.name = _("PAMTRE BERRY"), - .itemId = ITEM_PAMTRE_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PAMTRE_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2751,13 +2487,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WATMEL_BERRY] = {.name = _("WATMEL BERRY"), - .itemId = ITEM_WATMEL_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_WATMEL_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2765,13 +2499,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DURIN_BERRY] = {.name = _("DURIN BERRY"), - .itemId = ITEM_DURIN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DURIN_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2779,13 +2511,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BELUE_BERRY] = {.name = _("BELUE BERRY"), - .itemId = ITEM_BELUE_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BELUE_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2793,13 +2523,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LIECHI_BERRY] = {.name = _("LIECHI BERRY"), - .itemId = ITEM_LIECHI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_ATTACK_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_LIECHI_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2807,13 +2535,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GANLON_BERRY] = {.name = _("GANLON BERRY"), - .itemId = ITEM_GANLON_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_DEFENSE_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_GANLON_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2821,13 +2547,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SALAC_BERRY] = {.name = _("SALAC BERRY"), - .itemId = ITEM_SALAC_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_SPEED_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_SALAC_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2835,13 +2559,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PETAYA_BERRY] = {.name = _("PETAYA BERRY"), - .itemId = ITEM_PETAYA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_PETAYA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2849,13 +2571,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_APICOT_BERRY] = {.name = _("APICOT BERRY"), - .itemId = ITEM_APICOT_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_APICOT_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2863,13 +2583,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LANSAT_BERRY] = {.name = _("LANSAT BERRY"), - .itemId = ITEM_LANSAT_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CRITICAL_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_LANSAT_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2877,13 +2595,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_STARF_BERRY] = {.name = _("STARF BERRY"), - .itemId = ITEM_STARF_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, .holdEffectParam = 4, .description = gItemDescription_ITEM_STARF_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2891,13 +2607,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ENIGMA_BERRY] = {.name = _("ENIGMA BERRY"), - .itemId = ITEM_ENIGMA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ENIGMA_BERRY, .importance = 0, - .registrability = 0, .pocket = POCKET_BERRY_POUCH, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, @@ -2905,13 +2619,11 @@ const struct Item gItems[] = { .battleUseFunc = ItemUseInBattle_EnigmaBerry, .secondaryId = 0}, [ITEM_BRIGHT_POWDER] = {.name = _("BRIGHTPOWDER"), - .itemId = ITEM_BRIGHT_POWDER, .price = 10, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 10, .description = gItemDescription_ITEM_BRIGHT_POWDER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2919,13 +2631,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WHITE_HERB] = {.name = _("WHITE HERB"), - .itemId = ITEM_WHITE_HERB, .price = 100, .holdEffect = HOLD_EFFECT_RESTORE_STATS, .holdEffectParam = 0, .description = gItemDescription_ITEM_WHITE_HERB, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2933,13 +2643,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MACHO_BRACE] = {.name = _("MACHO BRACE"), - .itemId = ITEM_MACHO_BRACE, .price = 3000, .holdEffect = HOLD_EFFECT_MACHO_BRACE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MACHO_BRACE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2947,13 +2655,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_EXP_SHARE] = {.name = _("EXP. SHARE"), - .itemId = ITEM_EXP_SHARE, .price = 3000, .holdEffect = HOLD_EFFECT_EXP_SHARE, .holdEffectParam = 0, .description = gItemDescription_ITEM_EXP_SHARE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2961,13 +2667,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_QUICK_CLAW] = {.name = _("QUICK CLAW"), - .itemId = ITEM_QUICK_CLAW, .price = 100, .holdEffect = HOLD_EFFECT_QUICK_CLAW, .holdEffectParam = 20, .description = gItemDescription_ITEM_QUICK_CLAW, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2975,13 +2679,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SOOTHE_BELL] = {.name = _("SOOTHE BELL"), - .itemId = ITEM_SOOTHE_BELL, .price = 100, .holdEffect = HOLD_EFFECT_FRIENDSHIP_UP, .holdEffectParam = 0, .description = gItemDescription_ITEM_SOOTHE_BELL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -2989,13 +2691,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MENTAL_HERB] = {.name = _("MENTAL HERB"), - .itemId = ITEM_MENTAL_HERB, .price = 100, .holdEffect = HOLD_EFFECT_CURE_ATTRACT, .holdEffectParam = 0, .description = gItemDescription_ITEM_MENTAL_HERB, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3003,13 +2703,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CHOICE_BAND] = {.name = _("CHOICE BAND"), - .itemId = ITEM_CHOICE_BAND, .price = 100, .holdEffect = HOLD_EFFECT_CHOICE_BAND, .holdEffectParam = 0, .description = gItemDescription_ITEM_CHOICE_BAND, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3017,13 +2715,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_KINGS_ROCK] = {.name = _("KING'S ROCK"), - .itemId = ITEM_KINGS_ROCK, .price = 100, .holdEffect = HOLD_EFFECT_FLINCH, .holdEffectParam = 10, .description = gItemDescription_ITEM_KINGS_ROCK, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3031,13 +2727,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SILVER_POWDER] = {.name = _("SILVERPOWDER"), - .itemId = ITEM_SILVER_POWDER, .price = 100, .holdEffect = HOLD_EFFECT_BUG_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_SILVER_POWDER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3045,13 +2739,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_AMULET_COIN] = {.name = _("AMULET COIN"), - .itemId = ITEM_AMULET_COIN, .price = 100, .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, .holdEffectParam = 10, .description = gItemDescription_ITEM_AMULET_COIN, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3059,13 +2751,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CLEANSE_TAG] = {.name = _("CLEANSE TAG"), - .itemId = ITEM_CLEANSE_TAG, .price = 200, .holdEffect = HOLD_EFFECT_REPEL, .holdEffectParam = 0, .description = gItemDescription_ITEM_CLEANSE_TAG, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3073,13 +2763,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SOUL_DEW] = {.name = _("SOUL DEW"), - .itemId = ITEM_SOUL_DEW, .price = 200, .holdEffect = HOLD_EFFECT_SOUL_DEW, .holdEffectParam = 0, .description = gItemDescription_ITEM_SOUL_DEW, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3087,14 +2775,12 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DEEP_SEA_TOOTH] = {.name = _("DEEPSEATOOTH"), - .itemId = ITEM_DEEP_SEA_TOOTH, .price = 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, .holdEffectParam = 0, .description = gItemDescription_ITEM_DEEP_SEA_TOOTH, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3102,14 +2788,12 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DEEP_SEA_SCALE] = {.name = _("DEEPSEASCALE"), - .itemId = ITEM_DEEP_SEA_SCALE, .price = 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DEEP_SEA_SCALE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3117,13 +2801,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SMOKE_BALL] = {.name = _("SMOKE BALL"), - .itemId = ITEM_SMOKE_BALL, .price = 200, .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, .holdEffectParam = 0, .description = gItemDescription_ITEM_SMOKE_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3131,13 +2813,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_EVERSTONE] = {.name = _("EVERSTONE"), - .itemId = ITEM_EVERSTONE, .price = 200, .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, .holdEffectParam = 0, .description = gItemDescription_ITEM_EVERSTONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3145,13 +2825,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_FOCUS_BAND] = {.name = _("FOCUS BAND"), - .itemId = ITEM_FOCUS_BAND, .price = 200, .holdEffect = HOLD_EFFECT_FOCUS_BAND, .holdEffectParam = 10, .description = gItemDescription_ITEM_FOCUS_BAND, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3159,13 +2837,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LUCKY_EGG] = {.name = _("LUCKY EGG"), - .itemId = ITEM_LUCKY_EGG, .price = 200, .holdEffect = HOLD_EFFECT_LUCKY_EGG, .holdEffectParam = 0, .description = gItemDescription_ITEM_LUCKY_EGG, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3173,13 +2849,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SCOPE_LENS] = {.name = _("SCOPE LENS"), - .itemId = ITEM_SCOPE_LENS, .price = 200, .holdEffect = HOLD_EFFECT_SCOPE_LENS, .holdEffectParam = 0, .description = gItemDescription_ITEM_SCOPE_LENS, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3187,13 +2861,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_METAL_COAT] = {.name = _("METAL COAT"), - .itemId = ITEM_METAL_COAT, .price = 100, .holdEffect = HOLD_EFFECT_STEEL_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_METAL_COAT, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3201,13 +2873,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LEFTOVERS] = {.name = _("LEFTOVERS"), - .itemId = ITEM_LEFTOVERS, .price = 200, .holdEffect = HOLD_EFFECT_LEFTOVERS, .holdEffectParam = 10, .description = gItemDescription_ITEM_LEFTOVERS, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3215,13 +2885,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DRAGON_SCALE] = {.name = _("DRAGON SCALE"), - .itemId = ITEM_DRAGON_SCALE, .price = 2100, .holdEffect = HOLD_EFFECT_DRAGON_SCALE, .holdEffectParam = 10, .description = gItemDescription_ITEM_DRAGON_SCALE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3229,13 +2897,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LIGHT_BALL] = {.name = _("LIGHT BALL"), - .itemId = ITEM_LIGHT_BALL, .price = 100, .holdEffect = HOLD_EFFECT_LIGHT_BALL, .holdEffectParam = 0, .description = gItemDescription_ITEM_LIGHT_BALL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3243,13 +2909,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SOFT_SAND] = {.name = _("SOFT SAND"), - .itemId = ITEM_SOFT_SAND, .price = 100, .holdEffect = HOLD_EFFECT_GROUND_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_SOFT_SAND, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3257,13 +2921,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HARD_STONE] = {.name = _("HARD STONE"), - .itemId = ITEM_HARD_STONE, .price = 100, .holdEffect = HOLD_EFFECT_ROCK_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_HARD_STONE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3271,13 +2933,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MIRACLE_SEED] = {.name = _("MIRACLE SEED"), - .itemId = ITEM_MIRACLE_SEED, .price = 100, .holdEffect = HOLD_EFFECT_GRASS_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_MIRACLE_SEED, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3285,13 +2945,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BLACK_GLASSES] = {.name = _("BLACKGLASSES"), - .itemId = ITEM_BLACK_GLASSES, .price = 100, .holdEffect = HOLD_EFFECT_DARK_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_BLACK_GLASSES, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3299,13 +2957,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BLACK_BELT] = {.name = _("BLACK BELT"), - .itemId = ITEM_BLACK_BELT, .price = 100, .holdEffect = HOLD_EFFECT_FIGHTING_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_BLACK_BELT, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3313,13 +2969,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MAGNET] = {.name = _("MAGNET"), - .itemId = ITEM_MAGNET, .price = 100, .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_MAGNET, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3327,13 +2981,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MYSTIC_WATER] = {.name = _("MYSTIC WATER"), - .itemId = ITEM_MYSTIC_WATER, .price = 100, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_MYSTIC_WATER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3341,13 +2993,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SHARP_BEAK] = {.name = _("SHARP BEAK"), - .itemId = ITEM_SHARP_BEAK, .price = 100, .holdEffect = HOLD_EFFECT_FLYING_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_SHARP_BEAK, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3355,13 +3005,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_POISON_BARB] = {.name = _("POISON BARB"), - .itemId = ITEM_POISON_BARB, .price = 100, .holdEffect = HOLD_EFFECT_POISON_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_POISON_BARB, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3369,14 +3017,12 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_NEVER_MELT_ICE] = {.name = _("NEVERMELTICE"), - .itemId = ITEM_NEVER_MELT_ICE, .price = 100, .holdEffect = HOLD_EFFECT_ICE_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_NEVER_MELT_ICE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3384,13 +3030,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SPELL_TAG] = {.name = _("SPELL TAG"), - .itemId = ITEM_SPELL_TAG, .price = 100, .holdEffect = HOLD_EFFECT_GHOST_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_SPELL_TAG, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3398,13 +3042,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TWISTED_SPOON] = {.name = _("TWISTEDSPOON"), - .itemId = ITEM_TWISTED_SPOON, .price = 100, .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_TWISTED_SPOON, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3412,13 +3054,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CHARCOAL] = {.name = _("CHARCOAL"), - .itemId = ITEM_CHARCOAL, .price = 9800, .holdEffect = HOLD_EFFECT_FIRE_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_CHARCOAL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3426,13 +3066,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DRAGON_FANG] = {.name = _("DRAGON FANG"), - .itemId = ITEM_DRAGON_FANG, .price = 100, .holdEffect = HOLD_EFFECT_DRAGON_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_DRAGON_FANG, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3440,13 +3078,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SILK_SCARF] = {.name = _("SILK SCARF"), - .itemId = ITEM_SILK_SCARF, .price = 100, .holdEffect = HOLD_EFFECT_NORMAL_POWER, .holdEffectParam = 10, .description = gItemDescription_ITEM_SILK_SCARF, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3454,13 +3090,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_UP_GRADE] = {.name = _("UP-GRADE"), - .itemId = ITEM_UP_GRADE, .price = 2100, .holdEffect = HOLD_EFFECT_UP_GRADE, .holdEffectParam = 0, .description = gItemDescription_ITEM_UP_GRADE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3468,13 +3102,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SHELL_BELL] = {.name = _("SHELL BELL"), - .itemId = ITEM_SHELL_BELL, .price = 200, .holdEffect = HOLD_EFFECT_SHELL_BELL, .holdEffectParam = 8, .description = gItemDescription_ITEM_SHELL_BELL, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3482,13 +3114,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SEA_INCENSE] = {.name = _("SEA INCENSE"), - .itemId = ITEM_SEA_INCENSE, .price = 9600, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 5, .description = gItemDescription_ITEM_SEA_INCENSE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3496,13 +3126,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LAX_INCENSE] = {.name = _("LAX INCENSE"), - .itemId = ITEM_LAX_INCENSE, .price = 9600, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 5, .description = gItemDescription_ITEM_LAX_INCENSE, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3510,13 +3138,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LUCKY_PUNCH] = {.name = _("LUCKY PUNCH"), - .itemId = ITEM_LUCKY_PUNCH, .price = 10, .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, .holdEffectParam = 0, .description = gItemDescription_ITEM_LUCKY_PUNCH, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3524,13 +3150,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_METAL_POWDER] = {.name = _("METAL POWDER"), - .itemId = ITEM_METAL_POWDER, .price = 10, .holdEffect = HOLD_EFFECT_METAL_POWDER, .holdEffectParam = 0, .description = gItemDescription_ITEM_METAL_POWDER, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3538,13 +3162,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_THICK_CLUB] = {.name = _("THICK CLUB"), - .itemId = ITEM_THICK_CLUB, .price = 500, .holdEffect = HOLD_EFFECT_THICK_CLUB, .holdEffectParam = 0, .description = gItemDescription_ITEM_THICK_CLUB, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3552,13 +3174,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_STICK] = {.name = _("STICK"), - .itemId = ITEM_STICK, .price = 200, .holdEffect = HOLD_EFFECT_STICK, .holdEffectParam = 0, .description = gItemDescription_ITEM_STICK, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3566,13 +3186,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RED_SCARF] = {.name = _("RED SCARF"), - .itemId = ITEM_RED_SCARF, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RED_SCARF, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3580,13 +3198,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BLUE_SCARF] = {.name = _("BLUE SCARF"), - .itemId = ITEM_BLUE_SCARF, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BLUE_SCARF, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3594,13 +3210,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_PINK_SCARF] = {.name = _("PINK SCARF"), - .itemId = ITEM_PINK_SCARF, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_PINK_SCARF, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3608,13 +3222,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GREEN_SCARF] = {.name = _("GREEN SCARF"), - .itemId = ITEM_GREEN_SCARF, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GREEN_SCARF, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3622,13 +3234,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_YELLOW_SCARF] = {.name = _("YELLOW SCARF"), - .itemId = ITEM_YELLOW_SCARF, .price = 100, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_YELLOW_SCARF, .importance = 0, - .registrability = 0, .pocket = POCKET_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3636,13 +3246,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MACH_BIKE] = {.name = _("MACH BIKE"), - .itemId = ITEM_MACH_BIKE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MACH_BIKE, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_Bike, @@ -3650,13 +3258,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_COIN_CASE] = {.name = _("COIN CASE"), - .itemId = ITEM_COIN_CASE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_COIN_CASE, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_CoinCase, @@ -3664,13 +3270,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ITEMFINDER] = {.name = _("ITEMFINDER"), - .itemId = ITEM_ITEMFINDER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ITEMFINDER, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, @@ -3678,13 +3282,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_OLD_ROD] = {.name = _("OLD ROD"), - .itemId = ITEM_OLD_ROD, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_OLD_ROD, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_Rod, @@ -3692,13 +3294,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = OLD_ROD}, [ITEM_GOOD_ROD] = {.name = _("GOOD ROD"), - .itemId = ITEM_GOOD_ROD, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GOOD_ROD, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_Rod, @@ -3706,13 +3306,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = GOOD_ROD}, [ITEM_SUPER_ROD] = {.name = _("SUPER ROD"), - .itemId = ITEM_SUPER_ROD, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SUPER_ROD, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_Rod, @@ -3720,13 +3318,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = SUPER_ROD}, [ITEM_SS_TICKET] = {.name = _("S.S. TICKET"), - .itemId = ITEM_SS_TICKET, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SS_TICKET, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3734,13 +3330,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CONTEST_PASS] = {.name = _("CONTEST PASS"), - .itemId = ITEM_CONTEST_PASS, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_CONTEST_PASS, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3748,13 +3342,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_WAILMER_PAIL] = {.name = _("WAILMER PAIL"), - .itemId = ITEM_WAILMER_PAIL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_WAILMER_PAIL, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3762,13 +3354,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DEVON_GOODS] = {.name = _("DEVON GOODS"), - .itemId = ITEM_DEVON_GOODS, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DEVON_GOODS, .importance = 2, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3776,13 +3366,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SOOT_SACK] = {.name = _("SOOT SACK"), - .itemId = ITEM_SOOT_SACK, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SOOT_SACK, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3790,13 +3378,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BASEMENT_KEY] = {.name = _("BASEMENT KEY"), - .itemId = ITEM_BASEMENT_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BASEMENT_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3804,13 +3390,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ACRO_BIKE] = {.name = _("ACRO BIKE"), - .itemId = ITEM_ACRO_BIKE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ACRO_BIKE, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_Bike, @@ -3818,14 +3402,12 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 1}, [ITEM_POKEBLOCK_CASE] = {.name = _("{POKEBLOCK} CASE"), - .itemId = ITEM_POKEBLOCK_CASE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_POKEBLOCK_CASE, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3833,13 +3415,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LETTER] = {.name = _("LETTER"), - .itemId = ITEM_LETTER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_LETTER, .importance = 2, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3847,13 +3427,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_EON_TICKET] = {.name = _("EON TICKET"), - .itemId = ITEM_EON_TICKET, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_EON_TICKET, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3861,13 +3439,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 1}, [ITEM_RED_ORB] = {.name = _("RED ORB"), - .itemId = ITEM_RED_ORB, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RED_ORB, .importance = 2, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3875,13 +3451,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BLUE_ORB] = {.name = _("BLUE ORB"), - .itemId = ITEM_BLUE_ORB, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BLUE_ORB, .importance = 2, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3889,13 +3463,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SCANNER] = {.name = _("SCANNER"), - .itemId = ITEM_SCANNER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SCANNER, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3903,13 +3475,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GO_GOGGLES] = {.name = _("GO-GOGGLES"), - .itemId = ITEM_GO_GOGGLES, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GO_GOGGLES, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3917,13 +3487,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_METEORITE] = {.name = _("METEORITE"), - .itemId = ITEM_METEORITE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_METEORITE, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3931,13 +3499,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ROOM_1_KEY] = {.name = _("RM. 1 KEY"), - .itemId = ITEM_ROOM_1_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ROOM_1_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3945,13 +3511,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ROOM_2_KEY] = {.name = _("RM. 2 KEY"), - .itemId = ITEM_ROOM_2_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ROOM_2_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3959,13 +3523,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ROOM_4_KEY] = {.name = _("RM. 4 KEY"), - .itemId = ITEM_ROOM_4_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ROOM_4_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3973,13 +3535,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ROOM_6_KEY] = {.name = _("RM. 6 KEY"), - .itemId = ITEM_ROOM_6_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ROOM_6_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -3987,13 +3547,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_STORAGE_KEY] = {.name = _("STORAGE KEY"), - .itemId = ITEM_STORAGE_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_STORAGE_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4001,13 +3559,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_ROOT_FOSSIL] = {.name = _("ROOT FOSSIL"), - .itemId = ITEM_ROOT_FOSSIL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_ROOT_FOSSIL, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4015,13 +3571,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CLAW_FOSSIL] = {.name = _("CLAW FOSSIL"), - .itemId = ITEM_CLAW_FOSSIL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_CLAW_FOSSIL, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4029,13 +3583,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DEVON_SCOPE] = {.name = _("DEVON SCOPE"), - .itemId = ITEM_DEVON_SCOPE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DEVON_SCOPE, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4043,13 +3595,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM01] = {.name = _("TM01"), - .itemId = ITEM_TM01, - .price = 3000, + .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFocusPunchDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4057,13 +3607,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM02] = {.name = _("TM02"), - .itemId = ITEM_TM02, - .price = 3000, + .price = 2, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sDragonClawDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4071,13 +3619,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM03] = {.name = _("TM03"), - .itemId = ITEM_TM03, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sWaterPulseDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4085,13 +3631,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM04] = {.name = _("TM04"), - .itemId = ITEM_TM04, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sCalmMindDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4099,13 +3643,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM05] = {.name = _("TM05"), - .itemId = ITEM_TM05, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sRoarDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4113,13 +3655,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM06] = {.name = _("TM06"), - .itemId = ITEM_TM06, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sToxicDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4127,13 +3667,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM07] = {.name = _("TM07"), - .itemId = ITEM_TM07, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sHailDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4141,13 +3679,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM08] = {.name = _("TM08"), - .itemId = ITEM_TM08, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sBulkUpDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4155,13 +3691,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM09] = {.name = _("TM09"), - .itemId = ITEM_TM09, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sBulletSeedDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4169,13 +3703,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM10] = {.name = _("TM10"), - .itemId = ITEM_TM10, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sHiddenPowerDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4183,13 +3715,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM11] = {.name = _("TM11"), - .itemId = ITEM_TM11, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSunnyDayDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4197,13 +3727,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM12] = {.name = _("TM12"), - .itemId = ITEM_TM12, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sTauntDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4211,13 +3739,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM13] = {.name = _("TM13"), - .itemId = ITEM_TM13, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sIceBeamDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4225,13 +3751,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM14] = {.name = _("TM14"), - .itemId = ITEM_TM14, .price = 5500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sBlizzardDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4239,13 +3763,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM15] = {.name = _("TM15"), - .itemId = ITEM_TM15, .price = 7500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sHyperBeamDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4253,13 +3775,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM16] = {.name = _("TM16"), - .itemId = ITEM_TM16, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sLightScreenDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4267,13 +3787,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM17] = {.name = _("TM17"), - .itemId = ITEM_TM17, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sProtectDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4281,13 +3799,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM18] = {.name = _("TM18"), - .itemId = ITEM_TM18, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sRainDanceDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4295,13 +3811,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM19] = {.name = _("TM19"), - .itemId = ITEM_TM19, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sGigaDrainDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4309,13 +3823,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM20] = {.name = _("TM20"), - .itemId = ITEM_TM20, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSafeguardDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4323,13 +3835,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM21] = {.name = _("TM21"), - .itemId = ITEM_TM21, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFrustrationDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4337,13 +3847,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM22] = {.name = _("TM22"), - .itemId = ITEM_TM22, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSolarBeamDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4351,13 +3859,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM23] = {.name = _("TM23"), - .itemId = ITEM_TM23, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sIronTailDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4365,13 +3871,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM24] = {.name = _("TM24"), - .itemId = ITEM_TM24, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sThunderboltDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4379,13 +3883,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM25] = {.name = _("TM25"), - .itemId = ITEM_TM25, .price = 5500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sThunderDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4393,13 +3895,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM26] = {.name = _("TM26"), - .itemId = ITEM_TM26, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sEarthquakeDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4407,13 +3907,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM27] = {.name = _("TM27"), - .itemId = ITEM_TM27, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sReturnDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4421,13 +3919,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM28] = {.name = _("TM28"), - .itemId = ITEM_TM28, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sDigDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4435,13 +3931,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM29] = {.name = _("TM29"), - .itemId = ITEM_TM29, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sPsychicDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4449,13 +3943,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM30] = {.name = _("TM30"), - .itemId = ITEM_TM30, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sShadowBallDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4463,13 +3955,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM31] = {.name = _("TM31"), - .itemId = ITEM_TM31, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sBrickBreakDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4477,13 +3967,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM32] = {.name = _("TM32"), - .itemId = ITEM_TM32, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sDoubleTeamDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4491,13 +3979,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM33] = {.name = _("TM33"), - .itemId = ITEM_TM33, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sReflectDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4505,13 +3991,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM34] = {.name = _("TM34"), - .itemId = ITEM_TM34, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sShockWaveDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4519,13 +4003,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM35] = {.name = _("TM35"), - .itemId = ITEM_TM35, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFlamethrowerDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4533,13 +4015,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM36] = {.name = _("TM36"), - .itemId = ITEM_TM36, .price = 1000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSludgeBombDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4547,13 +4027,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM37] = {.name = _("TM37"), - .itemId = ITEM_TM37, .price = 2000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSandstormDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4561,13 +4039,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM38] = {.name = _("TM38"), - .itemId = ITEM_TM38, .price = 5500, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFireBlastDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4575,13 +4051,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM39] = {.name = _("TM39"), - .itemId = ITEM_TM39, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sRockTombDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4589,13 +4063,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM40] = {.name = _("TM40"), - .itemId = ITEM_TM40, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sAerialAceDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4603,13 +4075,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM41] = {.name = _("TM41"), - .itemId = ITEM_TM41, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sTormentDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4617,13 +4087,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM42] = {.name = _("TM42"), - .itemId = ITEM_TM42, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFacadeDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4631,13 +4099,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM43] = {.name = _("TM43"), - .itemId = ITEM_TM43, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSecretPowerDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4645,13 +4111,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM44] = {.name = _("TM44"), - .itemId = ITEM_TM44, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sRestDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4659,13 +4123,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM45] = {.name = _("TM45"), - .itemId = ITEM_TM45, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sAttractDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4673,13 +4135,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM46] = {.name = _("TM46"), - .itemId = ITEM_TM46, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sThiefDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4687,13 +4147,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM47] = {.name = _("TM47"), - .itemId = ITEM_TM47, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSteelWingDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4701,13 +4159,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM48] = {.name = _("TM48"), - .itemId = ITEM_TM48, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSkillSwapDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4715,13 +4171,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM49] = {.name = _("TM49"), - .itemId = ITEM_TM49, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSnatchDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4729,13 +4183,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM50] = {.name = _("TM50"), - .itemId = ITEM_TM50, .price = 3000, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sOverheatDescription, .importance = 0, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4743,13 +4195,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM01] = {.name = _("HM01"), - .itemId = ITEM_HM01, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sCutDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4757,13 +4207,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM02] = {.name = _("HM02"), - .itemId = ITEM_HM02, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFlyDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4771,13 +4219,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM03] = {.name = _("HM03"), - .itemId = ITEM_HM03, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sSurfDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4785,13 +4231,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM04] = {.name = _("HM04"), - .itemId = ITEM_HM04, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sStrengthDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4799,13 +4243,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM05] = {.name = _("HM05"), - .itemId = ITEM_HM05, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sFlashDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4813,13 +4255,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM06] = {.name = _("HM06"), - .itemId = ITEM_HM06, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sRockSmashDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4827,13 +4267,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM07] = {.name = _("HM07"), - .itemId = ITEM_HM07, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sWaterfallDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4841,13 +4279,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HM08] = {.name = _("HM08"), - .itemId = ITEM_HM08, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = sDiveDescription, .importance = 1, - .registrability = 0, .pocket = POCKET_TM_CASE, .type = ITEM_TYPE_PARTY_MENU, .fieldUseFunc = NULL, @@ -4855,13 +4291,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_OAKS_PARCEL] = {.name = _("OAK'S PARCEL"), - .itemId = ITEM_OAKS_PARCEL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_OAKS_PARCEL, .importance = 2, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4869,13 +4303,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_POKE_FLUTE] = {.name = _("POKé FLUTE"), - .itemId = ITEM_POKE_FLUTE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_POKE_FLUTE, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_PokeFlute, @@ -4883,13 +4315,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_PokeFlute, .secondaryId = 0}, [ITEM_SECRET_KEY] = {.name = _("SECRET KEY"), - .itemId = ITEM_SECRET_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SECRET_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4897,13 +4327,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BIKE_VOUCHER] = {.name = _("BIKE VOUCHER"), - .itemId = ITEM_BIKE_VOUCHER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BIKE_VOUCHER, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4911,13 +4339,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_GOLD_TEETH] = {.name = _("GOLD TEETH"), - .itemId = ITEM_GOLD_TEETH, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_GOLD_TEETH, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4925,13 +4351,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_OLD_AMBER] = {.name = _("OLD AMBER"), - .itemId = ITEM_OLD_AMBER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_OLD_AMBER, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4939,13 +4363,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_CARD_KEY] = {.name = _("CARD KEY"), - .itemId = ITEM_CARD_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_CARD_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4953,13 +4375,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_LIFT_KEY] = {.name = _("LIFT KEY"), - .itemId = ITEM_LIFT_KEY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_LIFT_KEY, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4967,13 +4387,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_HELIX_FOSSIL] = {.name = _("HELIX FOSSIL"), - .itemId = ITEM_HELIX_FOSSIL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_HELIX_FOSSIL, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4981,13 +4399,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_DOME_FOSSIL] = {.name = _("DOME FOSSIL"), - .itemId = ITEM_DOME_FOSSIL, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_DOME_FOSSIL, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -4995,13 +4411,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SILPH_SCOPE] = {.name = _("SILPH SCOPE"), - .itemId = ITEM_SILPH_SCOPE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SILPH_SCOPE, .importance = 1, - .registrability = 0, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5009,13 +4423,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BICYCLE] = {.name = _("BICYCLE"), - .itemId = ITEM_BICYCLE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BICYCLE, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_Bike, @@ -5023,13 +4435,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TOWN_MAP] = {.name = _("TOWN MAP"), - .itemId = ITEM_TOWN_MAP, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TOWN_MAP, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_TownMap, @@ -5037,13 +4447,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_VS_SEEKER] = {.name = _("VS SEEKER"), - .itemId = ITEM_VS_SEEKER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_VS_SEEKER, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_VsSeeker, @@ -5051,13 +4459,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_FAME_CHECKER] = {.name = _("FAME CHECKER"), - .itemId = ITEM_FAME_CHECKER, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_FAME_CHECKER, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_FameChecker, @@ -5065,13 +4471,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TM_CASE] = {.name = _("TM CASE"), - .itemId = ITEM_TM_CASE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TM_CASE, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_TmCase, @@ -5079,13 +4483,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_BERRY_POUCH] = {.name = _("BERRY POUCH"), - .itemId = ITEM_BERRY_POUCH, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_BERRY_POUCH, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_BerryPouch, @@ -5093,13 +4495,11 @@ const struct Item gItems[] = { .battleUseFunc = BattleUseFunc_BerryPouch, .secondaryId = 0}, [ITEM_TEACHY_TV] = {.name = _("TEACHY TV"), - .itemId = ITEM_TEACHY_TV, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TEACHY_TV, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_FIELD, .fieldUseFunc = FieldUseFunc_TeachyTv, @@ -5107,13 +4507,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TRI_PASS] = {.name = _("TRI-PASS"), - .itemId = ITEM_TRI_PASS, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TRI_PASS, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5121,13 +4519,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RAINBOW_PASS] = {.name = _("RAINBOW PASS"), - .itemId = ITEM_RAINBOW_PASS, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RAINBOW_PASS, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5135,13 +4531,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_TEA] = {.name = _("TEA"), - .itemId = ITEM_TEA, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_TEA, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5149,13 +4543,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_MYSTIC_TICKET] = {.name = _("MYSTICTICKET"), - .itemId = ITEM_MYSTIC_TICKET, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_MYSTIC_TICKET, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5163,13 +4555,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_AURORA_TICKET] = {.name = _("AURORATICKET"), - .itemId = ITEM_AURORA_TICKET, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_AURORA_TICKET, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5177,13 +4567,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_POWDER_JAR] = {.name = _("POWDER JAR"), - .itemId = ITEM_POWDER_JAR, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_POWDER_JAR, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_PowderJar, @@ -5191,13 +4579,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_RUBY] = {.name = _("RUBY"), - .itemId = ITEM_RUBY, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_RUBY, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, @@ -5205,13 +4591,11 @@ const struct Item gItems[] = { .battleUseFunc = NULL, .secondaryId = 0}, [ITEM_SAPPHIRE] = {.name = _("SAPPHIRE"), - .itemId = ITEM_SAPPHIRE, .price = 0, .holdEffect = HOLD_EFFECT_NONE, .holdEffectParam = 0, .description = gItemDescription_ITEM_SAPPHIRE, .importance = 1, - .registrability = 1, .pocket = POCKET_KEY_ITEMS, .type = ITEM_TYPE_BAG_MENU, .fieldUseFunc = FieldUseFunc_OakStopsYou, diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index db57298b6..db9d477a5 100644 --- a/src/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h @@ -335,70 +335,70 @@ static const u8 sItemEffect_SitrusBerry[7] = { [6] = 30, // Amount of HP to recover }; -const u8 *const gItemEffectTable[] = +const u8 *const gItemEffectTable[ITEMS_COUNT] = { - [ITEM_POTION - ITEM_POTION] = sItemEffect_Potion, - [ITEM_ANTIDOTE - ITEM_POTION] = sItemEffect_Antidote, - [ITEM_BURN_HEAL - ITEM_POTION] = sItemEffect_BurnHeal, - [ITEM_ICE_HEAL - ITEM_POTION] = sItemEffect_IceHeal, - [ITEM_AWAKENING - ITEM_POTION] = sItemEffect_Awakening, - [ITEM_PARALYZE_HEAL - ITEM_POTION] = sItemEffect_ParalyzeHeal, - [ITEM_FULL_RESTORE - ITEM_POTION] = sItemEffect_FullRestore, - [ITEM_MAX_POTION - ITEM_POTION] = sItemEffect_MaxPotion, - [ITEM_HYPER_POTION - ITEM_POTION] = sItemEffect_HyperPotion, - [ITEM_SUPER_POTION - ITEM_POTION] = sItemEffect_SuperPotion, - [ITEM_FULL_HEAL - ITEM_POTION] = sItemEffect_FullHeal, - [ITEM_REVIVE - ITEM_POTION] = sItemEffect_Revive, - [ITEM_MAX_REVIVE - ITEM_POTION] = sItemEffect_MaxRevive, - [ITEM_FRESH_WATER - ITEM_POTION] = sItemEffect_FreshWater, - [ITEM_SODA_POP - ITEM_POTION] = sItemEffect_SodaPop, - [ITEM_LEMONADE - ITEM_POTION] = sItemEffect_Lemonade, - [ITEM_MOOMOO_MILK - ITEM_POTION] = sItemEffect_MoomooMilk, - [ITEM_ENERGY_POWDER - ITEM_POTION] = sItemEffect_EnergyPowder, - [ITEM_ENERGY_ROOT - ITEM_POTION] = sItemEffect_EnergyRoot, - [ITEM_HEAL_POWDER - ITEM_POTION] = sItemEffect_HealPowder, - [ITEM_REVIVAL_HERB - ITEM_POTION] = sItemEffect_RevivalHerb, - [ITEM_ETHER - ITEM_POTION] = sItemEffect_Ether, - [ITEM_MAX_ETHER - ITEM_POTION] = sItemEffect_MaxEther, - [ITEM_ELIXIR - ITEM_POTION] = sItemEffect_Elixir, - [ITEM_MAX_ELIXIR - ITEM_POTION] = sItemEffect_MaxElixir, - [ITEM_LAVA_COOKIE - ITEM_POTION] = sItemEffect_LavaCookie, - [ITEM_BLUE_FLUTE - ITEM_POTION] = sItemEffect_BlueFlute, - [ITEM_YELLOW_FLUTE - ITEM_POTION] = sItemEffect_YellowFlute, - [ITEM_RED_FLUTE - ITEM_POTION] = sItemEffect_RedFlute, - [ITEM_BERRY_JUICE - ITEM_POTION] = sItemEffect_BerryJuice, - [ITEM_SACRED_ASH - ITEM_POTION] = sItemEffect_SacredAsh, - [ITEM_HP_UP - ITEM_POTION] = sItemEffect_HPUp, - [ITEM_PROTEIN - ITEM_POTION] = sItemEffect_Protein, - [ITEM_IRON - ITEM_POTION] = sItemEffect_Iron, - [ITEM_CARBOS - ITEM_POTION] = sItemEffect_Carbos, - [ITEM_CALCIUM - ITEM_POTION] = sItemEffect_Calcium, - [ITEM_RARE_CANDY - ITEM_POTION] = sItemEffect_RareCandy, - [ITEM_PP_UP - ITEM_POTION] = sItemEffect_PPUp, - [ITEM_ZINC - ITEM_POTION] = sItemEffect_Zinc, - [ITEM_PP_MAX - ITEM_POTION] = sItemEffect_PPMax, - [ITEM_GUARD_SPEC - ITEM_POTION] = sItemEffect_GuardSpec, - [ITEM_DIRE_HIT - ITEM_POTION] = sItemEffect_DireHit, - [ITEM_X_ATTACK - ITEM_POTION] = sItemEffect_XAttack, - [ITEM_X_DEFEND - ITEM_POTION] = sItemEffect_XDefend, - [ITEM_X_SPEED - ITEM_POTION] = sItemEffect_XSpeed, - [ITEM_X_ACCURACY - ITEM_POTION] = sItemEffect_XAccuracy, - [ITEM_X_SPECIAL - ITEM_POTION] = sItemEffect_XSpecial, - [ITEM_SUN_STONE - ITEM_POTION] = sItemEffect_SunStone, - [ITEM_MOON_STONE - ITEM_POTION] = sItemEffect_MoonStone, - [ITEM_FIRE_STONE - ITEM_POTION] = sItemEffect_FireStone, - [ITEM_THUNDER_STONE - ITEM_POTION] = sItemEffect_ThunderStone, - [ITEM_WATER_STONE - ITEM_POTION] = sItemEffect_WaterStone, - [ITEM_LEAF_STONE - ITEM_POTION] = sItemEffect_LeafStone, - [ITEM_CHERI_BERRY - ITEM_POTION] = sItemEffect_CheriBerry, - [ITEM_CHESTO_BERRY - ITEM_POTION] = sItemEffect_ChestoBerry, - [ITEM_PECHA_BERRY - ITEM_POTION] = sItemEffect_PechaBerry, - [ITEM_RAWST_BERRY - ITEM_POTION] = sItemEffect_RawstBerry, - [ITEM_ASPEAR_BERRY - ITEM_POTION] = sItemEffect_AspearBerry, - [ITEM_LEPPA_BERRY - ITEM_POTION] = sItemEffect_LeppaBerry, - [ITEM_ORAN_BERRY - ITEM_POTION] = sItemEffect_OranBerry, - [ITEM_PERSIM_BERRY - ITEM_POTION] = sItemEffect_PersimBerry, - [ITEM_LUM_BERRY - ITEM_POTION] = sItemEffect_LumBerry, - [ITEM_SITRUS_BERRY - ITEM_POTION] = sItemEffect_SitrusBerry, - [LAST_BERRY_INDEX - ITEM_POTION] = NULL, + [ITEM_POTION] = sItemEffect_Potion, + [ITEM_ANTIDOTE] = sItemEffect_Antidote, + [ITEM_BURN_HEAL] = sItemEffect_BurnHeal, + [ITEM_ICE_HEAL] = sItemEffect_IceHeal, + [ITEM_AWAKENING] = sItemEffect_Awakening, + [ITEM_PARALYZE_HEAL] = sItemEffect_ParalyzeHeal, + [ITEM_FULL_RESTORE] = sItemEffect_FullRestore, + [ITEM_MAX_POTION] = sItemEffect_MaxPotion, + [ITEM_HYPER_POTION] = sItemEffect_HyperPotion, + [ITEM_SUPER_POTION] = sItemEffect_SuperPotion, + [ITEM_FULL_HEAL] = sItemEffect_FullHeal, + [ITEM_REVIVE] = sItemEffect_Revive, + [ITEM_MAX_REVIVE] = sItemEffect_MaxRevive, + [ITEM_FRESH_WATER] = sItemEffect_FreshWater, + [ITEM_SODA_POP] = sItemEffect_SodaPop, + [ITEM_LEMONADE] = sItemEffect_Lemonade, + [ITEM_MOOMOO_MILK] = sItemEffect_MoomooMilk, + [ITEM_ENERGY_POWDER] = sItemEffect_EnergyPowder, + [ITEM_ENERGY_ROOT] = sItemEffect_EnergyRoot, + [ITEM_HEAL_POWDER] = sItemEffect_HealPowder, + [ITEM_REVIVAL_HERB] = sItemEffect_RevivalHerb, + [ITEM_ETHER] = sItemEffect_Ether, + [ITEM_MAX_ETHER] = sItemEffect_MaxEther, + [ITEM_ELIXIR] = sItemEffect_Elixir, + [ITEM_MAX_ELIXIR] = sItemEffect_MaxElixir, + [ITEM_LAVA_COOKIE] = sItemEffect_LavaCookie, + [ITEM_BLUE_FLUTE] = sItemEffect_BlueFlute, + [ITEM_YELLOW_FLUTE] = sItemEffect_YellowFlute, + [ITEM_RED_FLUTE] = sItemEffect_RedFlute, + [ITEM_BERRY_JUICE] = sItemEffect_BerryJuice, + [ITEM_SACRED_ASH] = sItemEffect_SacredAsh, + [ITEM_HP_UP] = sItemEffect_HPUp, + [ITEM_PROTEIN] = sItemEffect_Protein, + [ITEM_IRON] = sItemEffect_Iron, + [ITEM_CARBOS] = sItemEffect_Carbos, + [ITEM_CALCIUM] = sItemEffect_Calcium, + [ITEM_RARE_CANDY] = sItemEffect_RareCandy, + [ITEM_PP_UP] = sItemEffect_PPUp, + [ITEM_ZINC] = sItemEffect_Zinc, + [ITEM_PP_MAX] = sItemEffect_PPMax, + [ITEM_GUARD_SPEC] = sItemEffect_GuardSpec, + [ITEM_DIRE_HIT] = sItemEffect_DireHit, + [ITEM_X_ATTACK] = sItemEffect_XAttack, + [ITEM_X_DEFEND] = sItemEffect_XDefend, + [ITEM_X_SPEED] = sItemEffect_XSpeed, + [ITEM_X_ACCURACY] = sItemEffect_XAccuracy, + [ITEM_X_SPECIAL] = sItemEffect_XSpecial, + [ITEM_SUN_STONE] = sItemEffect_SunStone, + [ITEM_MOON_STONE] = sItemEffect_MoonStone, + [ITEM_FIRE_STONE] = sItemEffect_FireStone, + [ITEM_THUNDER_STONE] = sItemEffect_ThunderStone, + [ITEM_WATER_STONE] = sItemEffect_WaterStone, + [ITEM_LEAF_STONE] = sItemEffect_LeafStone, + [ITEM_CHERI_BERRY] = sItemEffect_CheriBerry, + [ITEM_CHESTO_BERRY] = sItemEffect_ChestoBerry, + [ITEM_PECHA_BERRY] = sItemEffect_PechaBerry, + [ITEM_RAWST_BERRY] = sItemEffect_RawstBerry, + [ITEM_ASPEAR_BERRY] = sItemEffect_AspearBerry, + [ITEM_LEPPA_BERRY] = sItemEffect_LeppaBerry, + [ITEM_ORAN_BERRY] = sItemEffect_OranBerry, + [ITEM_PERSIM_BERRY] = sItemEffect_PersimBerry, + [ITEM_LUM_BERRY] = sItemEffect_LumBerry, + [ITEM_SITRUS_BERRY] = sItemEffect_SitrusBerry, + [LAST_BERRY_INDEX] = NULL, }; diff --git a/src/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h deleted file mode 100644 index 6150c9dab..000000000 --- a/src/data/pokemon/tmhm_learnsets.h +++ /dev/null @@ -1,9388 +0,0 @@ -#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)} -#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH)) - -// This table determines which TMs and HMs a species is capable of learning. -// Each entry is a 64-bit bit array spread across two 32-bit values, with -// each bit corresponding to a machine. -// static const u32 sTMHMLearnsets[][2] = -// { -// [SPECIES_NONE] = TMHM_LEARNSET(0), - -// [SPECIES_BULBASAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_IVYSAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_VENUSAUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CHARMANDER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CHARMELEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CHARIZARD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SQUIRTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_WARTORTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_BLASTOISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CATERPIE] = TMHM_LEARNSET(0), - -// [SPECIES_METAPOD] = TMHM_LEARNSET(0), - -// [SPECIES_BUTTERFREE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_WEEDLE] = TMHM_LEARNSET(0), - -// [SPECIES_KAKUNA] = TMHM_LEARNSET(0), - -// [SPECIES_BEEDRILL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PIDGEY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_PIDGEOTTO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_PIDGEOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_RATTATA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RATICATE] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SPEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_FEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_EKANS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH)), - -// [SPECIES_ARBOK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH)), - -// [SPECIES_PIKACHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RAICHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SANDSHREW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SANDSLASH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NIDORAN_F] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NIDORINA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NIDOQUEEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NIDORAN_M] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NIDORINO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NIDOKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CLEFAIRY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CLEFABLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_VULPIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT)), - -// [SPECIES_NINETALES] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT)), - -// [SPECIES_JIGGLYPUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_WIGGLYTUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ZUBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM49_SNATCH)), - -// [SPECIES_GOLBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM49_SNATCH)), - -// [SPECIES_ODDISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_GLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_VILEPLUME] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_PARAS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PARASECT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_VENONAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_VENOMOTH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_DIGLETT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_DUGTRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MEOWTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_PERSIAN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_PSYDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GOLDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MANKEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PRIMEAPE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GROWLITHE] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ARCANINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_POLIWAG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_POLIWHIRL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_POLIWRATH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_ABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_KADABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ALAKAZAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MACHOP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MACHOKE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MACHAMP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BELLSPROUT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_WEEPINBELL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_VICTREEBEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_TENTACOOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_TENTACRUEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GEODUDE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GRAVELER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GOLEM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PONYTA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH)), - -// [SPECIES_RAPIDASH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH)), - -// [SPECIES_SLOWPOKE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SLOWBRO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MAGNEMITE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MAGNETON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM05_FLASH)), - -// [SPECIES_FARFETCHD] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY)), - -// [SPECIES_DODUO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_DODRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_SEEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_DEWGONG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GRIMER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF)), - -// [SPECIES_MUK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SHELLDER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CLOYSTER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GASTLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH)), - -// [SPECIES_HAUNTER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH)), - -// [SPECIES_GENGAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ONIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_DROWZEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_HYPNO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_KRABBY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM08_DIVE)), - -// [SPECIES_KINGLER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM08_DIVE)), - -// [SPECIES_VOLTORB] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ELECTRODE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_EXEGGCUTE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_EXEGGUTOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CUBONE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MAROWAK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HITMONLEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HITMONCHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_LICKITUNG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_KOFFING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_WEEZING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_RHYHORN] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RHYDON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CHANSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TANGELA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_KANGASKHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HORSEA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SEADRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GOLDEEN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SEAKING] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_STARYU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_STARMIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MR_MIME] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SCYTHER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_JYNX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ELECTABUZZ] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MAGMAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PINSIR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TAUROS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MAGIKARP] = TMHM_LEARNSET(0), - -// [SPECIES_GYARADOS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LAPRAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_DITTO] = TMHM_LEARNSET(0), - -// [SPECIES_EEVEE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT)), - -// [SPECIES_VAPOREON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_JOLTEON] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_FLAREON] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT)), - -// [SPECIES_PORYGON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_OMANYTE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_OMASTAR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_KABUTO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL)), - -// [SPECIES_KABUTOPS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_AERODACTYL] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SNORLAX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH)), - -// [SPECIES_ARTICUNO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ZAPDOS] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MOLTRES] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM02_FLY) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_DRATINI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL)), - -// [SPECIES_DRAGONAIR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL)), - -// [SPECIES_DRAGONITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MEWTWO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MEW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CHIKORITA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_BAYLEEF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MEGANIUM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CYNDAQUIL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT)), - -// [SPECIES_QUILAVA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TYPHLOSION] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TOTODILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CROCONAW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_FERALIGATR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SENTRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF)), - -// [SPECIES_FURRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HOOTHOOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM05_FLASH)), - -// [SPECIES_NOCTOWL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM05_FLASH)), - -// [SPECIES_LEDYBA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_LEDIAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SPINARAK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ARIADOS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CROBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM49_SNATCH) -// | TMHM(HM02_FLY)), - -// [SPECIES_CHINCHOU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LANTURN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_PICHU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CLEFFA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_IGGLYBUFF] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_TOGEPI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TOGETIC] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_XATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM02_FLY) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MAREEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_FLAAFFY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_AMPHAROS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BELLOSSOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_AZUMARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SUDOWOODO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_POLITOED] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_HOPPIP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SKIPLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_JUMPLUFF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_AIPOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SUNKERN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SUNFLORA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_YANMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM05_FLASH)), - -// [SPECIES_WOOPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_QUAGSIRE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_ESPEON] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_UMBREON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MURKROW] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM49_SNATCH) -// | TMHM(HM02_FLY)), - -// [SPECIES_SLOWKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MISDREAVUS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_UNOWN] = TMHM_LEARNSET(0), - -// [SPECIES_WOBBUFFET] = TMHM_LEARNSET(0), - -// [SPECIES_GIRAFARIG] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PINECO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_FORRETRESS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_DUNSPARCE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GLIGAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_STEELIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SNUBBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GRANBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_QWILFISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SCIZOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SHUCKLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HERACROSS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SNEASEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TEDDIURSA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_URSARING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SLUGMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MAGCARGO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SWINUB] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PILOSWINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CORSOLA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_REMORAID] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_OCTILLERY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_DELIBIRD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM02_FLY)), - -// [SPECIES_MANTINE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SKARMORY] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HOUNDOUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HOUNDOOM] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_KINGDRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_PHANPY] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_DONPHAN] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PORYGON2] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_STANTLER] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SMEARGLE] = TMHM_LEARNSET(0), - -// [SPECIES_TYROGUE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HITMONTOP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SMOOCHUM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ELEKID] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MAGBY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MILTANK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BLISSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RAIKOU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ENTEI] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SUICUNE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LARVITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_PUPITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TYRANITAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_LUGIA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_HO_OH] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM47_STEEL_WING) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CELEBI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_OLD_UNOWN_B] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_C] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_D] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_E] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_F] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_G] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_H] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_I] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_J] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_K] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_L] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_M] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_N] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_O] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_P] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_Q] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_R] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_S] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_T] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_U] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_V] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_W] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_X] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_Y] = TMHM_LEARNSET(0), - -// [SPECIES_OLD_UNOWN_Z] = TMHM_LEARNSET(0), - -// [SPECIES_TREECKO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GROVYLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SCEPTILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TORCHIC] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_COMBUSKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BLAZIKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MUDKIP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MARSHTOMP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SWAMPERT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_POOCHYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MIGHTYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ZIGZAGOON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_LINOONE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_WURMPLE] = TMHM_LEARNSET(0), - -// [SPECIES_SILCOON] = TMHM_LEARNSET(0), - -// [SPECIES_BEAUTIFLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CASCOON] = TMHM_LEARNSET(0), - -// [SPECIES_DUSTOX] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_LOTAD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_LOMBRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LUDICOLO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SEEDOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NUZLEAF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SHIFTRY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NINCADA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_NINJASK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SHEDINJA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM46_THIEF) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_TAILLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_SWELLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_SHROOMISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_BRELOOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SPINDA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_WINGULL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_PELIPPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF)), - -// [SPECIES_SURSKIT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MASQUERAIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_WAILMER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_WAILORD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SKITTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_DELCATTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_KECLEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BALTOY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CLAYDOL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_NOSEPASS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TORKOAL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SABLEYE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BARBOACH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_WHISCASH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LUVDISC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CORPHISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL)), - -// [SPECIES_CRAWDAUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_FEEBAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_MILOTIC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CARVANHA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SHARPEDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_TRAPINCH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_VIBRAVA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_FLYGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MAKUHITA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_HARIYAMA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ELECTRIKE] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MANECTRIC] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_NUMEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CAMERUPT] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SPHEAL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_SEALEO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_WALREIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_CACNEA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_CACTURNE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SNORUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_GLALIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_LUNATONE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SOLROCK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_AZURILL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL)), - -// [SPECIES_SPOINK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_GRUMPIG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_PLUSLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MINUN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_MAWILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MEDITITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_MEDICHAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SWABLU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY)), - -// [SPECIES_ALTARIA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM02_FLY) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_WYNAUT] = TMHM_LEARNSET(0), - -// [SPECIES_DUSKULL] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_DUSCLOPS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ROSELIA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SLAKOTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_VIGOROTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SLAKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_GULPIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SWALOT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_TROPIUS] = TMHM_LEARNSET(TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_WHISMUR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT)), - -// [SPECIES_LOUDRED] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_EXPLOUD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CLAMPERL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_HUNTAIL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM49_SNATCH) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GOREBYSS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_ABSOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SHUPPET] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_BANETTE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_SEVIPER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM49_SNATCH) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ZANGOOSE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RELICANTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM03_SURF) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_ARON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_LAIRON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_AGGRON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CASTFORM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_VOLBEAT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_ILLUMISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(HM05_FLASH)), - -// [SPECIES_LILEEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT)), - -// [SPECIES_CRADILY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM09_BULLET_SEED) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM19_GIGA_DRAIN) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ANORITH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_ARMALDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RALTS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_KIRLIA] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_GARDEVOIR] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM46_THIEF) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// [SPECIES_BAGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SHELGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_SALAMENCE] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_BELDUM] = TMHM_LEARNSET(0), - -// [SPECIES_METANG] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_METAGROSS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM36_SLUDGE_BOMB) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_REGIROCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_REGICE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_REGISTEEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_KYOGRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM07_HAIL) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_GROUDON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM28_DIG) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_RAYQUAZA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM08_BULK_UP) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM14_BLIZZARD) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM23_IRON_TAIL) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM35_FLAMETHROWER) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM38_FIRE_BLAST) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM50_OVERHEAT) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM06_ROCK_SMASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LATIAS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_LATIOS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM05_ROAR) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM26_EARTHQUAKE) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM47_STEEL_WING) -// | TMHM(HM01_CUT) -// | TMHM(HM02_FLY) -// | TMHM(HM03_SURF) -// | TMHM(HM05_FLASH) -// | TMHM(HM07_WATERFALL) -// | TMHM(HM08_DIVE)), - -// [SPECIES_JIRACHI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM37_SANDSTORM) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(HM05_FLASH)), - -// [SPECIES_DEOXYS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) -// | TMHM(TM03_WATER_PULSE) -// | TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM13_ICE_BEAM) -// | TMHM(TM15_HYPER_BEAM) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM22_SOLAR_BEAM) -// | TMHM(TM24_THUNDERBOLT) -// | TMHM(TM25_THUNDER) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM31_BRICK_BREAK) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM39_ROCK_TOMB) -// | TMHM(TM40_AERIAL_ACE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM01_CUT) -// | TMHM(HM04_STRENGTH) -// | TMHM(HM05_FLASH) -// | TMHM(HM06_ROCK_SMASH)), - -// [SPECIES_CHIMECHO] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) -// | TMHM(TM06_TOXIC) -// | TMHM(TM10_HIDDEN_POWER) -// | TMHM(TM11_SUNNY_DAY) -// | TMHM(TM12_TAUNT) -// | TMHM(TM16_LIGHT_SCREEN) -// | TMHM(TM17_PROTECT) -// | TMHM(TM18_RAIN_DANCE) -// | TMHM(TM20_SAFEGUARD) -// | TMHM(TM21_FRUSTRATION) -// | TMHM(TM27_RETURN) -// | TMHM(TM29_PSYCHIC) -// | TMHM(TM30_SHADOW_BALL) -// | TMHM(TM32_DOUBLE_TEAM) -// | TMHM(TM33_REFLECT) -// | TMHM(TM34_SHOCK_WAVE) -// | TMHM(TM41_TORMENT) -// | TMHM(TM42_FACADE) -// | TMHM(TM43_SECRET_POWER) -// | TMHM(TM44_REST) -// | TMHM(TM45_ATTRACT) -// | TMHM(TM48_SKILL_SWAP) -// | TMHM(TM49_SNATCH) -// | TMHM(HM05_FLASH)), - -// }; diff --git a/src/item.c b/src/item.c index e17717e4f..a27ba7c66 100644 --- a/src/item.c +++ b/src/item.c @@ -614,12 +614,6 @@ const u8 * ItemId_GetName(u16 itemId) return gItems[SanitizeItemId(itemId)].name; } -// Unused -u16 ItemId_GetId(u16 itemId) -{ - return gItems[SanitizeItemId(itemId)].itemId; -} - u16 ItemId_GetPrice(u16 itemId) { return gItems[SanitizeItemId(itemId)].price; @@ -645,12 +639,6 @@ u8 ItemId_GetImportance(u16 itemId) return gItems[SanitizeItemId(itemId)].importance; } -// Unused -u8 ItemId_GetRegistrability(u16 itemId) -{ - return gItems[SanitizeItemId(itemId)].registrability; -} - u8 ItemId_GetPocket(u16 itemId) { return gItems[SanitizeItemId(itemId)].pocket; diff --git a/src/item_menu.c b/src/item_menu.c index b0c288383..a588bfbb1 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1683,17 +1683,44 @@ static void Task_ItemMenuAction_Cancel(u8 taskId) Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); } +void ItemUseInBattle_BagMenu(u8 taskId) +{ + +} + static void Task_ItemMenuAction_BattleUse(u8 taskId) { - if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL) - { - HideBagWindow(10); - HideBagWindow(6); - PutWindowTilemap(0); - PutWindowTilemap(1); - CopyWindowToVram(0, COPYWIN_MAP); - ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + // Safety check + u16 type = ItemId_GetType(gSpecialVar_ItemId); + if (!ItemId_GetBattleUsage(gSpecialVar_ItemId)) + return; + + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, COPYWIN_MAP); + + if (gSpecialVar_ItemId == ITEM_BERRY_POUCH) { + BattleUseFunc_BerryPouch(taskId); + return; } + if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) { + ItemUseInBattle_EnigmaBerry(taskId); + return; + } + + DebugPrintfLevel(MGBA_LOG_WARN, "Task_ItemMenuAction_BattleUse"); + + // if (type == ITEM_TYPE_BAG_MENU) + // ItemUseInBattle_BagMenu(taskId); + // else if (type == ITEM_TYPE_PARTY_MENU) + // ItemUseInBattle_PartyMenu(taskId); + // else if (type == ITEM_USE_PARTY_MENU_MOVES) + // ItemUseInBattle_PartyMenuChooseMove(taskId); + + + ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); } static void Task_ItemContext_FieldGive(u8 taskId) @@ -2177,11 +2204,11 @@ void InitPokedudeBag(u8 a0) cb2 = CB2_ReturnToTeachyTV; location = a0; break; - case 7: + case ITEMMENULOCATION_TTVSCR_STATUS: cb2 = SetCB2ToReshowScreenAfterMenu2; location = ITEMMENULOCATION_TTVSCR_STATUS; break; - case 8: + case ITEMMENULOCATION_TTVSCR_CATCHING: cb2 = SetCB2ToReshowScreenAfterMenu2; location = ITEMMENULOCATION_TTVSCR_CATCHING; break; diff --git a/src/item_use.c b/src/item_use.c index f42eb81f7..5517b529e 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -1,6 +1,7 @@ #include "global.h" #include "gflib.h" #include "battle.h" +#include "battle_anim.h" #include "berry_pouch.h" #include "berry_powder.h" #include "bike.h" @@ -69,6 +70,7 @@ static void UseFameCheckerFromBag(void); static void Task_UseFameCheckerFromField(u8 taskId); static void Task_BattleUse_StatBooster_DelayAndPrint(u8 taskId); static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId); +static bool32 CannotUseBagBattleItem(u16 itemId); // unknown unused data. // It's curiously about the size of an array of values indexed by species (including padding), @@ -799,19 +801,25 @@ static void ItemUse_SwitchToPartyMenuInBattle(u8 taskId) } } +// void ItemUseInBattle_PartyMenu(u8 taskId) +// { +// gItemUseCB = ItemUseCB_BattleScript; +// ItemUse_SwitchToPartyMenuInBattle(taskId); +// } + +// void ItemUseInBattle_PartyMenuChooseMove(u8 taskId) +// { +// gItemUseCB = ItemUseCB_BattleChooseMove; +// ItemUse_SwitchToPartyMenuInBattle(taskId); +// } + void BattleUseFunc_Medicine(u8 taskId) { + DebugPrintfLevel(MGBA_LOG_WARN, "BattleUseFunc_Medicine"); gItemUseCB = ItemUseCB_MedicineStep; ItemUse_SwitchToPartyMenuInBattle(taskId); } -// Unused. Sacred Ash cannot be used in battle -static void BattleUseFunc_SacredAsh(u8 taskId) -{ - gItemUseCB = ItemUseCB_SacredAsh; - ItemUse_SwitchToPartyMenuInBattle(taskId); -} - void BattleUseFunc_Ether(u8 taskId) { gItemUseCB = ItemUseCB_TryRestorePP; @@ -830,6 +838,140 @@ void BattleUseFunc_PokeDoll(u8 taskId) PrintNotTheTimeToUseThat(taskId, 0); } +static u32 GetBallThrowableState(void) +{ + if (IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + && IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) + return BALL_THROW_UNABLE_TWO_MONS; + else if (IsPlayerPartyAndPokemonStorageFull() == TRUE) + return BALL_THROW_UNABLE_NO_ROOM; + else if (B_SEMI_INVULNERABLE_CATCH >= GEN_4 && (gStatuses3[GetCatchingBattler()] & STATUS3_SEMI_INVULNERABLE)) + return BALL_THROW_UNABLE_SEMI_INVULNERABLE; + else if (FlagGet(B_FLAG_NO_CATCHING)) + return BALL_THROW_UNABLE_DISABLED_FLAG; + + return BALL_THROW_ABLE; +} + +bool32 CanThrowBall(void) +{ + return (GetBallThrowableState() == BALL_THROW_ABLE); +} + +static const u8 sText_CantThrowPokeBall_TwoMons[] = _("Cannot throw a ball!\nThere are two Pokémon out there!\p"); +static const u8 sText_CantThrowPokeBall_SemiInvulnerable[] = _("Cannot throw a ball!\nThere's no Pokémon in sight!\p"); +static const u8 sText_CantThrowPokeBall_Disabled[] = _("POKé BALLS cannot be used\nright now!\p"); +void ItemUseInBattle_PokeBall(u8 taskId) +{ + switch (GetBallThrowableState()) + { + case BALL_THROW_ABLE: + default: + RemoveBagItem(gSpecialVar_ItemId, 1); + // Task_FadeAndCloseBagMenu(taskId); + ItemMenu_StartFadeToExitCallback(taskId); + break; + case BALL_THROW_UNABLE_TWO_MONS: + PrintNotTheTimeToUseThat(taskId, 0); + // DisplayItemMessage(taskId, FONT_NORMAL, sText_CantThrowPokeBall_TwoMons, CloseItemMessage); + break; + case BALL_THROW_UNABLE_NO_ROOM: + PrintNotTheTimeToUseThat(taskId, 0); + // DisplayItemMessage(taskId, FONT_NORMAL, gText_BoxFull, CloseItemMessage); + break; + case BALL_THROW_UNABLE_SEMI_INVULNERABLE: + PrintNotTheTimeToUseThat(taskId, 0); + // DisplayItemMessage(taskId, FONT_NORMAL, sText_CantThrowPokeBall_SemiInvulnerable, CloseItemMessage); + break; + case BALL_THROW_UNABLE_DISABLED_FLAG: + PrintNotTheTimeToUseThat(taskId, 0); + // DisplayItemMessage(taskId, FONT_NORMAL, sText_CantThrowPokeBall_Disabled, CloseItemMessage); + break; + } +} + + +// Returns whether an item can be used in battle and sets the fail text. +static bool32 CannotUseBagBattleItem(u16 itemId) +{ + u8 cannotUse = FALSE; + u16 battleUsage = ItemId_GetBattleUsage(itemId); + const u8* failStr = NULL; + + // Embargo Check + if ((gPartyMenu.slotId == 0 && gStatuses3[B_POSITION_PLAYER_LEFT] & STATUS3_EMBARGO) + || (gPartyMenu.slotId == 1 && gStatuses3[B_POSITION_PLAYER_RIGHT] & STATUS3_EMBARGO)) + { + return TRUE; + } + // X-Items + if (battleUsage == EFFECT_ITEM_INCREASE_STAT + && gBattleMons[gBattlerInMenuId].statStages[gItemEffectTable[itemId][1]] == MAX_STAT_STAGE) + { + cannotUse++; + } + // Dire Hit + if (battleUsage == EFFECT_ITEM_SET_FOCUS_ENERGY + && (gBattleMons[gBattlerInMenuId].status2 & STATUS2_FOCUS_ENERGY)) + { + cannotUse++; + } + // Guard Spec + if (battleUsage == EFFECT_ITEM_SET_MIST + && gSideStatuses[GetBattlerSide(gBattlerInMenuId)] & SIDE_STATUS_MIST) + { + cannotUse++; + } + // Escape Items + if (battleUsage == EFFECT_ITEM_ESCAPE + && gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + cannotUse++; + } + // Poke Balls + if (battleUsage == EFFECT_ITEM_THROW_BALL) + { + switch (GetBallThrowableState()) + { + case BALL_THROW_UNABLE_TWO_MONS: + failStr = sText_CantThrowPokeBall_TwoMons; + cannotUse++; + break; + case BALL_THROW_UNABLE_NO_ROOM: + failStr = gText_BoxFull; + cannotUse++; + break; + case BALL_THROW_UNABLE_SEMI_INVULNERABLE: + failStr = sText_CantThrowPokeBall_SemiInvulnerable; + cannotUse++; + break; + case BALL_THROW_UNABLE_DISABLED_FLAG: + failStr = sText_CantThrowPokeBall_Disabled; + cannotUse++; + break; + } + } + // Max Mushrooms + // if (battleUsage == EFFECT_ITEM_INCREASE_ALL_STATS) + // { + // u32 i; + // for (i = 1; i < NUM_STATS; i++) + // { + // if (CompareStat(gBattlerInMenuId, i, MAX_STAT_STAGE, CMP_EQUAL)) + // { + // cannotUse++; + // break; + // } + // } + // } + + if (failStr != NULL) + StringExpandPlaceholders(gStringVar4, failStr); + else + StringExpandPlaceholders(gStringVar4, gText_WontHaveEffect); + return cannotUse; +} + void ItemUseOutOfBattle_EnigmaBerry(u8 taskId) { switch (GetItemEffectType(gSpecialVar_ItemId)) diff --git a/src/oak_speech.c b/src/oak_speech.c index 67f44949b..a2e95c57e 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -1885,7 +1885,7 @@ static void CreateNidoranFSprite(u8 taskId) u8 spriteId; LoadSpecialPokePic(MonSpritesGfxManager_GetSpritePtr(0), INTRO_SPECIES, 0, TRUE); - LoadCompressedSpritePaletteUsingHeapWithTag(GetMonSpritePalStructFromOtIdPersonality(INTRO_SPECIES, 0, 0), INTRO_SPECIES); + LoadCompressedSpritePaletteUsingHeapWithTag(GetMonSpritePalStructFromOtIdPersonality(INTRO_SPECIES, 0, SHINY_ODDS), INTRO_SPECIES); SetMultiuseSpriteTemplateToPokemon(INTRO_SPECIES, 0); spriteId = CreateSprite(&gMultiuseSpriteTemplate, 96, 96, 1); gSprites[spriteId].callback = SpriteCallbackDummy; diff --git a/src/party_menu.c b/src/party_menu.c index b49c154ab..204f2ef1c 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -869,7 +869,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot) DisplayPartyPokemonDataToTeachMove(slot, item, 0); break; case 2: // Evolution stone - if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, EVO_MODE_ITEM_CHECK, item) != SPECIES_NONE) + if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, EVO_MODE_ITEM_CHECK, item, NULL) != SPECIES_NONE) return FALSE; DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NO_USE); break; @@ -4330,7 +4330,7 @@ static bool8 IsHPRecoveryItem(u16 item) if (item == ITEM_ENIGMA_BERRY) effect = gSaveBlock1Ptr->enigmaBerry.itemEffect; else - effect = gItemEffectTable[item - ITEM_POTION]; + effect = gItemEffectTable[item]; if (effect[4] & ITEM4_HEAL_HP) return TRUE; else @@ -4416,6 +4416,39 @@ static bool8 IsItemFlute(u16 item) return FALSE; } + + +// Battle scripts called in HandleAction_UseItem +// void ItemUseCB_BattleScript(u8 taskId, TaskFunc task) +// { +// struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; +// if (CannotUsePartyBattleItem(gSpecialVar_ItemId, mon)) +// { +// gPartyMenuUseExitCallback = FALSE; +// PlaySE(SE_SELECT); +// DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); +// ScheduleBgCopyTilemapToVram(2); +// gTasks[taskId].func = task; +// } +// else +// { +// gBattleStruct->itemPartyIndex[gBattlerInMenuId] = GetPartyIdFromBattleSlot(gPartyMenu.slotId); +// gPartyMenuUseExitCallback = TRUE; +// PlaySE(SE_SELECT); +// RemoveBagItem(gSpecialVar_ItemId, 1); +// ScheduleBgCopyTilemapToVram(2); +// gTasks[taskId].func = task; +// } +// } + +// void ItemUseCB_BattleChooseMove(u8 taskId, TaskFunc task) +// { +// PlaySE(SE_SELECT); +// DisplayPartyMenuStdMessage(PARTY_MSG_RESTORE_WHICH_MOVE); +// ShowMoveSelectWindow(gPartyMenu.slotId); +// gTasks[taskId].func = Task_HandleRestoreWhichMoveInput; +// } + static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMoveIndex) { if (gMain.inBattle) @@ -4426,39 +4459,7 @@ static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMove void ItemUseCB_Medicine(u8 taskId, TaskFunc func) { - u16 hp; - struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; - u16 item = gSpecialVar_ItemId; - bool8 canHeal; - - if (!NotUsingHPEVItemOnShedinja(mon, item)) - { - canHeal = TRUE; - } - else - { - if (IsHPRecoveryItem(item) == TRUE) - { - hp = GetMonData(mon, MON_DATA_HP); - if (hp == GetMonData(mon, MON_DATA_MAX_HP)) - canHeal = FALSE; - } - canHeal = PokemonItemUseNoEffect(mon, item, gPartyMenu.slotId, 0); - } - PlaySE(SE_SELECT); - if (canHeal) - { - gPartyMenuUseExitCallback = FALSE; - DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); - ScheduleBgCopyTilemapToVram(2); - gTasks[taskId].func = func; - } - else - { - ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, mon, item, 0xFFFF); - Task_DoUseItemAnim(taskId); - gItemUseCB = ItemUseCB_MedicineStep; - } + ItemUseCB_MedicineStep(taskId, func); } void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func) @@ -4466,13 +4467,16 @@ void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func) u16 hp = 0; struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; u16 item = gSpecialVar_ItemId; - bool8 canHeal; - bool8 cannotHeal; + bool8 canHeal, cannotUse; - if (NotUsingHPEVItemOnShedinja(mon, item) == FALSE) - cannotHeal = TRUE; + DebugPrintfLevel(MGBA_LOG_WARN, "ItemUseCB_MedicineStep"); + if (NotUsingHPEVItemOnShedinja(mon, item) == FALSE) { + DebugPrintfLevel(MGBA_LOG_WARN, "Shedinja"); + cannotUse = TRUE; + } else { + DebugPrintfLevel(MGBA_LOG_WARN, "notShedinja"); canHeal = IsHPRecoveryItem(item); if (canHeal == TRUE) { @@ -4481,10 +4485,11 @@ void ItemUseCB_MedicineStep(u8 taskId, TaskFunc func) canHeal = FALSE; } - cannotHeal = ExecuteTableBasedItemEffect_(gPartyMenu.slotId, item, 0); + DebugPrintfLevel(MGBA_LOG_WARN, "next: ExecuteTableBasedItemEffect"); + cannotUse = ExecuteTableBasedItemEffect(mon, item, gPartyMenu.slotId, 0); } - if (cannotHeal != FALSE) + if (cannotUse != FALSE) { gPartyMenuUseExitCallback = FALSE; PlaySE(SE_SELECT); @@ -4596,7 +4601,7 @@ void ItemUseCB_TryRestorePP(u8 taskId, TaskFunc func) if (item == ITEM_ENIGMA_BERRY) effect = gSaveBlock1Ptr->enigmaBerry.itemEffect; else - effect = gItemEffectTable[item - ITEM_POTION]; + effect = gItemEffectTable[item]; if (!(effect[4] & ITEM4_HEAL_PP_ONE)) { @@ -5166,7 +5171,7 @@ static void Task_TryLearningNextMove(u8 taskId) static void PartyMenuTryEvolution(u8 taskId) { struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; - u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, ITEM_NONE); + u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, ITEM_NONE, NULL); if (targetSpecies != SPECIES_NONE) { @@ -5318,24 +5323,29 @@ static void CB2_UseEvolutionStone(void) static bool8 MonCanEvolve(void) { if (!IsNationalPokedexEnabled() - && GetEvolutionTargetSpecies(&gPlayerParty[gPartyMenu.slotId], EVO_MODE_ITEM_USE, gSpecialVar_ItemId) > KANTO_DEX_COUNT) + && GetEvolutionTargetSpecies(&gPlayerParty[gPartyMenu.slotId], EVO_MODE_ITEM_USE, gSpecialVar_ItemId, NULL) > KANTO_DEX_COUNT) return FALSE; else return TRUE; } +const u8* GetItemEffect(u16 item) +{ + if (item == ITEM_ENIGMA_BERRY) + return gSaveBlock1Ptr->enigmaBerry.itemEffect; + else + return gItemEffectTable[item]; +} + u8 GetItemEffectType(u16 item) { - const u8 *itemEffect; u32 statusCure; + const u8 *itemEffect = GetItemEffect(item); - if (!IS_POKEMON_ITEM(item)) - return ITEM_EFFECT_NONE; // Read the item's effect properties. - if (item == ITEM_ENIGMA_BERRY) - itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect; - else - itemEffect = gItemEffectTable[item - ITEM_POTION]; + if (itemEffect == NULL) + return ITEM_EFFECT_NONE; + if ((itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_GUARD_SPEC)) return ITEM_EFFECT_X_ITEM; else if (itemEffect[0] & ITEM0_SACRED_ASH) diff --git a/src/pokemon.c b/src/pokemon.c index b59cbcfd9..0a8490ee6 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -71,7 +71,7 @@ static bool8 IsShinyOtIdPersonality(u32 otId, u32 personality); static u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex); static u8 GetNatureFromPersonality(u32 personality); static bool8 PartyMonHasStatus(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId); -static bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId); +static bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battleId); static bool8 IsPokemonStorageFull(void); static u8 SendMonToPC(struct Pokemon* mon); static void EncryptBoxMon(struct BoxPokemon *boxMon); @@ -81,6 +81,7 @@ static u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); static u8 GetLevelFromMonExp(struct Pokemon *mon); static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); static u16 SpeciesToHoennPokedexNum(u16 species); +static bool8 ShouldSkipFriendshipChange(void); #include "data/battle_moves.h" @@ -398,7 +399,6 @@ static const s8 sNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #include "data/graphics/pokemon.h" #include "data/pokemon_graphics/front_pic_anims.h" -#include "data/pokemon/tmhm_learnsets.h" #include "data/pokemon/trainer_class_lookups.h" #include "data/pokemon/experience_tables.h" #include "data/pokemon/teachable_learnsets.h" @@ -2973,14 +2973,38 @@ static void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex) { - return PokemonUseItemEffects(mon, item, partyIndex, moveIndex, 0); + return PokemonUseItemEffects(mon, item, partyIndex, moveIndex, FALSE); } +// #define UPDATE_FRIENDSHIP_FROM_ITEM() \ +// { \ +// if (retVal == 0 && friendshipChange == 0) \ +// { \ +// friendshipChange = itemEffect[idx]; \ +// friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL); \ +// if (friendshipChange > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) \ +// friendship += 150 * friendshipChange / 100; \ +// else \ +// friendship += friendshipChange; \ +// if (friendshipChange > 0) \ +// { \ +// if (GetMonData(mon, MON_DATA_POKEBALL, NULL) == ITEM_LUXURY_BALL) \ +// friendship++; \ +// if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == GetCurrentRegionMapSectionId()) \ +// friendship++; \ +// } \ +// if (friendship < 0) \ +// friendship = 0; \ +// if (friendship > MAX_FRIENDSHIP) \ +// friendship = MAX_FRIENDSHIP; \ +// SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); \ +// } \ +// } #define UPDATE_FRIENDSHIP_FROM_ITEM() \ { \ - if (retVal == 0 && friendshipChange == 0) \ + if ((retVal == 0 || friendshipOnly) && !ShouldSkipFriendshipChange() && friendshipChange == 0) \ { \ - friendshipChange = itemEffect[idx]; \ + friendshipChange = itemEffect[itemEffectParam]; \ friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL); \ if (friendshipChange > 0 && holdEffect == HOLD_EFFECT_FRIENDSHIP_UP) \ friendship += 150 * friendshipChange / 100; \ @@ -2998,25 +3022,53 @@ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, if (friendship > MAX_FRIENDSHIP) \ friendship = MAX_FRIENDSHIP; \ SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); \ + retVal = FALSE; \ } \ } +// EXP candies store an index for this table in their holdEffectParam. +const u32 sExpCandyExperienceTable[] = { + [EXP_100 - 1] = 100, + [EXP_800 - 1] = 800, + [EXP_3000 - 1] = 3000, + [EXP_10000 - 1] = 10000, + [EXP_30000 - 1] = 30000, +}; + +// Returns TRUE if the item has no effect on the Pokémon, FALSE otherwise bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, bool8 usedByAI) { - u32 data; + // u32 data; + // s32 friendship; + // s32 cmdIndex; + // bool8 retVal = TRUE; + // const u8 *itemEffect; + // u8 idx = ITEM_EFFECT_ARG_START; + // u32 i; + // s8 friendshipChange = 0; + // u8 holdEffect; + // u8 battleMonId = MAX_BATTLERS_COUNT; + // u16 heldItem; + // u8 val; + // u32 evDelta; + u32 dataUnsigned; + s32 dataSigned, evCap; s32 friendship; - s32 cmdIndex; + s32 i; bool8 retVal = TRUE; const u8 *itemEffect; - u8 idx = ITEM_EFFECT_ARG_START; - u32 i; + u8 itemEffectParam = ITEM_EFFECT_ARG_START; + u32 temp1, temp2; s8 friendshipChange = 0; u8 holdEffect; - u8 battleMonId = MAX_BATTLERS_COUNT; + u8 battlerId = MAX_BATTLERS_COUNT; + u32 friendshipOnly = FALSE; u16 heldItem; - u8 val; - u32 evDelta; + u8 effectFlags; + s8 evChange; + u16 evCount; + DebugPrintfLevel(MGBA_LOG_WARN, "PokemonUseItemEffects"); // Get item hold effect heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, NULL); if (heldItem == ITEM_ENIGMA_BERRY) @@ -3036,27 +3088,25 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov if (gMain.inBattle) { gActiveBattler = gBattlerInMenuId; - cmdIndex = (GetBattlerSide(gActiveBattler) != B_SIDE_PLAYER); - while (cmdIndex < gBattlersCount) + i = (GetBattlerSide(gActiveBattler) != B_SIDE_PLAYER); + while (i < gBattlersCount) { - if (gBattlerPartyIndexes[cmdIndex] == partyIndex) + if (gBattlerPartyIndexes[i] == partyIndex) { - battleMonId = cmdIndex; + battlerId = i; break; } - cmdIndex += 2; + i += 2; } } else { gActiveBattler = 0; - battleMonId = MAX_BATTLERS_COUNT; + battlerId = MAX_BATTLERS_COUNT; } // Skip using the item if it won't do anything - if (!IS_POKEMON_ITEM(item)) - return TRUE; - if (gItemEffectTable[item - ITEM_POTION] == NULL && item != ITEM_ENIGMA_BERRY) + if (gItemEffectTable[item] == NULL && item != ITEM_ENIGMA_BERRY) return TRUE; // Get item effect @@ -3069,332 +3119,247 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov } else { - itemEffect = gItemEffectTable[item - ITEM_POTION]; + itemEffect = gItemEffectTable[item]; } - - // Do item effect - for (cmdIndex = 0; cmdIndex < ITEM_EFFECT_ARG_START; cmdIndex++) + for (i = 0; i < ITEM_EFFECT_ARG_START; i++) { - switch (cmdIndex) + switch (i) { // Handle ITEM0 effects (infatuation, Dire Hit, X Attack). ITEM0_SACRED_ASH is handled in party_menu.c + // Now handled in item battle scripts. case 0: - // Cure infatuation - if ((itemEffect[cmdIndex] & ITEM0_INFATUATION) - && gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && (gBattleMons[battleMonId].status2 & STATUS2_INFATUATION)) - { - gBattleMons[battleMonId].status2 &= ~STATUS2_INFATUATION; - retVal = FALSE; - } - - // Dire Hit - if ((itemEffect[cmdIndex] & ITEM0_DIRE_HIT) - && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) - { - gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; - retVal = FALSE; - } - - // X Attack - if ((itemEffect[cmdIndex] & ITEM0_X_ATTACK) - && gBattleMons[gActiveBattler].statStages[STAT_ATK] < MAX_STAT_STAGE) - { - gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & ITEM0_X_ATTACK; - if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > MAX_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[STAT_ATK] = MAX_STAT_STAGE; - retVal = FALSE; - } break; // Handle ITEM1 effects (in-battle stat boosting effects) + // Now handled in item battle scripts. case 1: - // X Defend - if ((itemEffect[cmdIndex] & ITEM1_X_DEFEND) - && gBattleMons[gActiveBattler].statStages[STAT_DEF] < MAX_STAT_STAGE) - { - gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & ITEM1_X_DEFEND) >> 4; - if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > MAX_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[STAT_DEF] = MAX_STAT_STAGE; - retVal = FALSE; - } - - // X Speed - if ((itemEffect[cmdIndex] & ITEM1_X_SPEED) - && gBattleMons[gActiveBattler].statStages[STAT_SPEED] < MAX_STAT_STAGE) - { - gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & ITEM1_X_SPEED; - if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > MAX_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[STAT_SPEED] = MAX_STAT_STAGE; - retVal = FALSE; - } break; - - // Handle ITEM2 effects (more stat boosting effects) + // Formerly used by the item effects of the X Sp. Atk and the X Accuracy case 2: - // X Accuracy - if ((itemEffect[cmdIndex] & ITEM2_X_ACCURACY) - && gBattleMons[gActiveBattler].statStages[STAT_ACC] < MAX_STAT_STAGE) - { - gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & ITEM2_X_ACCURACY) >> 4; - if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > MAX_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[STAT_ACC] = MAX_STAT_STAGE; - retVal = FALSE; - } - - // X Sp Attack - if ((itemEffect[cmdIndex] & ITEM2_X_SPATK) - && gBattleMons[gActiveBattler].statStages[STAT_SPATK] < MAX_STAT_STAGE) - { - gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & ITEM2_X_SPATK; - if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > MAX_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[STAT_SPATK] = MAX_STAT_STAGE; - retVal = FALSE; - } break; // Handle ITEM3 effects (Guard Spec, Rare Candy, cure status) case 3: - // Guard Spec - if ((itemEffect[cmdIndex] & ITEM3_GUARD_SPEC) - && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) - { - gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; - retVal = FALSE; - } - - // Rare Candy - if ((itemEffect[cmdIndex] & ITEM3_LEVEL_UP) + // Rare Candy / EXP Candy + if ((itemEffect[i] & ITEM3_LEVEL_UP) && GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL) { - data = gExperienceTables[gSpeciesInfo[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; - SetMonData(mon, MON_DATA_EXP, &data); - CalculateMonStats(mon); - retVal = FALSE; + u8 param = ItemId_GetHoldEffectParam(item); + dataUnsigned = 0; + + if (param == 0) // Rare Candy + { + dataUnsigned = gExperienceTables[gSpeciesInfo[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; + } + else if (param - 1 < ARRAY_COUNT(sExpCandyExperienceTable)) // EXP Candies + { + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + dataUnsigned = sExpCandyExperienceTable[param - 1] + GetMonData(mon, MON_DATA_EXP, NULL); + if (dataUnsigned > gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL]) + dataUnsigned = gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL]; + } + + if (dataUnsigned != 0) // Failsafe + { + SetMonData(mon, MON_DATA_EXP, &dataUnsigned); + CalculateMonStats(mon); + retVal = FALSE; + } } // Cure status - if ((itemEffect[cmdIndex] & ITEM3_SLEEP) - && HealStatusConditions(mon, partyIndex, STATUS1_SLEEP, battleMonId) == 0) - { - if (battleMonId != MAX_BATTLERS_COUNT) - gBattleMons[battleMonId].status2 &= ~STATUS2_NIGHTMARE; + if ((itemEffect[i] & ITEM3_SLEEP) && HealStatusConditions(mon, STATUS1_SLEEP, battlerId) == 0) retVal = FALSE; - } - if ((itemEffect[cmdIndex] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battleMonId) == 0) + if ((itemEffect[i] & ITEM3_POISON) && HealStatusConditions(mon, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battleMonId) == 0) + if ((itemEffect[i] & ITEM3_BURN) && HealStatusConditions(mon, STATUS1_BURN, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battleMonId) == 0) + if ((itemEffect[i] & ITEM3_FREEZE) && HealStatusConditions(mon, STATUS1_FREEZE | STATUS1_FROSTBITE, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battleMonId) == 0) + if ((itemEffect[i] & ITEM3_PARALYSIS) && HealStatusConditions(mon, STATUS1_PARALYSIS, battlerId) == 0) retVal = FALSE; - if ((itemEffect[cmdIndex] & ITEM3_CONFUSION) // heal confusion - && gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && (gBattleMons[battleMonId].status2 & STATUS2_CONFUSION)) - { - gBattleMons[battleMonId].status2 &= ~STATUS2_CONFUSION; - retVal = FALSE; - } break; // Handle ITEM4 effects (Change HP/Atk EVs, HP heal, PP heal, PP up, Revive, and evolution stones) case 4: - val = itemEffect[cmdIndex]; + effectFlags = itemEffect[i]; // PP Up - if (val & ITEM4_PP_UP) + if (effectFlags & ITEM4_PP_UP) { - val &= ~ITEM4_PP_UP; - data = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); - i = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); - if (data < 3 && i > 4) + effectFlags &= ~ITEM4_PP_UP; + dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); + temp1 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + if (dataUnsigned <= 2 && temp1 > 4) { - data = GetMonData(mon, MON_DATA_PP_BONUSES, NULL) + gPPUpAddValues[moveIndex]; - SetMonData(mon, MON_DATA_PP_BONUSES, &data); + dataUnsigned = GetMonData(mon, MON_DATA_PP_BONUSES, NULL) + gPPUpAddValues[moveIndex]; + SetMonData(mon, MON_DATA_PP_BONUSES, &dataUnsigned); - data = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), data, moveIndex) - i; - data = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL) + data; - SetMonData(mon, MON_DATA_PP1 + moveIndex, &data); + dataUnsigned = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), dataUnsigned, moveIndex) - temp1; + dataUnsigned = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL) + dataUnsigned; + SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); retVal = FALSE; } } - i = 0; + temp1 = 0; // Loop through and try each of the remaining ITEM4 effects - while (val != 0) + while (effectFlags != 0) { - if (val & 1) + if (effectFlags & 1) { - u16 evCount; - s32 r5; - - switch (i) + switch (temp1) { case 0: // ITEM4_EV_HP case 1: // ITEM4_EV_ATK evCount = GetMonEVCount(mon); + temp2 = itemEffect[itemEffectParam]; + dataSigned = GetMonData(mon, sGetMonDataEVConstants[temp1], NULL); + evChange = temp2; - // Has EV increase limit already been reached? - if (evCount >= MAX_TOTAL_EVS) - return TRUE; - data = GetMonData(mon, sGetMonDataEVConstants[i], NULL); - if (data < EV_ITEM_RAISE_LIMIT) + if (evChange > 0) // Increasing EV (HP or Atk) { - // Limit the increase - if (data + itemEffect[idx] > EV_ITEM_RAISE_LIMIT) - evDelta = EV_ITEM_RAISE_LIMIT - (data + itemEffect[idx]) + itemEffect[idx]; + // Has EV increase limit already been reached? + if (evCount >= MAX_TOTAL_EVS) + return TRUE; + + if (itemEffect[10] & ITEM10_IS_VITAMIN) + evCap = EV_ITEM_RAISE_LIMIT; else - evDelta = itemEffect[idx]; - if (evCount + evDelta > MAX_TOTAL_EVS) - evDelta += MAX_TOTAL_EVS - (evCount + evDelta); + evCap = MAX_PER_STAT_EVS; - // Update EVs and stats - data += evDelta; - SetMonData(mon, sGetMonDataEVConstants[i], &data); - CalculateMonStats(mon); - idx++; - retVal = FALSE; + if (dataSigned >= evCap) + break; + + // Limit the increase + if (dataSigned + evChange > evCap) + temp2 = evCap - (dataSigned + evChange) + evChange; + else + temp2 = evChange; + + if (evCount + temp2 > MAX_TOTAL_EVS) + temp2 += MAX_TOTAL_EVS - (evCount + temp2); + + dataSigned += temp2; } + else if (evChange < 0) // Decreasing EV (HP or Atk) + { + if (dataSigned == 0) + { + // No EVs to lose, but make sure friendship updates anyway + friendshipOnly = TRUE; + itemEffectParam++; + break; + } + dataSigned += evChange; + #if I_EV_LOWERING_BERRY_JUMP == GEN_4 + if (dataSigned > 100) + dataSigned = 100; + #endif + if (dataSigned < 0) + dataSigned = 0; + } + else // Reset EV (HP or Atk) + { + if (dataSigned == 0) + break; + + dataSigned = 0; + } + + // Update EVs and stats + SetMonData(mon, sGetMonDataEVConstants[temp1], &dataSigned); + CalculateMonStats(mon); + itemEffectParam++; + retVal = FALSE; break; + case 2: // ITEM4_HEAL_HP - // If Revive, update number of times revive has been used - if (val & (ITEM4_REVIVE >> 2)) + // Check use validity. + if ((effectFlags & (ITEM4_REVIVE >> 2) && GetMonData(mon, MON_DATA_HP, NULL) != 0) + || (!(effectFlags & (ITEM4_REVIVE >> 2)) && GetMonData(mon, MON_DATA_HP, NULL) == 0)) { - if (GetMonData(mon, MON_DATA_HP, NULL) != 0) - { - idx++; - break; - } - if (gMain.inBattle) - { - if (battleMonId != MAX_BATTLERS_COUNT) - { - gAbsentBattlerFlags &= ~gBitTable[battleMonId]; - CopyPlayerPartyMonToBattleData(battleMonId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battleMonId])); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) - gBattleResults.numRevivesUsed++; - } - else - { - gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) - gBattleResults.numRevivesUsed++; - } - } - } - else - { - if (GetMonData(mon, MON_DATA_HP, NULL) == 0) - { - idx++; - break; - } + itemEffectParam++; + break; } // Get amount of HP to restore - data = itemEffect[idx++]; - switch (data) + dataUnsigned = itemEffect[itemEffectParam++]; + switch (dataUnsigned) { case ITEM6_HEAL_HP_FULL: - data = GetMonData(mon, MON_DATA_MAX_HP, NULL) - GetMonData(mon, MON_DATA_HP, NULL); + dataUnsigned = GetMonData(mon, MON_DATA_MAX_HP, NULL) - GetMonData(mon, MON_DATA_HP, NULL); break; case ITEM6_HEAL_HP_HALF: - data = GetMonData(mon, MON_DATA_MAX_HP, NULL) / 2; - if (data == 0) - data = 1; + dataUnsigned = GetMonData(mon, MON_DATA_MAX_HP, NULL) / 2; + if (dataUnsigned == 0) + dataUnsigned = 1; break; case ITEM6_HEAL_HP_LVL_UP: - data = gBattleScripting.levelUpHP; + dataUnsigned = gBattleScripting.levelUpHP; + break; + case ITEM6_HEAL_HP_QUARTER: + dataUnsigned = GetMonData(mon, MON_DATA_MAX_HP, NULL) / 4; + if (dataUnsigned == 0) + dataUnsigned = 1; break; } // Only restore HP if not at max health if (GetMonData(mon, MON_DATA_MAX_HP, NULL) != GetMonData(mon, MON_DATA_HP, NULL)) { - if (!usedByAI) - { - // Restore HP - data = GetMonData(mon, MON_DATA_HP, NULL) + data; - if (data > GetMonData(mon, MON_DATA_MAX_HP, NULL)) - data = GetMonData(mon, MON_DATA_MAX_HP, NULL); - SetMonData(mon, MON_DATA_HP, &data); - - // Update battler (if applicable) - if (gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT) - { - gBattleMons[battleMonId].hp = data; - if (!(val & (ITEM4_REVIVE >> 2)) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - if (gBattleResults.numHealingItemsUsed < 255) - gBattleResults.numHealingItemsUsed++; - - r5 = gActiveBattler; - gActiveBattler = battleMonId; - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); - MarkBattlerForControllerExec(gActiveBattler); - gActiveBattler = r5; - } - } - } - else - { - gBattleMoveDamage = -data; - } + // Restore HP + DebugPrintfLevel(MGBA_LOG_WARN, "RestoreHP"); + dataUnsigned = GetMonData(mon, MON_DATA_HP, NULL) + dataUnsigned; + if (dataUnsigned > GetMonData(mon, MON_DATA_MAX_HP, NULL)) + dataUnsigned = GetMonData(mon, MON_DATA_MAX_HP, NULL); + SetMonData(mon, MON_DATA_HP, &dataUnsigned); retVal = FALSE; } - val &= ~(ITEM4_REVIVE >> 2); + effectFlags &= ~(ITEM4_REVIVE >> 2); break; + case 3: // ITEM4_HEAL_PP - if (!(val & (ITEM4_HEAL_PP_ONE >> 3))) + if (!(effectFlags & (ITEM4_HEAL_PP_ONE >> 3))) { // Heal PP for all moves - for (r5 = 0; r5 < MAX_MON_MOVES; r5++) + for (temp2 = 0; (signed)(temp2) < (signed)(MAX_MON_MOVES); temp2++) { - u16 move_id; - - data = GetMonData(mon, MON_DATA_PP1 + r5, NULL); - move_id = GetMonData(mon, MON_DATA_MOVE1 + r5, NULL); - if (data != CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), r5)) + u16 moveId; + dataUnsigned = GetMonData(mon, MON_DATA_PP1 + temp2, NULL); + moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); + if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { - data += itemEffect[idx]; - move_id = GetMonData(mon, MON_DATA_MOVE1 + r5, NULL); - if (data > CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), r5)) + dataUnsigned += itemEffect[itemEffectParam]; + moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant + if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2)) { - move_id = GetMonData(mon, MON_DATA_MOVE1 + r5, NULL); - data = CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), r5); + moveId = GetMonData(mon, MON_DATA_MOVE1 + temp2, NULL); // Redundant + dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), temp2); } - SetMonData(mon, MON_DATA_PP1 + r5, &data); - - // Heal battler PP too (if applicable) - if (gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battleMonId, r5)) - gBattleMons[battleMonId].pp[r5] = data; - + SetMonData(mon, MON_DATA_PP1 + temp2, &dataUnsigned); retVal = FALSE; } } - idx++; + itemEffectParam++; } else { // Heal PP for one move - u16 move_id; - data = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL); - move_id = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); - if (data != CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + u16 moveId; + dataUnsigned = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL); + moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + if (dataUnsigned != CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { - data += itemEffect[idx++]; - move_id = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); - if (data > CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + dataUnsigned += itemEffect[itemEffectParam++]; + moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant + if (dataUnsigned > CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) { - move_id = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); - data = CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + moveId = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); // Redundant + dataUnsigned = CalculatePPWithBonus(moveId, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); } - SetMonData(mon, MON_DATA_PP1 + moveIndex, &data); - - // Heal battler PP too (if applicable) - if (gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battleMonId, moveIndex)) - gBattleMons[battleMonId].pp[moveIndex] = data; - + SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); retVal = FALSE; } } @@ -3405,7 +3370,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov case 7: // ITEM4_EVO_STONE { - u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item); + u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item, NULL); if (targetSpecies != SPECIES_NONE) { @@ -3416,71 +3381,107 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov break; } } - i++; - val >>= 1; + temp1++; + effectFlags >>= 1; } break; // Handle ITEM5 effects (Change Def/SpDef/SpAtk/Speed EVs, PP Max, and friendship changes) case 5: - val = itemEffect[cmdIndex]; - i = 0; + effectFlags = itemEffect[i]; + temp1 = 0; // Loop through and try each of the ITEM5 effects - while (val != 0) + while (effectFlags != 0) { - if (val & 1) + if (effectFlags & 1) { - u16 evCount; - - switch (i) + switch (temp1) { case 0: // ITEM5_EV_DEF case 1: // ITEM5_EV_SPEED case 2: // ITEM5_EV_SPDEF case 3: // ITEM5_EV_SPATK evCount = GetMonEVCount(mon); - - // Has EV increase limit already been reached? - if (evCount >= MAX_TOTAL_EVS) - return TRUE; - data = GetMonData(mon, sGetMonDataEVConstants[i + 2], NULL); - if (data < EV_ITEM_RAISE_LIMIT) + temp2 = itemEffect[itemEffectParam]; + dataSigned = GetMonData(mon, sGetMonDataEVConstants[temp1 + 2], NULL); + evChange = temp2; + if (evChange > 0) // Increasing EV { - // Limit the increase - if (data + itemEffect[idx] > EV_ITEM_RAISE_LIMIT) - evDelta = EV_ITEM_RAISE_LIMIT - (data + itemEffect[idx]) + itemEffect[idx]; - else - evDelta = itemEffect[idx]; - if (evCount + evDelta > MAX_TOTAL_EVS) - evDelta += MAX_TOTAL_EVS - (evCount + evDelta); - - // Update EVs and stats - data += evDelta; - SetMonData(mon, sGetMonDataEVConstants[i + 2], &data); - CalculateMonStats(mon); - retVal = FALSE; - idx++; - } - break; - case 4: // ITEM5_PP_MAX - data = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); - - // Check if 3 PP Ups have been applied already - if (data < 3) - { - evDelta = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); - data = GetMonData(mon, MON_DATA_PP_BONUSES, NULL); - data &= gPPUpClearMask[moveIndex]; - data += gPPUpAddValues[moveIndex] * 3; // Apply 3 PP Ups (max) + // Has EV increase limit already been reached? + if (evCount >= MAX_TOTAL_EVS) + return TRUE; - SetMonData(mon, MON_DATA_PP_BONUSES, &data); - data = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), data, moveIndex) - evDelta; - data = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL) + data; - SetMonData(mon, MON_DATA_PP1 + moveIndex, &data); + if (itemEffect[10] & ITEM10_IS_VITAMIN) + evCap = EV_ITEM_RAISE_LIMIT; + else + evCap = MAX_PER_STAT_EVS; + + if (dataSigned >= evCap) + break; + + // Limit the increase + if (dataSigned + evChange > evCap) + temp2 = evCap - (dataSigned + evChange) + evChange; + else + temp2 = evChange; + + if (evCount + temp2 > MAX_TOTAL_EVS) + temp2 += MAX_TOTAL_EVS - (evCount + temp2); + + dataSigned += temp2; + } + else if (evChange < 0) // Decreasing EV + { + if (dataSigned == 0) + { + // No EVs to lose, but make sure friendship updates anyway + friendshipOnly = TRUE; + itemEffectParam++; + break; + } + dataSigned += evChange; + #if I_BERRY_EV_JUMP == GEN_4 + if (dataSigned > 100) + dataSigned = 100; + #endif + if (dataSigned < 0) + dataSigned = 0; + } + else // Reset EV + { + if (dataSigned == 0) + break; + + dataSigned = 0; + } + + // Update EVs and stats + SetMonData(mon, sGetMonDataEVConstants[temp1 + 2], &dataSigned); + CalculateMonStats(mon); + retVal = FALSE; + itemEffectParam++; + break; + + case 4: // ITEM5_PP_MAX + dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); + temp2 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + + // Check if 3 PP Ups have been applied already, and that the move has a total PP of at least 5 (excludes Sketch) + if (dataUnsigned < 3 && temp2 >= 5) + { + dataUnsigned = GetMonData(mon, MON_DATA_PP_BONUSES, NULL); + dataUnsigned &= gPPUpClearMask[moveIndex]; + dataUnsigned += gPPUpAddValues[moveIndex] * 3; // Apply 3 PP Ups (max) + + SetMonData(mon, MON_DATA_PP_BONUSES, &dataUnsigned); + dataUnsigned = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), dataUnsigned, moveIndex) - temp2; + dataUnsigned = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL) + dataUnsigned; + SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned); retVal = FALSE; } break; + case 5: // ITEM5_FRIENDSHIP_LOW // Changes to friendship are given differently depending on // how much friendship the Pokémon already has. @@ -3488,30 +3489,470 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov // and Pokémon with higher friendship receive less. if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) < 100) UPDATE_FRIENDSHIP_FROM_ITEM(); - idx++; + itemEffectParam++; break; + case 6: // ITEM5_FRIENDSHIP_MID if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) >= 100 && GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) < 200) UPDATE_FRIENDSHIP_FROM_ITEM(); - idx++; + itemEffectParam++; break; + case 7: // ITEM5_FRIENDSHIP_HIGH if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) >= 200) UPDATE_FRIENDSHIP_FROM_ITEM(); - idx++; + itemEffectParam++; break; } } - i++; - val >>= 1; + temp1++; + effectFlags >>= 1; } break; } } return retVal; + + // Do item effect + // for (cmdIndex = 0; cmdIndex < ITEM_EFFECT_ARG_START; cmdIndex++) + // { + // switch (cmdIndex) + // { + + // // Handle ITEM0 effects (infatuation, Dire Hit, X Attack). ITEM0_SACRED_ASH is handled in party_menu.c + // case 0: + // // Cure infatuation + // if ((itemEffect[cmdIndex] & ITEM0_INFATUATION) + // && gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && (gBattleMons[battleMonId].status2 & STATUS2_INFATUATION)) + // { + // gBattleMons[battleMonId].status2 &= ~STATUS2_INFATUATION; + // retVal = FALSE; + // } + + // // Dire Hit + // if ((itemEffect[cmdIndex] & ITEM0_DIRE_HIT) + // && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) + // { + // gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; + // retVal = FALSE; + // } + + // // X Attack + // if ((itemEffect[cmdIndex] & ITEM0_X_ATTACK) + // && gBattleMons[gActiveBattler].statStages[STAT_ATK] < MAX_STAT_STAGE) + // { + // gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & ITEM0_X_ATTACK; + // if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > MAX_STAT_STAGE) + // gBattleMons[gActiveBattler].statStages[STAT_ATK] = MAX_STAT_STAGE; + // retVal = FALSE; + // } + // break; + + // // Handle ITEM1 effects (in-battle stat boosting effects) + // case 1: + // // X Defend + // if ((itemEffect[cmdIndex] & ITEM1_X_DEFEND) + // && gBattleMons[gActiveBattler].statStages[STAT_DEF] < MAX_STAT_STAGE) + // { + // gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & ITEM1_X_DEFEND) >> 4; + // if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > MAX_STAT_STAGE) + // gBattleMons[gActiveBattler].statStages[STAT_DEF] = MAX_STAT_STAGE; + // retVal = FALSE; + // } + + // // X Speed + // if ((itemEffect[cmdIndex] & ITEM1_X_SPEED) + // && gBattleMons[gActiveBattler].statStages[STAT_SPEED] < MAX_STAT_STAGE) + // { + // gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & ITEM1_X_SPEED; + // if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > MAX_STAT_STAGE) + // gBattleMons[gActiveBattler].statStages[STAT_SPEED] = MAX_STAT_STAGE; + // retVal = FALSE; + // } + // break; + + // // Handle ITEM2 effects (more stat boosting effects) + // case 2: + // // X Accuracy + // if ((itemEffect[cmdIndex] & ITEM2_X_ACCURACY) + // && gBattleMons[gActiveBattler].statStages[STAT_ACC] < MAX_STAT_STAGE) + // { + // gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & ITEM2_X_ACCURACY) >> 4; + // if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > MAX_STAT_STAGE) + // gBattleMons[gActiveBattler].statStages[STAT_ACC] = MAX_STAT_STAGE; + // retVal = FALSE; + // } + + // // X Sp Attack + // if ((itemEffect[cmdIndex] & ITEM2_X_SPATK) + // && gBattleMons[gActiveBattler].statStages[STAT_SPATK] < MAX_STAT_STAGE) + // { + // gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & ITEM2_X_SPATK; + // if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > MAX_STAT_STAGE) + // gBattleMons[gActiveBattler].statStages[STAT_SPATK] = MAX_STAT_STAGE; + // retVal = FALSE; + // } + // break; + + // // Handle ITEM3 effects (Guard Spec, Rare Candy, cure status) + // case 3: + // // Guard Spec + // if ((itemEffect[cmdIndex] & ITEM3_GUARD_SPEC) + // && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) + // { + // gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; + // retVal = FALSE; + // } + + // // Rare Candy + // if ((itemEffect[cmdIndex] & ITEM3_LEVEL_UP) + // && GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL) + // { + // data = gExperienceTables[gSpeciesInfo[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; + // SetMonData(mon, MON_DATA_EXP, &data); + // CalculateMonStats(mon); + // retVal = FALSE; + // } + + // // Cure status + // if ((itemEffect[cmdIndex] & ITEM3_SLEEP) + // && HealStatusConditions(mon, partyIndex, STATUS1_SLEEP, battleMonId) == 0) + // { + // if (battleMonId != MAX_BATTLERS_COUNT) + // gBattleMons[battleMonId].status2 &= ~STATUS2_NIGHTMARE; + // retVal = FALSE; + // } + // if ((itemEffect[cmdIndex] & ITEM3_POISON) && HealStatusConditions(mon, partyIndex, STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER, battleMonId) == 0) + // retVal = FALSE; + // if ((itemEffect[cmdIndex] & ITEM3_BURN) && HealStatusConditions(mon, partyIndex, STATUS1_BURN, battleMonId) == 0) + // retVal = FALSE; + // if ((itemEffect[cmdIndex] & ITEM3_FREEZE) && HealStatusConditions(mon, partyIndex, STATUS1_FREEZE, battleMonId) == 0) + // retVal = FALSE; + // if ((itemEffect[cmdIndex] & ITEM3_PARALYSIS) && HealStatusConditions(mon, partyIndex, STATUS1_PARALYSIS, battleMonId) == 0) + // retVal = FALSE; + // if ((itemEffect[cmdIndex] & ITEM3_CONFUSION) // heal confusion + // && gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && (gBattleMons[battleMonId].status2 & STATUS2_CONFUSION)) + // { + // gBattleMons[battleMonId].status2 &= ~STATUS2_CONFUSION; + // retVal = FALSE; + // } + // break; + + // // Handle ITEM4 effects (Change HP/Atk EVs, HP heal, PP heal, PP up, Revive, and evolution stones) + // case 4: + // val = itemEffect[cmdIndex]; + + // // PP Up + // if (val & ITEM4_PP_UP) + // { + // val &= ~ITEM4_PP_UP; + // data = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); + // i = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + // if (data < 3 && i > 4) + // { + // data = GetMonData(mon, MON_DATA_PP_BONUSES, NULL) + gPPUpAddValues[moveIndex]; + // SetMonData(mon, MON_DATA_PP_BONUSES, &data); + + // data = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), data, moveIndex) - i; + // data = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL) + data; + // SetMonData(mon, MON_DATA_PP1 + moveIndex, &data); + // retVal = FALSE; + // } + // } + // i = 0; + + // // Loop through and try each of the remaining ITEM4 effects + // while (val != 0) + // { + // if (val & 1) + // { + // u16 evCount; + // s32 r5; + + // switch (i) + // { + // case 0: // ITEM4_EV_HP + // case 1: // ITEM4_EV_ATK + // evCount = GetMonEVCount(mon); + + // // Has EV increase limit already been reached? + // if (evCount >= MAX_TOTAL_EVS) + // return TRUE; + // data = GetMonData(mon, sGetMonDataEVConstants[i], NULL); + // if (data < EV_ITEM_RAISE_LIMIT) + // { + // // Limit the increase + // if (data + itemEffect[idx] > EV_ITEM_RAISE_LIMIT) + // evDelta = EV_ITEM_RAISE_LIMIT - (data + itemEffect[idx]) + itemEffect[idx]; + // else + // evDelta = itemEffect[idx]; + // if (evCount + evDelta > MAX_TOTAL_EVS) + // evDelta += MAX_TOTAL_EVS - (evCount + evDelta); + + // // Update EVs and stats + // data += evDelta; + // SetMonData(mon, sGetMonDataEVConstants[i], &data); + // CalculateMonStats(mon); + // idx++; + // retVal = FALSE; + // } + // break; + // case 2: // ITEM4_HEAL_HP + // // If Revive, update number of times revive has been used + // if (val & (ITEM4_REVIVE >> 2)) + // { + // if (GetMonData(mon, MON_DATA_HP, NULL) != 0) + // { + // idx++; + // break; + // } + // if (gMain.inBattle) + // { + // if (battleMonId != MAX_BATTLERS_COUNT) + // { + // gAbsentBattlerFlags &= ~gBitTable[battleMonId]; + // CopyPlayerPartyMonToBattleData(battleMonId, GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battleMonId])); + // if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) + // gBattleResults.numRevivesUsed++; + // } + // else + // { + // gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; + // if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255) + // gBattleResults.numRevivesUsed++; + // } + // } + // } + // else + // { + // if (GetMonData(mon, MON_DATA_HP, NULL) == 0) + // { + // idx++; + // break; + // } + // } + + // // Get amount of HP to restore + // data = itemEffect[idx++]; + // switch (data) + // { + // case ITEM6_HEAL_HP_FULL: + // data = GetMonData(mon, MON_DATA_MAX_HP, NULL) - GetMonData(mon, MON_DATA_HP, NULL); + // break; + // case ITEM6_HEAL_HP_HALF: + // data = GetMonData(mon, MON_DATA_MAX_HP, NULL) / 2; + // if (data == 0) + // data = 1; + // break; + // case ITEM6_HEAL_HP_LVL_UP: + // data = gBattleScripting.levelUpHP; + // break; + // } + + // // Only restore HP if not at max health + // if (GetMonData(mon, MON_DATA_MAX_HP, NULL) != GetMonData(mon, MON_DATA_HP, NULL)) + // { + // if (!usedByAI) + // { + // // Restore HP + // data = GetMonData(mon, MON_DATA_HP, NULL) + data; + // if (data > GetMonData(mon, MON_DATA_MAX_HP, NULL)) + // data = GetMonData(mon, MON_DATA_MAX_HP, NULL); + // SetMonData(mon, MON_DATA_HP, &data); + + // // Update battler (if applicable) + // if (gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT) + // { + // gBattleMons[battleMonId].hp = data; + // if (!(val & (ITEM4_REVIVE >> 2)) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + // { + // if (gBattleResults.numHealingItemsUsed < 255) + // gBattleResults.numHealingItemsUsed++; + + // r5 = gActiveBattler; + // gActiveBattler = battleMonId; + // BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); + // MarkBattlerForControllerExec(gActiveBattler); + // gActiveBattler = r5; + // } + // } + // } + // else + // { + // gBattleMoveDamage = -data; + // } + // retVal = FALSE; + // } + // val &= ~(ITEM4_REVIVE >> 2); + // break; + // case 3: // ITEM4_HEAL_PP + // if (!(val & (ITEM4_HEAL_PP_ONE >> 3))) + // { + // // Heal PP for all moves + // for (r5 = 0; r5 < MAX_MON_MOVES; r5++) + // { + // u16 move_id; + + // data = GetMonData(mon, MON_DATA_PP1 + r5, NULL); + // move_id = GetMonData(mon, MON_DATA_MOVE1 + r5, NULL); + // if (data != CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), r5)) + // { + // data += itemEffect[idx]; + // move_id = GetMonData(mon, MON_DATA_MOVE1 + r5, NULL); + // if (data > CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), r5)) + // { + // move_id = GetMonData(mon, MON_DATA_MOVE1 + r5, NULL); + // data = CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), r5); + // } + // SetMonData(mon, MON_DATA_PP1 + r5, &data); + + // // Heal battler PP too (if applicable) + // if (gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battleMonId, r5)) + // gBattleMons[battleMonId].pp[r5] = data; + + // retVal = FALSE; + // } + // } + // idx++; + // } + // else + // { + // // Heal PP for one move + // u16 move_id; + // data = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL); + // move_id = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + // if (data != CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + // { + // data += itemEffect[idx++]; + // move_id = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + // if (data > CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex)) + // { + // move_id = GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL); + // data = CalculatePPWithBonus(move_id, GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + // } + // SetMonData(mon, MON_DATA_PP1 + moveIndex, &data); + + // // Heal battler PP too (if applicable) + // if (gMain.inBattle && battleMonId != MAX_BATTLERS_COUNT && MOVE_IS_PERMANENT(battleMonId, moveIndex)) + // gBattleMons[battleMonId].pp[moveIndex] = data; + + // retVal = FALSE; + // } + // } + // break; + + // // cases 4-6 are ITEM4_HEAL_PP_ONE, ITEM4_PP_UP, and ITEM4_REVIVE, which + // // are already handled above by other cases or before the loop + + // case 7: // ITEM4_EVO_STONE + // { + // u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item); + + // if (targetSpecies != SPECIES_NONE) + // { + // BeginEvolutionScene(mon, targetSpecies, FALSE, partyIndex); + // return FALSE; + // } + // } + // break; + // } + // } + // i++; + // val >>= 1; + // } + // break; + + // // Handle ITEM5 effects (Change Def/SpDef/SpAtk/Speed EVs, PP Max, and friendship changes) + // case 5: + // val = itemEffect[cmdIndex]; + // i = 0; + + // // Loop through and try each of the ITEM5 effects + // while (val != 0) + // { + // if (val & 1) + // { + // u16 evCount; + + // switch (i) + // { + // case 0: // ITEM5_EV_DEF + // case 1: // ITEM5_EV_SPEED + // case 2: // ITEM5_EV_SPDEF + // case 3: // ITEM5_EV_SPATK + // evCount = GetMonEVCount(mon); + + // // Has EV increase limit already been reached? + // if (evCount >= MAX_TOTAL_EVS) + // return TRUE; + // data = GetMonData(mon, sGetMonDataEVConstants[i + 2], NULL); + // if (data < EV_ITEM_RAISE_LIMIT) + // { + // // Limit the increase + // if (data + itemEffect[idx] > EV_ITEM_RAISE_LIMIT) + // evDelta = EV_ITEM_RAISE_LIMIT - (data + itemEffect[idx]) + itemEffect[idx]; + // else + // evDelta = itemEffect[idx]; + // if (evCount + evDelta > MAX_TOTAL_EVS) + // evDelta += MAX_TOTAL_EVS - (evCount + evDelta); + + // // Update EVs and stats + // data += evDelta; + // SetMonData(mon, sGetMonDataEVConstants[i + 2], &data); + // CalculateMonStats(mon); + // retVal = FALSE; + // idx++; + // } + // break; + // case 4: // ITEM5_PP_MAX + // data = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2); + + // // Check if 3 PP Ups have been applied already + // if (data < 3) + // { + // evDelta = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex); + // data = GetMonData(mon, MON_DATA_PP_BONUSES, NULL); + // data &= gPPUpClearMask[moveIndex]; + // data += gPPUpAddValues[moveIndex] * 3; // Apply 3 PP Ups (max) + + // SetMonData(mon, MON_DATA_PP_BONUSES, &data); + // data = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), data, moveIndex) - evDelta; + // data = GetMonData(mon, MON_DATA_PP1 + moveIndex, NULL) + data; + // SetMonData(mon, MON_DATA_PP1 + moveIndex, &data); + // retVal = FALSE; + // } + // break; + // case 5: // ITEM5_FRIENDSHIP_LOW + // // Changes to friendship are given differently depending on + // // how much friendship the Pokémon already has. + // // In general, Pokémon with lower friendship receive more, + // // and Pokémon with higher friendship receive less. + // if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) < 100) + // UPDATE_FRIENDSHIP_FROM_ITEM(); + // idx++; + // break; + // case 6: // ITEM5_FRIENDSHIP_MID + // if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) >= 100 && GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) < 200) + // UPDATE_FRIENDSHIP_FROM_ITEM(); + // idx++; + // break; + // case 7: // ITEM5_FRIENDSHIP_HIGH + // if (GetMonData(mon, MON_DATA_FRIENDSHIP, NULL) >= 200) + // UPDATE_FRIENDSHIP_FROM_ITEM(); + // idx++; + // break; + // } + // } + // i++; + // val >>= 1; + // } + // break; + // } + // } + // return retVal; } -static bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId) +static bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battleId) { u32 status = GetMonData(mon, MON_DATA_STATUS, NULL); @@ -3582,9 +4023,7 @@ bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo } // Skip using the item if it won't do anything - if (!IS_POKEMON_ITEM(item)) - return TRUE; - if (gItemEffectTable[item - ITEM_POTION] == NULL && item != ITEM_ENIGMA_BERRY) + if (gItemEffectTable[item] == NULL && item != ITEM_ENIGMA_BERRY) return TRUE; // Get item effect @@ -3597,7 +4036,7 @@ bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo } else { - itemEffect = gItemEffectTable[item - ITEM_POTION]; + itemEffect = gItemEffectTable[item]; } for (cmdIndex = 0; cmdIndex < ITEM_EFFECT_ARG_START; cmdIndex++) @@ -3759,7 +4198,7 @@ bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo // are already handled above by other cases or before the loop case 7: // ITEM4_EVO_STONE - if (GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item) != SPECIES_NONE) + if (GetEvolutionTargetSpecies(mon, EVO_MODE_ITEM_USE, item, NULL) != SPECIES_NONE) return FALSE; break; } @@ -3854,7 +4293,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) offset = ITEM_EFFECT_ARG_START; - temp = gItemEffectTable[itemId - ITEM_POTION]; + temp = gItemEffectTable[itemId]; if (!temp && itemId != ITEM_ENIGMA_BERRY) return 0; @@ -3983,7 +4422,7 @@ const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId) } else { - itemEffect = gItemEffectTable[itemId - ITEM_POTION]; + itemEffect = gItemEffectTable[itemId]; } gPotentialItemEffectBattler = gBattlerInMenuId; @@ -4025,7 +4464,7 @@ static u8 GetNatureFromPersonality(u32 personality) return personality % NUM_NATURES; } -u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, struct Pokemon *tradePartner) { int i; u16 targetSpecies = 0; @@ -5531,3 +5970,10 @@ u32 GetUnownSpeciesId(u32 personality) return SPECIES_UNOWN; return unownLetter + SPECIES_UNOWN_B - 1; } + +static bool8 ShouldSkipFriendshipChange(void) +{ + if (gMain.inBattle && gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER)) + return TRUE; + return FALSE; +} diff --git a/src/trade_scene.c b/src/trade_scene.c index 41980a391..c6d0de3aa 100644 --- a/src/trade_scene.c +++ b/src/trade_scene.c @@ -1774,7 +1774,7 @@ static bool8 DoTradeAnim_Cable(void) case STATE_TRY_EVOLUTION: // Only if in-game trade, link trades use CB2_TryLinkTradeEvolution TradeMons(gSpecialVar_0x8005, 0); gCB2_AfterEvolution = CB2_InGameTrade; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE); + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, &gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]]); if (evoTarget != SPECIES_NONE) TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeAnim->monSpriteIds[1], gSelectedTradeMonPositions[TRADE_PLAYER]); sTradeAnim->state++; @@ -2274,7 +2274,7 @@ static bool8 DoTradeAnim_Wireless(void) case STATE_TRY_EVOLUTION: // Only if in-game trade, link trades use CB2_TryLinkTradeEvolution TradeMons(gSpecialVar_0x8005, 0); gCB2_AfterEvolution = CB2_InGameTrade; - evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE); + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, &gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]]); if (evoTarget != SPECIES_NONE) TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoTarget, sTradeAnim->monSpriteIds[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); sTradeAnim->state++; @@ -2318,7 +2318,7 @@ static void CB2_TryLinkTradeEvolution(void) break; case 4: gCB2_AfterEvolution = CB2_SaveAndEndTrade; - evoSpecies = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, 0); + evoSpecies = GetEvolutionTargetSpecies(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], EVO_MODE_TRADE, ITEM_NONE, &gPlayerParty[gSelectedTradeMonPositions[TRADE_PARTNER]]); if (evoSpecies != SPECIES_NONE) TradeEvolutionScene(&gPlayerParty[gSelectedTradeMonPositions[TRADE_PLAYER]], evoSpecies, sTradeAnim->monSpriteIds[TRADE_PARTNER], gSelectedTradeMonPositions[TRADE_PLAYER]); else